`Any` is a type that is compatible with any other in both ways. This means that a value of any type can be assigned to `Any`, and vice-versa, a value of `Any` type can be assigned to any other type. It's a more type-safe alternative to `Dynamic`, because it doesn't support field access or operators and it's bound to monomorphs. So, to work with the actual value, it needs to be explicitly promoted to another type. <__registerLimeModule set="method"> show <__unregisterLimeModule set="method"> show ()]]> Exit events are dispatched when the application is exiting <__registerLimeModule set="method" line="27"> <__unregisterLimeModule set="method" line="29"> Creates a new `Module` instance `Module` instances can be added to a running `Application`, simplifying support for adding new components, such as a renderer, input handler or higher-level framework. "tags=\"haxe,release\"" <_loadPrime public="1" set="method" line="34" static="1"> { quietFail : false } (cpp.Prime._loadPrime("lime", "lime_application_create", "o", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_application_event_manager_register", "oov", false))]]> (cpp.Prime._loadPrime("lime", "lime_application_exec", "oi", false))]]> (cpp.Prime._loadPrime("lime", "lime_application_init", "ov", false))]]> (cpp.Prime._loadPrime("lime", "lime_application_quit", "oi", false))]]> Float>(cpp.Prime._loadPrime("lime", "lime_application_set_frame_rate", "odv", false))]]> (cpp.Prime._loadPrime("lime", "lime_application_update", "ob", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_audio_load", "ooo", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_audio_load_bytes", "ooo", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_audio_load_file", "ooo", false))]]> Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_bytes_from_data_pointer", "dioo", false))]]> (cpp.Prime._loadPrime("lime", "lime_bytes_get_data_pointer", "od", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_bytes_get_data_pointer_offset", "oid", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_bytes_read_file", "soo", false))]]> (cpp.Prime._loadPrime("lime", "lime_cffi_get_native_pointer", "od", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_clipboard_event_manager_register", "oov", false))]]> (cpp.Prime._loadPrime("lime", "lime_clipboard_get_text", "o", false))]]> (cpp.Prime._loadPrime("lime", "lime_clipboard_set_text", "sv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_data_pointer_offset", "did", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_deflate_compress", "ooo", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_deflate_decompress", "ooo", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_drop_event_manager_register", "oov", false))]]> String -> String>(cpp.Prime._loadPrime("lime", "lime_file_dialog_open_directory", "ssso", false))]]> String -> String>(cpp.Prime._loadPrime("lime", "lime_file_dialog_open_file", "ssso", false))]]> String -> String>(cpp.Prime._loadPrime("lime", "lime_file_dialog_open_files", "ssso", false))]]> String -> String>(cpp.Prime._loadPrime("lime", "lime_file_dialog_save_file", "ssso", false))]]> (cpp.Prime._loadPrime("lime", "lime_file_watcher_create", "oo", false))]]> cpp.Object -> Bool>(cpp.Prime._loadPrime("lime", "lime_file_watcher_add_directory", "oobo", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_file_watcher_remove_directory", "oov", false))]]> (cpp.Prime._loadPrime("lime", "lime_file_watcher_update", "ov", false))]]> (cpp.Prime._loadPrime("lime", "lime_font_get_ascender", "oi", false))]]> (cpp.Prime._loadPrime("lime", "lime_font_get_descender", "oi", false))]]> (cpp.Prime._loadPrime("lime", "lime_font_get_family_name", "oo", false))]]> String>(cpp.Prime._loadPrime("lime", "lime_font_get_glyph_index", "osi", false))]]> String>(cpp.Prime._loadPrime("lime", "lime_font_get_glyph_indices", "oso", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_font_get_glyph_metrics", "oio", false))]]> (cpp.Prime._loadPrime("lime", "lime_font_get_height", "oi", false))]]> (cpp.Prime._loadPrime("lime", "lime_font_get_num_glyphs", "oi", false))]]> (cpp.Prime._loadPrime("lime", "lime_font_get_underline_position", "oi", false))]]> (cpp.Prime._loadPrime("lime", "lime_font_get_underline_thickness", "oi", false))]]> (cpp.Prime._loadPrime("lime", "lime_font_get_units_per_em", "oi", false))]]> (cpp.Prime._loadPrime("lime", "lime_font_load", "oo", false))]]> (cpp.Prime._loadPrime("lime", "lime_font_load_bytes", "oo", false))]]> (cpp.Prime._loadPrime("lime", "lime_font_load_file", "oo", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_font_outline_decompose", "oio", false))]]> Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_font_render_glyph", "oioo", false))]]> cpp.Object -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_font_render_glyphs", "oooo", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_font_set_size", "oiv", false))]]> (cpp.Prime._loadPrime("lime", "lime_gamepad_add_mappings", "ov", false))]]> (cpp.Prime._loadPrime("lime", "lime_gamepad_get_device_guid", "io", false))]]> (cpp.Prime._loadPrime("lime", "lime_gamepad_get_device_name", "io", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_gamepad_event_manager_register", "oov", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_gzip_compress", "ooo", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_gzip_decompress", "ooo", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_haptic_vibrate", "iiv", false))]]> Int -> Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_image_encode", "oiioo", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_image_load", "ooo", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_image_load_bytes", "ooo", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_image_load_file", "ooo", false))]]> cpp.Object -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_image_data_util_color_transform", "ooov", false))]]> cpp.Object -> cpp.Object -> cpp.Object -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_image_data_util_copy_channel", "ooooiiv", false))]]> cpp.Object -> cpp.Object -> cpp.Object -> cpp.Object -> cpp.Object -> Bool>(cpp.Prime._loadPrime("lime", "lime_image_data_util_copy_pixels", "oooooobv", false))]]> cpp.Object -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_image_data_util_fill_rect", "ooiiv", false))]]> Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_image_data_util_flood_fill", "oiiiiv", false))]]> cpp.Object -> Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_image_data_util_get_pixels", "ooiov", false))]]> cpp.Object -> cpp.Object -> cpp.Object -> Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_image_data_util_merge", "ooooiiiiv", false))]]> (cpp.Prime._loadPrime("lime", "lime_image_data_util_multiply_alpha", "ov", false))]]> cpp.Object -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_image_data_util_resize", "ooiiv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_image_data_util_set_format", "oiv", false))]]> cpp.Object -> cpp.Object -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_image_data_util_set_pixels", "oooiiiv", false))]]> cpp.Object -> cpp.Object -> cpp.Object -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Bool>(cpp.Prime._loadPrime("lime", "lime_image_data_util_threshold", "ooooiiiiiiibi", false))]]> (cpp.Prime._loadPrime("lime", "lime_image_data_util_unmultiply_alpha", "ov", false))]]> (cpp.Prime._loadPrime("lime", "lime_joystick_get_device_guid", "io", false))]]> (cpp.Prime._loadPrime("lime", "lime_joystick_get_device_name", "io", false))]]> (cpp.Prime._loadPrime("lime", "lime_joystick_get_num_axes", "ii", false))]]> (cpp.Prime._loadPrime("lime", "lime_joystick_get_num_buttons", "ii", false))]]> (cpp.Prime._loadPrime("lime", "lime_joystick_get_num_hats", "ii", false))]]> (cpp.Prime._loadPrime("lime", "lime_joystick_get_num_trackballs", "ii", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_joystick_event_manager_register", "oov", false))]]> Bool -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_jpeg_decode_bytes", "oboo", false))]]> Bool -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_jpeg_decode_file", "sboo", false))]]> (cpp.Prime._loadPrime("lime", "lime_key_code_from_scan_code", "ff", false))]]> (cpp.Prime._loadPrime("lime", "lime_key_code_to_scan_code", "ff", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_key_event_manager_register", "oov", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_lzma_compress", "ooo", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_lzma_decompress", "ooo", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_mouse_event_manager_register", "oov", false))]]> (cpp.Prime._loadPrime("lime", "lime_neko_execute", "sv", false))]]> Bool -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_png_decode_bytes", "oboo", false))]]> Bool -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_png_decode_file", "sboo", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_render_event_manager_register", "oov", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_sensor_event_manager_register", "oov", false))]]> (cpp.Prime._loadPrime("lime", "lime_system_get_allow_screen_timeout", "b", false))]]> (cpp.Prime._loadPrime("lime", "lime_system_set_allow_screen_timeout", "bb", false))]]> (cpp.Prime._loadPrime("lime", "lime_system_get_device_model", "o", false))]]> (cpp.Prime._loadPrime("lime", "lime_system_get_device_vendor", "o", false))]]> String -> String>(cpp.Prime._loadPrime("lime", "lime_system_get_directory", "isso", false))]]> (cpp.Prime._loadPrime("lime", "lime_system_get_display", "io", false))]]> (cpp.Prime._loadPrime("lime", "lime_system_get_ios_tablet", "b", false))]]> (cpp.Prime._loadPrime("lime", "lime_system_get_num_displays", "i", false))]]> (cpp.Prime._loadPrime("lime", "lime_system_get_platform_label", "o", false))]]> (cpp.Prime._loadPrime("lime", "lime_system_get_platform_name", "o", false))]]> (cpp.Prime._loadPrime("lime", "lime_system_get_platform_version", "o", false))]]> (cpp.Prime._loadPrime("lime", "lime_system_get_timer", "d", false))]]> (cpp.Prime._loadPrime("lime", "lime_system_open_file", "sv", false))]]> String>(cpp.Prime._loadPrime("lime", "lime_system_open_url", "ssv", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_text_event_manager_register", "oov", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_touch_event_manager_register", "oov", false))]]> String -> String>(cpp.Prime._loadPrime("lime", "lime_window_alert", "ossv", false))]]> (cpp.Prime._loadPrime("lime", "lime_window_close", "ov", false))]]> (cpp.Prime._loadPrime("lime", "lime_window_context_flip", "ov", false))]]> (cpp.Prime._loadPrime("lime", "lime_window_context_lock", "oo", false))]]> (cpp.Prime._loadPrime("lime", "lime_window_context_make_current", "ov", false))]]> (cpp.Prime._loadPrime("lime", "lime_window_context_unlock", "ov", false))]]> Int -> Int -> Int -> String>(cpp.Prime._loadPrime("lime", "lime_window_create", "oiiiso", false))]]> (cpp.Prime._loadPrime("lime", "lime_window_focus", "ov", false))]]> (cpp.Prime._loadPrime("lime", "lime_window_get_context", "od", false))]]> (cpp.Prime._loadPrime("lime", "lime_window_get_context_type", "oo", false))]]> (cpp.Prime._loadPrime("lime", "lime_window_get_display", "oi", false))]]> (cpp.Prime._loadPrime("lime", "lime_window_get_display_mode", "oo", false))]]> (cpp.Prime._loadPrime("lime", "lime_window_get_height", "oi", false))]]> (cpp.Prime._loadPrime("lime", "lime_window_get_id", "oi", false))]]> (cpp.Prime._loadPrime("lime", "lime_window_get_mouse_lock", "ob", false))]]> (cpp.Prime._loadPrime("lime", "lime_window_get_scale", "od", false))]]> (cpp.Prime._loadPrime("lime", "lime_window_get_text_input_enabled", "ob", false))]]> (cpp.Prime._loadPrime("lime", "lime_window_get_width", "oi", false))]]> (cpp.Prime._loadPrime("lime", "lime_window_get_x", "oi", false))]]> (cpp.Prime._loadPrime("lime", "lime_window_get_y", "oi", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_window_move", "oiiv", false))]]> cpp.Object -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_window_read_pixels", "oooo", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_window_resize", "oiiv", false))]]> Bool>(cpp.Prime._loadPrime("lime", "lime_window_set_borderless", "obb", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_window_set_cursor", "oiv", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_window_set_display_mode", "ooo", false))]]> Bool>(cpp.Prime._loadPrime("lime", "lime_window_set_fullscreen", "obb", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_window_set_icon", "oov", false))]]> Bool>(cpp.Prime._loadPrime("lime", "lime_window_set_maximized", "obb", false))]]> Bool>(cpp.Prime._loadPrime("lime", "lime_window_set_minimized", "obb", false))]]> Bool>(cpp.Prime._loadPrime("lime", "lime_window_set_mouse_lock", "obv", false))]]> Bool>(cpp.Prime._loadPrime("lime", "lime_window_set_resizable", "obb", false))]]> Bool>(cpp.Prime._loadPrime("lime", "lime_window_set_text_input_enabled", "obv", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_window_set_text_input_rect", "oov", false))]]> String>(cpp.Prime._loadPrime("lime", "lime_window_set_title", "oso", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_window_warp_mouse", "oiiv", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_window_event_manager_register", "oov", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_zlib_compress", "ooo", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_zlib_decompress", "ooo", false))]]> Int -> cpp.Object -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_al_buffer_data", "oioiiv", false))]]> Int -> cpp.Float32 -> cpp.Float32 -> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_al_buffer3f", "oifffv", false))]]> Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_al_buffer3i", "oiiiiv", false))]]> Int -> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_al_bufferf", "oifv", false))]]> Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_bufferfv", "oiov", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_al_bufferi", "oiiv", false))]]> Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_bufferiv", "oiov", false))]]> (cpp.Prime._loadPrime("lime", "lime_al_cleanup", "v", false))]]> (cpp.Prime._loadPrime("lime", "lime_al_delete_buffer", "ov", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_delete_buffers", "iov", false))]]> (cpp.Prime._loadPrime("lime", "lime_al_delete_source", "ov", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_delete_sources", "iov", false))]]> (cpp.Prime._loadPrime("lime", "lime_al_disable", "iv", false))]]> (cpp.Prime._loadPrime("lime", "lime_al_distance_model", "iv", false))]]> (cpp.Prime._loadPrime("lime", "lime_al_doppler_factor", "fv", false))]]> (cpp.Prime._loadPrime("lime", "lime_al_doppler_velocity", "fv", false))]]> (cpp.Prime._loadPrime("lime", "lime_al_enable", "iv", false))]]> (cpp.Prime._loadPrime("lime", "lime_al_gen_source", "o", false))]]> (cpp.Prime._loadPrime("lime", "lime_al_gen_sources", "io", false))]]> (cpp.Prime._loadPrime("lime", "lime_al_get_boolean", "ib", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_al_get_booleanv", "iio", false))]]> (cpp.Prime._loadPrime("lime", "lime_al_gen_buffer", "o", false))]]> (cpp.Prime._loadPrime("lime", "lime_al_gen_buffers", "io", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_al_get_buffer3f", "oio", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_al_get_buffer3i", "oio", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_al_get_bufferf", "oif", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_al_get_bufferfv", "oiio", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_al_get_bufferi", "oii", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_al_get_bufferiv", "oiio", false))]]> (cpp.Prime._loadPrime("lime", "lime_al_get_double", "id", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_al_get_doublev", "iio", false))]]> (cpp.Prime._loadPrime("lime", "lime_al_get_enum_value", "si", false))]]> (cpp.Prime._loadPrime("lime", "lime_al_get_error", "i", false))]]> (cpp.Prime._loadPrime("lime", "lime_al_get_float", "if", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_al_get_floatv", "iio", false))]]> (cpp.Prime._loadPrime("lime", "lime_al_get_integer", "ii", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_al_get_integerv", "iio", false))]]> (cpp.Prime._loadPrime("lime", "lime_al_get_listener3f", "io", false))]]> (cpp.Prime._loadPrime("lime", "lime_al_get_listener3i", "io", false))]]> (cpp.Prime._loadPrime("lime", "lime_al_get_listenerf", "if", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_al_get_listenerfv", "iio", false))]]> (cpp.Prime._loadPrime("lime", "lime_al_get_listeneri", "ii", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_al_get_listeneriv", "iio", false))]]> (cpp.Prime._loadPrime("lime", "lime_al_get_proc_address", "sd", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_al_get_source3f", "oio", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_al_get_source3i", "oio", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_al_get_sourcef", "oif", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_al_get_sourcefv", "oiio", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_al_get_sourcei", "oio", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_al_get_sourceiv", "oiio", false))]]> (cpp.Prime._loadPrime("lime", "lime_al_get_string", "io", false))]]> (cpp.Prime._loadPrime("lime", "lime_al_is_buffer", "ob", false))]]> (cpp.Prime._loadPrime("lime", "lime_al_is_enabled", "ib", false))]]> (cpp.Prime._loadPrime("lime", "lime_al_is_extension_present", "sb", false))]]> (cpp.Prime._loadPrime("lime", "lime_al_is_source", "ob", false))]]> cpp.Float32 -> cpp.Float32 -> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_al_listener3f", "ifffv", false))]]> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_al_listener3i", "iiiiv", false))]]> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_al_listenerf", "ifv", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_listenerfv", "iov", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_al_listeneri", "iiv", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_listeneriv", "iov", false))]]> (cpp.Prime._loadPrime("lime", "lime_al_source_pause", "ov", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_source_pausev", "iov", false))]]> (cpp.Prime._loadPrime("lime", "lime_al_source_play", "ov", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_source_playv", "iov", false))]]> Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_source_queue_buffers", "oiov", false))]]> (cpp.Prime._loadPrime("lime", "lime_al_source_rewind", "ov", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_source_rewindv", "iov", false))]]> (cpp.Prime._loadPrime("lime", "lime_al_source_stop", "ov", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_source_stopv", "iov", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_al_source_unqueue_buffers", "oio", false))]]> Int -> cpp.Float32 -> cpp.Float32 -> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_al_source3f", "oifffv", false))]]> Int -> cpp.Object -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_al_source3i", "oioiiv", false))]]> Int -> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_al_sourcef", "oifv", false))]]> Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_sourcefv", "oiov", false))]]> Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_sourcei", "oiov", false))]]> Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_sourceiv", "oiov", false))]]> (cpp.Prime._loadPrime("lime", "lime_al_speed_of_sound", "fv", false))]]> (cpp.Prime._loadPrime("lime", "lime_alc_close_device", "ob", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_alc_create_context", "ooo", false))]]> (cpp.Prime._loadPrime("lime", "lime_alc_destroy_context", "ov", false))]]> (cpp.Prime._loadPrime("lime", "lime_alc_get_contexts_device", "oo", false))]]> (cpp.Prime._loadPrime("lime", "lime_alc_get_current_context", "o", false))]]> (cpp.Prime._loadPrime("lime", "lime_alc_get_error", "oi", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_alc_get_integerv", "oiio", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_alc_get_string", "oio", false))]]> (cpp.Prime._loadPrime("lime", "lime_alc_make_context_current", "ob", false))]]> (cpp.Prime._loadPrime("lime", "lime_alc_open_device", "so", false))]]> (cpp.Prime._loadPrime("lime", "lime_alc_pause_device", "ov", false))]]> (cpp.Prime._loadPrime("lime", "lime_alc_process_context", "ov", false))]]> (cpp.Prime._loadPrime("lime", "lime_alc_resume_device", "ov", false))]]> (cpp.Prime._loadPrime("lime", "lime_alc_suspend_context", "ov", false))]]> (cpp.Prime._loadPrime("lime", "lime_al_gen_filter", "o", false))]]> Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_filteri", "oiov", false))]]> Int -> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_al_filterf", "oifv", false))]]> (cpp.Prime._loadPrime("lime", "lime_al_remove_direct_filter", "ov", false))]]> (cpp.Prime._loadPrime("lime", "lime_al_is_filter", "ob", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_al_get_filteri", "oii", false))]]> (cpp.Prime._loadPrime("lime", "lime_al_gen_effect", "o", false))]]> Int -> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_al_effectf", "oifv", false))]]> Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_effectfv", "oiov", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_al_effecti", "oiiv", false))]]> Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_effectiv", "oiov", false))]]> (cpp.Prime._loadPrime("lime", "lime_al_is_effect", "ob", false))]]> (cpp.Prime._loadPrime("lime", "lime_al_gen_aux", "o", false))]]> Int -> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_al_auxf", "oifv", false))]]> Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_auxfv", "oiov", false))]]> Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_auxi", "oiov", false))]]> Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_al_auxiv", "oiov", false))]]> (cpp.Prime._loadPrime("lime", "lime_al_is_aux", "ob", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_al_remove_send", "oiv", false))]]> Float -> Float -> Float -> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_arc", "odddddv", false))]]> Float -> Float -> Float -> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_arc_negative", "odddddv", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_clip", "ov", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_clip_preserve", "ov", false))]]> Float -> Float -> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_clip_extents", "oddddv", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_close_path", "ov", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_copy_page", "ov", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_create", "oo", false))]]> Float -> Float -> Float -> Float -> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_curve_to", "oddddddv", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_fill", "ov", false))]]> Float -> Float -> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_fill_extents", "oddddv", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_fill_preserve", "ov", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_get_antialias", "oi", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_get_current_point", "oo", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_get_dash", "oo", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_get_dash_count", "oi", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_get_fill_rule", "oi", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_get_font_face", "oo", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_get_font_options", "oo", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_get_group_target", "oo", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_get_line_cap", "oi", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_get_line_join", "oi", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_get_line_width", "od", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_get_matrix", "oo", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_get_miter_limit", "od", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_get_operator", "oi", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_get_source", "oo", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_get_target", "oo", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_get_tolerance", "od", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_has_current_point", "ob", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_identity_matrix", "ov", false))]]> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_in_clip", "oddb", false))]]> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_in_fill", "oddb", false))]]> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_in_stroke", "oddb", false))]]> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_line_to", "oddv", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_cairo_mask", "oov", false))]]> cpp.Object -> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_mask_surface", "ooddv", false))]]> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_move_to", "oddv", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_new_path", "ov", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_paint", "ov", false))]]> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_paint_with_alpha", "odv", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_pop_group", "oo", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_pop_group_to_source", "ov", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_push_group", "ov", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_cairo_push_group_with_content", "oiv", false))]]> Float -> Float -> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_rectangle", "oddddv", false))]]> Float -> Float -> Float -> Float -> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_rel_curve_to", "oddddddv", false))]]> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_rel_line_to", "oddv", false))]]> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_rel_move_to", "oddv", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_reset_clip", "ov", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_restore", "ov", false))]]> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_rotate", "odv", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_save", "ov", false))]]> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_scale", "oddv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_cairo_set_antialias", "oiv", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_cairo_set_dash", "oov", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_cairo_set_fill_rule", "oiv", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_cairo_set_font_face", "oov", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_cairo_set_font_options", "oov", false))]]> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_set_font_size", "odv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_cairo_set_line_cap", "oiv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_cairo_set_line_join", "oiv", false))]]> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_set_line_width", "odv", false))]]> Float -> Float -> Float -> Float -> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_set_matrix", "oddddddv", false))]]> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_set_miter_limit", "odv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_cairo_set_operator", "oiv", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_cairo_set_source", "oov", false))]]> Float -> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_set_source_rgb", "odddv", false))]]> Float -> Float -> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_set_source_rgba", "oddddv", false))]]> cpp.Object -> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_set_source_surface", "ooddv", false))]]> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_set_tolerance", "odv", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_cairo_show_glyphs", "oov", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_show_page", "ov", false))]]> String>(cpp.Prime._loadPrime("lime", "lime_cairo_show_text", "osv", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_status", "oi", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_stroke", "ov", false))]]> Float -> Float -> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_stroke_extents", "oddddv", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_stroke_preserve", "ov", false))]]> String>(cpp.Prime._loadPrime("lime", "lime_cairo_text_path", "osv", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_cairo_transform", "oov", false))]]> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_translate", "oddv", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_version", "i", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_version_string", "s", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_font_face_status", "oi", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_font_options_create", "o", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_font_options_get_antialias", "oi", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_font_options_get_hint_metrics", "oi", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_font_options_get_hint_style", "oi", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_font_options_get_subpixel_order", "oi", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_cairo_font_options_set_antialias", "oiv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_cairo_font_options_set_hint_metrics", "oiv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_cairo_font_options_set_hint_style", "oiv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_cairo_font_options_set_subpixel_order", "oiv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_cairo_ft_font_face_create", "oio", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_cairo_image_surface_create", "iiio", false))]]> Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_cairo_image_surface_create_for_data", "diiiio", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_image_surface_get_data", "od", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_image_surface_get_format", "oi", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_image_surface_get_height", "oi", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_image_surface_get_stride", "oi", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_image_surface_get_width", "oi", false))]]> Float -> Float -> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_pattern_add_color_stop_rgb", "oddddv", false))]]> Float -> Float -> Float -> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_pattern_add_color_stop_rgba", "odddddv", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_pattern_create_for_surface", "oo", false))]]> Float -> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_pattern_create_linear", "ddddo", false))]]> Float -> Float -> Float -> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_pattern_create_radial", "ddddddo", false))]]> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_pattern_create_rgb", "dddo", false))]]> Float -> Float -> Float>(cpp.Prime._loadPrime("lime", "lime_cairo_pattern_create_rgba", "ddddo", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_pattern_get_color_stop_count", "oi", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_pattern_get_extend", "oi", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_pattern_get_filter", "oi", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_pattern_get_matrix", "oo", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_cairo_pattern_set_extend", "oiv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_cairo_pattern_set_filter", "oiv", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_cairo_pattern_set_matrix", "oov", false))]]> (cpp.Prime._loadPrime("lime", "lime_cairo_surface_flush", "ov", false))]]> Float>(cpp.Prime._loadPrime("lime", "lime_curl_getdate", "sdd", false))]]> (cpp.Prime._loadPrime("lime", "lime_curl_global_cleanup", "v", false))]]> (cpp.Prime._loadPrime("lime", "lime_curl_global_init", "ii", false))]]> (cpp.Prime._loadPrime("lime", "lime_curl_version", "o", false))]]> (cpp.Prime._loadPrime("lime", "lime_curl_version_info", "io", false))]]> (cpp.Prime._loadPrime("lime", "lime_curl_easy_cleanup", "ov", false))]]> (cpp.Prime._loadPrime("lime", "lime_curl_easy_duphandle", "oo", false))]]> String -> Int>(cpp.Prime._loadPrime("lime", "lime_curl_easy_escape", "osio", false))]]> (cpp.Prime._loadPrime("lime", "lime_curl_easy_flush", "ov", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_curl_easy_getinfo", "oio", false))]]> (cpp.Prime._loadPrime("lime", "lime_curl_easy_init", "o", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_curl_easy_pause", "oii", false))]]> (cpp.Prime._loadPrime("lime", "lime_curl_easy_perform", "oi", false))]]> cpp.Object -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_curl_easy_recv", "ooiii", false))]]> (cpp.Prime._loadPrime("lime", "lime_curl_easy_reset", "ov", false))]]> cpp.Object -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_curl_easy_send", "ooiii", false))]]> Int -> cpp.Object -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_curl_easy_setopt", "oiooi", false))]]> (cpp.Prime._loadPrime("lime", "lime_curl_easy_strerror", "io", false))]]> String -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_curl_easy_unescape", "osiio", false))]]> (cpp.Prime._loadPrime("lime", "lime_curl_multi_init", "o", false))]]> cpp.Object -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_curl_multi_add_handle", "oooi", false))]]> (cpp.Prime._loadPrime("lime", "lime_curl_multi_get_running_handles", "oi", false))]]> (cpp.Prime._loadPrime("lime", "lime_curl_multi_info_read", "oo", false))]]> (cpp.Prime._loadPrime("lime", "lime_curl_multi_perform", "oi", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_curl_multi_remove_handle", "ooi", false))]]> Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_curl_multi_setopt", "oioi", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_curl_multi_wait", "oii", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_active_texture", "iv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_attach_shader", "iiv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_begin_query", "iiv", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_begin_transform_feedback", "iv", false))]]> Int -> String>(cpp.Prime._loadPrime("lime", "lime_gl_bind_attrib_location", "iisv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_bind_buffer", "iiv", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_bind_buffer_base", "iiiv", false))]]> Int -> Int -> lime.utils.DataPointer -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_bind_buffer_range", "iiidiv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_bind_framebuffer", "iiv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_bind_renderbuffer", "iiv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_bind_sampler", "iiv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_bind_texture", "iiv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_bind_transform_feedback", "iiv", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_bind_vertex_array", "iv", false))]]> cpp.Float32 -> cpp.Float32 -> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_gl_blend_color", "ffffv", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_blend_equation", "iv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_blend_equation_separate", "iiv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_blend_func", "iiv", false))]]> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_blend_func_separate", "iiiiv", false))]]> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_blit_framebuffer", "iiiiiiiiiiv", false))]]> Int -> lime.utils.DataPointer -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_buffer_data", "iidiv", false))]]> Int -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_buffer_sub_data", "iiidv", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_check_framebuffer_status", "ii", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_clear", "iv", false))]]> Int -> cpp.Float32 -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_clear_bufferfi", "iifiv", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_clear_bufferfv", "iidv", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_clear_bufferiv", "iidv", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_clear_bufferuiv", "iidv", false))]]> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_client_wait_sync", "oiiii", false))]]> cpp.Float32 -> cpp.Float32 -> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_gl_clear_color", "ffffv", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_clear_depthf", "fv", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_clear_stencil", "iv", false))]]> Bool -> Bool -> Bool>(cpp.Prime._loadPrime("lime", "lime_gl_color_mask", "bbbbv", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_compile_shader", "iv", false))]]> Int -> Int -> Int -> Int -> Int -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_compressed_tex_image_2d", "iiiiiiidv", false))]]> Int -> Int -> Int -> Int -> Int -> Int -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_compressed_tex_image_3d", "iiiiiiiidv", false))]]> Int -> Int -> Int -> Int -> Int -> Int -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_compressed_tex_sub_image_2d", "iiiiiiiidv", false))]]> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_compressed_tex_sub_image_3d", "iiiiiiiiiidv", false))]]> Int -> lime.utils.DataPointer -> lime.utils.DataPointer -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_copy_buffer_sub_data", "iiddiv", false))]]> Int -> Int -> Int -> Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_copy_tex_image_2d", "iiiiiiiiv", false))]]> Int -> Int -> Int -> Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_copy_tex_sub_image_2d", "iiiiiiiiv", false))]]> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_copy_tex_sub_image_3d", "iiiiiiiiiv", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_create_buffer", "i", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_create_framebuffer", "i", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_create_program", "i", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_create_query", "i", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_create_renderbuffer", "i", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_create_sampler", "i", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_create_shader", "ii", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_create_texture", "i", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_create_transform_feedback", "i", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_create_vertex_array", "i", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_cull_face", "iv", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_delete_buffer", "iv", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_delete_framebuffer", "iv", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_delete_program", "iv", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_delete_query", "iv", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_delete_renderbuffer", "iv", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_delete_sampler", "iv", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_delete_shader", "iv", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_delete_sync", "ov", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_delete_texture", "iv", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_delete_transform_feedback", "iv", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_delete_vertex_array", "iv", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_depth_func", "iv", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_depth_mask", "bv", false))]]> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_gl_depth_rangef", "ffv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_detach_shader", "iiv", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_disable", "iv", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_disable_vertex_attrib_array", "iv", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_draw_arrays", "iiiv", false))]]> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_draw_arrays_instanced", "iiiiv", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_draw_buffers", "ov", false))]]> Int -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_draw_elements", "iiidv", false))]]> Int -> Int -> lime.utils.DataPointer -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_draw_elements_instanced", "iiidiv", false))]]> Int -> Int -> Int -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_draw_range_elements", "iiiiidv", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_enable", "iv", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_enable_vertex_attrib_array", "iv", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_end_query", "iv", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_end_transform_feedback", "v", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_fence_sync", "iio", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_finish", "v", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_flush", "v", false))]]> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_framebuffer_renderbuffer", "iiiiv", false))]]> Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_framebuffer_texture2D", "iiiiiv", false))]]> Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_framebuffer_texture_layer", "iiiiiv", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_front_face", "iv", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_generate_mipmap", "iv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_active_attrib", "iio", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_active_uniform", "iio", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_active_uniform_blocki", "iiii", false))]]> Int -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_active_uniform_blockiv", "iiidv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_active_uniform_block_name", "iio", false))]]> cpp.Object -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_active_uniformsiv", "ioidv", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_get_attached_shaders", "io", false))]]> String>(cpp.Prime._loadPrime("lime", "lime_gl_get_attrib_location", "isi", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_get_boolean", "ib", false))]]> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_booleanv", "idv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_buffer_parameteri", "iii", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_buffer_parameteri64v", "iidv", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_buffer_parameteriv", "iidv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_buffer_pointerv", "iid", false))]]> lime.utils.DataPointer -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_buffer_sub_data", "ididv", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_get_context_attributes", "o", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_get_error", "i", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_get_extension", "so", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_get_float", "if", false))]]> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_floatv", "idv", false))]]> String>(cpp.Prime._loadPrime("lime", "lime_gl_get_frag_data_location", "isi", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_framebuffer_attachment_parameteri", "iiii", false))]]> Int -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_framebuffer_attachment_parameteriv", "iiidv", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_get_integer", "ii", false))]]> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_integer64v", "idv", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_integer64i_v", "iidv", false))]]> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_integerv", "idv", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_integeri_v", "iidv", false))]]> Int -> Int -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_internalformativ", "iiiidv", false))]]> Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_gl_get_program_binary", "iiov", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_get_program_info_log", "io", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_programi", "iii", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_programiv", "iidv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_queryi", "iii", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_queryiv", "iidv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_query_objectui", "iii", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_query_objectuiv", "iidv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_renderbuffer_parameteri", "iii", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_renderbuffer_parameteriv", "iidv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_sampler_parameterf", "iif", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_sampler_parameterfv", "iidv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_sampler_parameteri", "iii", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_sampler_parameteriv", "iidv", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_get_shader_info_log", "io", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_shaderi", "iii", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_shaderiv", "iidv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_shader_precision_format", "iio", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_get_shader_source", "io", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_get_string", "io", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_stringi", "iio", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_sync_parameteri", "oii", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_sync_parameteriv", "oidv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_tex_parameterf", "iif", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_tex_parameterfv", "iidv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_tex_parameteri", "iii", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_tex_parameteriv", "iidv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_transform_feedback_varying", "iio", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_uniformf", "iif", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_uniformfv", "iidv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_uniformi", "iii", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_uniformiv", "iidv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_uniformui", "iii", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_uniformuiv", "iidv", false))]]> String>(cpp.Prime._loadPrime("lime", "lime_gl_get_uniform_block_index", "isi", false))]]> String>(cpp.Prime._loadPrime("lime", "lime_gl_get_uniform_location", "isi", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_vertex_attribf", "iif", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_vertex_attribfv", "iidv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_vertex_attribi", "iii", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_vertex_attribiv", "iidv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_vertex_attribii", "iii", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_vertex_attribiiv", "iidv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_vertex_attribiui", "iii", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_get_vertex_attribiuiv", "iidv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_get_vertex_attrib_pointerv", "iid", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_hint", "iiv", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_gl_invalidate_framebuffer", "iov", false))]]> cpp.Object -> Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_invalidate_sub_framebuffer", "ioiiiiv", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_is_buffer", "ib", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_is_enabled", "ib", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_is_framebuffer", "ib", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_is_program", "ib", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_is_query", "ib", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_is_renderbuffer", "ib", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_is_sampler", "ib", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_is_shader", "ib", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_is_sync", "ob", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_is_texture", "ib", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_is_transform_feedback", "ib", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_is_vertex_array", "ib", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_line_width", "fv", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_link_program", "iv", false))]]> lime.utils.DataPointer -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_map_buffer_range", "idiid", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_object_deregister", "ov", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_object_from_id", "iio", false))]]> Int -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_gl_object_register", "iioo", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_pause_transform_feedback", "v", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_pixel_storei", "iiv", false))]]> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_gl_polygon_offset", "ffv", false))]]> Int -> lime.utils.DataPointer -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_program_binary", "iidiv", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_program_parameteri", "iiiv", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_read_buffer", "iv", false))]]> Int -> Int -> Int -> Int -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_read_pixels", "iiiiiidv", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_release_shader_compiler", "v", false))]]> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_renderbuffer_storage", "iiiiv", false))]]> Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_renderbuffer_storage_multisample", "iiiiiv", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_resume_transform_feedback", "v", false))]]> Bool>(cpp.Prime._loadPrime("lime", "lime_gl_sample_coverage", "fbv", false))]]> Int -> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_gl_sampler_parameterf", "iifv", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_sampler_parameteri", "iiiv", false))]]> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_scissor", "iiiiv", false))]]> Int -> lime.utils.DataPointer -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_shader_binary", "oidiv", false))]]> String>(cpp.Prime._loadPrime("lime", "lime_gl_shader_source", "isv", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_stencil_func", "iiiv", false))]]> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_stencil_func_separate", "iiiiv", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_stencil_mask", "iv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_stencil_mask_separate", "iiv", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_stencil_op", "iiiv", false))]]> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_stencil_op_separate", "iiiiv", false))]]> Int -> Int -> Int -> Int -> Int -> Int -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_tex_image_2d", "iiiiiiiidv", false))]]> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_tex_image_3d", "iiiiiiiiidv", false))]]> Int -> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_gl_tex_parameterf", "iifv", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_tex_parameteri", "iiiv", false))]]> Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_tex_storage_2d", "iiiiiv", false))]]> Int -> Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_tex_storage_3d", "iiiiiiv", false))]]> Int -> Int -> Int -> Int -> Int -> Int -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_tex_sub_image_2d", "iiiiiiiidv", false))]]> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_tex_sub_image_3d", "iiiiiiiiiidv", false))]]> cpp.Object -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_transform_feedback_varyings", "ioiv", false))]]> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_gl_uniform1f", "ifv", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform1fv", "iidv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_uniform1i", "iiv", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform1iv", "iidv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_uniform1ui", "iiv", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform1uiv", "iidv", false))]]> cpp.Float32 -> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_gl_uniform2f", "iffv", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform2fv", "iidv", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_uniform2i", "iiiv", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform2iv", "iidv", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_uniform2ui", "iiiv", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform2uiv", "iidv", false))]]> cpp.Float32 -> cpp.Float32 -> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_gl_uniform3f", "ifffv", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform3fv", "iidv", false))]]> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_uniform3i", "iiiiv", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform3iv", "iidv", false))]]> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_uniform3ui", "iiiiv", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform3uiv", "iidv", false))]]> cpp.Float32 -> cpp.Float32 -> cpp.Float32 -> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_gl_uniform4f", "iffffv", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform4fv", "iidv", false))]]> Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_uniform4i", "iiiiiv", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform4iv", "iidv", false))]]> Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_uniform4ui", "iiiiiv", false))]]> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform4uiv", "iidv", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_uniform_block_binding", "iiiv", false))]]> Int -> Bool -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform_matrix2fv", "iibdv", false))]]> Int -> Bool -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform_matrix2x3fv", "iibdv", false))]]> Int -> Bool -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform_matrix2x4fv", "iibdv", false))]]> Int -> Bool -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform_matrix3fv", "iibdv", false))]]> Int -> Bool -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform_matrix3x2fv", "iibdv", false))]]> Int -> Bool -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform_matrix3x4fv", "iibdv", false))]]> Int -> Bool -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform_matrix4fv", "iibdv", false))]]> Int -> Bool -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform_matrix4x2fv", "iibdv", false))]]> Int -> Bool -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_uniform_matrix4x3fv", "iibdv", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_unmap_buffer", "ib", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_use_program", "iv", false))]]> (cpp.Prime._loadPrime("lime", "lime_gl_validate_program", "iv", false))]]> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_gl_vertex_attrib1f", "ifv", false))]]> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_vertex_attrib1fv", "idv", false))]]> cpp.Float32 -> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_gl_vertex_attrib2f", "iffv", false))]]> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_vertex_attrib2fv", "idv", false))]]> cpp.Float32 -> cpp.Float32 -> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_gl_vertex_attrib3f", "ifffv", false))]]> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_vertex_attrib3fv", "idv", false))]]> cpp.Float32 -> cpp.Float32 -> cpp.Float32 -> cpp.Float32>(cpp.Prime._loadPrime("lime", "lime_gl_vertex_attrib4f", "iffffv", false))]]> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_vertex_attrib4fv", "idv", false))]]> Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_vertex_attribi4i", "iiiiiv", false))]]> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_vertex_attribi4iv", "idv", false))]]> Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_vertex_attribi4ui", "iiiiiv", false))]]> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_vertex_attribi4uiv", "idv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_gl_vertex_attrib_divisor", "iiv", false))]]> Int -> Int -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_vertex_attrib_ipointer", "iiiidv", false))]]> Int -> Int -> Bool -> Int -> lime.utils.DataPointer>(cpp.Prime._loadPrime("lime", "lime_gl_vertex_attrib_pointer", "iiibidv", false))]]> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_viewport", "iiiiv", false))]]> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_gl_wait_sync", "oiiiv", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_hb_blob_create", "diio", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_hb_blob_create_sub_blob", "oiio", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_blob_get_data", "od", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_blob_get_data_writable", "od", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_blob_get_empty", "o", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_blob_get_length", "oi", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_blob_is_immutable", "ob", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_blob_make_immutable", "ov", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_add", "oiiv", false))]]> lime.utils.DataPointer -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_add_codepoints", "odiiiv", false))]]> String -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_add_utf8", "osiiv", false))]]> lime.utils.DataPointer -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_add_utf16", "odiiiv", false))]]> lime.utils.DataPointer -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_add_utf32", "odiiiv", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_buffer_allocation_successful", "ob", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_buffer_clear_contents", "ov", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_buffer_create", "o", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_buffer_get_cluster_level", "oi", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_buffer_get_content_type", "oi", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_buffer_get_direction", "oi", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_buffer_get_empty", "o", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_buffer_get_flags", "oi", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_get_glyph_infos", "ooo", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_get_glyph_positions", "ooo", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_buffer_get_language", "oo", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_buffer_get_length", "oi", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_buffer_get_replacement_codepoint", "oi", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_buffer_get_script", "oi", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_get_segment_properties", "oov", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_buffer_guess_segment_properties", "ov", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_buffer_normalize_glyphs", "ov", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_preallocate", "oib", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_buffer_reset", "ov", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_buffer_reverse", "ov", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_buffer_reverse_clusters", "ov", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_buffer_serialize_format_from_string", "si", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_buffer_serialize_format_to_string", "io", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_buffer_serialize_list_formats", "o", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_set_cluster_level", "oiv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_set_content_type", "oiv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_set_direction", "oiv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_set_flags", "oiv", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_set_language", "oov", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_set_length", "oib", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_set_replacement_codepoint", "oiv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_set_script", "oiv", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_hb_buffer_set_segment_properties", "oov", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_hb_face_create", "oio", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_face_get_empty", "o", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_face_get_glyph_count", "oi", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_face_get_index", "oi", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_face_get_upem", "oi", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_face_is_immutable", "ob", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_face_make_immutable", "ov", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_face_reference_blob", "oo", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_hb_face_reference_table", "oio", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_hb_face_set_glyph_count", "oiv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_hb_face_set_index", "oiv", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_hb_face_set_upem", "oiv", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_feature_from_string", "so", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_feature_to_string", "oo", false))]]> Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_hb_font_add_glyph_origin_for_direction", "oiiiiv", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_font_create", "oo", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_font_create_sub_font", "oo", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_font_get_empty", "o", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_font_get_face", "oo", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_hb_font_get_glyph_advance_for_direction", "oiio", false))]]> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_hb_font_get_glyph_kerning_for_direction", "oiiio", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_hb_font_get_glyph_origin_for_direction", "oiio", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_font_get_parent", "oo", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_font_get_ppem", "oo", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_font_get_scale", "oo", false))]]> String>(cpp.Prime._loadPrime("lime", "lime_hb_font_glyph_from_string", "osi", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_hb_font_glyph_to_string", "oio", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_font_is_immutable", "ob", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_font_make_immutable", "ov", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_hb_font_set_ppem", "oiiv", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_hb_font_set_scale", "oiiv", false))]]> Int -> Int -> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_hb_font_subtract_glyph_origin_for_direction", "oiiiiv", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_ft_font_create", "oo", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_ft_font_create_referenced", "oo", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_ft_font_get_load_flags", "oi", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_hb_ft_font_set_load_flags", "oiv", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_language_from_string", "so", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_language_get_default", "o", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_language_to_string", "oo", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_hb_segment_properties_equal", "oob", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_segment_properties_hash", "oi", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_hb_set_add", "oiv", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_hb_set_add_range", "oiiv", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_set_allocation_successful", "ob", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_set_clear", "ov", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_set_create", "o", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_hb_set_del", "oiv", false))]]> Int -> Int>(cpp.Prime._loadPrime("lime", "lime_hb_set_del_range", "oiiv", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_set_get_empty", "o", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_set_get_max", "oi", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_set_get_min", "oi", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_set_get_population", "oi", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_hb_set_has", "oib", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_hb_set_intersect", "oov", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_set_invert", "ov", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_set_is_empty", "ob", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_hb_set_is_equal", "oob", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_set_next", "oi", false))]]> (cpp.Prime._loadPrime("lime", "lime_hb_set_next_range", "oo", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_hb_set_set", "oov", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_hb_set_subtract", "oov", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_hb_set_symmetric_difference", "oov", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_hb_set_union", "oov", false))]]> cpp.Object -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_hb_shape", "ooov", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_bitrate", "oii", false))]]> (cpp.Prime._loadPrime("lime", "lime_vorbis_file_bitrate_instant", "oi", false))]]> (cpp.Prime._loadPrime("lime", "lime_vorbis_file_clear", "ov", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_comment", "oio", false))]]> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_crosslap", "ooo", false))]]> (cpp.Prime._loadPrime("lime", "lime_vorbis_file_from_bytes", "oo", false))]]> (cpp.Prime._loadPrime("lime", "lime_vorbis_file_from_file", "so", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_info", "oio", false))]]> cpp.Object -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_pcm_seek", "oooi", false))]]> cpp.Object -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_pcm_seek_lap", "oooi", false))]]> cpp.Object -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_pcm_seek_page", "oooi", false))]]> cpp.Object -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_pcm_seek_page_lap", "oooi", false))]]> cpp.Object -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_raw_seek", "oooi", false))]]> cpp.Object -> cpp.Object>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_raw_seek_lap", "oooi", false))]]> (cpp.Prime._loadPrime("lime", "lime_vorbis_file_pcm_tell", "oo", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_pcm_total", "oio", false))]]> (cpp.Prime._loadPrime("lime", "lime_vorbis_file_raw_tell", "oo", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_raw_total", "oio", false))]]> cpp.Object -> Int -> Int -> Bool -> Int -> Bool>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_read", "ooiibibo", false))]]> cpp.Object -> Int>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_read_float", "ooio", false))]]> (cpp.Prime._loadPrime("lime", "lime_vorbis_file_seekable", "ob", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_serial_number", "oii", false))]]> (cpp.Prime._loadPrime("lime", "lime_vorbis_file_streams", "oi", false))]]> Float>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_time_seek", "odi", false))]]> Float>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_time_seek_lap", "odi", false))]]> Float>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_time_seek_page", "odi", false))]]> Float>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_time_seek_page_lap", "odi", false))]]> (cpp.Prime._loadPrime("lime", "lime_vorbis_file_time_tell", "od", false))]]> Int>(cpp.Prime._loadPrime("lime", "lime_vorbis_file_time_total", "oid", false))]]> "tags=\"haxe,release\"" new ApplicationEventInfo(UPDATE) new ClipboardEventInfo() ()]]> new DropEventInfo() new GamepadEventInfo() new JoystickEventInfo() new KeyEventInfo() new MouseEventInfo() new RenderEventInfo(RENDER) new SensorEventInfo() new TextEventInfo() new TouchEventInfo() ()]]> new WindowEventInfo() "tags=\"haxe,release\"" haxe.Timer lime._internal.backend.native.NativeCFFI lime._internal.backend.native.NativeOpenGLRenderContext lime._internal.backend.native.NativeWindow lime.app.Application lime.graphics.opengl.GL lime.graphics.OpenGLRenderContext lime.graphics.Renderer lime.system.Clipboard lime.system.Sensor lime.ui.Gamepad lime.ui.Joystick lime.ui.Window The current Application instance that is executing Meta-data values for the application, such as a version or a package name A list of currently attached Module instances ()]]> Update events are dispatched each frame (usually just before rendering) ()]]> Dispatched when a new window has been created by this application The Preloader for the current Application The Window associated with this Application, or the first Window if there are multiple Windows active A list of active Window instances associated with this Application <__backend> <__preloader> <__window> <__windowByID> <__windows> Adds a new module to the Application @param module A module to add Creates a new Window and adds it to the Application @param attributes A set of parameters to initialize the window Execute the Application. On native platforms, this method blocks until the application is finished running. On other platforms, it will return immediately @return An exit code, 0 if there was no error Called when a gamepad axis move event is fired @param gamepad The current gamepad @param axis The axis that was moved @param value The axis value (between 0 and 1) Called when a gamepad button down event is fired @param gamepad The current gamepad @param button The button that was pressed Called when a gamepad button up event is fired @param gamepad The current gamepad @param button The button that was released Called when a gamepad is connected @param gamepad The gamepad that was connected Called when a gamepad is disconnected @param gamepad The gamepad that was disconnected Called when a joystick axis move event is fired @param joystick The current joystick @param axis The axis that was moved @param value The axis value (between 0 and 1) Called when a joystick button down event is fired @param joystick The current joystick @param button The button that was pressed Called when a joystick button up event is fired @param joystick The current joystick @param button The button that was released Called when a joystick is connected @param joystick The joystick that was connected Called when a joystick is disconnected @param joystick The joystick that was disconnected Called when a joystick hat move event is fired @param joystick The current joystick @param hat The hat that was moved @param position The current hat position Called when a joystick axis move event is fired @param joystick The current joystick @param trackball The trackball that was moved @param x The x movement of the trackball (between 0 and 1) @param y The y movement of the trackball (between 0 and 1) Called when a key down event is fired on the primary window @param keyCode The code of the key that was pressed @param modifier The modifier of the key that was pressed Called when a key up event is fired on the primary window @param keyCode The code of the key that was released @param modifier The modifier of the key that was released Called when the module is exiting Called when a mouse down event is fired on the primary window @param x The current x coordinate of the mouse @param y The current y coordinate of the mouse @param button The ID of the mouse button that was pressed Called when a mouse move event is fired on the primary window @param x The current x coordinate of the mouse @param y The current y coordinate of the mouse Called when a mouse move relative event is fired on the primary window @param x The x movement of the mouse @param y The y movement of the mouse Called when a mouse up event is fired on the primary window @param x The current x coordinate of the mouse @param y The current y coordinate of the mouse @param button The ID of the button that was released Called when a mouse wheel event is fired on the primary window @param deltaX The amount of horizontal scrolling (if applicable) @param deltaY The amount of vertical scrolling (if applicable) @param deltaMode The units of measurement used Called when a preload complete event is fired Called when a preload progress event is fired @param loaded The number of items that are loaded @param total The total number of items will be loaded Called when a render context is lost on the primary window Called when a render context is restored on the primary window @param context The render context relevant to the event Called when a text edit event is fired on the primary window @param text The current replacement text @param start The starting index for the edit @param length The length of the edit Called when a text input event is fired on the primary window @param text The current input text Called when a touch cancel event is fired @param touch The current touch object Called when a touch end event is fired @param touch The current touch object Called when a touch move event is fired @param touch The current touch object Called when a touch start event is fired @param touch The current touch object Called when a window activate event is fired on the primary window Called when a window close event is fired on the primary window Called when the primary window is created Called when a window deactivate event is fired on the primary window Called when a window drop file event is fired on the primary window Called when a window enter event is fired on the primary window Called when a window expose event is fired on the primary window Called when a window focus in event is fired on the primary window Called when a window focus out event is fired on the primary window Called when the primary window enters fullscreen Called when a window leave event is fired on the primary window Called when a window move event is fired on the primary window @param x The x position of the window in desktop coordinates @param y The y position of the window in desktop coordinates Called when the primary window is minimized Called when a window resize event is fired on the primary window @param width The width of the window @param height The height of the window Called when the primary window is restored from being minimized or fullscreen Removes a module from the Application @param module A module to remove Called when a render event is fired on the primary window @param context The render context ready to be rendered Called when an update event is fired on the primary window @param deltaTime The amount of time in milliseconds that has elapsed since the last update <__addWindow set="method" line="461"> <__createWindow set="method" line="507"> <__registerLimeModule set="method" line="514" override="1"> <__removeWindow set="method" line="540"> <__onGamepadConnect set="method" line="562"> <__onJoystickConnect set="method" line="572"> <__onModuleExit set="method" line="584"> <__onWindowClose set="method" line="589"> <__unregisterLimeModule set="method" line="599" override="1"> Creates a new Application instance The Application class forms the foundation for most Lime projects. It is common to extend this class in a main class. It is then possible to override "on" functions in the class in order to handle standard events that are relevant. lime.ui.Window "tags=\"haxe,release\""
lime.app.Application lime.system.System openfl.display.Stage openfl.events.UncaughtErrorEvents hide
{ useWeakReference : false, priority : 0, useCapture : false } Registers an event listener object with an EventDispatcher object so that the listener receives notification of an event. You can register event listeners on all nodes in the display list for a specific type of event, phase, and priority. After you successfully register an event listener, you cannot change its priority through additional calls to `addEventListener()`. To change a listener's priority, you must first call `removeEventListener()`. Then you can register the listener again with the new priority level. After the listener is registered, subsequent calls to `addEventListener()` with a different value for either `type` or `useCapture` result in the creation of a separate listener registration. For example, if you first register a listener with `useCapture` set to true, it listens only during the capture phase. If you call `addEventListener()` again using the same listener object, but with `useCapture` set to `false`, you have two separate listeners: one that listens during the capture phase, and another that listens during the target and bubbling phases. You cannot register an event listener for only the target phase or the bubbling phase. Those phases are coupled during registration because bubbling applies only to the ancestors of the target node. When you no longer need an event listener, remove it by calling `EventDispatcher.removeEventListener()`; otherwise, memory problems might result. Objects with registered event listeners are not automatically removed from memory because the garbage collector does not remove objects that still have references. Copying an EventDispatcher instance does not copy the event listeners attached to it. (If your newly created node needs an event listener, you must attach the listener after creating the node.) However, if you move an EventDispatcher instance, the event listeners attached to it move along with it. If the event listener is being registered on a node while an event is also being processed on this node, the event listener is not triggered during the current phase but may be triggered during a later phase in the event flow, such as the bubbling phase. If an event listener is removed from a node while an event is being processed on the node, it is still triggered by the current actions. After it is removed, the event listener is never invoked again (unless it is registered again for future processing). @param type The type of event. @param listener The listener function that processes the event. This function must accept an event object as its only parameter and must return nothing, as this example shows: ```haxe function(evt:Event):Void ``` The function can have any name. @param useCapture Determines whether the listener works in the capture phase or the target and bubbling phases. If `useCapture` is set to `true`, the listener processes the event only during the capture phase and not in the target or bubbling phase. If `useCapture` is `false`, the listener processes the event only during the target or bubbling phase. To listen for the event in all three phases, call `addEventListener()` twice, once with `useCapture` set to `true`, then again with `useCapture` set to `false`. @param priority The priority level of the event listener. Priorities are designated by a 32-bit integer. The higher the number, the higher the priority. All listeners with priority `n` are processed before listeners of priority `n-1`. If two or more listeners share the same priority, they are processed in the order in which they were added. The default priority is 0. @param useWeakReference Determines whether the reference to the listener is strong or weak. A strong reference (the default) prevents your listener from being garbage-collected. A weak reference does not. Class-level member functions are not subject to garbage collection, so you can set `useWeakReference` to `true` for class-level member functions without subjecting them to garbage collection. If you set `useWeakReference` to `true` for a listener that is a nested inner function, the function will be garbage-collected and no longer be persistent. If you create references to the inner function (save it in another variable) then it is not garbage-collected and stays persistent. Dispatches an event into the event flow. The event target is the EventDispatcher object upon which `dispatchEvent()` is called. @param event The event object dispatched into the event flow. @returns A value of true unless `preventDefault()` is called on the event, in which case it returns `false`. Checks whether the EventDispatcher object has any listeners registered for a specific type of event. This allows you to determine where an EventDispatcher object has altered handling of an event type in the event flow hierarchy. To determine whether a specific event type will actually trigger an event listener, use `IEventDispatcher.willTrigger()`. The difference between `hasEventListener()` and `willTrigger()` is that `hasEventListener()` examines only the object to which it belongs, whereas `willTrigger()` examines the entire event flow for the event specified by the `type` parameter. @param type The type of event. @returns A value of `true` if a listener of the specified type is registered; `false` otherwise. { useCapture : false } Removes a listener from the EventDispatcher object. If there is no matching listener registered with the EventDispatcher object, a call to this method has no effect. @param type The type of event. @param listener The listener object to remove. @param useCapture Specifies whether the listener was registered for the capture phase or the target and bubbling phases. If the listener was registered for both the capture phase and the target and bubbling phases, two calls to `removeEventListener()` are required to remove both: one call with `useCapture` set to `true`, and another call with `useCapture` set to `false`. Checks whether an event listener is registered with this EventDispatcher object or any of its ancestors for the specified event type. This method returns `true` if an event listener is triggered during any phase of the event flow when an event of the specified type is dispatched to this EventDispatcher object or any of its descendants. The difference between `hasEventListener()` and `willTrigger()` is that `hasEventListener()` examines only the object to which it belongs, whereas `willTrigger()` examines the entire event flow for the event specified by the `type` parameter. @param type The type of event. @returns A value of `true` if a listener of the specified type will be triggered; `false` otherwise. The IEventDispatcher interface defines methods for adding or removing event listeners, checks whether specific types of event listeners are registered, and dispatches events. Event targets are an important part of the Flash� Player and Adobe AIR event model. The event target serves as the focal point for how events flow through the display list hierarchy. When an event such as a mouse click or a keypress occurs, an event object is dispatched into the event flow from the root of the display list. The event object makes a round-trip journey to the event target, which is conceptually divided into three phases: the capture phase includes the journey from the root to the last node before the event target's node; the target phase includes only the event target node; and the bubbling phase includes any subsequent nodes encountered on the return trip to the root of the display list. In general, the easiest way for a user-defined class to gain event dispatching capabilities is to extend EventDispatcher. If this is impossible (that is, if the class is already extending another class), you can instead implement the IEventDispatcher interface, create an EventDispatcher member, and write simple hooks to route calls into the aggregated EventDispatcher. <__eventMap> <__iterators> <__targetDispatcher> { useWeakReference : false, priority : 0, useCapture : false } Registers an event listener object with an EventDispatcher object so that the listener receives notification of an event. You can register event listeners on all nodes in the display list for a specific type of event, phase, and priority. After you successfully register an event listener, you cannot change its priority through additional calls to `addEventListener()`. To change a listener's priority, you must first call `removeListener()`. Then you can register the listener again with the new priority level. Keep in mind that after the listener is registered, subsequent calls to `addEventListener()` with a different `type` or `useCapture` value result in the creation of a separate listener registration. For example, if you first register a listener with `useCapture` set to `true`, it listens only during the capture phase. If you call `addEventListener()` again using the same listener object, but with `useCapture` set to `false`, you have two separate listeners: one that listens during the capture phase and another that listens during the target and bubbling phases. You cannot register an event listener for only the target phase or the bubbling phase. Those phases are coupled during registration because bubbling applies only to the ancestors of the target node. If you no longer need an event listener, remove it by calling `removeEventListener()`, or memory problems could result. Event listeners are not automatically removed from memory because the garbage collector does not remove the listener as long as the dispatching object exists(unless the `useWeakReference` parameter is set to `true`). Copying an EventDispatcher instance does not copy the event listeners attached to it.(If your newly created node needs an event listener, you must attach the listener after creating the node.) However, if you move an EventDispatcher instance, the event listeners attached to it move along with it. If the event listener is being registered on a node while an event is being processed on this node, the event listener is not triggered during the current phase but can be triggered during a later phase in the event flow, such as the bubbling phase. If an event listener is removed from a node while an event is being processed on the node, it is still triggered by the current actions. After it is removed, the event listener is never invoked again(unless registered again for future processing). @param type The type of event. @param useCapture Determines whether the listener works in the capture phase or the target and bubbling phases. If `useCapture` is set to `true`, the listener processes the event only during the capture phase and not in the target or bubbling phase. If `useCapture` is `false`, the listener processes the event only during the target or bubbling phase. To listen for the event in all three phases, call `addEventListener` twice, once with `useCapture` set to `true`, then again with `useCapture` set to `false`. @param priority The priority level of the event listener. The priority is designated by a signed 32-bit integer. The higher the number, the higher the priority. All listeners with priority _n_ are processed before listeners of priority _n_-1. If two or more listeners share the same priority, they are processed in the order in which they were added. The default priority is 0. @param useWeakReference Determines whether the reference to the listener is strong or weak. A strong reference(the default) prevents your listener from being garbage-collected. A weak reference does not. Class-level member functions are not subject to garbage collection, so you can set `useWeakReference` to `true` for class-level member functions without subjecting them to garbage collection. If you set `useWeakReference` to `true` for a listener that is a nested inner function, the function will be garbage-collected and no longer persistent. If you create references to the inner function(save it in another variable) then it is not garbage-collected and stays persistent. @throws ArgumentError The `listener` specified is not a function. Dispatches an event into the event flow. The event target is the EventDispatcher object upon which the `dispatchEvent()` method is called. @param event The Event object that is dispatched into the event flow. If the event is being redispatched, a clone of the event is created automatically. After an event is dispatched, its `target` property cannot be changed, so you must create a new copy of the event for redispatching to work. @return A value of `true` if the event was successfully dispatched. A value of `false` indicates failure or that `preventDefault()` was called on the event. @throws Error The event dispatch recursion limit has been reached. Checks whether the EventDispatcher object has any listeners registered for a specific type of event. This allows you to determine where an EventDispatcher object has altered handling of an event type in the event flow hierarchy. To determine whether a specific event type actually triggers an event listener, use `willTrigger()`. The difference between `hasEventListener()` and `willTrigger()` is that `hasEventListener()` examines only the object to which it belongs, whereas `willTrigger()` examines the entire event flow for the event specified by the `type` parameter. When `hasEventListener()` is called from a LoaderInfo object, only the listeners that the caller can access are considered. @param type The type of event. @return A value of `true` if a listener of the specified type is registered; `false` otherwise. { useCapture : false } Removes a listener from the EventDispatcher object. If there is no matching listener registered with the EventDispatcher object, a call to this method has no effect. @param type The type of event. @param useCapture Specifies whether the listener was registered for the capture phase or the target and bubbling phases. If the listener was registered for both the capture phase and the target and bubbling phases, two calls to `removeEventListener()` are required to remove both, one call with `useCapture()` set to `true`, and another call with `useCapture()` set to `false`. Checks whether an event listener is registered with this EventDispatcher object or any of its ancestors for the specified event type. This method returns `true` if an event listener is triggered during any phase of the event flow when an event of the specified type is dispatched to this EventDispatcher object or any of its descendants. The difference between the `hasEventListener()` and the `willTrigger()` methods is that `hasEventListener()` examines only the object to which it belongs, whereas the `willTrigger()` method examines the entire event flow for the event specified by the `type` parameter. When `willTrigger()` is called from a LoaderInfo object, only the listeners that the caller can access are considered. @param type The type of event. @return A value of `true` if a listener of the specified type will be triggered; `false` otherwise. <__dispatchEvent set="method" line="360"> <__removeAllListeners set="method" line="426"> <__addListenerByPriority set="method" line="432"> { target : null } Aggregates an instance of the EventDispatcher class. The EventDispatcher class is generally used as a base class, which means that most developers do not need to use this constructor function. However, advanced developers who are implementing the IEventDispatcher interface need to use this constructor. If you are unable to extend the EventDispatcher class and must instead implement the IEventDispatcher interface, use this constructor to aggregate an instance of the EventDispatcher class. @param target The target object for events dispatched to the EventDispatcher object. This parameter is used when the EventDispatcher instance is aggregated by a class that implements IEventDispatcher; it is necessary so that the containing object can be the target for events. Do not use this parameter in simple cases in which a class extends EventDispatcher. ® Player and Adobe® AIR® event model. The event target serves as the focal point for how events flow through the display list hierarchy. When an event such as a mouse click or a keypress occurs, Flash Player or the AIR application dispatches an event object into the event flow from the root of the display list. The event object then makes its way through the display list until it reaches the event target, at which point it begins its return trip through the display list. This round-trip journey to the event target is conceptually divided into three phases: the capture phase comprises the journey from the root to the last node before the event target's node, the target phase comprises only the event target node, and the bubbling phase comprises any subsequent nodes encountered on the return trip to the root of the display list. In general, the easiest way for a user-defined class to gain event dispatching capabilities is to extend EventDispatcher. If this is impossible(that is, if the class is already extending another class), you can instead implement the IEventDispatcher interface, create an EventDispatcher member, and write simple hooks to route calls into the aggregated EventDispatcher. @event activate [broadcast event] Dispatched when the Flash Player or AIR application gains operating system focus and becomes active. This event is a broadcast event, which means that it is dispatched by all EventDispatcher objects with a listener registered for this event. For more information about broadcast events, see the DisplayObject class. @event deactivate [broadcast event] Dispatched when the Flash Player or AIR application operating loses system focus and is becoming inactive. This event is a broadcast event, which means that it is dispatched by all EventDispatcher objects with a listener registered for this event. For more information about broadcast events, see the DisplayObject class.]]> "tags=\"haxe,release\"" openfl.events.Event <__blendMode> <__drawableType> <__isMask> <__renderable> <__renderTransform> <__transform> <__worldAlpha> <__worldColorTransform> <__worldTransform> <__getBounds set="method"> <__update set="method"> <__updateTransforms set="method"> { overrideTransform : null } <__mask> <__scrollRect> Maps `key` to `value`. If `key` already has a mapping, the previous value disappears. If `key` is `null`, the result is unspecified. Returns the current mapping of `key`. If no such mapping exists, `null` is returned. Note that a check like `map.get(key) == null` can hold for two reasons: 1. the map has no mapping for `key` 2. the map has a mapping with a value of `null` If it is important to distinguish these cases, `exists()` should be used. If `key` is `null`, the result is unspecified. Returns true if `key` has a mapping, false otherwise. If `key` is `null`, the result is unspecified. Removes the mapping of `key` and returns true if such a mapping existed, false otherwise. If `key` is `null`, the result is unspecified. Returns an Iterator over the keys of `this` Map. The order of keys is undefined. Returns an Iterator over the values of `this` Map. The order of values is undefined. Returns an Iterator over the keys and values of `this` Map. The order of values is undefined. Returns a shallow copy of `this` map. The order of values is undefined. Returns a String representation of `this` Map. The exact representation depends on the platform and key-type. Removes all keys from `this` Map. Indicates whether the `length` property of the Vector can be changed. If the value is `true`, the `length` property can't be changed. This means the following operations are not allowed when `fixed` is `true`: * setting the `length` property directly * assigning a value to index position length * calling a method that changes the `length` property, including: * `pop()` * `push()` * `shift()` * `unshift()` * `splice()` (if the `splice()` call changes the length of the Vector). The range of valid indices available in the Vector. A Vector instance has index positions up to but not including the length value. Every Vector element always has a value that is either an instance of the base type or `null`. When the `length` property is set to a value that's larger than its previous value, additional elements are created and populated with the default value appropriate to the base type (`null` for reference types). When the `length` property is set to a value that's smaller than its previous value, all the elements at index positions greater than or equal to the new length value are removed from the Vector. { vec : null } Concatenates the Vectors specified in the parameters list with the elements in this Vector and creates a new Vector. The Vectors in the parameters list must have the same base type, or subtype, as this Vector. If you do not pass any parameters, the returned Vector is a duplicate (shallow clone) of the original Vector. @param vec A Vector of the base type, or subtype, of this Vector. @return A Vector with the same base type as this Vector that contains the elements from this Vector followed by elements from the Vector in the parameter list. @throws TypeError If any argument is not a Vector of the base type, or cannot be converted to a Vector of the base type. Creates a new shallow clone of the current Vector object @return A new Vector object ):Bool { // your code here } ``` The callback function should return a Boolean value. @param thisObject The object that the identifer this in the callback function refers to when the function is called. ***Ignored on targets other than neko and js. @return A Boolean value of true if the specified function returns true when called on all items in the Vector; otherwise, false.]]> Executes a test function on each item in the Vector and returns a new Vector containing all items that return true for the specified function. If an item returns false, it is not included in the result Vector. The base type of the return Vector matches the base type of the Vector on which the method is called. @param callback The function to run on each item in the Vector. hide Array access { fromIndex : 0 } Searches for an item in the Vector and returns the index position of the item. The item is compared to the Vector elements using strict equality (`===`). @param searchElement The item to find in the Vector. @param fromIndex The location in the Vector from which to start searching for the item. If this parameter is negative, it is treated as `length + fromIndex`, meaning the search starts -fromIndex items from the end and searches from that position forward to the end of the Vector. @return A zero-based index position of the item in the Vector. If the `searchElement` argument is not found, the return value is -1. Insert a single element into the Vector. This method modifies the Vector without making a copy. @param index An integer that specifies the position in the Vector where the element is to be inserted. You can use a negative integer to specify a position relative to the end of the Vector (for example, -1 for the last element of the Vector). @param element The value to insert @throws RangeError If this method is called while `fixed` is `true`. hide Iterator { sep : "," } Converts the elements in the Vector to strings, inserts the specified separator between the elements, concatenates them, and returns the resulting string. A nested Vector is always separated by a comma (`,`), not by the separator passed to the `join()` method. @param sep A character or string that separates Vector elements in the returned string. If you omit this parameter, a comma is used as the default separator. @return A string consisting of the elements of the Vector converted to strings and separated by the specified string. { fromIndex : null } Searches for an item in the Vector, working backward from the specified index position, and returns the index position of the matching item. The item is compared to the Vector elements using strict equality (`===`). @param searchElement The item to find in the Vector. @param fromIndex The location in the Vector from which to start searching for the item. The default is the maximum allowable index value, meaning that the search starts at the last item in the Vector. If this parameter is negative, it is treated as `length + fromIndex`, meaning the search starts -fromIndex items from the end and searches from that position backward to index 0. @return A zero-based index position of the item in the Vector. If the `searchElement` argument is not found, the return value is -1. Removes the last element from the Vector and returns that element. The `length` property of the Vector is decreased by one when this function is called. @return The value of the last element in the specified Vector. @throws RangeError If this method is called while `fixed` is `true`. Adds one or more elements to the end of the Vector and returns the new length of the Vector. Because this function can accept multiple arguments, the data type of the arguments is not checked at compile time even in strict mode. However, if an argument is passed that is not an instance of the base type, an exception occurs at run time. @param value A value to append to the Vector. @return The length of the Vector after the new elements are added. @throws TypeError If any argument is not an instance of the base type T of the Vector. @throws RangeError If this method is called while `fixed` is `true`. Remove a single element from the Vector. This method modifies the Vector without making a copy. @param index An integer that specifies the index of the element in the Vector that is to be deleted. You can use a negative integer to specify a position relative to the end of the Vector (for example, -1 for the last element of the Vector). @return The element that was removed from the original Vector. @throws RangeError If the index argument specifies an index to be deleted that's outside the Vector's bounds. @throws RangeError If this method is called while `fixed` is `true`. Reverses the order of the elements in the Vector. This method alters the Vector on which it is called. @return The Vector with the elements in reverse order. hide Array access Removes the first element from the Vector and returns that element. The remaining Vector elements are moved from their original position, i, to i - 1. @return The first element in the Vector. @throws RangeError If `fixed` is `true`. { endIndex : null, startIndex : 0 } Returns a new Vector that consists of a range of elements from the original Vector, without modifying the original Vector. The returned Vector includes the `startIndex` element and all elements up to, but not including, the `endIndex` element. If you don't pass any parameters, the new Vector is a duplicate (shallow clone) of the original Vector. If you pass a value of 0 for both parameters, a new, empty Vector is created of the same type as the original Vector. @param startIndex A number specifying the index of the starting point for the slice. If startIndex is a negative number, the starting point begins at the end of the Vector, where -1 is the last element. @param endIndex A number specifying the index of the ending point for the slice. If you omit this parameter, the slice includes all elements from the starting point to the end of the Vector. If endIndex is a negative number, the ending point is specified from the end of the Vector, where -1 is the last element. @return A Vector that consists of a range of elements from the original Vector. ):Bool ``` The callback function should return a Boolean value. @param thisObject The object that the identifer this in the callback function refers to when the function is called. ***Ignored on targets other than neko and js. @return A Boolean value of true if any items in the Vector return true for the specified function; otherwise, false.]]> Sorts the elements in the Vector object, and also returns a sorted Vector object. This method sorts according to the parameter sortBehavior, which is either a function that compares two values, or a set of sorting options. The method takes one parameter. The parameter is one of the following: * a function that takes two arguments of the base type (T) of the Vector and returns a Number: ```as3 function compare(x:T, y:T):Number {} ``` The logic of the function is that, given two elements `x` and `y`, the function returns one of the following three values: * a negative number, if `x` should appear before `y` in the sorted sequence * 0, if `x` equals `y` * a positive number, if `x` should appear after `y` in the sorted sequence * a number which is a bitwise OR of the following values: * 1 or `Array.CASEINSENSITIVE` * 2 or `Array.DESCENDING` * 4 or `Array.UNIQUESORT` * 8 or `Array.RETURNINDEXEDARRAY` * 16 or `Array.NUMERIC` If the value is 0, the sort works in the following way: * Sorting is case-sensitive (Z precedes a). * Sorting is ascending (a precedes b). * The array is modified to reflect the sort order; multiple elements that have identical sort fields are placed consecutively in the sorted array in no particular order. * All elements, regardless of data type, are sorted as if they were strings, so 100 precedes 99, because "1" is a lower string value than "9". @param sortBehavior A Function or a Number value that determines the behavior of the sort. A Function parameter specifies a comparison method. A Number value specifies the sorting options. @return A Vector object, with elements in the new order. Adds elements to and removes elements from the Vector. This method modifies the Vector without making a copy. **Note:** To override this method in a subclass of Vector, use ...args for the parameters, as this example shows: ```as3 public override function splice(...args) { // your statements here } ``` @param startIndex:int — An integer that specifies the index of the element in the Vector where the insertion or deletion begins. You can use a negative integer to specify a position relative to the end of the Vector (for example, -1 for the last element of the Vector). @param deleteCount:uint (default = 4294967295) — An integer that specifies the number of elements to be deleted. This number includes the element specified in the startIndex parameter. If the value is 0, no elements are deleted. @param ... items — An optional list of one or more comma-separated values to insert into the Vector at the position specified in the startIndex parameter. @return a Vector containing the elements that were removed from the original Vector. @throws RangeError If the startIndex and deleteCount arguments specify an index to be deleted that's outside the Vector's bounds. @throws RangeError If this method is called while fixed is true and the splice() operation changes the length of the Vector. Returns a string that represents the elements in the Vector. Every element in the Vector, starting with index 0 and ending with the highest index, is converted to a concatenated string and separated by commas. To specify a custom separator, use the `Vector.join()` method. @return A string of Vector elements. Adds one or more elements to the beginning of the Vector and returns the new length of the Vector. The other elements in the Vector are moved from their original position, i, to i + the number of new elements. Because this function can accept multiple arguments, the data type of the arguments is not checked at compile time even in strict mode. However, if an argument is passed that is not an instance of the base type, an exception occurs at run time. @param value An instance of the base type of the Vector to be inserted at the beginning of the Vector. @return An integer representing the new length of the Vector. @throws TypeError If any argument is not an instance of the base type T of the Vector. @throws RangeError If this method is called while fixed is true. Attempts to cast a Vector to another Vector object of a similar type @param vec A Vector object to cast @return The casted Vector object "checkstyle:Dynamic" <__inactiveObject0> <__inactiveObject1> <__inactiveObjectList> <__pool> <__size> <__addInactive get="inline" set="null" line="151"> <__getInactive get="inline" set="null" line="173"> <__removeInactive set="method" line="212"> { size : null, clean : null, create : null } "tags=\"haxe,release\"" "haxe.ds.ObjectMap.*" See `Map.set` See `Map.get` See `Map.exists` See `Map.remove` See `Map.keys` (cs, java) Implementation detail: Do not `set()` any new value while iterating, as it may cause a resize, which will break iteration. See `Map.iterator` (cs, java) Implementation detail: Do not `set()` any new value while iterating, as it may cause a resize, which will break iteration. See `Map.keyValueIterator` See `Map.copy` See `Map.toString` See `Map.clear` Creates a new ObjectMap. ObjectMap allows mapping of object keys to arbitrary values. On static targets, the keys are considered to be strong references. Refer to `haxe.ds.WeakMap` for a weak reference version. See `Map` for documentation details. @see https://haxe.org/manual/std-Map.html \r\n inline void set(Dynamic key, const ::cpp::Struct &value) {__object_hash_set(HX_MAP_THIS,key,value); }\r\n template\r\n inline void set(Dynamic key, const ::cpp::Function &value) {__object_hash_set(HX_MAP_THIS,key,(Dynamic)value ); }\r\n template\r\n inline void set(Dynamic key, const ::cpp::Pointer &value) {__object_hash_set(HX_MAP_THIS,key,(Dynamic)value ); }\r\n\r\n inline bool get_bool(Dynamic key) { return __object_hash_get_bool(h,key); }\r\n inline int get_int(Dynamic key) { return __object_hash_get_int(h,key); }\r\n inline Float get_float(Dynamic key) { return __object_hash_get_float(h,key); }\r\n inline String get_string(Dynamic key) { return __object_hash_get_string(h,key); }\r\n\r\n"]]> The length of `this` List. Adds element `item` at the end of `this` List. `this.length` increases by 1. Adds element `item` at the beginning of `this` List. `this.length` increases by 1. Returns the first element of `this` List, or null if no elements exist. This function does not modify `this` List. Returns the last element of `this` List, or null if no elements exist. This function does not modify `this` List. Returns the first element of `this` List, or null if no elements exist. The element is removed from `this` List. Tells if `this` List is empty. Empties `this` List. This function does not traverse the elements, but simply sets the internal references to null and `this.length` to 0. Removes the first occurrence of `v` in `this` List. If `v` is found by checking standard equality, it is removed from `this` List and the function returns true. Otherwise, false is returned. Returns an iterator on the elements of the list. Returns an iterator of the List indices and values. Returns a string representation of `this` List. The result is enclosed in { } with the individual elements being separated by a comma. Returns a string representation of `this` List, with `sep` separating each element. Returns a list filtered with `f`. The returned list will contain all elements for which `f(x) == true`. Returns a new list where all elements have been converted by the function `f`. Creates a new empty list. A linked-list of elements. The list is composed of element container objects that are chained together. It is optimized so that adding or removing an element does not imply copying the whole list content every time. @see https://haxe.org/manual/std-List.html <__broadcastEvents expr="new Map()" line="184" static="1"> new Map() <__initStage static="1"> <__instanceCount expr="0" line="186" static="1"> 0 <__supportDOM get="inline" set="null" expr="false" line="189" static="1"> false <__tempStack expr="new ObjectPool<Vector<DisplayObject>>(function() return new Vector<DisplayObject>(), function(stack) stack.length = 0)" line="191" static="1"> >(function() return new Vector(), function(stack) stack.length = 0)]]> <__calculateAbsoluteTransform get="inline" set="null" line="1359" static="1"> Indicates the alpha transparency value of the object specified. Valid values are 0 (fully transparent) to 1 (fully opaque). The default value is 1. Display objects with `alpha` set to 0 _are_ active, even though they are invisible. For example, if a constituent color (such as red) of one pixel in the display object and the corresponding color of the pixel in the background both have the value 0x88, the multiplied result is 0x4840. Dividing by 0xFF yields a value of 0x48 for that constituent color, which is a darker shade than the color of the display object or the color of the background. | | `BlendMode.SCREEN` | ![blend mode SCREEN](/images/blendMode-4.jpg) | Multiplies the complement (inverse) of the display object color by the complement of the background color, resulting in a bleaching effect. This setting is commonly used for highlights or to remove black areas of the display object. | | `BlendMode.LIGHTEN` | ![blend mode LIGHTEN](/images/blendMode-5.jpg) | Selects the lighter of the constituent colors of the display object and the color of the background (the colors with the larger values). This setting is commonly used for superimposing type.
For example, if the display object has a pixel with an RGB value of 0xFFCC33, and the background pixel has an RGB value of 0xDDF800, the resulting RGB value for the displayed pixel is 0xFFF833 (because 0xFF > 0xDD, 0xCC < 0xF8, and 0x33 > 0x00 = 33). Not supported under GPU rendering. | | `BlendMode.DARKEN` | ![blend mode DARKEN](/images/blendMode-6.jpg) | Selects the darker of the constituent colors of the display object and the colors of the background (the colors with the smaller values). This setting is commonly used for superimposing type.
For example, if the display object has a pixel with an RGB value of 0xFFCC33, and the background pixel has an RGB value of 0xDDF800, the resulting RGB value for the displayed pixel is 0xDDCC00 (because 0xFF > 0xDD, 0xCC < 0xF8, and 0x33 > 0x00 = 33). Not supported under GPU rendering. | | `BlendMode.DIFFERENCE` | ![blend mode DIFFERENCE](/images/blendMode-7.jpg) | Compares the constituent colors of the display object with the colors of its background, and subtracts the darker of the values of the two constituent colors from the lighter value. This setting is commonly used for more vibrant colors.
For example, if the display object has a pixel with an RGB value of 0xFFCC33, and the background pixel has an RGB value of 0xDDF800, the resulting RGB value for the displayed pixel is 0x222C33 (because 0xFF - 0xDD = 0x22, 0xF8 - 0xCC = 0x2C, and 0x33 - 0x00 = 0x33). | | `BlendMode.ADD` | ![blend mode ADD](/images/blendMode-8.jpg) | Adds the values of the constituent colors of the display object to the colors of its background, applying a ceiling of 0xFF. This setting is commonly used for animating a lightening dissolve between two objects.
For example, if the display object has a pixel with an RGB value of 0xAAA633, and the background pixel has an RGB value of 0xDD2200, the resulting RGB value for the displayed pixel is 0xFFC833 (because 0xAA + 0xDD > 0xFF, 0xA6 + 0x22 = 0xC8, and 0x33 + 0x00 = 0x33). | | `BlendMode.SUBTRACT` | ![blend mode SUBTRACT](/images/blendMode-9.jpg) | Subtracts the values of the constituent colors in the display object from the values of the background color, applying a floor of 0. This setting is commonly used for animating a darkening dissolve between two objects.
For example, if the display object has a pixel with an RGB value of 0xAA2233, and the background pixel has an RGB value of 0xDDA600, the resulting RGB value for the displayed pixel is 0x338400 (because 0xDD - 0xAA = 0x33, 0xA6 - 0x22 = 0x84, and 0x00 - 0x33 < 0x00). | | `BlendMode.INVERT` | ![blend mode INVERT](/images/blendMode-10.jpg) | Inverts the background. | | `BlendMode.ALPHA` | ![blend mode ALPHA](/images/blendMode-11.jpg) | Applies the alpha value of each pixel of the display object to the background. This requires the `blendMode` setting of the parent display object to be set to `BlendMode.LAYER`. For example, in the illustration, the parent display object, which is a white background, has `blendMode = BlendMode.LAYER`. Not supported under GPU rendering. | | `BlendMode.ERASE` | ![blend mode ERASE](/images/blendMode-12.jpg) | Erases the background based on the alpha value of the display object. This requires the `blendMode` of the parent display object to be set to `BlendMode.LAYER`. For example, in the illustration, the parent display object, which is a white background, has `blendMode = BlendMode.LAYER`. Not supported under GPU rendering. | | `BlendMode.OVERLAY` | ![blend mode OVERLAY](/images/blendMode-13.jpg) | Adjusts the color of each pixel based on the darkness of the background. If the background is lighter than 50% gray, the display object and background colors are screened, which results in a lighter color. If the background is darker than 50% gray, the colors are multiplied, which results in a darker color. This setting is commonly used for shading effects. Not supported under GPU rendering. | | `BlendMode.HARDLIGHT` | ![blend mode HARDLIGHT](/images/blendMode-14.jpg) | Adjusts the color of each pixel based on the darkness of the display object. If the display object is lighter than 50% gray, the display object and background colors are screened, which results in a lighter color. If the display object is darker than 50% gray, the colors are multiplied, which results in a darker color. This setting is commonly used for shading effects. Not supported under GPU rendering. | | `BlendMode.SHADER` | N/A | Adjusts the color using a custom shader routine. The shader that is used is specified as the Shader instance assigned to the blendShader property. Setting the blendShader property of a display object to a Shader instance automatically sets the display object's `blendMode` property to `BlendMode.SHADER`. If the `blendMode` property is set to `BlendMode.SHADER` without first setting the `blendShader` property, the `blendMode` property is set to `BlendMode.NORMAL`. Not supported under GPU rendering. |]]>
All vector data for a display object that has a cached bitmap is drawn to the bitmap instead of the main display. If `cacheAsBitmapMatrix` is null or unsupported, the bitmap is then copied to the main display as unstretched, unrotated pixels snapped to the nearest pixel boundaries. Pixels are mapped 1 to 1 with the parent object. If the bounds of the bitmap change, the bitmap is recreated instead of being stretched. If `cacheAsBitmapMatrix` is non-null and supported, the object is drawn to the off-screen bitmap using that matrix and the stretched and/or rotated results of that rendering are used to draw the object to the main display. No internal bitmap is created unless the `cacheAsBitmap` property is set to `true`. After you set the `cacheAsBitmap` property to `true`, the rendering does not change, however the display object performs pixel snapping automatically. The animation speed can be significantly faster depending on the complexity of the vector content. The `cacheAsBitmap` property is automatically set to `true` whenever you apply a filter to a display object(when its `filter` array is not empty), and if a display object has a filter applied to it, `cacheAsBitmap` is reported as `true` for that display object, even if you set the property to `false`. If you clear all filters for a display object, the `cacheAsBitmap` setting changes to what it was last set to. A display object does not use a bitmap even if the `cacheAsBitmap` property is set to `true` and instead renders from vector data in the following cases: * The bitmap is too large. In AIR 1.5 and Flash Player 10, the maximum size for a bitmap image is 8,191 pixels in width or height, and the total number of pixels cannot exceed 16,777,215 pixels.(So, if a bitmap image is 8,191 pixels wide, it can only be 2,048 pixels high.) In Flash Player 9 and earlier, the limitation is is 2880 pixels in height and 2,880 pixels in width. * The bitmap fails to allocate(out of memory error). The `cacheAsBitmap` property is best used with movie clips that have mostly static content and that do not scale and rotate frequently. With such movie clips, `cacheAsBitmap` can lead to performance increases when the movie clip is translated(when its _x_ and _y_ position is changed). If non-null, this Matrix object defines how a display object is rendered when `cacheAsBitmap` is set to `true`. The application uses this matrix as a transformation matrix that is applied when rendering the bitmap version of the display object. _AIR profile support:_ This feature is supported on mobile devices, but it is not supported on desktop operating systems. It also has limited support on AIR for TV devices. Specifically, on AIR for TV devices, supported transformations include scaling and translation, but not rotation and skewing. See AIR Profile Support for more information regarding API support across multiple profiles. With `cacheAsBitmapMatrix` set, the application retains a cached bitmap image across various 2D transformations, including translation, rotation, and scaling. If the application uses hardware acceleration, the object will be stored in video memory as a texture. This allows the GPU to apply the supported transformations to the object. The GPU can perform these transformations faster than the CPU. To use the hardware acceleration, set Rendering to GPU in the General tab of the iPhone Settings dialog box in Flash Professional CS5. Or set the `renderMode` property to gpu in the application descriptor file. Note that AIR for TV devices automatically use hardware acceleration if it is available. For example, the following code sends an untransformed bitmap representation of the display object to the GPU: ```haxe var matrix:Matrix = new Matrix(); // creates an identity matrix mySprite.cacheAsBitmapMatrix = matrix; mySprite.cacheAsBitmap = true; ``` Usually, the identity matrix (`new Matrix()`) suffices. However, you can use another matrix, such as a scaled-down matrix, to upload a different bitmap to the GPU. For example, the following example applies a `cacheAsBitmapMatrix` matrix that is scaled by 0.5 on the x and y axes. The bitmap object that the GPU uses is smaller, however the GPU adjusts its size to match the `transform.matrix` property of the display object: ```haxe var matrix:Matrix = new Matrix(); // creates an identity matrix matrix.scale(0.5, 0.5); // scales the matrix mySprite.cacheAsBitmapMatrix = matrix; mySprite.cacheAsBitmap = true; ``` Generally, you should choose to use a matrix that transforms the display object to the size that it will appear in the application. For example, if your application displays the bitmap version of the sprite scaled down by a half, use a matrix that scales down by a half. If you application will display the sprite larger than its current dimensions, use a matrix that scales up by that factor. **Note:** The `cacheAsBitmapMatrix` property is suitable for 2D transformations. If you need to apply transformations in 3D, you may do so by setting a 3D property of the object and manipulating its `transform.matrix3D` property. If the application is packaged using GPU mode, this allows the 3D transforms to be applied to the object by the GPU. The `cacheAsBitmapMatrix` is ignored for 3D objects. instance as a shader input, and the `width` and `height` properties aren't specified for the ShaderInput object, or the specified values don't match the amount of data in the input data. See the `ShaderInput.input` property for more information.]]> Indicates the height of the display object, in pixels. The height is calculated based on the bounds of the content of the display object. When you set the `height` property, the `scaleY` property is adjusted accordingly, as shown in the following code: Except for TextField and Video objects, a display object with no content(such as an empty sprite) has a height of 0, even if you try to set `height` to a different value. Returns a LoaderInfo object containing information about loading the file to which this display object belongs. The `loaderInfo` property is defined only for the root display object of a SWF file or for a loaded Bitmap(not for a Bitmap that is drawn with ActionScript). To find the `loaderInfo` object associated with the SWF file that contains a display object named `myDisplayObject`, use `myDisplayObject.root.loaderInfo`. A large SWF file can monitor its download by calling `this.root.loaderInfo.addEventListener(Event.COMPLETE, func)`. The calling display object is masked by the specified `mask` object. To ensure that masking works when the Stage is scaled, the `mask` display object must be in an active part of the display list. The `mask` object itself is not drawn. Set `mask` to `null` to remove the mask. To be able to scale a mask object, it must be on the display list. To be able to drag a mask Sprite object(by calling its `startDrag()` method), it must be on the display list. To call the `startDrag()` method for a mask sprite based on a `mouseDown` event being dispatched by the sprite, set the sprite's `buttonMode` property to `true`. When display objects are cached by setting the `cacheAsBitmap` property to `true` an the `cacheAsBitmapMatrix` property to a Matrix object, both the mask and the display object being masked must be part of the same cached bitmap. Thus, if the display object is cached, then the mask must be a child of the display object. If an ancestor of the display object on the display list is cached, then the mask must be a child of that ancestor or one of its descendents. If more than one ancestor of the masked object is cached, then the mask must be a descendent of the cached container closest to the masked object in the display list. **Note:** A single `mask` object cannot be used to mask more than one calling display object. When the `mask` is assigned to a second display object, it is removed as the mask of the first object, and that object's `mask` property becomes `null`. Indicates the x coordinate of the mouse or user input device position, in pixels. **Note**: For a DisplayObject that has been rotated, the returned x coordinate will reflect the non-rotated object. Indicates the y coordinate of the mouse or user input device position, in pixels. **Note**: For a DisplayObject that has been rotated, the returned y coordinate will reflect the non-rotated object. Indicates the instance name of the DisplayObject. The object can be identified in the child list of its parent display object container by calling the `getChildByName()` method of the display object container. @throws IllegalOperationError If you are attempting to set this property on an object that was placed on the timeline in the Flash authoring tool. Specifies whether the display object is opaque with a certain background color. A transparent bitmap contains alpha channel data and is drawn transparently. An opaque bitmap has no alpha channel(and renders faster than a transparent bitmap). If the bitmap is opaque, you specify its own background color to use. If set to a number value, the surface is opaque(not transparent) with the RGB background color that the number specifies. If set to `null`(the default value), the display object has a transparent background. The `opaqueBackground` property is intended mainly for use with the `cacheAsBitmap` property, for rendering optimization. For display objects in which the `cacheAsBitmap` property is set to true, setting `opaqueBackground` can improve rendering performance. The opaque background region is _not_ matched when calling the `hitTestPoint()` method with the `shapeFlag` parameter set to `true`. The opaque background region does not respond to mouse events. Indicates the DisplayObjectContainer object that contains this display object. Use the `parent` property to specify a relative path to display objects that are above the current display object in the display list hierarchy. You can use `parent` to move up multiple levels in the display list as in the following: ```haxe this.parent.parent.alpha = 20; ``` @throws SecurityError The parent display object belongs to a security sandbox to which you do not have access. You can avoid this situation by having the parent movie call the `Security.allowDomain()` method. For a display object in a loaded SWF file, the `root` property is the top-most display object in the portion of the display list's tree structure represented by that SWF file. For a Bitmap object representing a loaded image file, the `root` property is the Bitmap object itself. For the instance of the main class of the first SWF file loaded, the `root` property is the display object itself. The `root` property of the Stage object is the Stage object itself. The `root` property is set to `null` for any display object that has not been added to the display list, unless it has been added to a display object container that is off the display list but that is a child of the top-most display object in a loaded SWF file. For example, if you create a new Sprite object by calling the `Sprite()` constructor method, its `root` property is `null` until you add it to the display list(or to a display object container that is off the display list but that is a child of the top-most display object in a SWF file). For a loaded SWF file, even though the Loader object used to load the file may not be on the display list, the top-most display object in the SWF file has its `root` property set to itself. The Loader object does not have its `root` property set until it is added as a child of a display object for which the `root` property is set. Indicates the rotation of the DisplayObject instance, in degrees, from its original orientation. Values from 0 to 180 represent clockwise rotation; values from 0 to -180 represent counterclockwise rotation. Values outside this range are added to or subtracted from 360 to obtain a value within the range. For example, the statement `my_video.rotation = 450` is the same as ` my_video.rotation = 90`. The display object. | ![display object scale 9 region](/images/scale9Grid-b.jpg)
The red rectangle shows the scale9Grid. | When the display object is scaled or stretched, the objects within the rectangle scale normally, but the objects outside of the rectangle scale according to the `scale9Grid` rules: | | | | --- | --- | | Scaled to 75%: | ![display object at 75%](/images/scale9Grid-c.jpg) | | Scaled to 50%: | ![display object at 50%](/images/scale9Grid-d.jpg) | | Scaled to 25%: | ![display object at 25%](/images/scale9Grid-e.jpg) | | Stretched horizontally 150%: | ![display stretched 150%](/images/scale9Grid-f.jpg) | A common use for setting `scale9Grid` is to set up a display object to be used as a component, in which edge regions retain the same width when the component is scaled. @throws ArgumentError If you pass an invalid argument to the method.]]>
Indicates the horizontal scale (percentage) of the object as applied from the registration point. The default registration point is (0,0). 1.0 equals 100% scale. Scaling the local coordinate system changes the `x` and `y` property values, which are defined in whole pixels. Indicates the vertical scale (percentage) of an object as applied from the registration point of the object. The default registration point is (0,0). 1.0 is 100% scale. Scaling the local coordinate system changes the `x` and `y` property values, which are defined in whole pixels. The scroll rectangle bounds of the display object. The display object is cropped to the size defined by the rectangle, and it scrolls within the rectangle when you change the `x` and `y` properties of the `scrollRect` object. The properties of the `scrollRect` Rectangle object use the display object's coordinate space and are scaled just like the overall display object. The corner bounds of the cropped window on the scrolling display object are the origin of the display object(0,0) and the point defined by the width and height of the rectangle. They are not centered around the origin, but use the origin to define the upper-left corner of the area. A scrolled display object always scrolls in whole pixel increments. You can scroll an object left and right by setting the `x` property of the `scrollRect` Rectangle object. You can scroll an object up and down by setting the `y` property of the `scrollRect` Rectangle object. If the display object is rotated 90� and you scroll it left and right, the display object actually scrolls up and down. **BETA** Applies a custom Shader object to use when rendering this display object (or its children) when using hardware rendering. This occurs as a single-pass render on this object only, if visible. In order to apply a post-process effect to multiple display objects at once, enable `cacheAsBitmap` or use the `filters` property with a ShaderFilter The Stage of the display object. A Flash runtime application has only one Stage object. For example, you can create and load multiple display objects into the display list, and the `stage` property of each display object refers to the same Stage object(even if the display object belongs to a loaded SWF file). If a display object is not added to the display list, its `stage` property is set to `null`. An object with properties pertaining to a display object's matrix, color transform, and pixel bounds. The specific properties - matrix, colorTransform, and three read-only properties (`concatenatedMatrix`, `concatenatedColorTransform`, and `pixelBounds`) - are described in the entry for the Transform class. Each of the transform object's properties is itself an object. This concept is important because the only way to set new values for the matrix or colorTransform objects is to create a new object and copy that object into the transform.matrix or transform.colorTransform property. For example, to increase the `tx` value of a display object's matrix, you must make a copy of the entire matrix object, then copy the new object into the matrix property of the transform object: ` var myMatrix:Matrix = myDisplayObject.transform.matrix; myMatrix.tx += 10; myDisplayObject.transform.matrix = myMatrix; ` You cannot directly set the `tx` property. The following code has no effect on `myDisplayObject`: ` myDisplayObject.transform.matrix.tx += 10; ` You can also copy an entire transform object and assign it to another display object's transform property. For example, the following code copies the entire transform object from `myOldDisplayObj` to `myNewDisplayObj`: `myNewDisplayObj.transform = myOldDisplayObj.transform;` The resulting display object, `myNewDisplayObj`, now has the same values for its matrix, color transform, and pixel bounds as the old display object, `myOldDisplayObj`. Note that AIR for TV devices use hardware acceleration, if it is available, for color transforms. Whether or not the display object is visible. Display objects that are not visible are disabled. For example, if `visible=false` for an InteractiveObject instance, it cannot be clicked. Indicates the width of the display object, in pixels. The width is calculated based on the bounds of the content of the display object. When you set the `width` property, the `scaleX` property is adjusted accordingly, as shown in the following code: Except for TextField and Video objects, a display object with no content(such as an empty sprite) has a width of 0, even if you try to set `width` to a different value. Indicates the _x_ coordinate of the DisplayObject instance relative to the local coordinates of the parent DisplayObjectContainer. If the object is inside a DisplayObjectContainer that has transformations, it is in the local coordinate system of the enclosing DisplayObjectContainer. Thus, for a DisplayObjectContainer rotated 90� counterclockwise, the DisplayObjectContainer's children inherit a coordinate system that is rotated 90� counterclockwise. The object's coordinates refer to the registration point position. Indicates the _y_ coordinate of the DisplayObject instance relative to the local coordinates of the parent DisplayObjectContainer. If the object is inside a DisplayObjectContainer that has transformations, it is in the local coordinate system of the enclosing DisplayObjectContainer. Thus, for a DisplayObjectContainer rotated 90� counterclockwise, the DisplayObjectContainer's children inherit a coordinate system that is rotated 90� counterclockwise. The object's coordinates refer to the registration point position. <__alpha> <__blendMode> <__cacheAsBitmap> <__cacheAsBitmapMatrix> <__cacheBitmap> <__cacheBitmapBackground> <__cacheBitmapColorTransform> <__cacheBitmapData> <__cacheBitmapData2> <__cacheBitmapData3> <__cacheBitmapMatrix> <__cacheBitmapRenderer> <__cairo> "checkstyle:Dynamic" <__children> <__customRenderClear> <__customRenderEvent> <__drawableType> <__filters> <__graphics> <__interactive> <__isCacheBitmapRender> <__isMask> <__loaderInfo> <__mask> <__maskTarget> <__name> <__objectTransform> <__renderable> <__renderDirty> <__renderParent> <__renderTransform> <__renderTransformCache> <__renderTransformChanged> <__rotation> <__rotationCosine> <__rotationSine> <__scale9Grid> <__scaleX> <__scaleY> <__scrollRect> <__shader> <__tempPoint> <__transform> <__transformDirty> <__visible> <__worldAlpha> <__worldAlphaChanged> <__worldBlendMode> <__worldClip> <__worldClipChanged> <__worldColorTransform> <__worldShader> <__worldScale9Grid> <__worldTransform> <__worldVisible> <__worldVisibleChanged> <__worldTransformInvalid> <__worldZ> { useWeakReference : false, priority : 0, useCapture : false } "checkstyle:Dynamic" Returns a rectangle that defines the area of the display object relative to the coordinate system of the `targetCoordinateSpace` object. Consider the following code, which shows how the rectangle returned can vary depending on the `targetCoordinateSpace` parameter that you pass to the method: **Note:** Use the `localToGlobal()` and `globalToLocal()` methods to convert the display object's local coordinates to display coordinates, or display coordinates to local coordinates, respectively. The `getBounds()` method is similar to the `getRect()` method; however, the Rectangle returned by the `getBounds()` method includes any strokes on shapes, whereas the Rectangle returned by the `getRect()` method does not. For an example, see the description of the `getRect()` method. @param targetCoordinateSpace The display object that defines the coordinate system to use. @return The rectangle that defines the area of the display object relative to the `targetCoordinateSpace` object's coordinate system. Returns a rectangle that defines the boundary of the display object, based on the coordinate system defined by the `targetCoordinateSpace` parameter, excluding any strokes on shapes. The values that the `getRect()` method returns are the same or smaller than those returned by the `getBounds()` method. **Note:** Use `localToGlobal()` and `globalToLocal()` methods to convert the display object's local coordinates to Stage coordinates, or Stage coordinates to local coordinates, respectively. @param targetCoordinateSpace The display object that defines the coordinate system to use. @return The rectangle that defines the area of the display object relative to the `targetCoordinateSpace` object's coordinate system. Converts the `point` object from the Stage(global) coordinates to the display object's(local) coordinates. To use this method, first create an instance of the Point class. The _x_ and _y_ values that you assign represent global coordinates because they relate to the origin(0,0) of the main display area. Then pass the Point instance as the parameter to the `globalToLocal()` method. The method returns a new Point object with _x_ and _y_ values that relate to the origin of the display object instead of the origin of the Stage. @param point An object created with the Point class. The Point object specifies the _x_ and _y_ coordinates as properties. @return A Point object with coordinates relative to the display object. Evaluates the bounding box of the display object to see if it overlaps or intersects with the bounding box of the `obj` display object. @param obj The display object to test against. @return `true` if the bounding boxes of the display objects intersect; `false` if not. { shapeFlag : false } Evaluates the display object to see if it overlaps or intersects with the point specified by the `x` and `y` parameters. The `x` and `y` parameters specify a point in the coordinate space of the Stage, not the display object container that contains the display object(unless that display object container is the Stage). @param x The _x_ coordinate to test against this object. @param y The _y_ coordinate to test against this object. @param shapeFlag Whether to check against the actual pixels of the object (`true`) or the bounding box (`false`). @return `true` if the display object overlaps or intersects with the specified point; `false` otherwise. Calling the `invalidate()` method signals to have the current object redrawn the next time the object is eligible to be rendered. Converts the `point` object from the display object's(local) coordinates to the Stage(global) coordinates. This method allows you to convert any given _x_ and _y_ coordinates from values that are relative to the origin(0,0) of a specific display object(local coordinates) to values that are relative to the origin of the Stage(global coordinates). To use this method, first create an instance of the Point class. The _x_ and _y_ values that you assign represent local coordinates because they relate to the origin of the display object. You then pass the Point instance that you created as the parameter to the `localToGlobal()` method. The method returns a new Point object with _x_ and _y_ values that relate to the origin of the Stage instead of the origin of the display object. @param point The name or identifier of a point created with the Point class, specifying the _x_ and _y_ coordinates as properties. @return A Point object with coordinates relative to the Stage. { useCapture : false } "checkstyle:Dynamic" <__cleanup set="method" line="1369"> <__dispatch set="method" line="1396"> <__dispatchChildren set="method" line="1412"> <__dispatchEvent set="method" line="1415" override="1"> <__dispatchWithCapture set="method" line="1440"> <__enterFrame set="method" line="1481"> <__getBounds set="method" line="1484"> <__getCursor set="method" line="1492"> <__getFilterBounds set="method" line="1497"> <__getInteractive set="method" line="1523"> <__getLocalBounds set="method" line="1528"> <__getRenderBounds set="method" line="1543"> <__getRenderTransform set="method" line="1561"> <__getWorldTransform set="method" line="1567"> <__globalToLocal set="method" line="1602"> <__hitTest set="method" line="1619"> <__hitTestMask set="method" line="1640"> <__readGraphicsData set="method" line="1653"> <__setParentRenderDirty set="method" line="1661"> <__setRenderDirty get="inline" set="null" line="1671"> <__setStageReference set="method" line="1680"> <__setTransformDirty set="method" line="1685"> <__setWorldTransformInvalid set="method" line="1696"> <__stopAllMovieClips set="method" line="1700"> <__update set="method" line="1703"> <__updateTransforms set="method" line="1828"> { overrideTransform : null } The DisplayObject class is the base class for all objects that can be placed on the display list. The display list manages all objects displayed in openfl. Use the DisplayObjectContainer class to arrange the display objects in the display list. DisplayObjectContainer objects can have child display objects, while other display objects, such as Shape and TextField objects, are "leaf" nodes that have only parents and siblings, no children. The DisplayObject class supports basic functionality like the _x_ and _y_ position of an object, as well as more advanced properties of the object such as its transformation matrix. DisplayObject is an abstract base class; therefore, you cannot call DisplayObject directly. Invoking `new DisplayObject()` throws an `ArgumentError` exception. All display objects inherit from the DisplayObject class. The DisplayObject class itself does not include any APIs for rendering content onscreen. For that reason, if you want create a custom subclass of the DisplayObject class, you will want to extend one of its subclasses that do have APIs for rendering content onscreen, such as the Shape, Sprite, Bitmap, SimpleButton, TextField, or MovieClip class. The DisplayObject class contains several broadcast events. Normally, the target of any particular event is a specific DisplayObject instance. For example, the target of an `added` event is the specific DisplayObject instance that was added to the display list. Having a single target restricts the placement of event listeners to that target and in some cases the target's ancestors on the display list. With broadcast events, however, the target is not a specific DisplayObject instance, but rather all DisplayObject instances, including those that are not on the display list. This means that you can add a listener to any DisplayObject instance to listen for broadcast events. In addition to the broadcast events listed in the DisplayObject class's Events table, the DisplayObject class also inherits two broadcast events from the EventDispatcher class: `activate` and `deactivate`. Some properties previously used in the ActionScript 1.0 and 2.0 MovieClip, TextField, and Button classes(such as `_alpha`, `_height`, `_name`, `_width`, `_x`, `_y`, and others) have equivalents in the ActionScript 3.0 DisplayObject class that are renamed so that they no longer begin with the underscore(_) character. For more information, see the "Display Programming" chapter of the _ActionScript 3.0 Developer's Guide_. @event added Dispatched when a display object is added to the display list. The following methods trigger this event: `DisplayObjectContainer.addChild()`, `DisplayObjectContainer.addChildAt()`. @event addedToStage Dispatched when a display object is added to the on stage display list, either directly or through the addition of a sub tree in which the display object is contained. The following methods trigger this event: `DisplayObjectContainer.addChild()`, `DisplayObjectContainer.addChildAt()`. @event enterFrame [broadcast event] Dispatched when the playhead is entering a new frame. If the playhead is not moving, or if there is only one frame, this event is dispatched continuously in conjunction with the frame rate. This event is a broadcast event, which means that it is dispatched by all display objects with a listener registered for this event. @event exitFrame [broadcast event] Dispatched when the playhead is exiting the current frame. All frame scripts have been run. If the playhead is not moving, or if there is only one frame, this event is dispatched continuously in conjunction with the frame rate. This event is a broadcast event, which means that it is dispatched by all display objects with a listener registered for this event. @event frameConstructed [broadcast event] Dispatched after the constructors of frame display objects have run but before frame scripts have run. If the playhead is not moving, or if there is only one frame, this event is dispatched continuously in conjunction with the frame rate. This event is a broadcast event, which means that it is dispatched by all display objects with a listener registered for this event. @event removed Dispatched when a display object is about to be removed from the display list. Two methods of the DisplayObjectContainer class generate this event: `removeChild()` and `removeChildAt()`. The following methods of a DisplayObjectContainer object also generate this event if an object must be removed to make room for the new object: `addChild()`, `addChildAt()`, and `setChildIndex()`. @event removedFromStage Dispatched when a display object is about to be removed from the display list, either directly or through the removal of a sub tree in which the display object is contained. Two methods of the DisplayObjectContainer class generate this event: `removeChild()` and `removeChildAt()`. The following methods of a DisplayObjectContainer object also generate this event if an object must be removed to make room for the new object: `addChild()`, `addChildAt()`, and `setChildIndex()`. @event render [broadcast event] Dispatched when the display list is about to be updated and rendered. This event provides the last opportunity for objects listening for this event to make changes before the display list is rendered. You must call the `invalidate()` method of the Stage object each time you want a `render` event to be dispatched. `Render` events are dispatched to an object only if there is mutual trust between it and the object that called `Stage.invalidate()`. This event is a broadcast event, which means that it is dispatched by all display objects with a listener registered for this event. **Note: **This event is not dispatched if the display is not rendering. This is the case when the content is either minimized or obscured. "tags=\"haxe,release\"" lime.graphics.Image lime.graphics.ImageBuffer openfl.display3D._internal.Context3DState openfl.display._internal.Context3DGraphics openfl.events.Event openfl.display3D.Context3D openfl.display.Bitmap openfl.display.BitmapData openfl.display.DisplayObjectContainer openfl.display.Graphics openfl.display.Shader openfl.display.Stage openfl.filters.BitmapFilter openfl.geom.ColorTransform openfl.geom.Matrix openfl.geom.Rectangle openfl.geom.Transform
Specifies whether the object receives `doubleClick` events. The default value is `false`, which means that by default an InteractiveObject instance does not receive `doubleClick` events. If the `doubleClickEnabled` property is set to `true`, the instance receives `doubleClick` events within its bounds. The `mouseEnabled` property of the InteractiveObject instance must also be set to `true` for the object to receive `doubleClick` events. No event is dispatched by setting this property. You must use the `addEventListener()` method to add an event listener for the `doubleClick` event. Specifies whether this object displays a focus rectangle. It can take one of three values: `true`, `false`, or `null`. Values of `true` and `false` work as expected, specifying whether or not the focus rectangle appears. A value of `null` indicates that this object obeys the `stageFocusRect` property of the Stage. Specifies whether this object receives mouse, or other user input, messages. The default value is `true`, which means that by default any InteractiveObject instance that is on the display list receives mouse events or other user input events. If `mouseEnabled` is set to `false`, the instance does not receive any mouse events(or other user input events like keyboard events). Any children of this instance on the display list are not affected. To change the `mouseEnabled` behavior for all children of an object on the display list, use `openfl.display.DisplayObjectContainer.mouseChildren`. No event is dispatched by setting this property. You must use the `addEventListener()` method to create interactive functionality. Specifies whether a virtual keyboard(an on-screen, software keyboard) should display when this InteractiveObject instance receives focus. By default, the value is `false` and focusing an InteractiveObject instance does not raise a soft keyboard. If the `needsSoftKeyboard` property is set to `true`, the runtime raises a soft keyboard when the InteractiveObject instance is ready to accept user input. An InteractiveObject instance is ready to accept user input after a programmatic call to set the Stage `focus` property or a user interaction, such as a "tap." If the client system has a hardware keyboard available or does not support virtual keyboards, then the soft keyboard is not raised. The InteractiveObject instance dispatches `softKeyboardActivating`, `softKeyboardActivate`, and `softKeyboardDeactivate` events when the soft keyboard raises and lowers. **Note:** This property is not supported in AIR applications on iOS. Defines the area that should remain on-screen when a soft keyboard is displayed. If the `needsSoftKeyboard` property of this InteractiveObject is `true`, then the runtime adjusts the display as needed to keep the object in view while the user types. Ordinarily, the runtime uses the object bounds obtained from the `DisplayObject.getBounds()` method. You can specify a different area using this `softKeyboardInputAreaOfInterest` property. Specify the `softKeyboardInputAreaOfInterest` in stage coordinates. **Note:** On Android, the `softKeyboardInputAreaOfInterest` is not respected in landscape orientations. Specifies whether this object is in the tab order. If this object is in the tab order, the value is `true`; otherwise, the value is `false`. By default, the value is `false`, except for the following: * For a SimpleButton object, the value is `true`. * For a TextField object with `type = "input"`, the value is `true`. * For a Sprite object or MovieClip object with `buttonMode = true`, the value is `true`. Specifies the tab ordering of objects in a SWF file. The `tabIndex` property is -1 by default, meaning no tab index is set for the object. If any currently displayed object in the SWF file contains a `tabIndex` property, automatic tab ordering is disabled, and the tab ordering is calculated from the `tabIndex` properties of objects in the SWF file. The custom tab ordering includes only objects that have `tabIndex` properties. The `tabIndex` property can be a non-negative integer. The objects are ordered according to their `tabIndex` properties, in ascending order. An object with a `tabIndex` value of 1 precedes an object with a `tabIndex` value of 2. Do not use the same `tabIndex` value for multiple objects. The custom tab ordering that the `tabIndex` property defines is _flat_. This means that no attention is paid to the hierarchical relationships of objects in the SWF file. All objects in the SWF file with `tabIndex` properties are placed in the tab order, and the tab order is determined by the order of the `tabIndex` values. **Note:** To set the tab order for TLFTextField instances, cast the display object child of the TLFTextField as an InteractiveObject, then set the `tabIndex` property. For example: ```haxe cast(tlfInstance.getChildAt(1), InteractiveObject).tabIndex = 3; ``` To reverse the tab order from the default setting for three instances of a TLFTextField object (`tlfInstance1`, `tlfInstance2` and `tlfInstance3`), use: ```haxe cast(tlfInstance1.getChildAt(1), InteractiveObject).tabIndex = 3; cast(tlfInstance2.getChildAt(1), InteractiveObject).tabIndex = 2; cast(tlfInstance3.getChildAt(1), InteractiveObject).tabIndex = 1; ``` <__tabEnabled> <__tabIndex> Raises a virtual keyboard. Calling this method focuses the InteractiveObject instance and raises the soft keyboard, if necessary. The `needsSoftKeyboard` must also be `true`. A keyboard is not raised if a hardware keyboard is available, or if the client system does not support virtual keyboards. **Note:** This method is not supported in AIR applications on iOS. @return A value of `true` means that the soft keyboard request was granted; `false` means that the soft keyboard was not raised. <__allowMouseFocus set="method" line="1257"> <__getInteractive set="method" line="1262" override="1"> <__hitTest set="method" line="1278" override="1"> <__tabTest set="method" line="1284"> Calling the `new InteractiveObject()` constructor throws an `ArgumentError` exception. You can, however, call constructors for the following subclasses of InteractiveObject: * `new SimpleButton()` * `new TextField()` * `new Loader()` * `new Sprite()` * `new MovieClip()` The InteractiveObject class is the abstract base class for all display objects with which the user can interact, using the mouse, keyboard, or other user input device. You cannot instantiate the InteractiveObject class directly. A call to the `new InteractiveObject()` constructor throws an `ArgumentError` exception. The InteractiveObject class itself does not include any APIs for rendering content onscreen. To create a custom subclass of the InteractiveObject class, extend one of the subclasses that do have APIs for rendering content onscreen, such as the Sprite, SimpleButton, TextField, or MovieClip classes. @event clear Dispatched when the user selects 'Clear'(or 'Delete') from the text context menu. This event is dispatched to the object that currently has focus. If the object that currently has focus is a TextField, the default behavior of this event is to cause any currently selected text in the text field to be deleted. @event click Dispatched when a user presses and releases the main button of the user's pointing device over the same InteractiveObject. For a click event to occur, it must always follow this series of events in the order of occurrence: mouseDown event, then mouseUp. The target object must be identical for both of these events; otherwise the `click` event does not occur. Any number of other mouse events can occur at any time between the `mouseDown` or `mouseUp` events; the `click` event still occurs. @event contextMenu Dispatched when a user gesture triggers the context menu associated with this interactive object in an AIR application. @event copy Dispatched when the user activates the platform-specific accelerator key combination for a copy operation or selects 'Copy' from the text context menu. This event is dispatched to the object that currently has focus. If the object that currently has focus is a TextField, the default behavior of this event is to cause any currently selected text in the text field to be copied to the clipboard. @event cut Dispatched when the user activates the platform-specific accelerator key combination for a cut operation or selects 'Cut' from the text context menu. This event is dispatched to the object that currently has focus. If the object that currently has focus is a TextField, the default behavior of this event is to cause any currently selected text in the text field to be cut to the clipboard. @event doubleClick Dispatched when a user presses and releases the main button of a pointing device twice in rapid succession over the same InteractiveObject when that object's `doubleClickEnabled` flag is set to `true`. For a `doubleClick` event to occur, it must immediately follow the following series of events: `mouseDown`, `mouseUp`, `click`, `mouseDown`, `mouseUp`. All of these events must share the same target as the `doubleClick` event. The second click, represented by the second `mouseDown` and `mouseUp` events, must occur within a specific period of time after the `click` event. The allowable length of this period varies by operating system and can often be configured by the user. If the target is a selectable text field, the word under the pointer is selected as the default behavior. If the target InteractiveObject does not have its `doubleClickEnabled` flag set to `true` it receives two `click` events. The `doubleClickEnabled` property defaults to `false`. The double-click text selection behavior of a TextField object is not related to the `doubleClick` event. Use `TextField.doubleClickEnabled` to control TextField selections. @event focusIn Dispatched _after_ a display object gains focus. This situation happens when a user highlights the object with a pointing device or keyboard navigation. The recipient of such focus is called the target object of this event, while the corresponding InteractiveObject instance that lost focus because of this change is called the related object. A reference to the related object is stored in the receiving object's `relatedObject` property. The `shiftKey` property is not used. This event follows the dispatch of the previous object's `focusOut` event. @event focusOut Dispatched _after_ a display object loses focus. This happens when a user highlights a different object with a pointing device or keyboard navigation. The object that loses focus is called the target object of this event, while the corresponding InteractiveObject instance that receives focus is called the related object. A reference to the related object is stored in the target object's `relatedObject` property. The `shiftKey` property is not used. This event precedes the dispatch of the `focusIn` event by the related object. @event gesturePan Dispatched when the user moves a point of contact over the InteractiveObject instance on a touch-enabled device(such as moving a finger from left to right over a display object on a mobile phone or tablet with a touch screen). Some devices might also interpret this contact as a `mouseOver` event and as a `touchOver` event. Specifically, if a user moves a finger over an InteractiveObject, the InteractiveObject instance can dispatch a `mouseOver` event or a `touchOver` event or a `gesturePan` event, or all if the current environment supports it. Choose how you want to handle the user interaction. Use the openfl.ui.Multitouch class to manage touch event handling(enable touch gesture event handling, simple touch point event handling, or disable touch events so only mouse events are dispatched). If you choose to handle the `mouseOver` event, then the same event handler will run on a touch-enabled device and a mouse enabled device. However, if you choose to handle the `gesturePan` event, you can design your event handler to respond to the specific needs of a touch-enabled environment and provide users with a richer touch-enabled experience. You can also handle both events, separately, to provide a different response for a touch event than a mouse event. **Note:** See the Multitouch class for environment compatibility information. @event gesturePressAndTap Dispatched when the user creates a point of contact with an InteractiveObject instance, then taps on a touch-enabled device(such as placing several fingers over a display object to open a menu and then taps one finger to select a menu item on a mobile phone or tablet with a touch screen). Some devices might also interpret this contact as a combination of several mouse events, as well. Specifically, if a user moves a finger over an InteractiveObject, and then provides a secondary tap, the InteractiveObject instance can dispatch a `mouseOver` event and a `click` event(among others) as well as the `gesturePressAndTap` event, or all if the current environment supports it. Choose how you want to handle the user interaction. Use the openfl.ui.Multitouch class to manage touch event handling(enable touch gesture event handling, simple touch point event handling, or disable touch events so only mouse events are dispatched). If you choose to handle the `mouseOver` event, then the same event handler will run on a touch-enabled device and a mouse enabled device. However, if you choose to handle the `gesturePressAndTap` event, you can design your event handler to respond to the specific needs of a touch-enabled environment and provide users with a richer touch-enabled experience. You can also handle both events, separately, to provide a different response for a touch event than a mouse event. When handling the properties of the event object, note that the `localX` and `localY` properties are set to the primary point of contact(the "push"). The `offsetX` and `offsetY` properties are the distance to the secondary point of contact(the "tap"). @event gestureRotate Dispatched when the user performs a rotation gesture at a point of contact with an InteractiveObject instance(such as touching two fingers and rotating them over a display object on a mobile phone or tablet with a touch screen). Two-finger rotation is a common rotation gesture, but each device and operating system can have its own requirements to indicate rotation. Some devices might also interpret this contact as a combination of several mouse events, as well. Specifically, if a user moves a finger over an InteractiveObject, the InteractiveObject instance can dispatch a `mouseOver` event and a `click` event(among others), in addition to the `gestureRotate` event, or all if the current environment supports it. Choose how you want to handle the user interaction. Use the openfl.ui.Multitouch class to manage touch event handling(enable touch gesture event handling, simple touch point event handling, or disable touch events so only mouse events are dispatched). If you choose to handle the `mouseOver` event, then the same event handler will run on a touch-enabled device and a mouse enabled device. However, if you choose to handle the `gestureRotate` event, you can design your event handler to respond to the specific needs of a touch-enabled environment and provide users with a richer touch-enabled experience. You can also handle both events, separately, to provide a different response for a touch event than a mouse event. When handling the properties of the event object, note that the `localX` and `localY` properties are set to the primary point of contact. The `offsetX` and `offsetY` properties are the distance to the point of contact where the rotation gesture is complete. **Note:** See the Multitouch class for environment compatibility information. @event gestureSwipe Dispatched when the user performs a swipe gesture at a point of contact with an InteractiveObject instance(such as touching three fingers to a screen and then moving them in parallel over a display object on a mobile phone or tablet with a touch screen). Moving several fingers in parallel is a common swipe gesture, but each device and operating system can have its own requirements for a swipe. Some devices might also interpret this contact as a combination of several mouse events, as well. Specifically, if a user moves a finger over an InteractiveObject, and then moves the fingers together, the InteractiveObject instance can dispatch a `rollOver` event and a `rollOut` event(among others), in addition to the `gestureSwipe` event, or all if the current environment supports it. Choose how you want to handle the user interaction. If you choose to handle the `rollOver` event, then the same event handler will run on a touch-enabled device and a mouse enabled device. However, if you choose to handle the `gestureSwipe` event, you can design your event handler to respond to the specific needs of a touch-enabled environment and provide users with a richer touch-enabled experience. You can also handle both events, separately, to provide a different response for a touch event than a mouse event. When handling the properties of the event object, note that the `localX` and `localY` properties are set to the primary point of contact. The `offsetX` and `offsetY` properties are the distance to the point of contact where the swipe gesture is complete. **Note:** While some devices using the Mac OS operating system can interpret a four-finger swipe, this API only supports a three-finger swipe. @event gestureTwoFingerTap Dispatched when the user presses two points of contact over the same InteractiveObject instance on a touch-enabled device(such as presses and releases two fingers over a display object on a mobile phone or tablet with a touch screen). Some devices might also interpret this contact as a `doubleClick` event. Specifically, if a user taps two fingers over an InteractiveObject, the InteractiveObject instance can dispatch a `doubleClick` event or a `gestureTwoFingerTap` event, or both if the current environment supports it. Choose how you want to handle the user interaction. Use the openfl.ui.Multitouch class to manage touch event handling(enable touch gesture event handling, simple touch point event handling, or disable touch events so only mouse events are dispatched). If you choose to handle the `doubleClick` event, then the same event handler will run on a touch-enabled device and a mouse enabled device. However, if you choose to handle the `gestureTwoFingerTap` event, you can design your event handler to respond to the specific needs of a touch-enabled environment and provide users with a richer touch-enabled experience. You can also handle both events, separately, to provide a different response for a touch event than a mouse event. **Note:** See the Multitouch class for environment compatibility information. @event gestureZoom Dispatched when the user performs a zoom gesture at a point of contact with an InteractiveObject instance(such as touching two fingers to a screen and then quickly spreading the fingers apart over a display object on a mobile phone or tablet with a touch screen). Moving fingers apart is a common zoom gesture, but each device and operating system can have its own requirements to indicate zoom. Some devices might also interpret this contact as a combination of several mouse events, as well. Specifically, if a user moves a finger over an InteractiveObject, and then moves the fingers apart, the InteractiveObject instance can dispatch a `mouseOver` event and a `click` event(among others), in addition to the `gestureZoom` event, or all if the current environment supports it. Choose how you want to handle the user interaction. Use the openfl.ui.Multitouch class to manage touch event handling(enable touch gesture event handling, simple touch point event handling, or disable touch events so only mouse events are dispatched). If you choose to handle the `mouseOver` event, then the same event handler will run on a touch-enabled device and a mouse enabled device. However, if you choose to handle the `gestureZoom` event, you can design your event handler to respond to the specific needs of a touch-enabled environment and provide users with a richer touch-enabled experience. You can also handle both events, separately, to provide a different response for a touch event than a mouse event. When handling the properties of the event object, note that the `localX` and `localY` properties are set to the primary point of contact. The `offsetX` and `offsetY` properties are the distance to the point of contact where the zoom gesture is complete. **Note:** See the Multitouch class for environment compatibility information. @event imeStartComposition This event is dispatched to any client app that supports inline input with an IME @event keyDown Dispatched when the user presses a key. Mappings between keys and specific characters vary by device and operating system. This event type is generated after such a mapping occurs but before the processing of an input method editor(IME). IMEs are used to enter characters, such as Chinese ideographs, that the standard QWERTY keyboard is ill-equipped to produce. This event occurs before the `keyUp` event. In AIR, canceling this event prevents the character from being entered into a text field. @event keyFocusChange Dispatched when the user attempts to change focus by using keyboard navigation. The default behavior of this event is to change the focus and dispatch the corresponding `focusIn` and `focusOut` events. This event is dispatched to the object that currently has focus. The related object for this event is the InteractiveObject instance that receives focus if you do not prevent the default behavior. You can prevent the change in focus by calling the `preventDefault()` method in an event listener that is properly registered with the target object. Focus changes and `focusIn` and `focusOut` events are dispatched by default. @event keyUp Dispatched when the user releases a key. Mappings between keys and specific characters vary by device and operating system. This event type is generated after such a mapping occurs but before the processing of an input method editor(IME). IMEs are used to enter characters, such as Chinese ideographs, that the standard QWERTY keyboard is ill-equipped to produce. This event occurs after a `keyDown` event and has the following characteristics: @event middleClick Dispatched when a user presses and releases the middle button of the user's pointing device over the same InteractiveObject. For a `middleClick` event to occur, it must always follow this series of events in the order of occurrence: `middleMouseDown` event, then `middleMouseUp`. The target object must be identical for both of these events; otherwise the `middleClick` event does not occur. Any number of other mouse events can occur at any time between the `middleMouseDown` or `middleMouseUp` events; the `middleClick` event still occurs. @event middleMouseDown Dispatched when a user presses the middle pointing device button over an InteractiveObject instance. @event middleMouseUp Dispatched when a user releases the pointing device button over an InteractiveObject instance. @event mouseDown Dispatched when a user presses the pointing device button over an InteractiveObject instance. If the target is a SimpleButton instance, the SimpleButton instance displays the `downState` display object as the default behavior. If the target is a selectable text field, the text field begins selection as the default behavior. @event mouseFocusChange Dispatched when the user attempts to change focus by using a pointer device. The default behavior of this event is to change the focus and dispatch the corresponding `focusIn` and `focusOut` events. This event is dispatched to the object that currently has focus. The related object for this event is the InteractiveObject instance that receives focus if you do not prevent the default behavior. You can prevent the change in focus by calling `preventDefault()` in an event listener that is properly registered with the target object. The `shiftKey` property is not used. Focus changes and `focusIn` and `focusOut` events are dispatched by default. @event mouseMove Dispatched when a user moves the pointing device while it is over an InteractiveObject. If the target is a text field that the user is selecting, the selection is updated as the default behavior. @event mouseOut Dispatched when the user moves a pointing device away from an InteractiveObject instance. The event target is the object previously under the pointing device. The `relatedObject` is the object the pointing device has moved to. If the target is a SimpleButton instance, the button displays the `upState` display object as the default behavior. The `mouseOut` event is dispatched each time the mouse leaves the area of any child object of the display object container, even if the mouse remains over another child object of the display object container. This is different behavior than the purpose of the `rollOut` event, which is to simplify the coding of rollover behaviors for display object containers with children. When the mouse leaves the area of a display object or the area of any of its children to go to an object that is not one of its children, the display object dispatches the `rollOut` event.The `rollOut` events are dispatched consecutively up the parent chain of the object, starting with the object and ending with the highest parent that is neither the root nor an ancestor of the `relatedObject`. @event mouseOver Dispatched when the user moves a pointing device over an InteractiveObject instance. The `relatedObject` is the object that was previously under the pointing device. If the target is a SimpleButton instance, the object displays the `overState` or `upState` display object, depending on whether the mouse button is down, as the default behavior. The `mouseOver` event is dispatched each time the mouse enters the area of any child object of the display object container, even if the mouse was already over another child object of the display object container. This is different behavior than the purpose of the `rollOver` event, which is to simplify the coding of rollout behaviors for display object containers with children. When the mouse enters the area of a display object or the area of any of its children from an object that is not one of its children, the display object dispatches the `rollOver` event. The `rollOver` events are dispatched consecutively down the parent chain of the object, starting with the highest parent that is neither the root nor an ancestor of the `relatedObject` and ending with the object. @event mouseUp Dispatched when a user releases the pointing device button over an InteractiveObject instance. If the target is a SimpleButton instance, the object displays the `upState` display object. If the target is a selectable text field, the text field ends selection as the default behavior. @event mouseWheel Dispatched when a mouse wheel is spun over an InteractiveObject instance. If the target is a text field, the text scrolls as the default behavior. Only available on Microsoft Windows operating systems. @event nativeDragComplete Dispatched by the drag initiator InteractiveObject when the user releases the drag gesture. The event's dropAction property indicates the action set by the drag target object; a value of "none" (`DragActions.NONE`) indicates that the drop was canceled or was not accepted. The `nativeDragComplete` event handler is a convenient place to update the state of the initiating display object, for example, by removing an item from a list(on a drag action of "move"), or by changing the visual properties. @event nativeDragDrop Dispatched by the target InteractiveObject when a dragged object is dropped on it and the drop has been accepted with a call to DragManager.acceptDragDrop(). Access the dropped data using the event object `clipboard` property. The handler for this event should set the `DragManager.dropAction` property to provide feedback to the initiator object about which drag action was taken. If no value is set, the DragManager will select a default value from the list of allowed actions. @event nativeDragEnter Dispatched by an InteractiveObject when a drag gesture enters its boundary. Handle either the `nativeDragEnter` or `nativeDragOver` events to allow the display object to become the drop target. To determine whether the dispatching display object can accept the drop, check the suitability of the data in `clipboard` property of the event object, and the allowed drag actions in the `allowedActions` property. @event nativeDragExit Dispatched by an InteractiveObject when a drag gesture leaves its boundary. @event nativeDragOver Dispatched by an InteractiveObject continually while a drag gesture remains within its boundary. `nativeDragOver` events are dispatched whenever the mouse is moved. On Windows and Mac, they are also dispatched on a short timer interval even when the mouse has not moved. Handle either the `nativeDragOver` or `nativeDragEnter` events to allow the display object to become the drop target. To determine whether the dispatching display object can accept the drop, check the suitability of the data in `clipboard` property of the event object, and the allowed drag actions in the `allowedActions` property. @event nativeDragStart Dispatched at the beginning of a drag operation by the InteractiveObject that is specified as the drag initiator in the DragManager.doDrag() call. @event nativeDragUpdate Dispatched during a drag operation by the InteractiveObject that is specified as the drag initiator in the DragManager.doDrag() call. `nativeDragUpdate` events are not dispatched on Linux. @event paste Dispatched when the user activates the platform-specific accelerator key combination for a paste operation or selects 'Paste' from the text context menu. This event is dispatched to the object that currently has focus. If the object that currently has focus is a TextField, the default behavior of this event is to cause the contents of the clipboard to be pasted into the text field at the current insertion point replacing any currently selected text in the text field. @event rightClick Dispatched when a user presses and releases the right button of the user's pointing device over the same InteractiveObject. For a `rightClick` event to occur, it must always follow this series of events in the order of occurrence: `rightMouseDown` event, then `rightMouseUp`. The target object must be identical for both of these events; otherwise the `rightClick` event does not occur. Any number of other mouse events can occur at any time between the `rightMouseDown` or `rightMouseUp` events; the `rightClick` event still occurs. @event rightMouseDown Dispatched when a user presses the pointing device button over an InteractiveObject instance. @event rightMouseUp Dispatched when a user releases the pointing device button over an InteractiveObject instance. @event rollOut Dispatched when the user moves a pointing device away from an InteractiveObject instance. The event target is the object previously under the pointing device or a parent of that object. The `relatedObject` is the object that the pointing device has moved to. The `rollOut` events are dispatched consecutively up the parent chain of the object, starting with the object and ending with the highest parent that is neither the root nor an ancestor of the `relatedObject`. The purpose of the `rollOut` event is to simplify the coding of rollover behaviors for display object containers with children. When the mouse leaves the area of a display object or the area of any of its children to go to an object that is not one of its children, the display object dispatches the `rollOut` event. This is different behavior than that of the `mouseOut` event, which is dispatched each time the mouse leaves the area of any child object of the display object container, even if the mouse remains over another child object of the display object container. @event rollOver Dispatched when the user moves a pointing device over an InteractiveObject instance. The event target is the object under the pointing device or a parent of that object. The `relatedObject` is the object that was previously under the pointing device. The `rollOver` events are dispatched consecutively down the parent chain of the object, starting with the highest parent that is neither the root nor an ancestor of the `relatedObject` and ending with the object. The purpose of the `rollOver` event is to simplify the coding of rollout behaviors for display object containers with children. When the mouse enters the area of a display object or the area of any of its children from an object that is not one of its children, the display object dispatches the `rollOver` event. This is different behavior than that of the `mouseOver` event, which is dispatched each time the mouse enters the area of any child object of the display object container, even if the mouse was already over another child object of the display object container. @event selectAll Dispatched when the user activates the platform-specific accelerator key combination for a select all operation or selects 'Select All' from the text context menu. This event is dispatched to the object that currently has focus. If the object that currently has focus is a TextField, the default behavior of this event is to cause all the contents of the text field to be selected. @event softKeyboardActivate Dispatched immediately after the soft keyboard is raised. @event softKeyboardActivating Dispatched immediately before the soft keyboard is raised. @event softKeyboardDeactivate Dispatched immediately after the soft keyboard is lowered. @event tabChildrenChange Dispatched when the value of the object's `tabChildren` flag changes. @event tabEnabledChange Dispatched when the object's `tabEnabled` flag changes. @event tabIndexChange Dispatched when the value of the object's `tabIndex` property changes. @event textInput Dispatched when a user enters one or more characters of text. Various text input methods can generate this event, including standard keyboards, input method editors (IMEs), voice or speech recognition systems, and even the act of pasting plain text with no formatting or style information. @event touchBegin Dispatched when the user first contacts a touch-enabled device(such as touches a finger to a mobile phone or tablet with a touch screen). Some devices might also interpret this contact as a `mouseDown` event. Specifically, if a user touches a finger to a touch screen, the InteractiveObject instance can dispatch a `mouseDown` event or a `touchBegin` event, or both if the current environment supports it. Choose how you want to handle the user interaction. Use the openfl.ui.Multitouch class to manage touch event handling(enable touch gesture event handling, simple touch point event handling, or disable touch events so only mouse events are dispatched). If you choose to handle the `mouseDown` event, then the same event handler will run on a touch-enabled device and a mouse enabled device. However, if you choose to handle the `touchBegin` event, you can design your event handler to respond to the specific needs of a touch-enabled environment and provide users with a richer touch-enabled experience. You can also handle both events, separately, to provide a different response for a touch event than a mouse event. **Note:** See the Multitouch class for environment compatibility information. @event touchEnd Dispatched when the user removes contact with a touch-enabled device(such as lifts a finger off a mobile phone or tablet with a touch screen). Some devices might also interpret this contact as a `mouseUp` event. Specifically, if a user lifts a finger from a touch screen, the InteractiveObject instance can dispatch a `mouseUp` event or a `touchEnd` event, or both if the current environment supports it. Choose how you want to handle the user interaction. Use the openfl.ui.Multitouch class to manage touch event handling(enable touch gesture event handling, simple touch point event handling, or disable touch events so only mouse events are dispatched). If you choose to handle the `mouseUp` event, then the same event handler will run on a touch-enabled device and a mouse enabled device. However, if you choose to handle the `touchEnd` event, you can design your event handler to respond to the specific needs of a touch-enabled environment and provide users with a richer touch-enabled experience. You can also handle both events, separately, to provide a different response for a touch event than a mouse event. **Note:** See the Multitouch class for environment compatibility information. @event touchMove Dispatched when the user moves the point of contact with a touch-enabled device(such as drags a finger across a mobile phone or tablet with a touch screen). Some devices might also interpret this contact as a `mouseMove` event. Specifically, if a user moves a finger across a touch screen, the InteractiveObject instance can dispatch a `mouseMove` event or a `touchMove` event, or both if the current environment supports it. Choose how you want to handle the user interaction. Use the openfl.ui.Multitouch class to manage touch event handling(enable touch gesture event handling, simple touch point event handling, or disable touch events so only mouse events are dispatched). If you choose to handle the `mouseMove` event, then the same event handler will run on a touch-enabled device and a mouse enabled device. However, if you choose to handle the `touchMove` event, you can design your event handler to respond to the specific needs of a touch-enabled environment and provide users with a richer touch-enabled experience. You can also handle both events, separately, to provide a different response for a touch event than a mouse event. **Note:** See the Multitouch class for environment compatibility information. @event touchOut Dispatched when the user moves the point of contact away from InteractiveObject instance on a touch-enabled device(such as drags a finger from one display object to another on a mobile phone or tablet with a touch screen). Some devices might also interpret this contact as a `mouseOut` event. Specifically, if a user moves a finger across a touch screen, the InteractiveObject instance can dispatch a `mouseOut` event or a `touchOut` event, or both if the current environment supports it. Choose how you want to handle the user interaction. Use the openfl.ui.Multitouch class to manage touch event handling(enable touch gesture event handling, simple touch point event handling, or disable touch events so only mouse events are dispatched). If you choose to handle the `mouseOut` event, then the same event handler will run on a touch-enabled device and a mouse enabled device. However, if you choose to handle the `touchOut` event, you can design your event handler to respond to the specific needs of a touch-enabled environment and provide users with a richer touch-enabled experience. You can also handle both events, separately, to provide a different response for a touch event than a mouse event. **Note:** See the Multitouch class for environment compatibility information. @event touchOver Dispatched when the user moves the point of contact over an InteractiveObject instance on a touch-enabled device(such as drags a finger from a point outside a display object to a point over a display object on a mobile phone or tablet with a touch screen). Some devices might also interpret this contact as a `mouseOver` event. Specifically, if a user moves a finger over an InteractiveObject, the InteractiveObject instance can dispatch a `mouseOver` event or a `touchOver` event, or both if the current environment supports it. Choose how you want to handle the user interaction. Use the openfl.ui.Multitouch class to manage touch event handling(enable touch gesture event handling, simple touch point event handling, or disable touch events so only mouse events are dispatched). If you choose to handle the `mouseOver` event, then the same event handler will run on a touch-enabled device and a mouse enabled device. However, if you choose to handle the `touchOver` event, you can design your event handler to respond to the specific needs of a touch-enabled environment and provide users with a richer touch-enabled experience. You can also handle both events, separately, to provide a different response for a touch event than a mouse event. **Note:** See the Multitouch class for environment compatibility information. @event touchRollOut Dispatched when the user moves the point of contact away from an InteractiveObject instance on a touch-enabled device(such as drags a finger from over a display object to a point outside the display object on a mobile phone or tablet with a touch screen). Some devices might also interpret this contact as a `rollOut` event. Specifically, if a user moves a finger over an InteractiveObject, the InteractiveObject instance can dispatch a `rollOut` event or a `touchRollOut` event, or both if the current environment supports it. Choose how you want to handle the user interaction. Use the openfl.ui.Multitouch class to manage touch event handling(enable touch gesture event handling, simple touch point event handling, or disable touch events so only mouse events are dispatched). If you choose to handle the `rollOut` event, then the same event handler will run on a touch-enabled device and a mouse enabled device. However, if you choose to handle the `touchRollOut` event, you can design your event handler to respond to the specific needs of a touch-enabled environment and provide users with a richer touch-enabled experience. You can also handle both events, separately, to provide a different response for a touch event than a mouse event. **Note:** See the Multitouch class for environment compatibility information. @event touchRollOver Dispatched when the user moves the point of contact over an InteractiveObject instance on a touch-enabled device(such as drags a finger from a point outside a display object to a point over a display object on a mobile phone or tablet with a touch screen). Some devices might also interpret this contact as a `rollOver` event. Specifically, if a user moves a finger over an InteractiveObject, the InteractiveObject instance can dispatch a `rollOver` event or a `touchRollOver` event, or both if the current environment supports it. Choose how you want to handle the user interaction. Use the openfl.ui.Multitouch class to manage touch event handling(enable touch gesture event handling, simple touch point event handling, or disable touch events so only mouse events are dispatched). If you choose to handle the `rollOver` event, then the same event handler will run on a touch-enabled device and a mouse enabled device. However, if you choose to handle the `touchRollOver` event, you can design your event handler to respond to the specific needs of a touch-enabled environment and provide users with a richer touch-enabled experience. You can also handle both events, separately, to provide a different response for a touch event than a mouse event. **Note:** See the Multitouch class for environment compatibility information. @event touchTap Dispatched when the user lifts the point of contact over the same InteractiveObject instance on which the contact was initiated on a touch-enabled device(such as presses and releases a finger from a single point over a display object on a mobile phone or tablet with a touch screen). Some devices might also interpret this contact as a `click` event. Specifically, if a user taps a finger over an InteractiveObject, the InteractiveObject instance can dispatch a `click` event or a `touchTap` event, or both if the current environment supports it. Choose how you want to handle the user interaction. Use the openfl.ui.Multitouch class to manage touch event handling(enable touch gesture event handling, simple touch point event handling, or disable touch events so only mouse events are dispatched). If you choose to handle the `click` event, then the same event handler will run on a touch-enabled device and a mouse enabled device. However, if you choose to handle the `touchTap` event, you can design your event handler to respond to the specific needs of a touch-enabled environment and provide users with a richer touch-enabled experience. You can also handle both events, separately, to provide a different response for a touch event than a mouse event. **Note:** See the Multitouch class for environment compatibility information. "tags=\"haxe,release\"" Determines whether or not the children of the object are mouse, or user input device, enabled. If an object is enabled, a user can interact with it by using a mouse or user input device. The default is `true`. This property is useful when you create a button with an instance of the Sprite class(instead of using the SimpleButton class). When you use a Sprite instance to create a button, you can choose to decorate the button by using the `addChild()` method to add additional Sprite instances. This process can cause unexpected behavior with mouse events because the Sprite instances you add as children can become the target object of a mouse event when you expect the parent instance to be the target object. To ensure that the parent instance serves as the target objects for mouse events, you can set the `mouseChildren` property of the parent instance to `false`. No event is dispatched by setting this property. You must use the `addEventListener()` method to create interactive functionality. Returns the number of children of this object. Determines whether the children of the object are tab enabled. Enables or disables tabbing for the children of the object. The default is `true`. **Note:** Do not use the `tabChildren` property with Flex. Instead, use the `mx.core.UIComponent.hasFocusableChildren` property. @throws IllegalOperationError Calling this property of the Stage object throws an exception. The Stage object does not implement this property. <__removedChildren> <__tabChildren> Adds a child DisplayObject instance to this DisplayObjectContainer instance. The child is added to the front(top) of all other children in this DisplayObjectContainer instance.(To add a child to a specific index position, use the `addChildAt()` method.) If you add a child object that already has a different display object container as a parent, the object is removed from the child list of the other display object container. **Note:** The command `stage.addChild()` can cause problems with a published SWF file, including security problems and conflicts with other loaded SWF files. There is only one Stage within a Flash runtime instance, no matter how many SWF files you load into the runtime. So, generally, objects should not be added to the Stage, directly, at all. The only object the Stage should contain is the root object. Create a DisplayObjectContainer to contain all of the items on the display list. Then, if necessary, add that DisplayObjectContainer instance to the Stage. @param child The DisplayObject instance to add as a child of this DisplayObjectContainer instance. @return The DisplayObject instance that you pass in the `child` parameter. @throws ArgumentError Throws if the child is the same as the parent. Also throws if the caller is a child(or grandchild etc.) of the child being added. @event added Dispatched when a display object is added to the display list. Adds a child DisplayObject instance to this DisplayObjectContainer instance. The child is added at the index position specified. An index of 0 represents the back(bottom) of the display list for this DisplayObjectContainer object. For example, the following example shows three display objects, labeled a, b, and c, at index positions 0, 2, and 1, respectively: ![b over c over a](/images/DisplayObjectContainer_layers.jpg) If you add a child object that already has a different display object container as a parent, the object is removed from the child list of the other display object container. @param child The DisplayObject instance to add as a child of this DisplayObjectContainer instance. @param index The index position to which the child is added. If you specify a currently occupied index position, the child object that exists at that position and all higher positions are moved up one position in the child list. @return The DisplayObject instance that you pass in the `child` parameter. @throws ArgumentError Throws if the child is the same as the parent. Also throws if the caller is a child(or grandchild etc.) of the child being added. @throws RangeError Throws if the index position does not exist in the child list. @event added Dispatched when a display object is added to the display list. Indicates whether the security restrictions would cause any display objects to be omitted from the list returned by calling the `DisplayObjectContainer.getObjectsUnderPoint()` method with the specified `point` point. By default, content from one domain cannot access objects from another domain unless they are permitted to do so with a call to the `Security.allowDomain()` method. For more information, related to security, see the Flash Player Developer Center Topic: [Security](http://www.adobe.com/go/devnet_security_en). The `point` parameter is in the coordinate space of the Stage, which may differ from the coordinate space of the display object container(unless the display object container is the Stage). You can use the `globalToLocal()` and the `localToGlobal()` methods to convert points between these coordinate spaces. @param point The point under which to look. @return `true` if the point contains child display objects with security restrictions. Determines whether the specified display object is a child of the DisplayObjectContainer instance or the instance itself. The search includes the entire display list including this DisplayObjectContainer instance. Grandchildren, great-grandchildren, and so on each return `true`. @param child The child object to test. @return `true` if the `child` object is a child of the DisplayObjectContainer or the container itself; otherwise `false`. Returns the child display object instance that exists at the specified index. @param index The index position of the child object. @return The child display object at the specified index position. @throws RangeError Throws if the index does not exist in the child list. @throws SecurityError This child display object belongs to a sandbox to which you do not have access. You can avoid this situation by having the child movie call `Security.allowDomain()`. Returns the child display object that exists with the specified name. If more that one child display object has the specified name, the method returns the first object in the child list. The `getChildAt()` method is faster than the `getChildByName()` method. The `getChildAt()` method accesses a child from a cached array, whereas the `getChildByName()` method has to traverse a linked list to access a child. @param name The name of the child to return. @return The child display object with the specified name. @throws SecurityError This child display object belongs to a sandbox to which you do not have access. You can avoid this situation by having the child movie call the `Security.allowDomain()` method. Returns the index position of a `child` DisplayObject instance. @param child The DisplayObject instance to identify. @return The index position of the child display object to identify. @throws ArgumentError Throws if the child parameter is not a child of this object. Returns an array of objects that lie under the specified point and are children(or grandchildren, and so on) of this DisplayObjectContainer instance. Any child objects that are inaccessible for security reasons are omitted from the returned array. To determine whether this security restriction affects the returned array, call the `areInaccessibleObjectsUnderPoint()` method. The `point` parameter is in the coordinate space of the Stage, which may differ from the coordinate space of the display object container(unless the display object container is the Stage). You can use the `globalToLocal()` and the `localToGlobal()` methods to convert points between these coordinate spaces. @param point The point under which to look. @return An array of objects that lie under the specified point and are children(or grandchildren, and so on) of this DisplayObjectContainer instance. Removes the specified `child` DisplayObject instance from the child list of the DisplayObjectContainer instance. The `parent` property of the removed child is set to `null` , and the object is garbage collected if no other references to the child exist. The index positions of any display objects above the child in the DisplayObjectContainer are decreased by 1. The garbage collector reallocates unused memory space. When a variable or object is no longer actively referenced or stored somewhere, the garbage collector sweeps through and wipes out the memory space it used to occupy if no other references to it exist. @param child The DisplayObject instance to remove. @return The DisplayObject instance that you pass in the `child` parameter. @throws ArgumentError Throws if the child parameter is not a child of this object. Removes a child DisplayObject from the specified `index` position in the child list of the DisplayObjectContainer. The `parent` property of the removed child is set to `null`, and the object is garbage collected if no other references to the child exist. The index positions of any display objects above the child in the DisplayObjectContainer are decreased by 1. The garbage collector reallocates unused memory space. When a variable or object is no longer actively referenced or stored somewhere, the garbage collector sweeps through and wipes out the memory space it used to occupy if no other references to it exist. @param index The child index of the DisplayObject to remove. @return The DisplayObject instance that was removed. @throws RangeError Throws if the index does not exist in the child list. @throws SecurityError This child display object belongs to a sandbox to which the calling object does not have access. You can avoid this situation by having the child movie call the `Security.allowDomain()` method. { endIndex : 0x7FFFFFFF, beginIndex : 0 } Removes all `child` DisplayObject instances from the child list of the DisplayObjectContainer instance. The `parent` property of the removed children is set to `null`, and the objects are garbage collected if no other references to the children exist. The garbage collector reallocates unused memory space. When a variable or object is no longer actively referenced or stored somewhere, the garbage collector sweeps through and wipes out the memory space it used to occupy if no other references to it exist. @param beginIndex The beginning position. A value smaller than 0 throws a `RangeError`. @param endIndex The ending position. A value smaller than 0 throws a `RangeError`. Changes the position of an existing child in the display object container. This affects the layering of child objects. For example, the following example shows three display objects, labeled a, b, and c, at index positions 0, 1, and 2, respectively: ![c over b over a](/images/DisplayObjectContainerSetChildIndex1.jpg) When you use the `setChildIndex()` method and specify an index position that is already occupied, the only positions that change are those in between the display object's former and new position. All others will stay the same. If a child is moved to an index LOWER than its current index, all children in between will INCREASE by 1 for their index reference. If a child is moved to an index HIGHER than its current index, all children in between will DECREASE by 1 for their index reference. For example, if the display object container in the previous example is named `container`, you can swap the position of the display objects labeled a and b by calling the following code: ```haxe container.setChildIndex(container.getChildAt(1), 0); ``` This code results in the following arrangement of objects: ![c over a over b](/images/DisplayObjectContainerSetChildIndex2.jpg) @param child The child DisplayObject instance for which you want to change the index number. @param index The resulting index number for the `child` display object. @throws ArgumentError Throws if the child parameter is not a child of this object. @throws RangeError Throws if the index does not exist in the child list. Recursively stops the timeline execution of all MovieClips rooted at this object. Child display objects belonging to a sandbox to which the excuting code does not have access are ignored. **Note:** Streaming media playback controlled via a NetStream object will not be stopped. Swaps the z-order (front-to-back order) of the two specified child objects. All other child objects in the display object container remain in the same index positions. @param child1 The first child object. @param child2 The second child object. @throws ArgumentError Throws if either child parameter is not a child of this object. Swaps the z-order (front-to-back order) of the child objects at the two specified index positions in the child list. All other child objects in the display object container remain in the same index positions. @param index1 The index position of the first child object. @param index2 The index position of the second child object. @throws RangeError If either index does not exist in the child list. <__cleanup set="method" line="663" override="1"> <__cleanupRemovedChildren get="inline" set="null" line="675"> <__dispatchChildren set="method" line="688" override="1"> <__enterFrame set="method" line="706" override="1"> <__getBounds set="method" line="714" override="1"> <__getFilterBounds set="method" line="734" override="1"> <__getRenderBounds set="method" line="760" override="1"> <__hitTest set="method" line="789" override="1"> <__hitTestMask set="method" line="878" override="1"> <__readGraphicsData set="method" line="893" override="1"> <__setStageReference set="method" line="906" override="1"> <__setWorldTransformInvalid set="method" line="919" override="1"> <__stopAllMovieClips set="method" line="935" override="1"> <__tabTest set="method" line="943" override="1"> <__update set="method" line="964" override="1"> Calling the `new DisplayObjectContainer()` constructor throws an `ArgumentError` exception. You _can_, however, call constructors for the following subclasses of DisplayObjectContainer: * `new Loader()` * `new Sprite()` * `new MovieClip()` The DisplayObjectContainer class is the base class for all objects that can serve as display object containers on the display list. The display list manages all objects displayed in the Flash runtimes. Use the DisplayObjectContainer class to arrange the display objects in the display list. Each DisplayObjectContainer object has its own child list for organizing the z-order of the objects. The z-order is the front-to-back order that determines which object is drawn in front, which is behind, and so on. DisplayObject is an abstract base class; therefore, you cannot call DisplayObject directly. Invoking `new DisplayObject()` throws an `ArgumentError` exception. The DisplayObjectContainer class is an abstract base class for all objects that can contain child objects. It cannot be instantiated directly; calling the `new DisplayObjectContainer()` constructor throws an `ArgumentError` exception. For more information, see the "Display Programming" chapter of the _ActionScript 3.0 Developer's Guide_. "tags=\"haxe,release\"" openfl.events.Event openfl.display.Graphics openfl.errors.Error openfl.geom.Point openfl.geom.Matrix openfl.geom.Rectangle <__constructor static="1"> Creates a new Sprite based upon the first frame of a Timeline instance. @param timeline A Timeline object @return A new Sprite Specifies the button mode of this sprite. If `true`, this sprite behaves as a button, which means that it triggers the display of the hand cursor when the pointer passes over the sprite and can receive a `click` event if the enter or space keys are pressed when the sprite has focus. You can suppress the display of the hand cursor by setting the `useHandCursor` property to `false`, in which case the pointer is displayed. Although it is better to use the SimpleButton class to create buttons, you can use the `buttonMode` property to give a sprite some button-like functionality. To include a sprite in the tab order, set the `tabEnabled` property(inherited from the InteractiveObject class and `false` by default) to `true`. Additionally, consider whether you want the children of your sprite to be user input enabled. Most buttons do not enable user input interactivity for their child objects because it confuses the event flow. To disable user input interactivity for all child objects, you must set the `mouseChildren` property(inherited from the DisplayObjectContainer class) to `false`. If you use the `buttonMode` property with the MovieClip class(which is a subclass of the Sprite class), your button might have some added functionality. If you include frames labeled _up, _over, and _down, Flash Player provides automatic state changes(functionality similar to that provided in previous versions of ActionScript for movie clips used as buttons). These automatic state changes are not available for sprites, which have no timeline, and thus no frames to label. Specifies the display object over which the sprite is being dragged, or on which the sprite was dropped. Specifies the Graphics object that belongs to this sprite where vector drawing commands can occur. Designates another sprite to serve as the hit area for a sprite. If the `hitArea` property does not exist or the value is `null` or `undefined`, the sprite itself is used as the hit area. The value of the `hitArea` property can be a reference to a Sprite object. You can change the `hitArea` property at any time; the modified sprite immediately uses the new hit area behavior. The sprite designated as the hit area does not need to be visible; its graphical shape, although not visible, is still detected as the hit area. **Note:** You must set to `false` the `mouseEnabled` property of the sprite designated as the hit area. Otherwise, your sprite button might not work because the sprite designated as the hit area receives the user input events instead of your sprite button. control, set the `useHandCursor` and `buttonMode` properties to `true`, and the `mouseChildren` property to `false`.]]> <__buttonMode> <__pendingBindClassName> <__pendingBindLibrary> { bounds : null, lockCenter : false } Lets the user drag the specified sprite. The sprite remains draggable until explicitly stopped through a call to the `Sprite.stopDrag()` method, or until another sprite is made draggable. Only one sprite is draggable at a time. Three-dimensional display objects follow the pointer and `Sprite.startDrag()` moves the object within the three-dimensional plane defined by the display object. Or, if the display object is a two-dimensional object and the child of a three-dimensional object, the two-dimensional object moves within the three dimensional plane defined by the three-dimensional parent object. @param lockCenter Specifies whether the draggable sprite is locked to the center of the pointer position(`true`), or locked to the point where the user first clicked the sprite(`false`). @param bounds Value relative to the coordinates of the Sprite's parent that specify a constraint rectangle for the Sprite. Ends the `startDrag()` method. A sprite that was made draggable with the `startDrag()` method remains draggable until a `stopDrag()` method is added, or until another sprite becomes draggable. Only one sprite is draggable at a time. <__bind set="method" line="273"> <__getCursor set="method" line="286" override="1"> <__hitTest set="method" line="292" override="1"> <__hitTestHitArea set="method" line="331"> <__hitTestMask set="method" line="353" override="1"> Creates a new Sprite instance. After you create the Sprite instance, call the `DisplayObjectContainer.addChild()` or `DisplayObjectContainer.addChildAt()` method to add the Sprite to a parent DisplayObjectContainer. The Sprite class is a basic display list building block: a display list node that can display graphics and can also contain children. A Sprite object is similar to a movie clip, but does not have a timeline. Sprite is an appropriate base class for objects that do not require timelines. For example, Sprite would be a logical base class for user interface(UI) components that typically do not use the timeline. The Sprite class is new in ActionScript 3.0. It provides an alternative to the functionality of the MovieClip class, which retains all the functionality of previous ActionScript releases to provide backward compatibility. "tags=\"haxe,release\"" openfl.display.Graphics openfl.display.Stage openfl.geom.Matrix openfl.geom.Point openfl.utils._internal.AssetsMacro.initBinding() null false []
false hide 0 "../../../../" false <__threadCycle expr="0" line="127" static="1"> 0 1280 720 -1 120 true false openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.ClassExtendMacro.build()
openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() DocumentClass.build() hide The length of `this` Array. Returns a new Array by appending the elements of `a` to the elements of `this` Array. This operation does not modify `this` Array. If `a` is the empty Array `[]`, a copy of `this` Array is returned. The length of the returned Array is equal to the sum of `this.length` and `a.length`. If `a` is `null`, the result is unspecified. Returns a string representation of `this` Array, with `sep` separating each element. The result of this operation is equal to `Std.string(this[0]) + sep + Std.string(this[1]) + sep + ... + sep + Std.string(this[this.length-1])` If `this` is the empty Array `[]`, the result is the empty String `""`. If `this` has exactly one element, the result is equal to a call to `Std.string(this[0])`. If `sep` is null, the result is unspecified. Removes the last element of `this` Array and returns it. This operation modifies `this` Array in place. If `this` has at least one element, `this.length` will decrease by 1. If `this` is the empty Array `[]`, null is returned and the length remains 0. Adds the element `x` at the end of `this` Array and returns the new length of `this` Array. This operation modifies `this` Array in place. `this.length` increases by 1. Removes the first element of `this` Array and returns it. This operation modifies `this` Array in place. If `this` has at least one element, `this`.length and the index of each remaining element is decreased by 1. If `this` is the empty Array `[]`, `null` is returned and the length remains 0. Creates a shallow copy of the range of `this` Array, starting at and including `pos`, up to but not including `end`. This operation does not modify `this` Array. The elements are not copied and retain their identity. If `end` is omitted or exceeds `this.length`, it defaults to the end of `this` Array. If `pos` or `end` are negative, their offsets are calculated from the end of `this` Array by `this.length + pos` and `this.length + end` respectively. If this yields a negative value, 0 is used instead. If `pos` exceeds `this.length` or if `end` is less than or equals `pos`, the result is `[]`. y and a negative Int if x < y. This operation modifies `this` Array in place. The sort operation is not guaranteed to be stable, which means that the order of equal elements may not be retained. For a stable Array sorting algorithm, `haxe.ds.ArraySort.sort()` can be used instead. If `f` is null, the result is unspecified.]]> Returns a string representation of `this` Array. The result will include the individual elements' String representations separated by comma. The enclosing [ ] may be missing on some platforms, use `Std.string()` to get a String representation that is consistent across platforms. Adds the element `x` at the start of `this` Array. This operation modifies `this` Array in place. `this.length` and the index of each Array element increases by 1. Inserts the element `x` at the position `pos`. This operation modifies `this` Array in place. The offset is calculated like so: - If `pos` exceeds `this.length`, the offset is `this.length`. - If `pos` is negative, the offset is calculated from the end of `this` Array, i.e. `this.length + pos`. If this yields a negative value, the offset is 0. - Otherwise, the offset is `pos`. If the resulting offset does not exceed `this.length`, all elements from and including that offset to the end of `this` Array are moved one index ahead. Removes the first occurrence of `x` in `this` Array. This operation modifies `this` Array in place. If `x` is found by checking standard equality, it is removed from `this` Array and all following elements are reindexed accordingly. The function then returns true. If `x` is not found, `this` Array is not changed and the function returns false. Returns whether `this` Array contains `x`. If `x` is found by checking standard equality, the function returns `true`, otherwise the function returns `false`. Returns position of the first occurrence of `x` in `this` Array, searching front to back. If `x` is found by checking standard equality, the function returns its index. If `x` is not found, the function returns -1. If `fromIndex` is specified, it will be used as the starting index to search from, otherwise search starts with zero index. If it is negative, it will be taken as the offset from the end of `this` Array to compute the starting index. If given or computed starting index is less than 0, the whole array will be searched, if it is greater than or equal to the length of `this` Array, the function returns -1. Returns position of the last occurrence of `x` in `this` Array, searching back to front. If `x` is found by checking standard equality, the function returns its index. If `x` is not found, the function returns -1. If `fromIndex` is specified, it will be used as the starting index to search from, otherwise search starts with the last element index. If it is negative, it will be taken as the offset from the end of `this` Array to compute the starting index. If given or computed starting index is greater than or equal to the length of `this` Array, the whole array will be searched, if it is less than 0, the function returns -1. Returns a shallow copy of `this` Array. The elements are not copied and retain their identity, so `a[i] == a.copy()[i]` is true for any valid `i`. However, `a == a.copy()` is always false. Returns an iterator of the Array values. Returns an iterator of the Array indices and values. Creates a new Array by applying function `f` to all elements of `this`. The order of elements is preserved. If `f` is null, the result is unspecified. Returns an Array containing those elements of `this` for which `f` returned true. The individual elements are not duplicated and retain their identity. If `f` is null, the result is unspecified. Set the length of the Array. If `len` is shorter than the array's current size, the last `length - len` elements will be removed. If `len` is longer, the Array will be extended, with new elements set to a target-specific default value: - always null on dynamic targets - 0, 0.0 or false for Int, Float and Bool respectively on static targets - null for other types on static targets Creates a new Array. An abstract type that represents a Class. See `Type` for the Haxe Reflection API. @see https://haxe.org/manual/types-class-instance.html Returns a Date representing the current local time. Creates a Date from the timestamp (in milliseconds) `t`. Creates a Date from the formatted string `s`. The following formats are accepted by the function: - `"YYYY-MM-DD hh:mm:ss"` - `"YYYY-MM-DD"` - `"hh:mm:ss"` The first two formats expressed a date in local time. The third is a time relative to the UTC epoch. Returns the timestamp (in milliseconds) of `this` date. On cpp and neko, this function only has a second resolution, so the result will always be a multiple of `1000.0`, e.g. `1454698271000.0`. To obtain the current timestamp with better precision on cpp and neko, see the `Sys.time` API. For measuring time differences with millisecond accuracy on all platforms, see `haxe.Timer.stamp`. Returns the hours of `this` Date (0-23 range) in the local timezone. Returns the minutes of `this` Date (0-59 range) in the local timezone. Returns the seconds of `this` Date (0-59 range) in the local timezone. Returns the full year of `this` Date (4 digits) in the local timezone. Returns the month of `this` Date (0-11 range) in the local timezone. Note that the month number is zero-based. Returns the day of `this` Date (1-31 range) in the local timezone. Returns the day of the week of `this` Date (0-6 range, where `0` is Sunday) in the local timezone. Returns the hours of `this` Date (0-23 range) in UTC. Returns the minutes of `this` Date (0-59 range) in UTC. Returns the seconds of `this` Date (0-59 range) in UTC. Returns the full year of `this` Date (4 digits) in UTC. Returns the month of `this` Date (0-11 range) in UTC. Note that the month number is zero-based. Returns the day of `this` Date (1-31 range) in UTC. Returns the day of the week of `this` Date (0-6 range, where `0` is Sunday) in UTC. Returns the time zone difference of `this` Date in the current locale to UTC, in minutes. Assuming the function is executed on a machine in a UTC+2 timezone, `Date.now().getTimezoneOffset()` will return `-120`. Returns a string representation of `this` Date in the local timezone using the standard format `YYYY-MM-DD HH:MM:SS`. See `DateTools.format` for other formatting rules. Creates a new date object from the given arguments. The behaviour of a Date instance is only consistent across platforms if the the arguments describe a valid date. - month: 0 to 11 (note that this is zero-based) - day: 1 to 31 - hour: 0 to 23 - min: 0 to 59 - sec: 0 to 59 The Date class provides a basic structure for date and time related information. Date instances can be created by - `new Date()` for a specific date, - `Date.now()` to obtain information about the current time, - `Date.fromTime()` with a given timestamp or - `Date.fromString()` by parsing from a String. There are some extra functions available in the `DateTools` class. In the context of Haxe dates, a timestamp is defined as the number of milliseconds elapsed since 1st January 1970 UTC. ## Supported range Due to platform limitations, only dates in the range 1970 through 2038 are supported consistently. Some targets may support dates outside this range, depending on the OS at runtime. The `Date.fromTime` method will not work with timestamps outside the range on any target. Escape the string `s` for use as a part of regular expression. If `s` is null, the result is unspecified. ~/[\[\]{}()*+?.\\\^$|]/ Tells if `this` regular expression matches String `s`. This method modifies the internal state. If `s` is `null`, the result is unspecified. Returns the matched sub-group `n` of `this` EReg. This method should only be called after `this.match` or `this.matchSub`, and then operates on the String of that operation. The index `n` corresponds to the n-th set of parentheses in the pattern of `this` EReg. If no such sub-group exists, the result is unspecified. If `n` equals 0, the whole matched substring is returned. Returns the part to the left of the last matched substring. If the most recent call to `this.match` or `this.matchSub` did not match anything, the result is unspecified. If the global g modifier was in place for the matching, only the substring to the left of the leftmost match is returned. The result does not include the matched part. Returns the part to the right of the last matched substring. If the most recent call to `this.match` or `this.matchSub` did not match anything, the result is unspecified. If the global g modifier was in place for the matching, only the substring to the right of the leftmost match is returned. The result does not include the matched part. Returns the position and length of the last matched substring, within the String which was last used as argument to `this.match` or `this.matchSub`. If the most recent call to `this.match` or `this.matchSub` did not match anything, the result is unspecified. If the global g modifier was in place for the matching, the position and length of the leftmost substring is returned. { len : -1 } Tells if `this` regular expression matches a substring of String `s`. This function expects `pos` and `len` to describe a valid substring of `s`, or else the result is unspecified. To get more robust behavior, `this.match(s.substr(pos,len))` can be used instead. This method modifies the internal state. If `s` is null, the result is unspecified. Splits String `s` at all substrings `this` EReg matches. If a match is found at the start of `s`, the result contains a leading empty String "" entry. If a match is found at the end of `s`, the result contains a trailing empty String "" entry. If two matching substrings appear next to each other, the result contains the empty String `""` between them. By default, this method splits `s` into two parts at the first matched substring. If the global g modifier is in place, `s` is split at each matched substring. If `s` is null, the result is unspecified. Replaces the first substring of `s` which `this` EReg matches with `by`. If `this` EReg does not match any substring, the result is `s`. By default, this method replaces only the first matched substring. If the global g modifier is in place, all matched substrings are replaced. If `by` contains `$1` to `$9`, the digit corresponds to number of a matched sub-group and its value is used instead. If no such sub-group exists, the replacement is unspecified. The string `$$` becomes `$`. If `s` or `by` are null, the result is unspecified. Calls the function `f` for the substring of `s` which `this` EReg matches and replaces that substring with the result of `f` call. The `f` function takes `this` EReg object as its first argument and should return a replacement string for the substring matched. If `this` EReg does not match any substring, the result is `s`. By default, this method replaces only the first matched substring. If the global g modifier is in place, all matched substrings are replaced. If `s` or `f` are null, the result is unspecified. Creates a new regular expression with pattern `r` and modifiers `opt`. This is equivalent to the shorthand syntax `~/r/opt` If `r` or `opt` are null, the result is unspecified. ]]> "]]> An abstract type that represents an Enum type. The corresponding enum instance type is `EnumValue`. See `Type` for the Haxe Reflection API. @see https://haxe.org/manual/types-enum-instance.html An abstract type that represents any enum value. See `Type` for the Haxe Reflection API. @see https://haxe.org/manual/types-enum-instance.html Matches enum instance `e` against pattern `pattern`, returning `true` if matching succeeded and `false` otherwise. Example usage: ```haxe if (e.match(pattern)) { // codeIfTrue } else { // codeIfFalse } ``` This is equivalent to the following code: ```haxe switch (e) { case pattern: // codeIfTrue case _: // codeIfFalse } ``` This method is implemented in the compiler. This definition exists only for documentation. Matches enum instance `e` against pattern `pattern`, returning `true` if matching succeeded and `false` otherwise. Example usage: ```haxe if (e.match(pattern)) { // codeIfTrue } else { // codeIfFalse } ``` This is equivalent to the following code: ```haxe switch (e) { case pattern: // codeIfTrue case _: // codeIfFalse } ``` This method is implemented in the compiler. This definition exists only for documentation. Returns true if the iterator has other items, false otherwise. Moves to the next item of the iterator. If this is called while hasNext() is false, the result is unspecified. IntIterator is used for implementing interval iterations. It is usually not used explicitly, but through its special syntax: `min...max` While it is possible to assign an instance of IntIterator to a variable or field, it is worth noting that IntIterator does not reset after being used in a for-loop. Subsequent uses of the same instance will then have no effect. @see https://haxe.org/manual/lf-iterators.html Creates an Array from Iterable `it`. If `it` is an Array, this function returns a copy of it. Creates a List form Iterable `it`. If `it` is a List, this function returns a copy of it. Creates a new Array by applying function `f` to all elements of `it`. The order of elements is preserved. If `f` is null, the result is unspecified. Similar to map, but also passes the index of each element to `f`. The order of elements is preserved. If `f` is null, the result is unspecified. Concatenate a list of iterables. The order of elements is preserved. A composition of map and flatten. The order of elements is preserved. If `f` is null, the result is unspecified. Tells if `it` contains `elt`. This function returns true as soon as an element is found which is equal to `elt` according to the `==` operator. If no such element is found, the result is false. Tells if `it` contains an element for which `f` is true. This function returns true as soon as an element is found for which a call to `f` returns true. If no such element is found, the result is false. If `f` is null, the result is unspecified. Tells if `f` is true for all elements of `it`. This function returns false as soon as an element is found for which a call to `f` returns false. If no such element is found, the result is true. In particular, this function always returns true if `it` is empty. If `f` is null, the result is unspecified. Calls `f` on all elements of `it`, in order. If `f` is null, the result is unspecified. Returns a Array containing those elements of `it` for which `f` returned true. If `it` is empty, the result is the empty Array even if `f` is null. Otherwise if `f` is null, the result is unspecified. Functional fold on Iterable `it`, using function `f` with start argument `first`. If `it` has no elements, the result is `first`. Otherwise the first element of `it` is passed to `f` alongside `first`. The result of that call is then passed to `f` with the next element of `it`, and so on until `it` has no more elements. If `it` or `f` are null, the result is unspecified. Similar to fold, but also passes the index of each element to `f`. If `it` or `f` are null, the result is unspecified. Returns the number of elements in `it` for which `pred` is true, or the total number of elements in `it` if `pred` is null. This function traverses all elements. Tells if Iterable `it` does not contain any element. Returns the index of the first element `v` within Iterable `it`. This function uses operator `==` to check for equality. If `v` does not exist in `it`, the result is -1. Returns the first element of `it` for which `f` is true. This function returns as soon as an element is found for which a call to `f` returns true. If no such element is found, the result is null. If `f` is null, the result is unspecified. Returns the index of the first element of `it` for which `f` is true. This function returns as soon as an element is found for which a call to `f` returns true. If no such element is found, the result is -1. If `f` is null, the result is unspecified. Returns a new Array containing all elements of Iterable `a` followed by all elements of Iterable `b`. If `a` or `b` are null, the result is unspecified. The `Lambda` class is a collection of methods to support functional programming. It is ideally used with `using Lambda` and then acts as an extension to Iterable types. On static platforms, working with the Iterable structure might be slower than performing the operations directly on known types, such as Array and List. If the first argument to any of the methods is null, the result is unspecified. @see https://haxe.org/manual/std-Lambda.html lime.utils.Assets hide Converts a Base64-encoded `String` into an `Image`, or returns `null` if this is not possible @param base64 A Base64-encoded `String` @param type A mime-type to describe the image data (such as "image/png") @return A new `Image`, or `null` if conversion was not possible Creates a new `Image` from a Flash `BitmapData` instance @param bitmapData A source `bitmapData` to use @return A new `Image` instance Converts a `Bytes` object to an `Image` instance Some platforms (such as Flash and HTML5) cannot convert `Bytes` to an `Image` synchronously, and may not work properly. `Image.loadFromBytes` works asynchronously, and should work consistently on all platforms. @param bytes A `Bytes` holding encoded image data @return A new `Image` instance Converts an `js.html.CanvasElement` instance to an `Image` @param canvas A `CanvasElement` @return A new `Image` instance Loads an `Image` from a path synchronously. Some platforms, such as Flash and HTML5, cannot load images synchronously. `Image.loadFromFile` works asynchronously, and should behave consistently on all platforms. @param path The source file path or URL of an encoded image file @return A new `Image` instance Converts a `js.html.Image` instance to an `Image` @param image An `ImageElement` instance @return A new `Image` instance Creates a new `Image` instance from a Base64-encoded `String`, asynchronously @param base64 A Base64-encoded string representing encoded image data @param type The mime type of the encoded data (such as "image/png") @return A `Future` to return a new `Image` instance Creates a new `Image` instance from image-encoded `Bytes`, loaded asynchronously @param bytes A `Bytes` instance @return A `Future` to return a new `Image` instance Creates a new `Image` instance from a file path or URL, loaded asynchronously @param path A file path or URL containing an encoded image @return A `Future` to return a new `Image` instance <__isGIF set="method" line="1711" static="1"> <__isJPG set="method" line="1719" static="1"> <__isPNG set="method" line="1729" static="1"> <__isWebP set="method" line="1737" static="1"> The `ImageBuffer` store that backs the `Image` Retrieves `UInt8Array` data from the `ImageBuffer`. If the `ImageBuffer` is not in a data format, it will be converted. Whether the `Image` is dirty. This is set to `true` when pixel operations have been performed on the underlying `buffer`, and can be set to `false` again by your own renderer. Get or set the `PixelFormat` for the underlying `ImageBuffer`. This can be used to convert the `ImageBuffer` to a new format. The logical height of the `Image`. This can be smaller than the `height` of the underlying `buffer`. The offset X position of the `Image`, from the source `buffer`, when the `Image` is smaller than the full size of the source `buffer` The offset Y position of the `Image`, from the source `buffer`, when the `Image` is smaller than the full size of the source `buffer` Get or set whether the `ImageBuffer` dimensions are both a power-of-two (such as 2, 4, 8, 16, so on). Setting this value may resize the underlying `buffer` Get or set whether this `Image` has premultiplied alpha. Setting this value may multiply or unmultiply data if the underlying `ImageBuffer` uses a different format. The offset, width and height of this image as a `Rectangle` A higher-level representation of the source `ImageBuffer`. This might be an HTML5 Image, CanvasElement or a Flash BitmapData instance. Get or set whether the underlying `ImageBuffer` is transparent. The current `ImageType`, representing what is being used to store the `Image`'s graphics The `version` of the `Image` increases each time it is modified, helpful to determining whether a cache is out-of-date. The logical width of the `Image`. This can be smaller than the `width` of the underlying `buffer`. A convenience property, unused internally, which may be helpful for different renderer implementations A convenience property, unused internally, which may be helpful for different renderer implementations Creates a duplicate copy of this `Image` and `ImageBuffer` @return A new `Image` instance Applies a color transform to the underlying `ImageBuffer` data @param rect The target rectangle to transform @param colorMatrix A `ColorMatrix` for color offset and/or multiplication Copy a color channel from one `Image` to another. This can also be within the same `Image` instance. @param sourceImage The `Image` to copy from @param sourceRect The source rectangle to copy from in the `sourceImage` @param destPoint The destination point to apply the channel in the current `Image` @param sourceChannel The source color channel to copy the data from @param destChannel The destination color channel to apply the data into { mergeAlpha : false, alphaPoint : null, alphaImage : null } Copies pixels from one `Image` to another. The source `Image` can also be this `Image` @param sourceImage The source `Image` to copy from @param sourceRect The source rectangle to use when copying @param destPoint The destination point to use when copying @param alphaImage (Optional) A different `Image` to use as the alpha channel while copying @param alphaPoint (Optional) A point in the alpha image to use when copying @param mergeAlpha (Optional) Whether to blend the source and destination alpha (`true`), or to replace the destination alpha (`false`) { quality : 90, format : null } Encodes this `Image` into an image file format, such as PNG or JPEG. @param format (Optional) An `ImageFileFormat` to encode into (default is `PNG`) @param quality (Optional) A quality value to use when encoding as JPEG (from 0 to 100) @return `Bytes` for the encoded `Image`, or `null` if encoding was not successful { format : null } Fill a rectangle in the `Image` with a solid color @param rect A destination rectangle in this `Image` to fill @param color The color to use when filling this `Image` @param format (Optional) The `PixelFormat` that `color` is encoded in (default is `RGBA`) { format : null } Applies a flood fill to this `Image`, starting with the point specified. A flood fill behaves similarly to the "paint can" tool in many image editors, the fill will apply the chosen color to neighboring pixels of the same color. @param x The target x coordinate within the `Image` to use with the fill @param y The target y coordinate within the `Image` to use with the fill @param color The color to use when performing the fill @param format (Optional) The `PixelFormat` that `color` is encoded in (default is `RGBA`) { format : null, findColor : true } Finds a region in the `Image` that includes pixels all of a certain color (when `findColor` is `true`) or excludes a certain color (`findColor` is `false`) @param mask A hexadecimal mask to use when comparing colors. You can use this to compare all of a color, or only certain color channels @param color The color value to use in comparisons @param findColor (Optional) Whether to find a region that does match the color (`true`) or excludes it (`false`) @param format (Optional) The `PixelFormat` that the `color` and `mask` are encoded in (default is `RGBA`) @return The matching bounds `Rectangle`, or `null` if no matching region is found { format : null } Gets a 24-bit pixel from the `Image` (red, green and blue, but no alpha) @param x The `x` location to fetch @param y The `y` location to fetch @param format (Optional) The `PixelFormat` to encode the return value in (default is `RGBA`) @return The specified pixel, or `0` if it is out-of-bounds { format : null } Gets a 32-bit pixel from the `Image`, including alpha @param x The `x` location to fetch @param y The `y` location to fetch @param format (Optional) The `PixelFormat` to encode the return value in (default is `RGBA`) @return The specified pixel, or `0` if it is out-of-bounds { format : null } Gets a region of pixels from the `Image`, as `Bytes` @param rect The source `Rectangle` to read from @param format (Optional) The `PixelFormat` to use when writing to the `Bytes` object (default is `RGBA`) @return A `Bytes` object representing the region, or `null` if it is not possible to read Blits a second `Image` onto this one, using optional color multipliers @param sourceImage An `Image` instance to copy from @param sourceRect The source rectangle to use when copying @param destPoint The destination point in this `Image` to copy into @param redMultiplier A red multiplier to use when blitting @param greenMultiplier A green multiplier to use when blitting @param blueMultiplier A blue multiplier to use when blitting @param alphaMultiplier An alpha multiplier to use when blitting Resizes the current `Image`, reallocating the `ImageBuffer` to a new size. The resize algorithm for most platforms is bilinear. @param newWidth A new width for the `Image` @param newHeight A new height for the `Image` Scrolls the content of this `Image`. Pixels on the edges of the scroll will remain repeated, while others within the scroll area will be shifted @param x The amount of horizontal scroll to apply @param y The amount of vertical scroll to apply { format : null } Sets a pixel in the current `Image` in 24-bit color format (red, green, blue, no alpha) @param x The x coordinate of the pixel @param y The y coordinate of the pixel @param color The color to use @param format (Optional) The `PixelFormat` that `color` is encoded in (default is `RGBA`) { format : null } Sets a pixel in the current `Image` in 32-bit color format (includes alpha) @param x The x coordinate of the pixel @param y The y coordinate of the pixel @param color The color to use @param format (Optional) The `PixelFormat` that `color` is encoded in (default is `RGBA`) { endian : null, format : null } Sets a region of pixels at once using a `BytePointer` @param rect The region of pixels in this `Image` to replace with the incoming bytes @param bytePointer A `BytePointer` object referencing the `Bytes` and position to read from @param format (Optional) The `PixelFormat` that the pixels are encoded in (default is `RGBA`) @param endian (Optional) The endianness of the incoming bytes (default is the system endianness) { format : null, copySource : false, mask : 0xFFFFFFFF, color : 0x00000000 } ", ">=", "==", "!=" @param threshold The value that each pixel is tested against to see if it meets or exceeds the threshhold. @param color The color value that a pixel is set to if the threshold test succeeds. The default value is 0x00000000. @param mask The mask to use to isolate a color component. @param copySource If the value is `true`, pixel values from the source image are copied to the destination when the threshold test fails. If the value is `false`, the source image is not copied when the threshold test fails. @return The number of pixels that were changed.]]> <__clipRect set="method" line="1402"> <__fromBase64 set="method" line="1439"> { onload : null } <__fromBytes set="method" line="1474"> { onload : null } <__fromFile set="method" line="1531"> { onerror : null, onload : null } <__fromImageBuffer set="method" line="1693"> { type : null, color : null, height : -1, width : -1, offsetY : 0, offsetX : 0, buffer : null } Creates a new `Image` instance. If `buffer` is null, but `width` and `height` are set, a new `ImageBuffer` is allocated matching the `color` requested. @param buffer (Optional) The `ImageBuffer` this `Image` represents @param offsetX (Optional) A logical offset value within the `ImageBuffer` dimensions @param offsetY (Optional) A logical offset value within the `ImageBuffer` dimensions @param width (Optional) A logical width value within the `ImageBuffer` dimensions @param height (Optional) A logical height value within the `ImageBuffer` dimensions @param color (Optional) A fill color to use if the `buffer` property is `null` @param type (Optional) An `ImageType` to use for this `Image` `Image` is a convenience class for working with bitmap images in Lime. Although `ImageBuffer` holds the actual bitmap data, `Image` includes convenience methods for loading from files, loading from bytes, and performing many pixel operations over an `ImageBuffer` instance. "tags=\"haxe,release\"" lime._internal.macros.AssetsMacro.embedImage() lime._internal.backend.native.NativeCFFI lime._internal.graphics.ImageCanvasUtil lime._internal.graphics.ImageDataUtil lime.app.Application lime.math.ColorMatrix lime.math.Rectangle lime.math.Vector2 "__ASSET__:image___ASSET__flxanimate_images_pivot_png" lime._internal.macros.AssetsMacro.embedImage() lime._internal.macros.AssetsMacro.embedImage() "E:/Dev/FNF/YoshmanEngine/.haxelib/flxanimate/git/assets/images/pivot.png" Returns bytes representation of the given String, using specific encoding (UTF-8 by default) Convert hexadecimal string to Bytes. Support only straight hex string ( Example: "0FDA14058916052309" ) Read the most efficiently possible the n-th byte of the data. Behavior when reading outside of the available data is unspecified. Returns the IEEE double precision value at given position (in low endian encoding). Result is unspecified if reading outside of the bounds Returns the IEEE single precision value at given position (in low endian encoding). Result is unspecified if reading outside of the bounds Store the IEEE double precision value at given position in low endian encoding. Result is unspecified if writing outside of the bounds. Store the IEEE single precision value at given position in low endian encoding. Result is unspecified if writing outside of the bounds. Returns the 16 bit unsigned integer at given position (in low endian encoding). Store the 16 bit unsigned integer at given position (in low endian encoding). Returns the 32 bit integer at given position (in low endian encoding). Returns the 64 bit integer at given position (in low endian encoding). Store the 32 bit integer at given position (in low endian encoding). Store the 64 bit integer at given position (in low endian encoding). "readString is deprecated, use getString instead" Returns string representation of the bytes as UTF8 lime._internal.macros.AssetsMacro.embedBytes() "tags=\"haxe,release\"" "__ASSET__:file___ASSET__flixel_sounds_beep_ogg" lime._internal.macros.AssetsMacro.embedBytes() lime._internal.macros.AssetsMacro.embedBytes() "E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets/sounds/beep.ogg" "__ASSET__:file___ASSET__flixel_sounds_flixel_ogg" lime._internal.macros.AssetsMacro.embedBytes() lime._internal.macros.AssetsMacro.embedBytes() "E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets/sounds/flixel.ogg" "__ASSET__:file___ASSET__flixel_sounds_type_ogg" lime._internal.macros.AssetsMacro.embedBytes() lime._internal.macros.AssetsMacro.embedBytes() "E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets/sounds/type.ogg" <__fontID> <__fontPath> <__fontPathWithoutDirectory> <__init> |:;_-+=?,. " }]]> <__copyFrom set="method" line="418"> <__fromBytes set="method" line="443"> <__fromFile set="method" line="456"> <__initializeSource set="method" line="469"> <__loadFromName set="method" line="496"> <__setSize set="method" line="591"> { name : null } "tags=\"haxe,release\"" lime._internal.macros.AssetsMacro.embedFont() lime._internal.backend.native.NativeCFFI lime.text.Glyph "LIME_font___ASSET__flixel_fonts_nokiafc22_ttf" lime._internal.macros.AssetsMacro.embedFont() lime._internal.macros.AssetsMacro.embedFont() "E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets/fonts/nokiafc22.ttf" "LIME_font___ASSET__flixel_fonts_monsterrat_ttf" lime._internal.macros.AssetsMacro.embedFont() lime._internal.macros.AssetsMacro.embedFont() "E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets/fonts/monsterrat.ttf" "__ASSET__:image___ASSET__flixel_images_ui_button_png" lime._internal.macros.AssetsMacro.embedImage() lime._internal.macros.AssetsMacro.embedImage() "E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets/images/ui/button.png" "__ASSET__:image___ASSET__flixel_images_logo_default_png" lime._internal.macros.AssetsMacro.embedImage() lime._internal.macros.AssetsMacro.embedImage() "E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets/images/logo/default.png" "__ASSET__:image___ASSET__flixel_flixel_ui_img_box_png" lime._internal.macros.AssetsMacro.embedImage() lime._internal.macros.AssetsMacro.embedImage() "E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/images/box.png" "__ASSET__:image___ASSET__flixel_flixel_ui_img_button_png" lime._internal.macros.AssetsMacro.embedImage() lime._internal.macros.AssetsMacro.embedImage() "E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/images/button.png" "__ASSET__:image___ASSET__flixel_flixel_ui_img_button_arrow_down_png" lime._internal.macros.AssetsMacro.embedImage() lime._internal.macros.AssetsMacro.embedImage() "E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/images/button_arrow_down.png" "__ASSET__:image___ASSET__flixel_flixel_ui_img_button_arrow_left_png" lime._internal.macros.AssetsMacro.embedImage() lime._internal.macros.AssetsMacro.embedImage() "E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/images/button_arrow_left.png" "__ASSET__:image___ASSET__flixel_flixel_ui_img_button_arrow_right_png" lime._internal.macros.AssetsMacro.embedImage() lime._internal.macros.AssetsMacro.embedImage() "E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/images/button_arrow_right.png" "__ASSET__:image___ASSET__flixel_flixel_ui_img_button_arrow_up_png" lime._internal.macros.AssetsMacro.embedImage() lime._internal.macros.AssetsMacro.embedImage() "E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/images/button_arrow_up.png" "__ASSET__:image___ASSET__flixel_flixel_ui_img_button_thin_png" lime._internal.macros.AssetsMacro.embedImage() lime._internal.macros.AssetsMacro.embedImage() "E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/images/button_thin.png" "__ASSET__:image___ASSET__flixel_flixel_ui_img_button_toggle_png" lime._internal.macros.AssetsMacro.embedImage() lime._internal.macros.AssetsMacro.embedImage() "E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/images/button_toggle.png" "__ASSET__:image___ASSET__flixel_flixel_ui_img_check_box_png" lime._internal.macros.AssetsMacro.embedImage() lime._internal.macros.AssetsMacro.embedImage() "E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/images/check_box.png" "__ASSET__:image___ASSET__flixel_flixel_ui_img_check_mark_png" lime._internal.macros.AssetsMacro.embedImage() lime._internal.macros.AssetsMacro.embedImage() "E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/images/check_mark.png" "__ASSET__:image___ASSET__flixel_flixel_ui_img_chrome_png" lime._internal.macros.AssetsMacro.embedImage() lime._internal.macros.AssetsMacro.embedImage() "E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/images/chrome.png" "__ASSET__:image___ASSET__flixel_flixel_ui_img_chrome_flat_png" lime._internal.macros.AssetsMacro.embedImage() lime._internal.macros.AssetsMacro.embedImage() "E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/images/chrome_flat.png" "__ASSET__:image___ASSET__flixel_flixel_ui_img_chrome_inset_png" lime._internal.macros.AssetsMacro.embedImage() lime._internal.macros.AssetsMacro.embedImage() "E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/images/chrome_inset.png" "__ASSET__:image___ASSET__flixel_flixel_ui_img_chrome_light_png" lime._internal.macros.AssetsMacro.embedImage() lime._internal.macros.AssetsMacro.embedImage() "E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/images/chrome_light.png" "__ASSET__:image___ASSET__flixel_flixel_ui_img_dropdown_mark_png" lime._internal.macros.AssetsMacro.embedImage() lime._internal.macros.AssetsMacro.embedImage() "E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/images/dropdown_mark.png" "__ASSET__:image___ASSET__flixel_flixel_ui_img_finger_big_png" lime._internal.macros.AssetsMacro.embedImage() lime._internal.macros.AssetsMacro.embedImage() "E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/images/finger_big.png" "__ASSET__:image___ASSET__flixel_flixel_ui_img_finger_small_png" lime._internal.macros.AssetsMacro.embedImage() lime._internal.macros.AssetsMacro.embedImage() "E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/images/finger_small.png" "__ASSET__:image___ASSET__flixel_flixel_ui_img_hilight_png" lime._internal.macros.AssetsMacro.embedImage() lime._internal.macros.AssetsMacro.embedImage() "E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/images/hilight.png" "__ASSET__:image___ASSET__flixel_flixel_ui_img_invis_png" lime._internal.macros.AssetsMacro.embedImage() lime._internal.macros.AssetsMacro.embedImage() "E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/images/invis.png" "__ASSET__:image___ASSET__flixel_flixel_ui_img_minus_mark_png" lime._internal.macros.AssetsMacro.embedImage() lime._internal.macros.AssetsMacro.embedImage() "E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/images/minus_mark.png" "__ASSET__:image___ASSET__flixel_flixel_ui_img_plus_mark_png" lime._internal.macros.AssetsMacro.embedImage() lime._internal.macros.AssetsMacro.embedImage() "E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/images/plus_mark.png" "__ASSET__:image___ASSET__flixel_flixel_ui_img_radio_png" lime._internal.macros.AssetsMacro.embedImage() lime._internal.macros.AssetsMacro.embedImage() "E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/images/radio.png" "__ASSET__:image___ASSET__flixel_flixel_ui_img_radio_dot_png" lime._internal.macros.AssetsMacro.embedImage() lime._internal.macros.AssetsMacro.embedImage() "E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/images/radio_dot.png" "__ASSET__:image___ASSET__flixel_flixel_ui_img_swatch_png" lime._internal.macros.AssetsMacro.embedImage() lime._internal.macros.AssetsMacro.embedImage() "E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/images/swatch.png" "__ASSET__:image___ASSET__flixel_flixel_ui_img_tab_png" lime._internal.macros.AssetsMacro.embedImage() lime._internal.macros.AssetsMacro.embedImage() "E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/images/tab.png" "__ASSET__:image___ASSET__flixel_flixel_ui_img_tab_back_png" lime._internal.macros.AssetsMacro.embedImage() lime._internal.macros.AssetsMacro.embedImage() "E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/images/tab_back.png" "__ASSET__:image___ASSET__flixel_flixel_ui_img_tooltip_arrow_png" lime._internal.macros.AssetsMacro.embedImage() lime._internal.macros.AssetsMacro.embedImage() "E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/images/tooltip_arrow.png" "__ASSET__:file___ASSET__flixel_flixel_ui_xml_defaults_xml" lime._internal.macros.AssetsMacro.embedBytes() lime._internal.macros.AssetsMacro.embedBytes() "E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/xml/defaults.xml" "__ASSET__:file___ASSET__flixel_flixel_ui_xml_default_loading_screen_xml" lime._internal.macros.AssetsMacro.embedBytes() lime._internal.macros.AssetsMacro.embedBytes() "E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/xml/default_loading_screen.xml" "__ASSET__:file___ASSET__flixel_flixel_ui_xml_default_popup_xml" lime._internal.macros.AssetsMacro.embedBytes() lime._internal.macros.AssetsMacro.embedBytes() "E:/Dev/FNF/YoshmanEngine/.haxelib/flixel-yc29/git/assets-ui/xml/default_popup.xml" "__ASSET__:file___ASSET__manifest_assets_json" lime._internal.macros.AssetsMacro.embedBytes() lime._internal.macros.AssetsMacro.embedBytes() "export/release/windows/obj/tmp/manifest/assets.json" lime._internal.macros.AssetsMacro.embedFont() lime._internal.macros.AssetsMacro.embedFont() lime._internal.macros.AssetsMacro.embedFont() lime._internal.macros.AssetsMacro.embedFont() <__fontByName expr="new Map()" line="42" static="1"> new Map() <__registeredFonts expr="new Array()" line="43" static="1"> new Array() { enumerateDeviceFonts : false } Specifies whether to provide a list of the currently available embedded fonts. @param enumerateDeviceFonts Indicates whether you want to limit the list to only the currently available embedded fonts. If this is set to `true` then a list of all fonts, both device fonts and embedded fonts, is returned. If this is set to `false` then only a list of embedded fonts is returned. @return A list of available fonts as an array of Font objects. Creates a new Font from bytes (a haxe.io.Bytes or openfl.utils.ByteArray) synchronously. This means that the Font will be returned immediately (if supported). @param bytes A haxe.io.Bytes or openfl.utils.ByteArray instance @returns A new Font if successful, or `null` if unsuccessful Creates a new Font from a file path synchronously. This means that the Font will be returned immediately (if supported). @param path A local file path containing a font @returns A new Font if successful, or `null` if unsuccessful Creates a new Font from haxe.io.Bytes or openfl.utils.ByteArray data asynchronously. The font decoding will occur in the background. Progress, completion and error callbacks will be dispatched in the current thread using callbacks attached to a returned Future object. @param bytes A haxe.io.Bytes or openfl.utils.ByteArray instance @returns A Future Font Creates a new Font from a file path or web address asynchronously. The file load and font decoding will occur in the background. Progress, completion and error callbacks will be dispatched in the current thread using callbacks attached to a returned Future object. @param path A local file path or web address containing a font @returns A Future Font Creates a new Font from a font name asynchronously. This feature should work for embedded CSS fonts on the HTML5 target, but is not implemented for registered OS fonts on native targets currently. The file load and font decoding will occur in the background. Progress, completion and error callbacks will be dispatched in the current thread using callbacks attached to a returned Future object. @param path A font name @returns A Future Font Registers a font in the global font list. The name of an embedded font. The style of the font. This value can be any of the values defined in the FontStyle class. The type of the font. This value can be any of the constants defined in the FontType class. <__initialized> <__fromLimeFont set="method" line="273"> <__initialize set="method" line="279"> { name : null } The Font class is used to manage embedded fonts in SWF files. Embedded fonts are represented as a subclass of the Font class. The Font class is currently useful only to find out information about embedded fonts; you cannot alter a font by using this class. You cannot use the Font class to load external fonts, or to create an instance of a Font object by itself. Use the Font class as an abstract base class. lime._internal.macros.AssetsMacro.embedFont() lime._internal.macros.AssetsMacro.embedFont() "tags=\"haxe,release\"" lime._internal.macros.AssetsMacro.embedFont() lime._internal.macros.AssetsMacro.embedFont() "__ASSET__OPENFL__assets_fonts_pixel_otf" lime._internal.macros.AssetsMacro.embedFont() lime._internal.macros.AssetsMacro.embedFont() "__ASSET__OPENFL__assets_fonts_vcr_ttf" lime._internal.macros.AssetsMacro.embedFont() lime._internal.macros.AssetsMacro.embedFont() "__ASSET__OPENFL__flixel_fonts_nokiafc22_ttf" lime._internal.macros.AssetsMacro.embedFont() lime._internal.macros.AssetsMacro.embedFont() "__ASSET__OPENFL__flixel_fonts_monsterrat_ttf" hide
Parse the given [lines] of markdown to a series of AST nodes. this is a markdown`.]]> Maintains the context needed to parse a markdown document. <c path="String"/> Represents the ratio of the circumference of a circle to its diameter, specified by the constant, π. `PI` is approximately `3.141592653589793`. A special `Float` constant which denotes negative infinity. For example, this is the result of `-1.0 / 0.0`. Operations with `NEGATIVE_INFINITY` as an operand may result in `NEGATIVE_INFINITY`, `POSITIVE_INFINITY` or `NaN`. If this constant is converted to an `Int`, e.g. through `Std.int()`, the result is unspecified. A special `Float` constant which denotes positive infinity. For example, this is the result of `1.0 / 0.0`. Operations with `POSITIVE_INFINITY` as an operand may result in `NEGATIVE_INFINITY`, `POSITIVE_INFINITY` or `NaN`. If this constant is converted to an `Int`, e.g. through `Std.int()`, the result is unspecified. A special `Float` constant which denotes an invalid number. `NaN` stands for "Not a Number". It occurs when a mathematically incorrect operation is executed, such as taking the square root of a negative number: `Math.sqrt(-1)`. All further operations with `NaN` as an operand will result in `NaN`. If this constant is converted to an `Int`, e.g. through `Std.int()`, the result is unspecified. In order to test if a value is `NaN`, you should use `Math.isNaN()` function. Returns the absolute value of `v`. - If `v` is positive or `0`, the result is unchanged. Otherwise the result is `-v`. - If `v` is `NEGATIVE_INFINITY` or `POSITIVE_INFINITY`, the result is `POSITIVE_INFINITY`. - If `v` is `NaN`, the result is `NaN`. Returns the smaller of values `a` and `b`. - If `a` or `b` are `NaN`, the result is `NaN`. - If `a` or `b` are `NEGATIVE_INFINITY`, the result is `NEGATIVE_INFINITY`. - If `a` and `b` are `POSITIVE_INFINITY`, the result is `POSITIVE_INFINITY`. Returns the greater of values `a` and `b`. - If `a` or `b` are `NaN`, the result is `NaN`. - If `a` or `b` are `POSITIVE_INFINITY`, the result is `POSITIVE_INFINITY`. - If `a` and `b` are `NEGATIVE_INFINITY`, the result is `NEGATIVE_INFINITY`. Returns the trigonometric sine of the specified angle `v`, in radians. If `v` is `NaN` or infinite, the result is `NaN`. Returns the trigonometric cosine of the specified angle `v`, in radians. If `v` is `NaN` or infinite, the result is `NaN`. Returns the trigonometric tangent of the specified angle `v`, in radians. If `v` is `NaN` or infinite, the result is `NaN`. Returns the trigonometric arc of the specified angle `v`, in radians. If `v` is `NaN` or infinite, the result is `NaN`. Returns the trigonometric arc cosine of the specified angle `v`, in radians. If `v` is `NaN` or infinite, the result is `NaN`. Returns the trigonometric arc tangent of the specified angle `v`, in radians. If `v` is `NaN` or infinite, the result is `NaN`. Returns the trigonometric arc tangent whose tangent is the quotient of two specified numbers, in radians. If parameter `x` or `y` is `NaN`, `NEGATIVE_INFINITY` or `POSITIVE_INFINITY`, the result is `NaN`. Returns Euler's number, raised to the power of `v`. `exp(1.0)` is approximately `2.718281828459`. - If `v` is `POSITIVE_INFINITY`, the result is `POSITIVE_INFINITY`. - If `v` is `NEGATIVE_INFINITY`, the result is `0.0`. - If `v` is `NaN`, the result is `NaN`. Returns the natural logarithm of `v`. This is the mathematical inverse operation of exp, i.e. `log(exp(v)) == v` always holds. - If `v` is negative (including `NEGATIVE_INFINITY`) or `NaN`, the result is `NaN`. - If `v` is `POSITIVE_INFINITY`, the result is `POSITIVE_INFINITY`. - If `v` is `0.0`, the result is `NEGATIVE_INFINITY`. Returns a specified base `v` raised to the specified power `exp`. Returns the square root of `v`. - If `v` is negative (including `NEGATIVE_INFINITY`) or `NaN`, the result is `NaN`. - If `v` is `POSITIVE_INFINITY`, the result is `POSITIVE_INFINITY`. - If `v` is `0.0`, the result is `0.0`. Rounds `v` to the nearest integer value. Ties are rounded up, so that `0.5` becomes `1` and `-0.5` becomes `0`. If `v` is outside of the signed `Int32` range, or is `NaN`, `NEGATIVE_INFINITY` or `POSITIVE_INFINITY`, the result is unspecified. Returns the largest integer value that is not greater than `v`. If `v` is outside of the signed `Int32` range, or is `NaN`, `NEGATIVE_INFINITY` or `POSITIVE_INFINITY`, the result is unspecified. Returns the smallest integer value that is not less than `v`. If `v` is outside of the signed `Int32` range, or is `NaN`, `NEGATIVE_INFINITY` or `POSITIVE_INFINITY`, the result is unspecified. Returns a pseudo-random number which is greater than or equal to `0.0`, and less than `1.0`. Returns the largest integer value that is not greater than `v`, as a `Float`. If `v` is is `NaN`, `NEGATIVE_INFINITY` or `POSITIVE_INFINITY`, the result is unspecified. Returns the smallest integer value that is not less than `v`, as a `Float`. If `v` is is `NaN`, `NEGATIVE_INFINITY` or `POSITIVE_INFINITY`, the result is unspecified. Rounds `v` to the nearest integer value, as a Float. Ties are rounded up, so that `0.5` becomes `1` and `-0.5` becomes `0`. If `v` is is `NaN`, `NEGATIVE_INFINITY` or `POSITIVE_INFINITY`, the result is unspecified. Tells if `f` is a finite number. If `f` is `POSITIVE_INFINITY`, `NEGATIVE_INFINITY` or `NaN`, the result is `false`, otherwise the result is `true`. Tells if `f` is not a valid number. If `f` is `NaN`, the result is `true`, otherwise the result is `false`. In particular, both `POSITIVE_INFINITY` and `NEGATIVE_INFINITY` are not considered `NaN`. This class defines mathematical functions and constants. @see https://haxe.org/manual/std-math.html "hxMath.h" Tells if structure `o` has a field named `field`. This is only guaranteed to work for anonymous structures. Refer to `Type.getInstanceFields` for a function supporting class instances. If `o` or `field` are null, the result is unspecified. Returns the value of the field named `field` on object `o`. If `o` is not an object or has no field named `field`, the result is null. If the field is defined as a property, its accessors are ignored. Refer to `Reflect.getProperty` for a function supporting property accessors. If `field` is null, the result is unspecified. Sets the field named `field` of object `o` to value `value`. If `o` has no field named `field`, this function is only guaranteed to work for anonymous structures. If `o` or `field` are null, the result is unspecified. Returns the value of the field named `field` on object `o`, taking property getter functions into account. If the field is not a property, this function behaves like `Reflect.field`, but might be slower. If `o` or `field` are null, the result is unspecified. Sets the field named `field` of object `o` to value `value`, taking property setter functions into account. If the field is not a property, this function behaves like `Reflect.setField`, but might be slower. If `field` is null, the result is unspecified. Call a method `func` with the given arguments `args`. The object `o` is ignored in most cases. It serves as the `this`-context in the following situations: * (neko) Allows switching the context to `o` in all cases. * (macro) Same as neko for Haxe 3. No context switching in Haxe 4. * (js, lua) Require the `o` argument if `func` does not, but should have a context. This can occur by accessing a function field natively, e.g. through `Reflect.field` or by using `(object : Dynamic).field`. However, if `func` has a context, `o` is ignored like on other targets. Returns the fields of structure `o`. This method is only guaranteed to work on anonymous structures. Refer to `Type.getInstanceFields` for a function supporting class instances. If `o` is null, the result is unspecified. Returns true if `f` is a function, false otherwise. If `f` is null, the result is false. Compares `a` and `b`. If `a` is less than `b`, the result is negative. If `b` is less than `a`, the result is positive. If `a` and `b` are equal, the result is 0. This function is only defined if `a` and `b` are of the same type. If that type is a function, the result is unspecified and `Reflect.compareMethods` should be used instead. For all other types, the result is 0 if `a` and `b` are equal. If they are not equal, the result depends on the type and is negative if: - Numeric types: a is less than b - String: a is lexicographically less than b - Other: unspecified If `a` and `b` are null, the result is 0. If only one of them is null, the result is unspecified. Compares the functions `f1` and `f2`. If `f1` or `f2` are null, the result is false. If `f1` or `f2` are not functions, the result is unspecified. Otherwise the result is true if `f1` and the `f2` are physically equal, false otherwise. If `f1` or `f2` are member method closures, the result is true if they are closures of the same method on the same object value, false otherwise. ` - `Enum` Otherwise, including if `v` is null, the result is false.]]> Tells if `v` is an enum value. The result is true if `v` is of type EnumValue, i.e. an enum constructor. Otherwise, including if `v` is null, the result is false. Removes the field named `field` from structure `o`. This method is only guaranteed to work on anonymous structures. If `o` or `field` are null, the result is unspecified. Copies the fields of structure `o`. This is only guaranteed to work on anonymous structures. If `o` is null, the result is `null`. Transform a function taking an array of arguments into a function that can be called with any number of arguments. The Reflect API is a way to manipulate values dynamically through an abstract interface in an untyped manner. Use with care. @see https://haxe.org/manual/std-reflection.html ignore DEPRECATED. Use `Std.isOfType(v, t)` instead. Tells if a value `v` is of the type `t`. Returns `false` if `v` or `t` are null. If `t` is a class or interface with `@:generic` meta, the result is `false`. Tells if a value `v` is of the type `t`. Returns `false` if `v` or `t` are null. If `t` is a class or interface with `@:generic` meta, the result is `false`. Checks if object `value` is an instance of class or interface `c`. Compiles only if the type specified by `c` can be assigned to the type of `value`. This method checks if a downcast is possible. That is, if the runtime type of `value` is assignable to the type specified by `c`, `value` is returned. Otherwise null is returned. This method is not guaranteed to work with core types such as `String`, `Array` and `Date`. If `value` is null, the result is null. If `c` is null, the result is unspecified. "Std.instance() is deprecated. Use Std.downcast() instead." Converts any value to a String. If `s` is of `String`, `Int`, `Float` or `Bool`, its value is returned. If `s` is an instance of a class and that class or one of its parent classes has a `toString` method, that method is called. If no such method is present, the result is unspecified. If `s` is an enum constructor without argument, the constructor's name is returned. If arguments exists, the constructor's name followed by the String representations of the arguments is returned. If `s` is a structure, the field names along with their values are returned. The field order and the operator separating field names and values are unspecified. If s is null, "null" is returned. Converts a `Float` to an `Int`, rounded towards 0. If `x` is outside of the signed Int32 range, or is `NaN`, `NEGATIVE_INFINITY` or `POSITIVE_INFINITY`, the result is unspecified. Converts a `String` to an `Int`. Leading whitespaces are ignored. If `x` starts with 0x or 0X, hexadecimal notation is recognized where the following digits may contain 0-9 and A-F. Otherwise `x` is read as decimal number with 0-9 being allowed characters. `x` may also start with a - to denote a negative value. In decimal mode, parsing continues until an invalid character is detected, in which case the result up to that point is returned. For hexadecimal notation, the effect of invalid characters is unspecified. Leading 0s that are not part of the 0x/0X hexadecimal notation are ignored, which means octal notation is not supported. If `x` is null, the result is unspecified. If `x` cannot be parsed as integer, the result is `null`. Converts a `String` to a `Float`. The parsing rules for `parseInt` apply here as well, with the exception of invalid input resulting in a `NaN` value instead of null. Additionally, decimal notation may contain a single `.` to denote the start of the fractions. The Std class provides standard methods for manipulating basic types. funkin.macros.StdDeprecationsRemover.build() The standard `Void` type. Only `null` values can be of the type `Void`. @see https://haxe.org/manual/types-void.html ` can be used instead. `Std.int` converts a `Float` to an `Int`, rounded towards 0. `Std.parseFloat` converts a `String` to a `Float`. @see https://haxe.org/manual/types-basic-types.html @see https://haxe.org/manual/types-nullability.html]]> ` can be used instead. `Std.int` converts a `Float` to an `Int`, rounded towards 0. `Std.parseInt` converts a `String` to an `Int`. @see https://haxe.org/manual/types-basic-types.html @see https://haxe.org/manual/std-math-integer-math.html @see https://haxe.org/manual/types-nullability.html]]> Single-precision IEEE 32bit float (4-byte). ` is a wrapper that can be used to make the basic types `Int`, `Float` and `Bool` nullable on static targets. If null safety is enabled, only types wrapped in `Null` are nullable. Otherwise, it has no effect on non-basic-types, but it can be useful as a way to document that `null` is an acceptable value for a method argument, return value or variable. @see https://haxe.org/manual/types-nullability.html]]> ` can be used instead. @see https://haxe.org/manual/types-bool.html @see https://haxe.org/manual/types-nullability.html]]> `Dynamic` is a special type which is compatible with all other types. Use of `Dynamic` should be minimized as it prevents several compiler checks and optimizations. See `Any` type for a safer alternative for representing values of any type. @see https://haxe.org/manual/types-dynamic.html Returns the current item of the `Iterator` and advances to the next one. This method is not required to check `hasNext()` first. A call to this method while `hasNext()` is `false` yields unspecified behavior. On the other hand, iterators should not require a call to `hasNext()` before the first call to `next()` if an element is available. Returns `false` if the iteration is complete, `true` otherwise. Usually iteration is considered to be complete if all elements of the underlying data structure were handled through calls to `next()`. However, in custom iterators any logic may be used to determine the completion state. An `Iterator` is a structure that permits iteration over elements of type `T`. Any class with matching `hasNext()` and `next()` fields is considered an `Iterator` and can then be used e.g. in `for`-loops. This makes it easy to implement custom iterators. @see https://haxe.org/manual/lf-iterators.html An `Iterable` is a data structure which has an `iterator()` method. See `Lambda` for generic functions on iterable structures. @see https://haxe.org/manual/lf-iterators.html A `KeyValueIterator` is an `Iterator` that has a key and a value. A `KeyValueIterable` is a data structure which has a `keyValueIterator()` method to iterate over key-value-pairs. `ArrayAccess` is used to indicate a class that can be accessed using brackets. The type parameter represents the type of the elements stored. This interface should be used for externs only. Haxe does not support custom array access on classes. However, array access can be implemented for abstract types. @see https://haxe.org/manual/types-abstract-array-access.html Returns the String corresponding to the character code `code`. If `code` is negative or has another invalid value, the result is unspecified. The number of characters in `this` String. Returns a String where all characters of `this` String are upper case. Returns a String where all characters of `this` String are lower case. Returns the character at position `index` of `this` String. If `index` is negative or exceeds `this.length`, the empty String `""` is returned. Returns the character code at position `index` of `this` String. If `index` is negative or exceeds `this.length`, `null` is returned. To obtain the character code of a single character, `"x".code` can be used instead to inline the character code at compile time. Note that this only works on String literals of length 1. Returns the position of the leftmost occurrence of `str` within `this` String. If `startIndex` is given, the search is performed within the substring of `this` String starting from `startIndex`. If `startIndex` exceeds `this.length`, -1 is returned. If `startIndex` is negative, the result is unspecifed. Otherwise the search is performed within `this` String. In either case, the returned position is relative to the beginning of `this` String. If `str` cannot be found, -1 is returned. Returns the position of the rightmost occurrence of `str` within `this` String. If `startIndex` is given, the search is performed within the substring of `this` String from 0 to `startIndex + str.length`. Otherwise the search is performed within `this` String. In either case, the returned position is relative to the beginning of `this` String. If `startIndex` is negative, the result is unspecifed. If `str` cannot be found, -1 is returned. Splits `this` String at each occurrence of `delimiter`. If `this` String is the empty String `""`, the result is not consistent across targets and may either be `[]` (on Js, Cpp) or `[""]`. If `delimiter` is the empty String `""`, `this` String is split into an Array of `this.length` elements, where the elements correspond to the characters of `this` String. If `delimiter` is not found within `this` String, the result is an Array with one element, which equals `this` String. If `delimiter` is null, the result is unspecified. Otherwise, `this` String is split into parts at each occurrence of `delimiter`. If `this` String starts (or ends) with `delimiter`, the result `Array` contains a leading (or trailing) empty String `""` element. Two subsequent delimiters also result in an empty String `""` element. Returns `len` characters of `this` String, starting at position `pos`. If `len` is omitted, all characters from position `pos` to the end of `this` String are included. If `pos` is negative, its value is calculated from the end of `this` String by `this.length + pos`. If this yields a negative value, 0 is used instead. If the calculated position + `len` exceeds `this.length`, the characters from that position to the end of `this` String are returned. If `len` is negative, the result is unspecified. Returns the part of `this` String from `startIndex` to but not including `endIndex`. If `startIndex` or `endIndex` are negative, 0 is used instead. If `startIndex` exceeds `endIndex`, they are swapped. If the (possibly swapped) `endIndex` is omitted or exceeds `this.length`, `this.length` is used instead. If the (possibly swapped) `startIndex` exceeds `this.length`, the empty String `""` is returned. Returns the String itself. Creates a copy from a given String. The basic String class. A Haxe String is immutable, it is not possible to modify individual characters. No method of this class changes the state of `this` String. Strings can be constructed using the String literal syntax `"string value"`. String can be concatenated by using the `+` operator. If an operand is not a String, it is passed through `Std.string()` first. @see https://haxe.org/manual/std-String.html The length of `this` StringBuf in characters. Appends the representation of `x` to `this` StringBuf. The exact representation of `x` may vary per platform. To get more consistent behavior, this function should be called with Std.string(x). If `x` is null, the String "null" is appended. Appends a substring of `s` to `this` StringBuf. This function expects `pos` and `len` to describe a valid substring of `s`, or else the result is unspecified. To get more robust behavior, `this.add(s.substr(pos,len))` can be used instead. If `s` or `pos` are null, the result is unspecified. If `len` is omitted or null, the substring ranges from `pos` to the end of `s`. Appends the character identified by `c` to `this` StringBuf. If `c` is negative or has another invalid value, the result is unspecified. Returns the content of `this` StringBuf as String. The buffer is not emptied by this operation. Creates a new StringBuf instance. This may involve initialization of the internal buffer. A String buffer is an efficient way to build a big string by appending small elements together. Unlike String, an instance of StringBuf is not immutable in the sense that it can be passed as argument to functions which modify it by appending more values. ".code, "&".code, "|".code, "\n".code, "\r".code, ",".code, ";".code]]]> Character codes of the characters that will be escaped by `quoteWinArg(_, true)`. Returns a String that can be used as a single command line argument on Unix. The input will be quoted, or escaped if necessary. Returns a String that can be used as a single command line argument on Windows. The input will be quoted, or escaped if necessary, such that the output will be parsed as a single argument using the rule specified in http://msdn.microsoft.com/en-us/library/ms880421 Examples: ```haxe quoteWinArg("abc") == "abc"; quoteWinArg("ab c") == '"ab c"'; ``` Encode an URL by using the standard format. Decode an URL using the standard format. ` becomes `>`; If `quotes` is true, the following characters are also replaced: - `"` becomes `"`; - `'` becomes `'`;]]> ` - `"` becomes `"` - `'` becomes `'`]]> Returns `true` if `s` contains `value` and `false` otherwise. When `value` is `null`, the result is unspecified. Tells if the string `s` starts with the string `start`. If `start` is `null`, the result is unspecified. If `start` is the empty String `""`, the result is true. Tells if the string `s` ends with the string `end`. If `end` is `null`, the result is unspecified. If `end` is the empty String `""`, the result is true. Tells if the character in the string `s` at position `pos` is a space. A character is considered to be a space character if its character code is 9,10,11,12,13 or 32. If `s` is the empty String `""`, or if pos is not a valid position within `s`, the result is false. Removes leading space characters of `s`. This function internally calls `isSpace()` to decide which characters to remove. If `s` is the empty String `""` or consists only of space characters, the result is the empty String `""`. Removes trailing space characters of `s`. This function internally calls `isSpace()` to decide which characters to remove. If `s` is the empty String `""` or consists only of space characters, the result is the empty String `""`. Removes leading and trailing space characters of `s`. This is a convenience function for `ltrim(rtrim(s))`. Concatenates `c` to `s` until `s.length` is at least `l`. If `c` is the empty String `""` or if `l` does not exceed `s.length`, `s` is returned unchanged. If `c.length` is 1, the resulting String length is exactly `l`. Otherwise the length may exceed `l`. If `c` is null, the result is unspecified. Appends `c` to `s` until `s.length` is at least `l`. If `c` is the empty String `""` or if `l` does not exceed `s.length`, `s` is returned unchanged. If `c.length` is 1, the resulting String length is exactly `l`. Otherwise the length may exceed `l`. If `c` is null, the result is unspecified. Replace all occurrences of the String `sub` in the String `s` by the String `by`. If `sub` is the empty String `""`, `by` is inserted after each character of `s` except the last one. If `by` is also the empty String `""`, `s` remains unchanged. If `sub` or `by` are null, the result is unspecified. Encodes `n` into a hexadecimal representation. If `digits` is specified, the resulting String is padded with "0" until its `length` equals `digits`. Returns the character code at position `index` of String `s`, or an end-of-file indicator at if `position` equals `s.length`. This method is faster than `String.charCodeAt()` on some platforms, but the result is unspecified if `index` is negative or greater than `s.length`. End of file status can be checked by calling `StringTools.isEof()` with the returned value as argument. This operation is not guaranteed to work if `s` contains the `\0` character. Returns the character code at position `index` of String `s`, or an end-of-file indicator at if `position` equals `s.length`. This method is faster than `String.charCodeAt()` on some platforms, but the result is unspecified if `index` is negative or greater than `s.length`. This operation is not guaranteed to work if `s` contains the `\0` character. Returns an iterator of the char codes. Note that char codes may differ across platforms because of different internal encoding of strings in different runtimes. For the consistent cross-platform UTF8 char codes see `haxe.iterators.StringIteratorUnicode`. Returns an iterator of the char indexes and codes. Note that char codes may differ across platforms because of different internal encoding of strings in different of runtimes. For the consistent cross-platform UTF8 char codes see `haxe.iterators.StringKeyValueIteratorUnicode`. Tells if `c` represents the end-of-file (EOF) character. "StringTools.quoteUnixArg() is deprecated. Use haxe.SysTools.quoteUnixArg() instead." Returns a String that can be used as a single command line argument on Unix. The input will be quoted, or escaped if necessary. cast haxe.SysTools.winMetaCharacters "StringTools.winMetaCharacters is deprecated. Use haxe.SysTools.winMetaCharacters instead." Character codes of the characters that will be escaped by `quoteWinArg(_, true)`. "StringTools.quoteWinArg() is deprecated. Use haxe.SysTools.quoteWinArg() instead." Returns a String that can be used as a single command line argument on Windows. The input will be quoted, or escaped if necessary, such that the output will be parsed as a single argument using the rule specified in http://msdn.microsoft.com/en-us/library/ms880421 Examples: ```haxe quoteWinArg("abc") == "abc"; quoteWinArg("ab c") == '"ab c"'; ``` 65536 This class provides advanced methods on Strings. It is ideally used with `using StringTools` and then acts as an [extension](https://haxe.org/manual/lf-static-extension.html) to the `String` class. If the first argument to any of the methods is null, the result is unspecified. Prints any value to the standard output. Prints any value to the standard output, followed by a newline. On Windows, this function outputs a CRLF newline. LF newlines are printed on all other platforms. sys.io.FileInput Returns the standard input of the process, from which user input can be read. Usually it will block until the user sends a full input line. See `getChar` for an alternative. sys.io.FileOutput Returns the standard output of the process, to which program output can be written. sys.io.FileOutput Returns the standard error of the process, to which program errors can be written. Reads a single input character from the standard input and returns it. Setting `echo` to `true` will also display the character on the output. Returns all the arguments that were passed in the command line. This does not include the interpreter or the name of the program file. (java)(eval) On Windows, non-ASCII Unicode arguments will not work correctly. (cs) Non-ASCII Unicode arguments will not work correctly. Returns the value of the given environment variable, or `null` if it doesn't exist. Sets the value of the given environment variable. (java) This functionality is not available on Java; calling this function will throw. Suspends execution for the given length of time (in seconds). Changes the current time locale, which will affect `DateTools.format` date formating. Returns `true` if the locale was successfully changed. Gets the current working directory (usually the one in which the program was started). Changes the current working directory. (java) This functionality is not available on Java; calling this function will throw. Returns the type of the current system. Possible values are: - `"Windows"` - `"Linux"` - `"BSD"` - `"Mac"` Runs the given command. The command output will be printed to the same output as the current process. The current process will block until the command terminates. The return value is the exit code of the command (usually `0` indicates no error). Command arguments can be passed in two ways: 1. Using `args` to pass command arguments. Each argument will be automatically quoted and shell meta-characters will be escaped if needed. `cmd` should be an executable name that can be located in the `PATH` environment variable, or a full path to an executable. 2. When `args` is not given or is `null`, command arguments can be appended to `cmd`. No automatic quoting/escaping will be performed. `cmd` should be formatted exactly as it would be when typed at the command line. It can run executables, as well as shell commands that are not executables (e.g. on Windows: `dir`, `cd`, `echo` etc). Use the `sys.io.Process` API for more complex tasks, such as background processes, or providing input to the command. Exits the current process with the given exit code. (macro)(eval) Being invoked in a macro or eval context (e.g. with `-x` or `--run`) immediately terminates the compilation process, which also prevents the execution of any `--next` sections of compilation arguments. Gives the most precise timestamp value available (in seconds), but only accounts for the actual time spent running on the CPU for the current thread/process. "Use programPath instead" Returns the path to the current executable that we are running. Returns the absolute path to the current program file that we are running. Concretely, for an executable binary, it returns the path to the binary. For a script (e.g. a PHP file), it returns the path to the script. Returns all environment variables. This class provides access to various base functions of system platforms. Look in the `sys` package for more system APIs. Returns the class of `o`, if `o` is a class instance. If `o` is null or of a different type, null is returned. In general, type parameter information cannot be obtained at runtime. `. If `o` is null, null is returned. In general, type parameter information cannot be obtained at runtime.]]> Returns the super-class of class `c`. If `c` has no super class, null is returned. If `c` is null, the result is unspecified. In general, type parameter information cannot be obtained at runtime. Returns the name of class `c`, including its path. If `c` is inside a package, the package structure is returned dot- separated, with another dot separating the class name: `pack1.pack2.(...).packN.ClassName` If `c` is a sub-type of a Haxe module, that module is not part of the package structure. If `c` has no package, the class name is returned. If `c` is null, the result is unspecified. The class name does not include any type parameters. Returns the name of enum `e`, including its path. If `e` is inside a package, the package structure is returned dot- separated, with another dot separating the enum name: `pack1.pack2.(...).packN.EnumName` If `e` is a sub-type of a Haxe module, that module is not part of the package structure. If `e` has no package, the enum name is returned. If `e` is null, the result is unspecified. The enum name does not include any type parameters. Resolves a class by name. If `name` is the path of an existing class, that class is returned. Otherwise null is returned. If `name` is null or the path to a different type, the result is unspecified. The class name must not include any type parameters. Resolves an enum by name. If `name` is the path of an existing enum, that enum is returned. Otherwise null is returned. If `name` is null the result is unspecified. If `name` is the path to a different type, null is returned. The enum name must not include any type parameters. Creates an instance of class `cl`, using `args` as arguments to the class constructor. This function guarantees that the class constructor is called. Default values of constructors arguments are not guaranteed to be taken into account. If `cl` or `args` are null, or if the number of elements in `args` does not match the expected number of constructor arguments, or if any argument has an invalid type, or if `cl` has no own constructor, the result is unspecified. In particular, default values of constructor arguments are not guaranteed to be taken into account. Creates an instance of class `cl`. This function guarantees that the class constructor is not called. If `cl` is null, the result is unspecified. Creates an instance of enum `e` by calling its constructor `constr` with arguments `params`. If `e` or `constr` is null, or if enum `e` has no constructor named `constr`, or if the number of elements in `params` does not match the expected number of constructor arguments, or if any argument has an invalid type, the result is unspecified. Creates an instance of enum `e` by calling its constructor number `index` with arguments `params`. The constructor indices are preserved from Haxe syntax, so the first declared is index 0, the next index 1 etc. If `e` or `constr` is null, or if enum `e` has no constructor named `constr`, or if the number of elements in `params` does not match the expected number of constructor arguments, or if any argument has an invalid type, the result is unspecified. Returns a list of the instance fields of class `c`, including inherited fields. This only includes fields which are known at compile-time. In particular, using `getInstanceFields(getClass(obj))` will not include any fields which were added to `obj` at runtime. The order of the fields in the returned Array is unspecified. If `c` is null, the result is unspecified. Returns a list of static fields of class `c`. This does not include static fields of parent classes. The order of the fields in the returned Array is unspecified. If `c` is null, the result is unspecified. Returns a list of the names of all constructors of enum `e`. The order of the constructor names in the returned Array is preserved from the original syntax. If `e` is null, the result is unspecified. Returns the runtime type of value `v`. The result corresponds to the type `v` has at runtime, which may vary per platform. Assumptions regarding this should be minimized to avoid surprises. Recursively compares two enum instances `a` and `b` by value. Unlike `a == b`, this function performs a deep equality check on the arguments of the constructors, if exists. If `a` or `b` are null, the result is unspecified. Returns the constructor name of enum instance `e`. The result String does not contain any constructor arguments. If `e` is null, the result is unspecified. Returns a list of the constructor arguments of enum instance `e`. If `e` has no arguments, the result is []. Otherwise the result are the values that were used as arguments to `e`, in the order of their declaration. If `e` is null, the result is unspecified. Returns the index of enum instance `e`. This corresponds to the original syntactic position of `e`. The index of the first declared constructor is 0, the next one is 1 etc. If `e` is null, the result is unspecified. Returns a list of all constructors of enum `e` that require no arguments. This may return the empty Array `[]` if all constructors of `e` require arguments. Otherwise an instance of `e` constructed through each of its non- argument constructors is returned, in the order of the constructor declaration. If `e` is null, the result is unspecified. The Haxe Reflection API allows retrieval of type information at runtime. This class complements the more lightweight Reflect class, with a focus on class and enum instances. @see https://haxe.org/manual/types.html @see https://haxe.org/manual/std-reflection.html The unsigned `Int` type is only defined for Flash and C#. Simulate it for other platforms. @see https://haxe.org/manual/types-basic-types.html A + B
A / B
A * B A - B B]]> = B]]> A | B A ^ B > B]]> >> B]]> A % B A + B A * B A / B A / B A - B A - B B]]> A == B A != B A == B A != B = B]]> B]]> = B]]> A % B A % B ~A ++A A++ --A A--
A + B
A / B
A * B A - B B]]> = B]]> A | B A ^ B > B]]> >> B]]> A % B A + B A * B A / B A / B A - B A - B B]]> A == B A != B A == B A != B = B]]> B]]> = B]]> A % B A % B ~A ++A A++ --A A--
This abstract provides consistent cross-target unicode support. @see https://haxe.org/manual/std-UnicodeString.html StringTools Tells if `b` is a correctly encoded UTF8 byte sequence. <_new public="1" get="inline" set="null" line="114" static="1"> Creates an instance of UnicodeString. Returns an iterator of the unicode code points. Returns an iterator of the code point indices and unicode code points. The number of characters in `this` String. Returns the character at position `index` of `this` String. If `index` is negative or exceeds `this.length`, the empty String `""` is returned. Returns the character code at position `index` of `this` String. If `index` is negative or exceeds `this.length`, `null` is returned. Returns the position of the leftmost occurrence of `str` within `this` String. If `startIndex` is given, the search is performed within the substring of `this` String starting from `startIndex` (if `startIndex` is posivite or 0) or `max(this.length + startIndex, 0)` (if `startIndex` is negative). If `startIndex` exceeds `this.length`, -1 is returned. Otherwise the search is performed within `this` String. In either case, the returned position is relative to the beginning of `this` String. If `str` cannot be found, -1 is returned. Returns the position of the rightmost occurrence of `str` within `this` String. If `startIndex` is given, the search is performed within the substring of `this` String from 0 to `startIndex + str.length`. Otherwise the search is performed within `this` String. In either case, the returned position is relative to the beginning of `this` String. If `str` cannot be found, -1 is returned. Returns `len` characters of `this` String, starting at position `pos`. If `len` is omitted, all characters from position `pos` to the end of `this` String are included. If `pos` is negative, its value is calculated from the end of `this` String by `this.length + pos`. If this yields a negative value, 0 is used instead. If the calculated position + `len` exceeds `this.length`, the characters from that position to the end of `this` String are returned. If `len` is negative, the result is unspecified. Returns the part of `this` String from `startIndex` to but not including `endIndex`. If `startIndex` or `endIndex` are negative, 0 is used instead. If `startIndex` exceeds `endIndex`, they are swapped. If the (possibly swapped) `endIndex` is omitted or exceeds `this.length`, `this.length` is used instead. If the (possibly swapped) `startIndex` exceeds `this.length`, the empty String `""` is returned. StringTools Tells if `b` is a correctly encoded UTF8 byte sequence. <_new public="1" get="inline" set="null" line="114" static="1"> Creates an instance of UnicodeString. Returns an iterator of the unicode code points. Returns an iterator of the code point indices and unicode code points. The number of characters in `this` String. Returns the character at position `index` of `this` String. If `index` is negative or exceeds `this.length`, the empty String `""` is returned. Returns the character code at position `index` of `this` String. If `index` is negative or exceeds `this.length`, `null` is returned. Returns the position of the leftmost occurrence of `str` within `this` String. If `startIndex` is given, the search is performed within the substring of `this` String starting from `startIndex` (if `startIndex` is posivite or 0) or `max(this.length + startIndex, 0)` (if `startIndex` is negative). If `startIndex` exceeds `this.length`, -1 is returned. Otherwise the search is performed within `this` String. In either case, the returned position is relative to the beginning of `this` String. If `str` cannot be found, -1 is returned. Returns the position of the rightmost occurrence of `str` within `this` String. If `startIndex` is given, the search is performed within the substring of `this` String from 0 to `startIndex + str.length`. Otherwise the search is performed within `this` String. In either case, the returned position is relative to the beginning of `this` String. If `str` cannot be found, -1 is returned. Returns `len` characters of `this` String, starting at position `pos`. If `len` is omitted, all characters from position `pos` to the end of `this` String are included. If `pos` is negative, its value is calculated from the end of `this` String by `this.length + pos`. If this yields a negative value, 0 is used instead. If the calculated position + `len` exceeds `this.length`, the characters from that position to the end of `this` String are returned. If `len` is negative, the result is unspecified. Returns the part of `this` String from `startIndex` to but not including `endIndex`. If `startIndex` or `endIndex` are negative, 0 is used instead. If `startIndex` exceeds `endIndex`, they are swapped. If the (possibly swapped) `endIndex` is omitted or exceeds `this.length`, `this.length` is used instead. If the (possibly swapped) `startIndex` exceeds `this.length`, the empty String `""` is returned. StringTools Xml node types. @see https://haxe.org/manual/std-Xml.html cast 0 Represents an XML element type. cast 1 Represents XML parsed character data type. cast 2 Represents XML character data type. cast 3 Represents an XML comment type. cast 4 Represents an XML doctype element type. cast 5 Represents an XML processing instruction type. cast 6 Represents an XML document type. cast 0 Represents an XML element type. cast 1 Represents XML parsed character data type. cast 2 Represents XML character data type. cast 3 Represents an XML comment type. cast 4 Represents an XML doctype element type. cast 5 Represents an XML processing instruction type. cast 6 Represents an XML document type. XmlType.Element XML element type. XmlType.PCData XML parsed character data type. XmlType.CData XML character data type. XmlType.Comment XML comment type. XmlType.DocType XML doctype element type. XmlType.ProcessingInstruction XML processing instruction type. XmlType.Document XML document type. Parses the String into an Xml document. Creates a node of the given type. Creates a node of the given type. Creates a node of the given type. Creates a node of the given type. Creates a node of the given type. Creates a node of the given type. Creates a node of the given type. Returns the type of the Xml Node. This should be used before accessing other functions since some might raise an exception if the node type is not correct. Returns the node name of an Element. Returns the node value. Only works if the Xml node is not an Element or a Document. Returns the parent object in the Xml hierarchy. The parent can be `null`, an Element or a Document. Get the given attribute of an Element node. Returns `null` if not found. Attributes are case-sensitive. Set the given attribute value for an Element node. Attributes are case-sensitive. Removes an attribute for an Element node. Attributes are case-sensitive. Tells if the Element node has a given attribute. Attributes are case-sensitive. Returns an `Iterator` on all the attribute names. Returns an iterator of all child nodes. Only works if the current node is an Element or a Document. Returns an iterator of all child nodes which are Elements. Only works if the current node is an Element or a Document. Returns an iterator of all child nodes which are Elements with the given nodeName. Only works if the current node is an Element or a Document. Returns the first child node. Returns the first child node which is an Element. Adds a child node to the Document or Element. A child node can only be inside one given parent node, which is indicated by the `parent` property. If the child is already inside this Document or Element, it will be moved to the last position among the Document or Element's children. If the child node was previously inside a different node, it will be moved to this Document or Element. Removes a child from the Document or Element. Returns true if the child was successfuly removed. Inserts a child at the given position among the other childs. A child node can only be inside one given parent node, which is indicated by the [parent] property. If the child is already inside this Document or Element, it will be moved to the new position among the Document or Element's children. If the child node was previously inside a different node, it will be moved to this Document or Element. Returns a String representation of the Xml node. Cross-platform Xml API. @see https://haxe.org/manual/std-Xml.html hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Array with all frames of this collection. * Number of frames in this collection. * Hash of frames for this frame collection. * Used only in `FlxAtlasFrames` and `FlxBitmapFont` (not implemented yet), * but you can try to use it for other types of collections * (give names to your frames). * Graphic object this frames belongs to. * Type of this frame collection. * Used for faster type detection (less casting). * How much space was trimmed around the original frames. * Use `addBorder()` to add borders. * Finds a frame in `framesHash` by its name. * * @param name The name of the frame to find. * @return Frame with specified name (if there is one). * Finds frame in frames array by its index. * * @param index Index of the frame in the frames array. * @return Frame with specified index in this frames collection (if there is one). * Finds frame index by its name. * * @param name Name of the frame. * @return Index of the frame with specified name. * Finds the index of the specified frame in the frames array. * * @param frame Frame to find. * @return Index of the specified frame. * Adds empty frame into this frame collection. * An empty frame is doing almost nothing for all the time. * * @param size Dimensions of the frame to add. * @return Newly added empty frame. * Adds new regular (not rotated) `FlxFrame` to this frame collection. * * @param region Region of image which new frame will display. * @return Newly created `FlxFrame` object for specified region of image. { flipY : false, flipX : false, angle : 0 } * Adds new frame to this frame collection. * This method runs additional check, and can add rotated frames (from texture atlases). * * @param frame Region of image. * @param sourceSize Original size of packed image * (if image had been cropped, then original size will be bigger than frame size). * @param offset How frame region is located on original frame image * (offset from top left corner of original image). * @param name Name for this frame (name of packed image file). * @param angle Rotation of packed image (can be `0`, `90` or `-90`). * @param flipX If packed image should be horizontally flipped. * @param flipY If packed image should be vertically flipped. * @return Newly created and added frame object. * Checks if frame's area fits into atlas image, and trims if it's out of atlas image bounds. * * @param frame Frame area to check. * @param name Optional frame name for debugging info. * @return Checked and trimmed frame rectangle. * Helper method for a adding frame to the collection. * * @param frameObj Frame to add. * @return Added frame. * Generates new frames collection from this collection but trims frames by specified borders. * * @param border How much space trim around the frames. * @return Generated frames collection. * Base class for all frame collections. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() { _excludeArray : null } * Creates Frames from TextureAtlas(very early and broken ok) Originally made for FNF HD by Smokey and Rozebud * * @param key The file path. * @param _excludeArray Use this to only create selected animations. Keep null to create all of them. * "loop" "playonce" "singleframe" "loop" "playonce" "singleframe" "graphic" "movieclip" "graphic" "movieclip" * All data needed for the json importer + some extra for after parsing. * Stolen mostly from https://github.com/TomByrne/Starling-Extension-Adobe-Animate-Hx/blob/master/hx/src/starling/extensions/animate/AnimationAtlasData.hx "___atlas_sprite___" { m00 : 1, m01 : 0, m02 : 0, m03 : 0, m10 : 0, m11 : 1, m12 : 0, m13 : 0, m20 : 0, m21 : 0, m22 : 1, m23 : 0, m30 : 0, m31 : 0, m32 : 0, m33 : 1 } <_atlas> <_symbolData> <_symbolPool> <_defaultSymbolName> <_texture> { symbol : null } { prefix : "" } animateatlas AtlasFrameMaker * Performance will be REALLY BAD. * Consider using TileAnimationLibrary whenever possible. <_framerate expr="null"> null 0 openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() animateatlas.displayobject.SpriteSymbol <__identity expr="new Matrix3()" line="56" static="1"> new Matrix3() The matrix a component, used in scaling and skewing (default is 1) The matrix b component, used in rotation and skewing (default is 0) The matrix c component, used in rotation and skewing (default is 0) The matrix d component, used in scaling and skewing (default is 1) The matrix tx component, used in translation (default is 0) The matrix ty component, used in translation (default is 0) Creates a duplicate of the current `Matrix3` @return A duplicate `Matrix3` instance Concatenates the values of a second matrix to the current `Matrix3`, combining the effects of both. This is the same as matrix multiplication. The second matrix is not modified. @param m A second `Matrix3` to concatenate to the current instance Copies the `x` and `y` components from a `Vector4` instance to the `a`/`c`, `b`/`d` or the `tx`/`ty` column of the current matrix @param column The column to copy into (0, 1 or 2) @param vector4 The `Vector4` instance to copy from Copies a column of the current matrix into a `Vector4` instance. The `w` value will not be modified. @param column The column to copy from (0, 1 or 2) @param vector4 The `Vector4` instance to copy to Copies the values of another `Matrix3` and applies it to the current instance @param sourceMatrix3 The `Matrix3` to copy from Copies the values of a `Vector4` instance into a row of the current matrix @param row The row to copy into (0 or 1) @param vector4 The `Vector4` instance to copy from Copies a row of the current matrix into a `Vector4` instance. The `w` value will not be modified. @param row The row to copy into (0, 1 or 2) @param vector4 The `Vector4` instance to copy from { ty : 0, tx : 0, rotation : 0 } Applies a two-dimensional transformation to the current matrix. This is the same as calling `identity()`, `rotate()`, `scale()` then `translate()` with these values. @param scaleX An x scale transformation value @param scaleY A y scale transformation value @param rotation (Optional) A rotation value (default is 0) @param tx (Optional) A translate x value (default is 0) @param ty (Optional) A translate y value (default is 0) { ty : 0, tx : 0, rotation : 0 } Creates a matrix to use for a linear gradient fill @param width The width of the gradient fill @param height The height of the gradient fill @param rotation (Optional) A rotation for the gradient fill (default is 0) @param tx (Optional) An x offset for the gradient fill (default is 0) @param ty (Optional) A y offset for the gradient fill (default is 0) @return A new `Matrix` instance Check if two matrices have the same values @return Whether both matrices are equal { result : null } Transforms a `Vector2` instance by the current matrix, without considering the `tx` and `ty` values of the matrix @param result (Optional) An existing `Vector2` instance to fill with the result @return A new `Vector2` instance representing the transformed values Resets the matrix to default identity values Inverts the values of the current matrix @return The current matrix instance Applies rotation to the current matrix @param theta A rotation value in degrees Scales the current matrix @param sx The x scale to apply @param sy The y scale to apply { scale : 1 } Sets the values of the current matrix @param a The new matrix a value @param b The new matrix b value @param c The new matrix c value @param d The new matrix d value @param tx The new matrix tx value @param ty The new matrix ty value { roundPixels : false } hide hide { result : null } Transforms a `Rectangle` instance by the current matrix and returns `Rectangle` with the bounds of the transformed rectangle. @param transform A `Matrix3` instance to transform by @param result (Optional) A `Rectangle` instance to use for the result @return A `Rectangle` represented the transformed bounds { result : null } Transforms a `Vector2` instance by the current matrix @param result (Optional) An existing `Vector2` instance to fill with the result @return A new `Vector2` instance representing the transformed values Adjusts the `tx` and `ty` of the current matrix @param dx The x amount to translate @param dy The y amount to translate { ty : 0, tx : 0, d : 1, c : 0, b : 0, a : 1 } Creates a new `Matrix` instance @param a (Optional) An initial a component value (default is 1) @param b (Optional) An initial b component value (default is 0) @param c (Optional) An initial c component value (default is 0) @param d (Optional) An initial d component value (default is 1) @param tx (Optional) An initial tx component value (default is 0) @param ty (Optional) An initial ty component value (default is 0) `Matrix3` is a 3x3 transformation matrix particularly useful for two-dimensional transformation. It can be used for rotation, scale and skewing of a two-dimensional object. Although a 3x3 matrix is represented, configurable values can be considered as a 3x2 matrix: ``` [ a, c, tx ] [ c, d, ty ] [ 0, 0, 1 ] ``` "tags=\"haxe,release\"" <__identity expr="new Matrix()" line="76" static="1"> new Matrix() <__pool expr="new ObjectPool<Matrix>(function() return new Matrix(), function(m) m.identity())" line="77" static="1"> (function() return new Matrix(), function(m) m.identity())]]> <__matrix3 expr="new Matrix3()" line="79" static="1"> new Matrix3() The value that affects the positioning of pixels along the _x_ axis when scaling or rotating an image. The value that affects the positioning of pixels along the _y_ axis when rotating or skewing an image. The value that affects the positioning of pixels along the _x_ axis when rotating or skewing an image. The value that affects the positioning of pixels along the _y_ axis when scaling or rotating an image. The distance by which to translate each point along the _x_ axis. The distance by which to translate each point along the _y_ axis. <__array> Returns a new Matrix object that is a clone of this matrix, with an exact copy of the contained object. @return A Matrix object. Concatenates a matrix with the current matrix, effectively combining the geometric effects of the two. In mathematical terms, concatenating two matrixes is the same as combining them using matrix multiplication. For example, if matrix `m1` scales an object by a factor of four, and matrix `m2` rotates an object by 1.5707963267949 radians(`Math.PI/2`), then `m1.concat(m2)` transforms `m1` into a matrix that scales an object by a factor of four and rotates the object by `Math.PI/2` radians. This method replaces the source matrix with the concatenated matrix. If you want to concatenate two matrixes without altering either of the two source matrixes, first copy the source matrix by using the `clone()` method, as shown in the Class Examples section. @param m The matrix to be concatenated to the source matrix. Copies a Vector3D object into specific column of the calling Matrix3D object. @param column The column from which to copy the data from. @param vector3D The Vector3D object from which to copy the data. Copies specific column of the calling Matrix object into the Vector3D object. The `w` element of the Vector3D object will not be changed. @param column The column from which to copy the data from. @param vector3D The Vector3D object from which to copy the data. Copies all of the matrix data from the source Point object into the calling Matrix object. @param sourceMatrix The Matrix object from which to copy the data. Copies a Vector3D object into specific row of the calling Matrix object. @param row The row from which to copy the data from. @param vector3D The Vector3D object from which to copy the data. Copies specific row of the calling Matrix object into the Vector3D object. The `w` element of the Vector3D object will not be changed. @param row The row from which to copy the data from. @param vector3D The Vector3D object from which to copy the data. { ty : 0, tx : 0, rotation : 0 } Includes parameters for scaling, rotation, and translation. When applied to a matrix it sets the matrix's values based on those parameters. Using the `createBox()` method lets you obtain the same matrix as you would if you applied the `identity()`, `rotate()`, `scale()`, and `translate()` methods in succession. For example, `mat1.createBox(2,2,Math.PI/4, 100, 100)` has the same effect as the following: ```haxe import openfl.geom.Matrix; var mat1 = new Matrix(); mat1.identity(); mat1.rotate(Math.PI/4); mat1.scale(2,2); mat1.translate(10,20); ``` @param scaleX The factor by which to scale horizontally. @param scaleY The factor by which scale vertically. @param rotation The amount to rotate, in radians. @param tx The number of pixels to translate (move) to the right along the _x_ axis. @param ty The number of pixels to translate (move) down along the _y_ axis. { ty : 0, tx : 0, rotation : 0 } Creates the specific style of matrix expected by the `beginGradientFill()` and `lineGradientStyle()` methods of the Graphics class. Width and height are scaled to a `scaleX`/`scaleY` pair and the `tx`/`ty` values are offset by half the width and height. For example, consider a gradient with the following characteristics: * `GradientType.LINEAR` * Two colors, green and blue, with the ratios array set to `[0, 255]` * `SpreadMethod.PAD` * `InterpolationMethod.LINEAR_RGB` The following illustrations show gradients in which the matrix was defined using the `createGradientBox()` method with different parameter settings: | `createGradientBox()` settings | Resulting gradient | | --- | --- | | `width = 25; height = 25; rotation = 0; tx = 0; ty = 0;` | ![resulting linear gradient](/images/createGradientBox-1.jpg) | | `width = 25; height = 25; rotation = 0; tx = 25; ty = 0;` | ![resulting linear gradient](/images/createGradientBox-2.jpg) | | `width = 50; height = 50; rotation = 0; tx = 0; ty = 0;` | ![resulting linear gradient](/images/createGradientBox-3.jpg) | | `width = 50; height = 50; rotation = Math.PI / 4; // 45 degrees tx = 0; ty = 0;` | ![resulting linear gradient](/images/createGradientBox-4.jpg) | @param width The width of the gradient box. @param height The height of the gradient box. @param rotation The amount to rotate, in radians. @param tx The distance, in pixels, to translate to the right along the _x_ axis. This value is offset by half of the `width` parameter. @param ty The distance, in pixels, to translate down along the _y_ axis. This value is offset by half of the `height` parameter. Given a point in the pretransform coordinate space, returns the coordinates of that point after the transformation occurs. Unlike the standard transformation applied using the `transformPoint()` method, the `deltaTransformPoint()` method's transformation does not consider the translation parameters `tx` and `ty`. @param point The point for which you want to get the result of the matrix transformation. @return The point resulting from applying the matrix transformation. hide "checkstyle:FieldDocComment" Sets each matrix property to a value that causes a null transformation. An object transformed by applying an identity matrix will be identical to the original. After calling the `identity()` method, the resulting matrix has the following properties: `a`=1, `b`=0, `c`=0, `d`=1, `tx`=0, `ty`=0. In matrix notation, the identity matrix looks like this: ![Matrix class properties in matrix notation](/images/matrix_identity.jpg) Performs the opposite transformation of the original matrix. You can apply an inverted matrix to an object to undo the transformation performed when applying the original matrix. Applies a rotation transformation to the Matrix object. The `rotate()` method alters the `a`, `b`, `c`, and `d` properties of the Matrix object. In matrix notation, this is the same as concatenating the current matrix with the following: ![Matrix notation of scale method parameters](/images/matrix_rotate.jpg) @param angle The rotation angle in radians. Applies a scaling transformation to the matrix. The _x_ axis is multiplied by `sx`, and the _y_ axis it is multiplied by `sy`. The `scale()` method alters the `a` and `d` properties of the Matrix object. In matrix notation, this is the same as concatenating the current matrix with the following matrix: ![Matrix notation of scale method parameters](/images/matrix_scale.jpg) @param sx A multiplier used to scale the object along the _x_ axis. @param sy A multiplier used to scale the object along the _y_ axis. { scale : 1 } Sets the members of Matrix to the specified values @param aa the values to set the matrix to. @param ba @param ca @param da @param txa @param tya { roundPixels : false } "checkstyle:FieldDocComment" hide "checkstyle:FieldDocComment" hide Returns a text value listing the properties of the Matrix object. @return A string containing the values of the properties of the Matrix object: `a`, `b`, `c`, `d`, `tx`, and `ty`. Returns the result of applying the geometric transformation represented by the Matrix object to the specified point. @param point The point for which you want to get the result of the Matrix transformation. @return The point resulting from applying the Matrix transformation. Translates the matrix along the _x_ and _y_ axes, as specified by the `dx` and `dy` parameters. @param dx The amount of movement along the _x_ axis to the right, in pixels. @param dy The amount of movement down along the _y_ axis, in pixels. { transpose : false } <__cleanValues get="inline" set="null" line="740"> <__toMatrix3 set="method" line="751"> <__transformInversePoint get="inline" set="null" line="758"> <__transformInverseX get="inline" set="null" line="775"> <__transformInverseY get="inline" set="null" line="789"> <__transformPoint get="inline" set="null" line="803"> <__transformX get="inline" set="null" line="812"> <__transformY get="inline" set="null" line="817"> <__translateTransformed get="inline" set="null" line="822"> { ty : 0, tx : 0, d : 1, c : 0, b : 0, a : 1 } Creates a new Matrix object with the specified parameters. In matrix notation, the properties are organized like this: ![Matrix class properties in matrix notation showing assumed values for u, v, and w](/images/matrix_props2.jpg) If you do not provide any parameters to the `new Matrix()` constructor, it creates an _identity matrix_ with the following values: | `a = 1` | `b = 0` | | `c = 0` | `d = 1` | | `tx = 0` | `ty = 0` | In matrix notation, the identity matrix looks like this: ![Matrix class properties in matrix notation](/images/matrix_identity.jpg) @param a The value that affects the positioning of pixels along the _x_ axis when scaling or rotating an image. @param b The value that affects the positioning of pixels along the _y_ axis when rotating or skewing an image. @param c The value that affects the positioning of pixels along the _x_ axis when rotating or skewing an image. @param d The value that affects the positioning of pixels along the _y_ axis when scaling or rotating an image.. @param tx The distance by which to translate each point along the _x_ axis. @param ty The distance by which to translate each point along the _y_ axis. The Matrix class represents a transformation matrix that determines how to map points from one coordinate space to another. You can perform various graphical transformations on a display object by setting the properties of a Matrix object, applying that Matrix object to the `matrix` property of a Transform object, and then applying that Transform object as the `transform` property of the display object. These transformation functions include translation (_x_ and _y_ repositioning), rotation, scaling, and skewing. Together these types of transformations are known as _affine transformations_. Affine transformations preserve the straightness of lines while transforming, so that parallel lines stay parallel. To apply a transformation matrix to a display object, you create a Transform object, set its `matrix` property to the transformation matrix, and then set the `transform` property of the display object to the Transform object. Matrix objects are also used as parameters of some methods, such as the following: * The `draw()` method of a BitmapData object * The `beginBitmapFill()` method, `beginGradientFill()` method, or `lineGradientStyle()` method of a Graphics object A transformation matrix object is a 3 x 3 matrix with the following contents: ![Matrix class properties in matrix notation](/images/matrix_props1.jpg) In traditional transformation matrixes, the `u`, `v`, and `w` properties provide extra capabilities. The Matrix class can only operate in two-dimensional space, so it always assumes that the property values `u` and `v` are 0.0, and that the property value `w` is 1.0. The effective values of the matrix are as follows: ![Matrix class properties in matrix notation showing assumed values for u, v, and w](/images/matrix_props2.jpg) You can get and set the values of all six of the other properties in a Matrix object: `a`, `b`, `c`, `d`, `tx`, and `ty`. The Matrix class supports the four major types of transformations: translation, scaling, rotation, and skewing. You can set three of these transformations by using specialized methods, as described in the following table: | Transformation | Method | Matrix values | Display result | Description | | --- | --- | --- | --- | --- | | Translation (displacement) | `translate(tx, ty)` | ![Matrix notation of translate method parameters](/images/matrix_translate.jpg) | ![Illustration of translate method effects](/images/matrix_translate_image.jpg) | Moves the image `tx` pixels to the right and `ty` pixels down. | | Scaling | `scale(sx, sy)` | ![Matrix notation of scale method parameters](/images/matrix_scale.jpg) | ![Illustration of scale method effects](/images/matrix_scale_image.jpg) | Resizes the image, multiplying the location of each pixel by `sx` on the _x_ axis and `sy` on the _y_ axis. | | Rotation | `rotate(q)` | ![Matrix notation of rotate method properties](/images/matrix_rotate.jpg) | ![Illustration of rotate method effects](/images/matrix_rotate_image.jpg) | Rotates the image by an angle `q`, which is measured in radians. | | Skewing or shearing | None; must set the properties `b` and `c` | ![Matrix notation of skew function properties](/images/matrix_skew.jpg) | ![Illustration of skew function effects](/images/matrix_skew_image.jpg) | Progressively slides the image in a direction parallel to the _x_ or _y_ axis. The `b` property of the Matrix object represents the tangent of the skew angle along the _y_ axis; the `c` property of the Matrix object represents the tangent of the skew angle along the _x_ axis. | Each transformation function alters the current matrix properties so that you can effectively combine multiple transformations. To do this, you call more than one transformation function before applying the matrix to its display object target (by using the `transform` property of that display object). Use the `new Matrix()` constructor to create a Matrix object before you can call the methods of the Matrix object. "tags=\"haxe,release\"" new Matrix() <_data> <_library> <_symbolName> <_type> <_loopMode> <_currentFrame> <_composedFrame> <_bitmap> <_numFrames> <_numLayers> <_frameLabels> <_colorTransform> <_layers> <_texture> <_tempRect expr="new Rectangle()"> new Rectangle() <_zeroPoint expr="new Point(0, 0)"> new Point(0, 0) true { direction : 1 } Moves all movie clips n frames, recursively. animateatlas animateatlas animateatlas <_getFrameLabels set="method" line="379"> { afterLabel : null } openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() "http://www.away3d.com" 4 1 6 * Helper class to track a few important library constants. "default" <_originalName> <_namespace> <_name> <_id> <_full_path> name, which may * have changed due to of a name conflict.]]> { overrideOriginal : true, ns : null } { name : null } * The name of the asset. * The id of the asset. * The namespace of the asset. This allows several assets with the same name to coexist in different contexts. * The type of the asset. * The full path of the asset. { overrideOriginal : true, ns : null } * Cleans up resources used by this asset. <_usesCPU> <_animations expr="new Vector<AnimationNodeBase>()"> ()]]> <_animationNames expr="new Vector<String>()"> ()]]> <_animationDictionary expr="new Map<String,AnimationNodeBase>()"> ()]]> { excludeAnother : null } * Retrieves a temporary GPU register that's still free. * * @param exclude An array of non-free temporary registers. * @param excludeAnother An additional register that's not free. * @return A temporary register that can be used. * Indicates whether the properties of the animation data contained within the set combined with * the vertex registers aslready in use on shading materials allows the animation data to utilise * GPU calls. away3d * Called by the material to reset the GPU indicator before testing whether register space in the shader * is available for running GPU-based animation code. * * @private * @inheritDoc * Returns a vector of animation state objects that make up the contents of the animation data set. * Returns a vector of animation state objects that make up the contents of the animation data set. * Check to determine whether a state is registered in the animation set under the given name. * * @param stateName The name of the animation state object to be checked. * Retrieves the animation state object registered in the animation data set under the given name. * * @param stateName The name of the animation state object to be retrieved. * Adds an animation state object to the aniamtion data set under the given name. * * @param stateName The name under which the animation state object will be stored. * @param animationState The animation state object to be staored in the set. * Cleans up any resources used by the current object. * Provides an abstract base class for data set classes that hold animation data for use in animator classes. * * @see away3d.animators.AnimatorBase <_broadcaster expr="new Sprite()"> new Sprite() <_isPlaying> <_autoUpdate expr="true"> true <_startEvent> <_stopEvent> <_cycleEvent> <_time expr="0"> 0 <_playbackSpeed expr="1"> 1 <_animationSet> <_owners expr="new Vector<Mesh>()"> ()]]> <_activeNode> <_activeState> <_activeAnimationName> <_absoluteTime expr="0"> 0 <_animationStates expr="new Map()"> new Map() true * Enables translation of the animated mesh from data returned per frame via the positionDelta property of the active animation node. Defaults to true. * * @see away3d.animators.states.IAnimationState#positionDelta * Returns the internal absolute time of the animator, calculated by the current time and the playback speed. * * @see #time * @see #playbackSpeed * Returns the animation data set in use by the animator. * Returns the current active animation state. * Returns the current active animation node. * Returns the current active animation node. time property or update() method. * Defaults to true. * * @see #time * @see #update()]]> * Gets and sets the internal time clock of the animator. * Sets the animation phase of the current active state's animation clip(s). * * @param value The phase value to use. 0 represents the beginning of an animation clip, 1 represents the end. * The amount by which passed time should be scaled. Used to slow down or speed up animations. Defaults to 1. * Resumes the automatic playback clock controling the active state of the animator. time property or update() method. * * @see #time * @see #update()]]> * Provides a way to manually update the active state of the animator when automatic * updates are disabled. * * @see #stop() * @see #autoUpdate { offset : 0 } away3d * Used by the mesh object to which the animator is applied, registers the owner for internal use. * * @private away3d * Used by the mesh object from which the animator is removed, unregisters the owner for internal use. * * @private away3d * Internal abstract method called when the time delta property of the animator's contents requires updating. * * @private { event : null } * Enter frame event handler for automatically updating the active state of the animator. away3d * for internal use. * * @private * @inheritDoc * @inheritDoc AnimatorBase object. * * @param animationSet The animation data set to be used by the animator object.]]> * Check to determine whether a state is registered in the animation set under the given name. * * @param stateName The name of the animation state object to be checked. * Retrieves the animation state object registered in the animation data set under the given name. * * @param stateName The name of the animation state object to be retrieved. * Indicates whether the properties of the animation data contained within the set combined with * the vertex registers aslready in use on shading materials allows the animation data to utilise * GPU calls. away3d * Called by the material to reset the GPU indicator before testing whether register space in the shader * is available for running GPU-based animation code. * * @private away3d * Called by the animator to void the GPU indicator when register space in the shader * is no longer available for running GPU-based animation code. * * @private away3d * Generates the AGAL Vertex code for the animation, tailored to the material pass's requirements. * * @param pass The MaterialPassBase object to whose vertex code the animation's code will be prepended. * @sourceRegisters The animatable attribute registers of the material pass. * @targetRegisters The animatable target registers of the material pass. * @return The AGAL Vertex code that animates the vertex data. * * @private away3d * Generates the AGAL Fragment code for the animation, tailored to the material pass's requirements. * * @param pass The MaterialPassBase object to whose vertex code the animation's code will be prepended. * @return The AGAL Vertex code that animates the vertex data. * * @private away3d * Generates the extra AGAL Fragment code for the animation when UVs are required, tailored to the material pass's requirements. * * @param pass The MaterialPassBase object to whose vertex code the animation's code will be prepended. * @param UVSource String representing the UV source register. * @param UVTarget String representing the UV target register. * @return The AGAL UV code that animates the UV data. * * @private away3d * Resets any constants used in the creation of AGAL for the vertex and fragment shaders. * * @param pass The material pass currently being used to render the geometry. * * @private away3d * Sets the GPU render state required by the animation that is independent of the rendered mesh. * * @param stage3DProxy The proxy currently performing the rendering. * @param pass The material pass currently being used to render the geometry. * * @private away3d * Clears the GPU render state that has been set by the current animation. * * @param stage3DProxy The proxy currently performing the rendering. * @param pass The material pass currently being used to render the geometry. * * @private * Provides an interface for data set classes that hold animation data for use in animator classes. * * @see away3d.animators.IAnimator * Returns the animation data set in use by the animator. * Sets the GPU render state required by the animation that is dependent of the rendered object. * * @param stage3DProxy The Stage3DProxy object which is currently being used for rendering. * @param renderable The object currently being rendered. * @param vertexConstantOffset The first available vertex register to write data to if running on the gpu. * @param vertexStreamOffset The first available vertex stream to write vertex data to if running on the gpu. * Verifies if the animation will be used on cpu. Needs to be true for all passes for a material to be able to use it on gpu. * Needs to be called if gpu code is potentially required. away3d * Used by the mesh object to which the animator is applied, registers the owner for internal use. * * @private away3d * Used by the mesh object from which the animator is removed, unregisters the owner for internal use. * * @private * Returns a shallow clone (re-using the same IAnimationSet) of this IAnimator. AnimationSetBase. * * @see away3d.animators.IAnimationSet]]> 9 * Property used by particle nodes that require compilation at the end of the shader 18 * Property used by particle nodes that require color compilation <_animationRegisterCache> away3d @private <_timeNode> <_animationSubGeometries expr="new Map()"> new Map() <_particleNodes expr="new Vector<ParticleNodeBase>()"> ()]]> <_localDynamicNodes expr="new Vector<ParticleNodeBase>()"> ()]]> <_localStaticNodes expr="new Vector<ParticleNodeBase>()"> ()]]> <_totalLenOfOneVertex expr="0"> 0 * function initParticleFunc(prop:ParticleProperties):void * { * //code for settings local properties * } * * * Aside from setting any properties required in particle animation nodes using local static properties, the initParticleFunc function * is required to time node requirements as they may be needed. These properties on the ParticleProperties object can include * startTime, duration and delay. The use of these properties is determined by the setting * arguments passed in the constructor of the particle animation set. By default, only the startTime property is required.]]> * Returns a vector of the particle animation nodes contained within the set. * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc away3d @private { usesDelay : false, usesLooping : false, usesDuration : false } ParticleAnimationSet * * @param [optional] usesDuration Defines whether the animation set uses the duration data in its static properties function to determine how long a particle is visible for. Defaults to false. * @param [optional] usesLooping Defines whether the animation set uses a looping timeframe for each particle determined by the startTime, duration and delay data in its static properties function. Defaults to false. Requires usesDuration to be true. * @param [optional] usesDelay Defines whether the animation set uses the delay data in its static properties function to determine how long a particle is hidden for. Defaults to false. Requires usesLooping to be true.]]> * The animation data set used by particle-based animators, containing particle animation data. * * @see away3d.animators.ParticleAnimator <_particleAnimationSet public="1"> <_animationParticleStates expr="new Vector<ParticleStateBase>()"> ()]]> <_animatorParticleStates expr="new Vector<ParticleStateBase>()"> ()]]> <_timeParticleStates expr="new Vector<ParticleStateBase>()"> ()]]> <_totalLenOfOneVertex expr="0"> 0 <_animatorSubGeometries expr="new Map()"> new Map() * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc { offset : 0 } * @inheritDoc ParticleAnimator object. * * @param particleAnimationSet The animation data set containing the particle animations used by the animator.]]> * Provides an interface for assigning paricle-based animation data sets to mesh-based entity objects * and controlling the various available states of animation through an interative playhead that can be * automatically updated or manually triggered. * * Requires that the containing geometry of the parent mesh is particle geometry * * @see away3d.core.base.ParticleGeometry <_path> <_time> <_index expr="0"> 0 <_rotations> <_alignToPath> <_target> <_lookAtTarget> <_offset> <_tmpOffset> <_position expr="new Vector3D()"> new Vector3D() <_lastTime> <_from> <_to> <_bRange> <_bSegment> <_bCycle> <_lastSegment expr="0"> 0 <_rot> <_upAxis expr="new Vector3D(0, 1, 0)"> new Vector3D(0, 1, 0) <_basePosition expr="new Vector3D(0, 0, 0)"> new Vector3D(0, 0, 0) { z : 0, y : 0, x : 0 } Path object for parallel animations]]> * Calculates the new position and set the object on the path accordingly * * @param t A Number from 0 to 1 (less than one to allow alignToPath) * Updates a position Vector3D on the path at a given time. Do not use this handler to animate, it's in there to add dummy's or place camera before or after * the animated object. Use the update() or the automatic tweened animateOnPath() handlers instead. * * @param t Number. A Number from 0 to 1 * @param out Vector3D. The Vector3D to update according to the "t" time parameter. * Returns a position on the path according to duration/elapsed time. Duration variable must be set. * * @param ms Number. A number representing milliseconds. * @param duration Number. The total duration in milliseconds. * @param out [optional] Vector3D. A Vector3D that will be used to return the position. If none provided, method returns a new Vector3D with this data. * * An example of use of this handler would be cases where a given "lap" must be done in a given amount of time and you would want to retrieve the "ideal" time * based on elapsed time since start of the race. By comparing actual progress to ideal time, you could extract their classement, calculate distance/time between competitors, * abort the race if goal is impossible to be reached in time etc... * *@ returns Vector3D The position at a given elapsed time, compared to total duration. * defines if the object animated along the path must be aligned to the path. * returns the current interpolated position on the path with no optional offset applied * defines the path to follow * @see Path * Represents the progress of the animation playhead from the start (0) to the end (1) of the animation. { t : null } * returns the segment index that is used at a given time; * @param t [Number]. A Number between 0 and 1. If no params, actual pathanimator time segment index is returned. * returns the actual interpolated rotation along the path. * sets the object to be animated along the path. * sets the object that the animated object will be looking at along the path * Set the pointer to a given segment along the path * Default method for adding a cycle event listener. Event fired when the time reaches 1. * * @param listener The listener function * Default method for removing a cycle event listener * * @param listener The listener function { to : 0, from : 0 } * Default method for removing a range event listener * * @param listener The listener function * Default method for adding a segmentchange event listener. Event fired when the time pointer enters another PathSegment. * * @param listener The listener function * Default method for removing a range event listener * * @param listener The listener function { rotate : false } { rotations : null, lookAtTarget : null, alignToPath : true, offset : null, target : null, path : null } PathAnimator * * @param [optional] path The QuadraticPath to animate onto. * @param [optional] target An Object3D, the object to animate along the path. It can be Mesh, Camera, ObjectContainer3D... * @param [optional] offset A Vector3D to define the target offset to its location on the path. * @param [optional] alignToPath Defines if the object animated along the path is orientated to the path. Default is true. * @param [optional] lookAtTarget An Object3D that the target will constantly look at during animation. * @param [optional] rotations A Vector.<Vector3D> to define rotations per pathsegments. If PathExtrude is used to simulate the "road", use the very same rotations vector.]]> <_jointsPerVertex> * Returns the amount of skeleton joints that can be linked to a single vertex via skinned weight values. For GPU-base animation, the * maximum allowed value is 4. * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc { jointsPerVertex : 4 } SkeletonAnimationSet object. * * @param jointsPerVertex Sets the amount of skeleton joints that can be linked to a single vertex via skinned weight values. For GPU-base animation, the maximum allowed value is 4. Defaults to 4.]]> * The animation data set used by skeleton-based animators, containing skeleton animation data. * * @see away3d.animators.SkeletonAnimator <_globalMatrices> <_globalPose expr="new SkeletonPose()"> new SkeletonPose() <_globalPropertiesDirty> <_numJoints> <_skeletonAnimationStates expr="new Map()"> new Map() <_condensedMatrices> <_skeleton> <_forceCPU> <_useCondensedIndices> <_jointsPerVertex> <_activeSkeletonState> * returns the calculated global matrices of the current skeleton pose. * * @see #globalPose * returns the current skeleton pose output from the animator. * * @see away3d.animators.data.SkeletonPose * Returns the skeleton object in use by the animator - this defines the number and heirarchy of joints used by the * skinned geoemtry to which skeleon animator is applied. * Indicates whether the skeleton animator is disabled by default for GPU rendering, something that allows the animator to perform calculation on the GPU. * Defaults to false. * Offers the option of enabling GPU accelerated animation on skeletons larger than 32 joints * by condensing the number of joint index values required per mesh. Only applicable to * skeleton animations that utilise more than one mesh object. Defaults to false. * @inheritDoc { offset : null, transition : null } * Plays an animation state registered with the given name in the animation data set. * * @param name The data set name of the animation state to be played. * @param transition An optional transition object that determines how the animator will transition from the currently active animation state. * @param offset An option offset time (in milliseconds) that resets the state's internal clock to the absolute time of the animator plus the offset value. Required for non-looping animation states. * @inheritDoc * @inheritDoc * Applies the calculated time delta to the active animation state node or state transition object. * If the animation can't be performed on GPU, transform vertices manually * @param subGeom The subgeometry containing the weights and joint index data per vertex. * @param pass The material pass for which we need to transform the vertices * Converts a local hierarchical skeleton pose to a global pose * @param targetPose The SkeletonPose object that will contain the global pose. * @param skeleton The skeleton containing the joints, and as such, the hierarchical data to transform to global poses. { forceCPU : false } SkeletonAnimator object. * * @param skeletonAnimationSet The animation data set containing the skeleton animations used by the animator. * @param skeleton The skeleton object used for calculating the resulting global matrices for transforming skinned mesh data. * @param forceCPU Optional value that only allows the animator to perform calculation on the CPU. Defaults to false.]]> * Provides an interface for assigning skeleton-based animation data sets to mesh-based entity objects * and controlling the various available states of animation through an interative playhead that can be * automatically updated or manually triggered. true <_agalCode> * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * The animation data set containing the Spritesheet animation state data. * * @see away3d.animators.SpriteSheetAnimator * @see away3d.animators.SpriteSheetAnimationState <_activeSpriteSheetState> <_spriteSheetAnimationSet> <_frame expr="new SpriteSheetAnimationFrame()"> new SpriteSheetAnimationFrame() <_vectorFrame> <_fps expr="10"> 10 <_ms expr="100"> 100 <_lastTime expr="0"> 0 <_reverse> <_backAndForth> <_specsDirty> <_mapDirty> * @inheritDoc { offset : null, transition : null } * @inheritDoc * Applies the calculated time delta to the active animation state node. SpriteSheetAnimator object. * @param spriteSheetAnimationSet The animation data set containing the sprite sheet animation states used by the animator.]]> * Provides an interface for assigning uv-based sprite sheet animation data sets to mesh-based entity objects * and controlling the various available states of animation through an interative playhead that can be * automatically updated or manually triggered. <_agalCode> * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * The animation data set used by uv-based animators, containing uv animation state data. * * @see away3d.animators.UVAnimator * @see away3d.animators.UVAnimationState <_uvAnimationSet> <_deltaFrame expr="new UVAnimationFrame()"> new UVAnimationFrame() <_activeUVState> <_uvTransform> <_matrix2d> <_translate> <_autoRotation> <_rotationIncrease expr="1"> 1 <_autoTranslate> <_translateIncrease> * Defines if a rotation is performed automatically each update. The rotationIncrease value is added each iteration. * if autoRotation = true, the rotation is increased by the rotationIncrease value. Default is 1; * Defines if the animation is translated automatically each update. Ideal to scroll maps. Use setTranslateIncrease to define the offsets. * if autoTranslate = true, animation is translated automatically each update with the u and v values. * Note if value are integers, no visible update will be performed. Values are expected to be in 0-1 range. * @inheritDoc { offset : null, transition : null } * @inheritDoc * Applies the calculated time delta to the active animation state node. * Verifies if the animation will be used on cpu. Needs to be true for all passes for a material to be able to use it on gpu. * Needs to be called if gpu code is potentially required. * @inheritDoc UVAnimator object. * * @param uvAnimationSet The animation data set containing the uv animations used by the animator.]]> * Provides an interface for assigning uv-based animation data sets to mesh-based entity objects * and controlling the various available states of animation through an interative playhead that can be * automatically updated or manually triggered. <_numPoses> <_blendMode> <_streamIndices expr="new Map()"> new Map() <_useNormals expr="new Map()"> new Map() <_useTangents expr="new Map()"> new Map() <_uploadNormals> <_uploadTangents> * Returns the number of poses made available at once to the GPU animation code. * Returns the active blend mode of the vertex animator object. * Returns whether or not normal data is used in last set GPU pass of the vertex shader. * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * Generates the vertex AGAL code for absolute blending. * Generates the vertex AGAL code for additive blending. { blendMode : "absolute", numPoses : 2 } VertexAnimationSet object. * * @param numPoses The number of poses made available at once to the GPU animation code. * @param blendMode Optional value for setting the animation mode of the vertex animator object. * * @see away3d.animators.data.VertexAnimationMode]]> * The animation data set used by vertex-based animators, containing vertex animation state data. * * @see away3d.animators.VertexAnimator <_vertexAnimationSet> <_poses expr="new Vector<Geometry>()"> ()]]> <_weights expr="Vector.ofArray([1, 0, 0, 0.0])"> Vector.ofArray([1, 0, 0, 0.0]) <_numPoses> <_blendMode> <_activeVertexState> * @inheritDoc { offset : null, transition : null } * Plays a sequence with a given name. If the sequence is not found, it may not be loaded yet, and it will retry every frame. * @param sequenceName The name of the clip to be played. * @inheritDoc * @inheritDoc * Verifies if the animation will be used on cpu. Needs to be true for all passes for a material to be able to use it on gpu. * Needs to be called if gpu code is potentially required. VertexAnimator object. * * @param vertexAnimationSet The animation data set containing the vertex animations used by the animator.]]> * Provides an interface for assigning vertex-based animation data sets to mesh-based entity objects * and controlling the various available states of animation through an interative playhead that can be * automatically updated or manually triggered. <_fragmentTempCache> <_vertexTempCache> <_varyingCache> <_fragmentConstantsCache> <_vertexConstantsCache> <_textureCache> <_vertexAttributesCache> <_vertexConstantOffset> <_vertexAttributesOffset> <_varyingsOffset> <_fragmentConstantOffset> <_fragmentOutputRegister> <_vertexOutputRegister> <_numUsedVertexConstants> <_numUsedFragmentConstants> <_numUsedStreams> <_numUsedTextures> <_numUsedVaryings> <_profile> * Resets all registers. * Disposes all resources used. * Marks a fragment temporary register as used, so it cannot be retrieved. The register won't be able to be used until removeUsage * has been called usageCount times again. * @param register The register to mark as used. * @param usageCount The amount of usages to add. * Removes a usage from a fragment temporary register. When usages reach 0, the register is freed again. * @param register The register for which to remove a usage. * Marks a vertex temporary register as used, so it cannot be retrieved. The register won't be able to be used * until removeUsage has been called usageCount times again. * @param register The register to mark as used. * @param usageCount The amount of usages to add. * Removes a usage from a vertex temporary register. When usages reach 0, the register is freed again. * @param register The register for which to remove a usage. * Retrieve an entire fragment temporary register that's still available. The register won't be able to be used until removeUsage * has been called usageCount times again. * Retrieve a single component from a fragment temporary register that's still available. * Retrieve an available varying register * Retrieve an available fragment constant register * Retrieve an available vertex constant register * Retrieve an entire vertex temporary register that's still available. * Retrieve a single component from a vertex temporary register that's still available. * Retrieve an available vertex attribute register * Retrieve an available texture register * Indicates the start index from which to retrieve vertex constants. * Indicates the start index from which to retrieve vertex attributes. * Indicates the start index from which to retrieve varying registers. * Indicates the start index from which to retrieve fragment constants. * The fragment output register. * The amount of used vertex constant registers. * The amount of used fragment constant registers. * The amount of used vertex streams. * The amount of used texture slots. * The amount of used varying registers. * Create a new ShaderRegisterCache object. * * @param profile The compatibility profile used by the renderer. * ShaderRegister Cache provides the usage management system for all registers during shading compilation. new Map() ()]]> ()]]> <_numVertexConstant> <_numFragmentConstant> { w : 0, z : 0, y : 0, x : 0 } { w : 0, z : 0, y : 0, x : 0 } * ... <_vertexData> <_vertexBuffer expr="new Vector<VertexBuffer3D>(8)"> (8)]]> <_bufferContext expr="new Vector<Context3D>(8)"> (8)]]> <_bufferDirty expr="new Vector<Bool>(8)"> (8)]]> <_numVertices> <_totalLenOfOneVertex> 0 Math.NEGATIVE_INFINITY ()]]> * ... <_color> <_life> * The name of the joint to which the pose is associated new Quaternion() * The rotation of the pose stored as a quaternion new Vector3D() * The translation of the pose { target : null } * Converts the transformation to a Matrix3D representation. * * @param target An optional target matrix to store the transformation. If not provided, it will create a new instance. * @return The transformation matrix of the pose. * Copies the transformation data from a source pose object into the existing pose object. * * @param pose The source pose to copy from. * Contains transformation data for a skeleton joint, used for skeleton animation. * * @see away3d.animation.data.Skeleton * @see away3d.animation.data.SkeletonJoint * * todo: support (uniform) scale * ... * The index of the current particle being set. * The total number of particles being processed by the particle animation set. * The start time of the particle. useDuration are enabled in the constructor. * * @see away3d.animators.ParticleAnimationSet]]> useLooping and useDelay are enabled in the constructor. * * @see away3d.animators.ParticleAnimationSet]]> new Map() * Dynamic class for holding the local properties of a particle, used for processing the static properties * of particles in the particle animation set before beginning upload to the GPU. 0 * Mode that defines the particle node as acting on global properties (ie. the properties set in the node constructor or the corresponding animation state). 1 * Mode that defines the particle node as acting on local static properties (ie. the properties of particles set in the initialising function on the animation set). 2 * Mode that defines the particle node as acting on local dynamic properties (ie. the properties of the particles set in the corresponding animation state). * Options for setting the properties mode of a particle animation node. * A flat list of joint objects that comprise the skeleton. Every joint except for the root has a parentIndex * property that is an index into this list. * A child joint should always have a higher index than its parent. * The total number of joints in the skeleton. * Returns the joint object in the skeleton with the given name, otherwise returns a null object. * * @param jointName The name of the joint object to be found. * @return The joint object with the given name. * * @see #joints * Returns the joint index, given the joint name. -1 is returned if the joint name is not found. * * @param jointName The name of the joint object to be found. * @return The index of the joint object in the joints vector. * * @see #joints * @inheritDoc * @inheritDoc Skeleton object]]> * A Skeleton object is a hierarchical grouping of joint objects that can be used for skeletal animation. * * @see away3d.animators.data.SkeletonJoint -1 * The index of the parent joint in the skeleton's joints vector. * * @see away3d.animators.data.Skeleton#joints * The name of the joint * The inverse bind pose matrix, as raw data, used to transform vertices to bind joint space in preparation for transformation using the joint matrix. SkeletonJoint object]]> * A value obect representing a single joint in a skeleton object. * * @see away3d.animators.data.Skeleton * A flat list of pose objects that comprise the skeleton pose. The pose indices correspond to the target skeleton's joint indices. * * @see away3d.animators.data.Skeleton#joints * The total number of joint poses in the skeleton pose. * @inheritDoc * Returns the joint pose object with the given joint name, otherwise returns a null object. * * @param jointName The name of the joint object whose pose is to be found. * @return The pose object with the given joint name. * Returns the pose index, given the joint name. -1 is returned if the joint name is not found in the pose. * * @param The name of the joint object whose pose is to be found. * @return The index of the pose object in the jointPoses vector. * * @see #jointPoses SkeletonPose object, with a dulpicate of its component joint poses. * * @return SkeletonPose]]> * @inheritDoc SkeletonPose object.]]> jointPoses vector object corresponds to a skeleton's joints vector object, however, there is no * reference to a skeleton's instance, since several skeletons can be influenced by the same pose (eg: animation * clips are added to any animator with a valid skeleton) * * @see away3d.animators.data.Skeleton * @see away3d.animators.data.JointPose]]> * The u-component offset of the spritesheet frame. * The v-component offset of the spritesheet frame. * The u-component scale of the spritesheet frame. * The v-component scale of the spritesheet frame. * The mapID, zero based, if the animation is spreaded over more bitmapData's { mapID : 0, scaleV : 1, scaleU : 1, offsetV : 0, offsetU : 0 } SpriteSheetAnimationFrame object. * * @param offsetU The u-component offset of the spritesheet frame. * @param offsetV The v-component offset of the spritesheet frame. * @param scaleU The u-component scale of the spritesheet frame. * @param scaleV The v-component scale of the spritesheet frame. * @param mapID The v-component scale of the spritesheet frame.]]> SpriteSheetClipNode object. * * @see away3d.animators.nodes.SpriteSheetClipNode]]> * The u-component offset of the UV animation frame. * The v-component offset of the UV animation frame. * The u-component scale of the UV animation frame. * The v-component scale of the UV animation frame. * The rotation value (in degrees) of the UV animation frame. { rotation : 0, scaleV : 1, scaleU : 1, offsetV : 0, offsetU : 0 } UVAnimationFrame object. * * @param offsetU The u-component offset of the UV animation frame. * @param offsetV The v-component offset of the UV animation frame. * @param scaleU The u-component scale of the UV animation frame. * @param scaleV The v-component scale of the UV animation frame. * @param rotation The rotation value (in degrees) of the UV animation frame.]]> UVClipNode object. * * @see away3d.animators.nodes.UVClipNode]]> "additive" * Animation mode that adds all outputs from active vertex animation state to form the current vertex animation pose. "absolute" * Animation mode that picks the output from a single vertex animation state to form the current vertex animation pose. * Options for setting the animation mode of a vertex animator object. * * @see away3d.animators.VertexAnimator <_stateConstructor> * @inheritDoc * @inheritDoc AnimationNodeBase object.]]> * Provides an abstract base class for nodes in an animation blend tree. <_looping expr="true"> true <_totalDuration expr="0"> 0 <_lastFrame> <_stitchDirty expr="true"> true <_stitchFinalFrame expr="false"> false <_numFrames expr="0"> 0 <_durations expr="new Vector<UInt>()"> ()]]> <_totalDelta expr="new Vector3D()"> new Vector3D() true * Determines whether the contents of the animation node have looping characteristics enabled. * Defines if looping content blends the final frame of animation data with the first (true) or works on the * assumption that both first and last frames are identical (false). Defaults to false. * Returns a vector of time values representing the duration (in milliseconds) of each animation frame in the clip. * Updates the node's final frame stitch state. * * @see #stitchFinalFrame AnimationClipNodeBase object.]]> * Provides an abstract base class for nodes with time-based animation data in an animation blend tree. * Returns the current SpriteSheetAnimationFrame of animation in the clip based on the internal playhead position. * Returns the current frame number. * Provides an interface for animation node classes that hold animation data for use in the SpriteSheetAnimator class. * * @see away3d.animators.SpriteSheetAnimator "Global" "LocalStatic" "LocalDynamic" [GLOBAL, LOCAL_STATIC, LOCAL_DYNAMIC] * * @param particleNodeClass - class of ParticleNodeBase child e.g ParticleBillboardNode, ParticleFollowNode... * @param particleNodeMode - mode of particle node ParticlePropertiesMode.GLOBAL, ParticlePropertiesMode.LOCAL_DYNAMIC or ParticlePropertiesMode.LOCAL_STATIC * @return particle node name <_mode> <_priority> <_dataLength expr="3"> 3 <_oneData> away3d * Returns the property mode of the particle animation node. Typically set in the node constructor * * @see away3d.animators.data.ParticlePropertiesMode * Returns the priority of the particle animation node, used to order the agal generated in a particle animation set. Set automatically on instantiation. * * @see away3d.animators.ParticleAnimationSet * @see #getAGALVertexCode LOCAL_STATIC mode. Used to generate the local static data of the particle animation set. * * @see away3d.animators.ParticleAnimationSet * @see #getAGALVertexCode]]> * Returns the generated data vector of the node after one particle pass during the generation of all local static data of the particle animation set. * * @see away3d.animators.ParticleAnimationSet * @see #generatePropertyOfOneParticle * Returns the AGAL code of the particle animation node for use in the vertex shader. * Returns the AGAL code of the particle animation node for use in the fragment shader. * Returns the AGAL code of the particle animation node for use in the fragment shader when UV coordinates are required. away3d * Called internally by the particle animation set when assigning the set of static properties originally defined by the initParticleFunc of the set. * * @see away3d.animators.ParticleAnimationSet#initParticleFunc away3d * Called internally by the particle animation set when determining the requirements of the particle animation node AGAL. { priority : 1 } ParticleNodeBase object. * * @param name Defines the generic name of the particle animation node. * @param mode Defines whether the mode of operation acts on local properties of a particle or global properties of the node. * @param dataLength Defines the length of the data used by the node when in LOCAL_STATIC mode. * @param [optional] priority the priority of the particle animation node, used to order the agal generated in a particle animation set. Defaults to 1.]]> * Provides an abstract base class for particle animation nodes. 0 away3d @private "AccelerationVector3D" Vector3D object representing the direction of acceleration on the particle.]]> <_acceleration> away3d @private * @inheritDoc * @inheritDoc * @inheritDoc { acceleration : null } ParticleAccelerationNode * * @param mode Defines whether the mode of operation acts on local properties of a particle or global properties of the node. * @param [optional] acceleration Defines the default acceleration vector of the node, used when in global mode.]]> * A particle animation node used to apply a constant acceleration vector to the motion of a particle. 0 away3d @private 1 away3d @private "BezierControlVector3D" Vector3D object representing the control point position (0, 1, 2) of the curve.]]> "BezierEndVector3D" Vector3D object representing the end point position (0, 1, 2) of the curve.]]> <_controlPoint> away3d @private <_endPoint> away3d @private * @inheritDoc * @inheritDoc * @inheritDoc { endPoint : null, controlPoint : null } ParticleBezierCurveNode * * @param mode Defines whether the mode of operation acts on local properties of a particle or global properties of the node. * @param [optional] controlPoint Defines the default control point of the node, used when in global mode. * @param [optional] endPoint Defines the default end point of the node, used when in global mode.]]> * A particle animation node used to control the position of a particle over time along a bezier curve. 0 away3d @private <_billboardAxis> away3d @private * @inheritDoc * @inheritDoc * @inheritDoc { billboardAxis : null } ParticleBillboardNode]]> * A particle animation node that controls the rotation of a particle to always face the camera. 0 away3d @private 1 away3d @private 2 away3d @private 3 away3d @private 4 away3d @private "ColorStartColorTransform" ColorTransform object representing the start color transform applied to the particle.]]> "ColorEndColorTransform" ColorTransform object representing the end color transform applied to the particle.]]> <_usesMultiplier> away3d @private <_usesOffset> away3d @private <_usesCycle> away3d @private <_usesPhase> away3d @private <_startColor> away3d @private <_endColor> away3d @private <_cycleDuration> away3d @private <_cyclePhase> away3d @private * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc { cyclePhase : 0, cycleDuration : 1, endColor : null, startColor : null, usesPhase : false, usesCycle : false, usesOffset : true, usesMultiplier : true } ParticleColorNode * * @param mode Defines whether the mode of operation acts on local properties of a particle or global properties of the node. * @param [optional] usesMultiplier Defines whether the node uses multiplier data in the shader for its color transformations. Defaults to true. * @param [optional] usesOffset Defines whether the node uses offset data in the shader for its color transformations. Defaults to true. * @param [optional] usesCycle Defines whether the node uses the cycleDuration property in the shader to calculate the period of the animation independent of particle duration. Defaults to false. * @param [optional] usesPhase Defines whether the node uses the cyclePhase property in the shader to calculate a starting offset to the cycle rotation of the particle. Defaults to false. * @param [optional] startColor Defines the default start color transform of the node, when in global mode. * @param [optional] endColor Defines the default end color transform of the node, when in global mode. * @param [optional] cycleDuration Defines the duration of the animation in seconds, used as a period independent of particle duration when in global mode. Defaults to 1. * @param [optional] cyclePhase Defines the phase of the cycle in degrees, used as the starting offset of the cycle when in global mode. Defaults to 0.]]> * A particle animation node used to control the color variation of a particle over time. 0 away3d @private 1 away3d @private <_usesPosition> away3d @private <_usesRotation> away3d @private <_smooth> away3d @private * @inheritDoc * @inheritDoc { smooth : false, usesRotation : true, usesPosition : true } ParticleFollowNode * * @param [optional] usesPosition Defines wehether the individual particle reacts to the position of the target. * @param [optional] usesRotation Defines wehether the individual particle reacts to the rotation of the target. * @param [optional] smooth Defines wehether the state calculate the interpolated value.]]> * A particle animation node used to create a follow behaviour on a particle system. 0 away3d @private 1 away3d @private "ColorInitialColorTransform" ColorTransform object representing the color transform applied to the particle.]]> <_usesMultiplier> away3d @private <_usesOffset> away3d @private <_initialColor> away3d @private * @inheritDoc * @inheritDoc * @inheritDoc { initialColor : null, usesOffset : false, usesMultiplier : true } 0 away3d @private 1 away3d @private "OrbitVector3D" Vector3D object representing the radius (x), cycle speed (y) and cycle phase (z) of the motion on the particle.]]> <_usesEulers> away3d @private <_usesCycle> away3d @private <_usesPhase> away3d @private <_radius> away3d @private <_cycleDuration> away3d @private <_cyclePhase> away3d @private <_eulers> away3d @private * @inheritDoc * @inheritDoc * @inheritDoc { eulers : null, cyclePhase : 0, cycleDuration : 1, radius : 100, usesPhase : false, usesCycle : false, usesEulers : true } ParticleOrbitNode object. * * @param mode Defines whether the mode of operation acts on local properties of a particle or global properties of the node. * @param [optional] usesEulers Defines whether the node uses the eulers property in the shader to calculate a rotation on the orbit. Defaults to true. * @param [optional] usesCycle Defines whether the node uses the cycleDuration property in the shader to calculate the period of the orbit independent of particle duration. Defaults to false. * @param [optional] usesPhase Defines whether the node uses the cyclePhase property in the shader to calculate a starting offset to the cycle rotation of the particle. Defaults to false. * @param [optional] radius Defines the radius of the orbit when in global mode. Defaults to 100. * @param [optional] cycleDuration Defines the duration of the orbit in seconds, used as a period independent of particle duration when in global mode. Defaults to 1. * @param [optional] cyclePhase Defines the phase of the orbit in degrees, used as the starting offset of the cycle when in global mode. Defaults to 0. * @param [optional] eulers Defines the euler rotation in degrees, applied to the orientation of the orbit when in global mode.]]> * A particle animation node used to control the position of a particle over time around a circular orbit. 0 away3d @private "OscillatorVector3D" Vector3D object representing the axis (x,y,z) and cycle speed (w) of the motion on the particle.]]> <_oscillator> away3d @private * @inheritDoc * @inheritDoc * @inheritDoc { oscillator : null } ParticleOscillatorNode * * @param mode Defines whether the mode of operation acts on local properties of a particle or global properties of the node. * @param [optional] oscillator Defines the default oscillator axis (x, y, z) and cycleDuration (w) of the node, used when in global mode.]]> * A particle animation node used to control the position of a particle over time using simple harmonic motion. 0 away3d @private "PositionVector3D" Vector3D object representing position of the particle.]]> <_position> away3d @private * @inheritDoc * @inheritDoc * @inheritDoc { position : null } ParticlePositionNode * * @param mode Defines whether the mode of operation acts on local properties of a particle or global properties of the node. * @param [optional] position Defines the default position of the particle when in global mode. Defaults to 0,0,0.]]> * A particle animation node used to set the starting position of a particle. 0 away3d @private * @inheritDoc * @inheritDoc * @inheritDoc ParticleBillboardNode]]> * A particle animation node used to control the rotation of a particle to match its heading vector. 0 away3d @private 1 away3d @private "RotateToPositionVector3D" Vector3D object representing the position that the particle must face.]]> <_position> away3d @private * @inheritDoc * @inheritDoc * @inheritDoc { position : null } ParticleRotateToPositionNode]]> * A particle animation node used to control the rotation of a particle to face to a position 0 away3d @private "RotationalVelocityVector3D" Vector3D object representing the rotational velocity around an axis of the particle.]]> <_rotationalVelocity> away3d @private * @inheritDoc * @inheritDoc * @inheritDoc { rotationalVelocity : null } ParticleRotationalVelocityNode * * @param mode Defines whether the mode of operation acts on local properties of a particle or global properties of the node.]]> * A particle animation node used to set the starting rotational velocity of a particle. 0 away3d @private "ScaleVector3D" Vector3D representing the min scale (x), max scale(y), optional cycle speed (z) and phase offset (w) applied to the particle.]]> <_usesCycle> away3d @private <_usesPhase> away3d @private <_minScale> away3d @private <_maxScale> away3d @private <_cycleDuration> away3d @private <_cyclePhase> away3d @private * @inheritDoc * @inheritDoc * @inheritDoc { cyclePhase : 0, cycleDuration : 1, maxScale : 1, minScale : 1 } ParticleScaleNode * * @param mode Defines whether the mode of operation acts on local properties of a particle or global properties of the node. * @param [optional] usesCycle Defines whether the node uses the cycleDuration property in the shader to calculate the period of animation independent of particle duration. Defaults to false. * @param [optional] usesPhase Defines whether the node uses the cyclePhase property in the shader to calculate a starting offset to the animation cycle. Defaults to false. * @param [optional] minScale Defines the default min scale transform of the node, when in global mode. Defaults to 1. * @param [optional] maxScale Defines the default max color transform of the node, when in global mode. Defaults to 1. * @param [optional] cycleDuration Defines the default duration of the animation in seconds, used as a period independent of particle duration when in global mode. Defaults to 1. * @param [optional] cyclePhase Defines the default phase of the cycle in degrees, used as the starting offset of the cycle when in global mode. Defaults to 0.]]> * A particle animation node used to control the scale variation of a particle over time. 0 away3d @private 1 away3d @private 2 away3d @private <_usesMultiplier> away3d @private <_usesOffset> away3d @private <_startColor> away3d @private <_endColor> away3d @private <_numSegmentPoint> away3d @private <_segmentPoints> away3d @private * @inheritDoc * @inheritDoc 0 away3d @private <_startScale> away3d @private <_endScale> away3d @private <_numSegmentPoint> away3d @private <_segmentScales> away3d @private * @inheritDoc . the x,y,z present the scaleX,scaleY,scaleX, and w present the life]]> 0 away3d @private 1 away3d @private "UVVector3D" Vector3D representing the cycleDuration (x), optional phaseTime (y).]]> <_usesCycle> away3d @private <_usesPhase> away3d @private <_totalFrames> away3d @private <_numColumns> away3d @private <_numRows> away3d @private <_cycleDuration> away3d @private <_cyclePhase> away3d @private * Defines the number of columns in the spritesheet, when in global mode. Defaults to 1. Read only. * Defines the number of rows in the spritesheet, when in global mode. Defaults to 1. Read only. * Defines the total number of frames used by the spritesheet, when in global mode. Defaults to the number defined by numColumns and numRows. Read only. * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc { totalFrames : -1, cyclePhase : 0, cycleDuration : 1, numRows : 1, numColumns : 1 } ParticleSpriteSheetNode * * @param mode Defines whether the mode of operation acts on local properties of a particle or global properties of the node. * @param [optional] numColumns Defines the number of columns in the spritesheet, when in global mode. Defaults to 1. * @param [optional] numRows Defines the number of rows in the spritesheet, when in global mode. Defaults to 1. * @param [optional] cycleDuration Defines the default cycle duration in seconds, when in global mode. Defaults to 1. * @param [optional] cyclePhase Defines the default cycle phase, when in global mode. Defaults to 0. * @param [optional] totalFrames Defines the total number of frames used by the spritesheet, when in global mode. Defaults to the number defined by numColumns and numRows. * @param [optional] looping Defines whether the spritesheet animation is set to loop indefinitely. Defaults to true.]]> repeat property on the material has to be set to true.]]> 0 away3d @private 1 away3d @private <_usesDuration> away3d @private <_usesDelay> away3d @private <_usesLooping> away3d @private * @inheritDoc * @inheritDoc * @inheritDoc { usesDelay : false, usesLooping : false, usesDuration : false } ParticleTimeNode * * @param [optional] usesDuration Defines whether the node uses the duration data in the static properties function to determine how long a particle is visible for. Defaults to false. * @param [optional] usesDelay Defines whether the node uses the delay data in the static properties function to determine how long a particle is hidden for. Defaults to false. Requires usesDuration to be true. * @param [optional] usesLooping Defines whether the node creates a looping timeframe for each particle determined by the startTime, duration and delay data in the static properties function. Defaults to false. Requires usesLooping to be true.]]> * A particle animation node used as the base node for timekeeping inside a particle. Automatically added to a particle animation set on instatiation. 0 away3d @private 1 * Used to set the time node into global property mode. "x" * "y" * <_uvData> away3d @private <_cycle> <_scale> <_axis> * * * * @inheritDoc * @inheritDoc * @inheritDoc { axis : "x", scale : 1, cycle : 1 } ParticleTimeNode * * @param mode Defines whether the mode of operation acts on local properties of a particle or global properties of the node. * @param [optional] cycle Defines whether the time track is in loop mode. Defaults to false. * @param [optional] scale Defines whether the time track is in loop mode. Defaults to false. * @param [optional] axis Defines whether the time track is in loop mode. Defaults to false.]]> * A particle animation node used to control the UV offset and scale of a particle over time. 0 away3d @private "VelocityVector3D" Vector3D object representing the direction of movement on the particle.]]> <_velocity> away3d @private * @inheritDoc * @inheritDoc * @inheritDoc { velocity : null } ParticleVelocityNode * * @param mode Defines whether the mode of operation acts on local properties of a particle or global properties of the node. * @param [optional] velocity Defines the default velocity vector of the node, used when in global mode.]]> * A particle animation node used to set the starting velocity of a particle. * Defines input node A to use for the blended output. * Defines input node B to use for the blended output. * @inheritDoc SkeletonBinaryLERPNode object.]]> * A skeleton animation node that uses two animation node inputs to blend a lineraly interpolated output of a skeleton pose. <_frames expr="new Vector<SkeletonPose>()"> ()]]> false * Determines whether to use SLERP equations (true) or LERP equations (false) in the calculation * of the output skeleton pose. Defaults to false. * Returns a vector of skeleton poses representing the pose of each animation frame in the clip. * Adds a skeleton pose frame to the internal timeline of the animation node. * * @param skeletonPose The skeleton pose object to add to the timeline of the node. * @param duration The specified duration of the frame in milliseconds. * @inheritDoc * @inheritDoc SkeletonClipNode object.]]> * A skeleton animation node containing time-based animation data as individual skeleton poses. * Defines a base input node to use for the blended output. * Defines a difference input node to use for the blended output. * @inheritDoc SkeletonAdditiveNode object.]]> * A skeleton animation node that uses a difference input pose with a base input pose to blend a linearly interpolated output of a skeleton pose. * Defines the forward configured input node to use for the blended output. * Defines the backwards configured input node to use for the blended output. * Defines the left configured input node to use for the blended output. * Defines the right configured input node to use for the blended output. * @inheritDoc * A skeleton animation node that uses four directional input poses with an input direction to blend a linearly interpolated output of a skeleton pose. <_inputs public="1" expr="new Vector<AnimationNodeBase>()"> ()]]> <_numInputs> * Returns an integer representing the input index of the given skeleton animation node. * * @param input The skeleton animation node for with the input index is requested. * Returns the skeleton animation node object that resides at the given input index. * * @param index The input index for which the skeleton animation node is requested. * Adds a new skeleton animation node input to the animation node. * @inheritDoc SkeletonNaryLERPNode object.]]> * A skeleton animation node that uses an n-dimensional array of animation node inputs to blend a lineraly interpolated output of a skeleton pose. <_frames expr="new Vector<SpriteSheetAnimationFrame>()"> ()]]> * Returns a vector of SpriteSheetAnimationFrame representing the uv values of each animation frame in the clip. * Adds a SpriteSheetAnimationFrame object to the internal timeline of the animation node. * * @param spriteSheetAnimationFrame The frame object to add to the timeline of the node. * @param duration The specified duration of the frame in milliseconds. SpriteSheetClipNode object.]]> * A SpriteSheetClipNode containing time-based animation data as individual sprite sheet animation frames. <_frames expr="new Vector<UVAnimationFrame>()"> ()]]> * Returns a vector of UV frames representing the uv values of each animation frame in the clip. * Adds a UV frame object to the internal timeline of the animation node. * * @param uvFrame The uv frame object to add to the timeline of the node. * @param duration The specified duration of the frame in milliseconds. * @inheritDoc UVClipNode object.]]> * A uv animation node containing time-based animation data as individual uv animation frames. <_frames expr="new Vector<Geometry>()"> ()]]> <_translations expr="new Vector<Vector3D>()"> ()]]> * Returns a vector of geometry frames representing the vertex values of each animation frame in the clip. { translation : null } * Adds a geometry object to the internal timeline of the animation node. * * @param geometry The geometry object to add to the timeline of the node. * @param duration The specified duration of the frame in milliseconds. * @param translation The absolute translation of the frame, used in root delta calculations for mesh movement. * @inheritDoc VertexClipNode object.]]> * A vertex animation node containing time-based animation data as individual geometry obejcts. * Sets the animation phase of the node. * * @param value The phase value to use. 0 represents the beginning of an animation clip, 1 represents the end. <_animationNode> <_rootDelta expr="new Vector3D()"> new Vector3D() <_positionDeltaDirty expr="true"> true <_time expr="0"> 0 <_startTime expr="0"> 0 <_animator> * Returns a 3d vector representing the translation delta of the animating entity for the current timestep of animation * Resets the start time of the node to a new value. * * @param startTime The absolute start time (in milliseconds) of the node's starting time. * Updates the configuration of the node to its current state. * * @param time The absolute time (in milliseconds) of the animator's play head position. * * @see away3d.animators.AnimatorBase#update() * Sets the animation phase of the node. * * @param value The phase value to use. 0 represents the beginning of an animation clip, 1 represents the end. * Updates the node's internal playhead position. * * @param time The local time (in milliseconds) of the node's playhead position. * Updates the node's root delta position <_animationClipNode> <_animationStatePlaybackComplete> <_blendWeight expr="0"> 0 <_currentFrame> <_nextFrame> <_oldFrame> <_timeDir> <_framesDirty expr="true"> true * Returns a fractional value between 0 and 1 representing the blending ratio of the current playhead position * between the current frame (0) and next frame (1) of the animation. * * @see #currentFrame * @see #nextFrame * Returns the current frame of animation in the clip based on the internal playhead position. * Returns the next frame of animation in the clip based on the internal playhead position. * @inheritDoc * @inheritDoc * @inheritDoc * Updates the nodes internal playhead to determine the current and next animation frame, and the blendWeight between the two. * * @see #currentFrame * @see #nextFrame * @see #blendWeight * * Returns the output skeleton pose of the animation node. * Returns the current SpriteSheetAnimationFrame of animation in the clip based on the internal playhead position. * Returns the current frame number. * Returns the current UV frame of animation in the clip based on the internal playhead position. * Returns the next UV frame of animation in the clip based on the internal playhead position. * Returns a fractional value between 0 and 1 representing the blending ratio of the current playhead position * between the current uv frame (0) and next uv frame (1) of the animation. * Provides an interface for animation node classes that hold animation data for use in the UV animator class. * * @see away3d.animators.UVAnimator * Returns the current geometry frame of animation in the clip based on the internal playhead position. * Returns the current geometry frame of animation in the clip based on the internal playhead position. * Returns a fractional value between 0 and 1 representing the blending ratio of the current playhead position * between the current geometry frame (0) and next geometry frame (1) of the animation. * Provides an interface for animation node classes that hold animation data for use in the Vertex animator class. * * @see away3d.animators.VertexAnimator <_particleNode> <_dynamicProperties expr="new Vector<Vector3D>()"> ()]]> <_dynamicPropertiesDirty expr="new Map()"> new Map() <_needUpdateTime> { needUpdateTime : false } * ... <_particleAccelerationNode> <_acceleration> <_halfAcceleration> * Defines the acceleration vector of the state, used when in global mode. * @inheritDoc * ... <_particleBezierCurveNode> <_controlPoint> <_endPoint> * Defines the default control point of the node, used when in global mode. * Defines the default end point of the node, used when in global mode. * ... <_matrix expr="new Matrix3D()"> new Matrix3D() <_billboardAxis> * Defines the billboard axis. * * ... <_particleColorNode> <_usesMultiplier> <_usesOffset> <_usesCycle> <_usesPhase> <_startColor> <_endColor> <_cycleDuration> <_cyclePhase> <_cycleData> <_startMultiplierData> <_deltaMultiplierData> <_startOffsetData> <_deltaOffsetData> * Defines the start color transform of the state, when in global mode. * Defines the end color transform of the state, when in global mode. * Defines the duration of the animation in seconds, used as a period independent of particle duration when in global mode. Defaults to 1. * Defines the phase of the cycle in degrees, used as the starting offset of the cycle when in global mode. Defaults to 0. * ... * @author ... <_particleFollowNode> <_followTarget> <_targetPos expr="new Vector3D()"> new Vector3D() <_targetEuler expr="new Vector3D()"> new Vector3D() <_prePos> <_preEuler> <_smooth> new Vector3D() * @inheritDoc * ... <_particleInitialColorNode> <_usesMultiplier> <_usesOffset> <_initialColor> <_multiplierData> <_offsetData> * Defines the initial color transform of the state, when in global mode. * @inheritDoc <_particleOrbitNode> <_usesEulers> <_usesCycle> <_usesPhase> <_radius> <_cycleDuration> <_cyclePhase> <_eulers> <_orbitData> <_eulersMatrix> * Defines the radius of the orbit when in global mode. Defaults to 100. * Defines the duration of the orbit in seconds, used as a period independent of particle duration when in global mode. Defaults to 1. * Defines the phase of the orbit in degrees, used as the starting offset of the cycle when in global mode. Defaults to 0. * Defines the euler rotation in degrees, applied to the orientation of the orbit when in global mode. * ... <_particleOscillatorNode> <_oscillator> <_oscillatorData> * Defines the default oscillator axis (x, y, z) and cycleDuration (w) of the state, used when in global mode. * @inheritDoc * ... <_particlePositionNode> <_position> * Defines the position of the particle when in global mode. Defaults to 0,0,0. * * @inheritDoc * ... * @author ... <_matrix expr="new Matrix3D()"> new Matrix3D() * ... <_particleRotateToPositionNode> <_position> <_matrix expr="new Matrix3D()"> new Matrix3D() <_offset> * Defines the position of the point the particle will rotate to face when in global mode. Defaults to 0,0,0. * ... <_particleRotationalVelocityNode> <_rotationalVelocityData> <_rotationalVelocity> * Defines the default rotationalVelocity of the state, used when in global mode. * * @inheritDoc * ... <_particleScaleNode> <_usesCycle> <_usesPhase> <_minScale> <_maxScale> <_cycleDuration> <_cyclePhase> <_scaleData> * Defines the end scale of the state, when in global mode. Defaults to 1. * Defines the end scale of the state, when in global mode. Defaults to 1. * Defines the duration of the animation in seconds, used as a period independent of particle duration when in global mode. Defaults to 1. * Defines the phase of the cycle in degrees, used as the starting offset of the cycle when in global mode. Defaults to 0. * ... <_usesMultiplier> <_usesOffset> <_startColor> <_endColor> <_segmentPoints> <_numSegmentPoint> <_timeLifeData> <_multiplierData> <_offsetData> * Defines the start color transform of the state, when in global mode. * Defines the end color transform of the state, when in global mode. * Defines the number of segments. * Defines the key points of color <_startScale> <_endScale> <_segmentPoints> <_numSegmentPoint> <_scaleData> * Defines the start scale of the state, when in global mode. * Defines the end scale of the state, when in global mode. * Defines the number of segments. * Defines the key points of Scale <_particleSpriteSheetNode> <_usesCycle> <_usesPhase> <_totalFrames> <_numColumns> <_numRows> <_cycleDuration> <_cyclePhase> <_spriteSheetData> * Defines the cycle phase, when in global mode. Defaults to zero. * Defines the cycle duration in seconds, when in global mode. Defaults to 1. * ... <_particleTimeNode> * ... <_particleUVNode> * ... <_particleVelocityNode> <_velocity> * Defines the default velocity vector of the state, used when in global mode. * * ... <_blendWeight expr="0"> 0 <_skeletonAnimationNode> <_skeletonPose expr="new SkeletonPose()"> new SkeletonPose() <_skeletonPoseDirty expr="true"> true <_inputA> <_inputB> * Defines a fractional value between 0 and 1 representing the blending ratio between inputA (0) and inputB (1), * used to produce the skeleton pose output. * * @see inputA * @see inputB * @inheritDoc * @inheritDoc * Returns the current skeleton pose of the animation in the clip based on the internal playhead position. * @inheritDoc * Updates the output skeleton pose of the node based on the blendWeight value between input nodes. * * @param skeleton The skeleton used by the animator requesting the ouput pose. * <_rootPos expr="new Vector3D()"> new Vector3D() <_frames> <_skeletonClipNode> <_skeletonPose expr="new SkeletonPose()"> new SkeletonPose() <_skeletonPoseDirty expr="true"> true <_currentPose> <_nextPose> * Returns the current skeleton pose frame of animation in the clip based on the internal playhead position. * Returns the next skeleton pose frame of animation in the clip based on the internal playhead position. * Returns the current skeleton pose of the animation in the clip based on the internal playhead position. * @inheritDoc * @inheritDoc * Updates the output skeleton pose of the node based on the internal playhead position. * * @param skeleton The skeleton used by the animator requesting the ouput pose. * @inheritDoc * * The x value of the quaternion. * The y value of the quaternion. * The z value of the quaternion. * The w value of the quaternion. * Returns the magnitude of the quaternion object. * Fills the quaternion object with the result from a multiplication of two quaternion objects. * * @param qa The first quaternion in the multiplication. * @param qb The second quaternion in the multiplication. { target : null } * Fills the quaternion object with values representing the given rotation around a vector. * * @param axis The axis around which to rotate * @param angle The angle in radians of the rotation. * Spherically interpolates between two quaternions, providing an interpolation between rotations with constant angle change rate. * @param qa The first quaternion to interpolate. * @param qb The second quaternion to interpolate. * @param t The interpolation weight, a value between 0 and 1. * Linearly interpolates between two quaternions. * @param qa The first quaternion to interpolate. * @param qb The second quaternion to interpolate. * @param t The interpolation weight, a value between 0 and 1. * Fills the quaternion object with values representing the given euler rotation. * * @param ax The angle in radians of the rotation around the ax axis. * @param ay The angle in radians of the rotation around the ay axis. * @param az The angle in radians of the rotation around the az axis. { target : null } * Fills a target Vector3D object with the Euler angles that form the rotation represented by this quaternion. * @param target An optional Vector3D object to contain the Euler angles. If not provided, a new object is created. * @return The Vector3D containing the Euler angles. { val : 1 } * Normalises the quaternion object. * Used to trace the values of a quaternion. * * @return A string representation of the quaternion object. { target : null } * Converts the quaternion to a Matrix3D object representing an equivalent rotation. * @param target An optional Matrix3D container to store the transformation in. If not provided, a new object is created. * @return A Matrix3D object representing an equivalent rotation. * Extracts a quaternion rotation matrix out of a given Matrix3D object. * @param matrix The Matrix3D out of which the rotation will be extracted. { exclude4thRow : false } * Clones the quaternion. * @return An exact duplicate of the current Quaternion. { target : null } * Rotates a point. * @param vector The Vector3D object to be rotated. * @param target An optional Vector3D object that will contain the rotated coordinates. If not provided, a new object will be created. * @return A Vector3D object containing the rotated point. * Copies the data from a quaternion into this instance. * @param q The quaternion to copy from. { w : 1, z : 0, y : 0, x : 0 } * Creates a new Quaternion object. * @param x The x value of the quaternion. * @param y The y value of the quaternion. * @param z The z value of the quaternion. * @param w The w value of the quaternion. * A Quaternion object which can be used to represent rotations. <_tempQuat expr="new Quaternion()" line="19" static="1"> new Quaternion() <_blendWeight expr="0"> 0 <_skeletonAnimationNode> <_skeletonPose expr="new SkeletonPose()"> new SkeletonPose() <_skeletonPoseDirty expr="true"> true <_baseInput> <_differenceInput> * Defines a fractional value between 0 and 1 representing the blending ratio between the base input (0) and difference input (1), * used to produce the skeleton pose output. * * @see #baseInput * @see #differenceInput * @inheritDoc * @inheritDoc * Returns the current skeleton pose of the animation in the clip based on the internal playhead position. * @inheritDoc * Updates the output skeleton pose of the node based on the blendWeight value between base input and difference input nodes. * * @param skeleton The skeleton used by the animator requesting the ouput pose. * <_skeletonAnimationNode> <_skeletonPose expr="new SkeletonPose()"> new SkeletonPose() <_skeletonPoseDirty expr="true"> true <_inputA> <_inputB> <_blendWeight expr="0"> 0 <_direction expr="0"> 0 <_blendDirty expr="true"> true <_forward> <_backward> <_left> <_right> * Defines the direction in degrees of the aniamtion between the forwards (0), right(90) backwards (180) and left(270) input nodes, * used to produce the skeleton pose output. * @inheritDoc * @inheritDoc * Returns the current skeleton pose of the animation in the clip based on the internal playhead position. * @inheritDoc * Updates the output skeleton pose of the node based on the direction value between forward, backwards, left and right input nodes. * * @param skeleton The skeleton used by the animator requesting the ouput pose. away3d * Updates the blend value for the animation output based on the direction value between forward, backwards, left and right input nodes. * * @private * <_skeletonAnimationNode> <_skeletonPose expr="new SkeletonPose()"> new SkeletonPose() <_skeletonPoseDirty expr="true"> true <_blendWeights expr="new Vector<Float>()"> ()]]> <_inputs expr="new Vector<ISkeletonAnimationState>()"> ()]]> * @inheritDoc * @inheritDoc * Returns the current skeleton pose of the animation in the clip based on the internal playhead position. * Returns the blend weight of the skeleton aniamtion node that resides at the given input index. * * @param index The input index for which the skeleton animation node blend weight is requested. * Sets the blend weight of the skeleton aniamtion node that resides at the given input index. * * @param index The input index on which the skeleton animation node blend weight is to be set. * @param blendWeight The blend weight value to use for the given skeleton animation node index. * @inheritDoc * Updates the output skeleton pose of the node based on the blend weight values given to the input nodes. * * @param skeleton The skeleton used by the animator requesting the ouput pose. * <_frames> <_clipNode> <_currentFrameID expr="0"> 0 <_reverse> <_back> <_backAndForth> <_forcedFrame> * @inheritDoc * returns current frame index of the animation. * The index is zero based and counts from first frame of the defined animation. away3d * returns the total frames for the current animation. * @inheritDoc <_frames> <_uvClipNode> <_currentUVFrame> <_nextUVFrame> * @inheritDoc * @inheritDoc * @inheritDoc <_frames> <_vertexClipNode> <_currentGeometry> <_nextGeometry> * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * 0.5 CrossfadeTransitionNode object.]]> * A skeleton animation node that uses two animation node inputs to blend a lineraly interpolated output of a skeleton pose. <_crossfadeAnimationNode> <_animationStateTransitionComplete> * @inheritDoc * <_controller> away3d @private <_smallestNumber expr="0.0000000000000000000001"> 0.0000000000000000000001 <_transformDirty expr="true"> true <_positionDirty> <_rotationDirty> <_scaleDirty> <_positionChanged> <_rotationChanged> <_scaleChanged> <_rotationX expr="0"> 0 <_rotationY expr="0"> 0 <_rotationZ expr="0"> 0 <_eulers expr="new Vector3D()"> new Vector3D() <_flipY expr="new Matrix3D()"> new Matrix3D() <_listenToPositionChanged> <_listenToRotationChanged> <_listenToScaleChanged> <_zOffset expr="0"> 0 { useWeakReference : false, priority : 0, useCapture : false } { useCapture : false } <_transform expr="new Matrix3D()"> new Matrix3D() <_scaleX expr="1"> 1 <_scaleY expr="1"> 1 <_scaleZ expr="1"> 1 <_x expr="0"> 0 <_y expr="0"> 0 <_z expr="0"> 0 <_pivotPoint expr="new Vector3D()"> new Vector3D() <_pivotZero expr="true"> true <_pos expr="new Vector3D()"> new Vector3D() <_rot expr="new Vector3D()"> new Vector3D() <_sca expr="new Vector3D()"> new Vector3D() <_transformComponents> * An object that can contain any extra data. ObjectContainer3D.]]> ObjectContainer3D.]]> ObjectContainer3D.]]> ObjectContainer3D.]]> ObjectContainer3D.]]> ObjectContainer3D.]]> * Defines the scale of the 3d object along the x-axis, relative to local coordinates. * Defines the scale of the 3d object along the y-axis, relative to local coordinates. * Defines the scale of the 3d object along the z-axis, relative to local coordinates. Vector3D object containing euler angles for rotation around x, y and z axis.]]> ObjectContainer3D.]]> * Defines the local point around which the object rotates. ObjectContainer3D.]]> { v : null } ObjectContainer3D. * @param v the destination Vector3D * @return]]> * * * * * * * Appends a uniform scale to the current transformation. * @param value The amount by which to scale. * Moves the 3d object forwards along it's local z axis * * @param distance The length of the movement * Moves the 3d object backwards along it's local z axis * * @param distance The length of the movement * Moves the 3d object backwards along it's local x axis * * @param distance The length of the movement * Moves the 3d object forwards along it's local x axis * * @param distance The length of the movement * Moves the 3d object forwards along it's local y axis * * @param distance The length of the movement * Moves the 3d object backwards along it's local y axis * * @param distance The length of the movement * Moves the 3d object directly to a point in space * * @param dx The amount of movement along the local x axis. * @param dy The amount of movement along the local y axis. * @param dz The amount of movement along the local z axis. * Moves the local point around which the object rotates. * * @param dx The amount of movement along the local x axis. * @param dy The amount of movement along the local y axis. * @param dz The amount of movement along the local z axis. * Moves the 3d object along a vector by a defined length * * @param axis The vector defining the axis of movement * @param distance The length of the movement * Moves the 3d object along a vector by a defined length * * @param axis The vector defining the axis of movement * @param distance The length of the movement * Rotates the 3d object around it's local x-axis * * @param angle The amount of rotation in degrees * Rotates the 3d object around it's local y-axis * * @param angle The amount of rotation in degrees * Rotates the 3d object around it's local z-axis * * @param angle The amount of rotation in degrees * Rotates the 3d object directly to a euler angle * * @param ax The angle in degrees of the rotation around the x axis. * @param ay The angle in degrees of the rotation around the y axis. * @param az The angle in degrees of the rotation around the z axis. * Rotates the 3d object around an axis by a defined angle * * @param axis The vector defining the axis of rotation * @param angle The amount of rotation in degrees { upAxis : null } ObjectContainer3D. * * @param target The vector defining the point to be looked at * @param upAxis An optional vector used to define the desired up orientation of the 3d object after rotation has occurred]]> * Cleans up any resources used by the current object. * @inheritDoc away3d * Invalidates the transformation matrix, causing it to be updated upon the next request * Creates an Object3D object.
* * Standard Transform: *
    *
  • The standard order for transformation is [parent transform] * (Translate+Pivot) * (Rotate) * (-Pivot) * (Scale) * [child transform]
  • *
  • This is the order of matrix multiplications, left-to-right.
  • *
  • The order of transformation is right-to-left, however! * (Scale) happens before (-Pivot) happens before (Rotate) happens before (Translate+Pivot) * with no pivot, the above transform works out to [parent transform] * Translate * Rotate * Scale * [child transform] * (Scale) happens before (Rotate) happens before (Translate)
  • *
  • This is based on code in updateTransform and ObjectContainer3D.updateSceneTransform().
  • *
  • Matrix3D prepend = operator on rhs - e.g. transform' = transform * rhs;
  • *
  • Matrix3D append = operator on lhr - e.g. transform' = lhs * transform;
  • *
* * To affect Scale: *
    *
  • set scaleX/Y/Z directly, or call scale(delta)
  • *
* * To affect Pivot: *
    *
  • set pivotPoint directly, or call movePivot()
  • *
* * To affect Rotate: *
    *
  • set rotationX/Y/Z individually (using degrees), set eulers [all 3 angles] (using radians), or call rotateTo()
  • *
  • call pitch()/yaw()/roll()/rotate() to add an additional rotation *before* the current transform. * rotationX/Y/Z will be reset based on these operations.
  • *
* * To affect Translate (post-rotate translate): * *
    *
  • set x/y/z/position or call moveTo().
  • *
  • call translate(), which modifies x/y/z based on a delta vector.
  • *
  • call moveForward()/moveBackward()/moveLeft()/moveRight()/moveUp()/moveDown()/translateLocal() to add an * additional translate *before* the current transform. x/y/z will be reset based on these operations.
  • *
]]>
away3d away3d <_ancestorsAllowMouseEnabled> away3d @private <_isRoot> away3d <_scene> <_parent> <_sceneTransform expr="new Matrix3D()"> new Matrix3D() <_sceneTransformDirty expr="true"> true <_explicitPartition> <_implicitPartition> <_mouseEnabled> <_sceneTransformChanged> <_scenechanged> <_children expr="new Vector<ObjectContainer3D>()"> ()]]> <_mouseChildren expr="true"> true <_oldScene> <_inverseSceneTransform expr="new Matrix3D()"> new Matrix3D() <_inverseSceneTransformDirty expr="true"> true <_scenePosition expr="new Vector3D()"> new Vector3D() <_scenePositionDirty expr="true"> true <_explicitVisibility expr="true"> true <_implicitVisibility expr="true"> true <_listenToSceneTransformChanged> <_listenToSceneChanged> <_ignoreTransform expr="false"> false * Does not apply any transformations to this object. Allows static objects to be described in world coordinates without any matrix calculations. * @private * The space partition used for this object, possibly inherited from its parent. away3d @private away3d @private * Indicates whether the IRenderable should trigger mouse events, and hence should be rendered for hit testing. * @inheritDoc * Invalidates the scene transformation matrix, causing it to be updated the next time it's requested. * Updates the scene transformation matrix. * * * The global position of the ObjectContainer3D in the scene. The value of the return object should not be changed. * The minimum extremum of the object along the X-axis. * The minimum extremum of the object along the Y-axis. * The minimum extremum of the object along the Z-axis. * The maximum extremum of the object along the X-axis. * The maximum extremum of the object along the Y-axis. * The maximum extremum of the object along the Z-axis. * The space partition to be used by the object container and all its recursive children, unless it has its own * space partition assigned. * The transformation matrix that transforms from model to world space. * A reference to the Scene3D object to which this object belongs. * The inverse scene transform object that transforms from world to model space. * The parent ObjectContainer3D to which this object's transformation is relative. * Adds a child ObjectContainer3D to the current object. The child's transformation will become relative to the * current object's transformation. * @param child The object to be added as a child. * @return A reference to the added child object. * Adds an array of 3d objects to the scene as children of the container * * @param ...childarray An array of 3d objects to be added * Removes a 3d object from the child array of the container * * @param child The 3d object to be removed * @throws Error ObjectContainer3D.removeChild(null) * Removes a 3d object from the child array of the container * * @param index Index of 3d object to be removed * Retrieves the child object at the given index. * @param index The index of the object to be retrieved. * @return The child object at the given index. * The amount of child objects of the ObjectContainer3D. { upAxis : null } * @inheritDoc * @inheritDoc * Disposes the current ObjectContainer3D including all of its children. This is a merely a convenience method. * Clones this ObjectContainer3D instance along with all it's children, and * returns the result (which will be a copy of this container, containing copies * of all it's children.) * @inheritDoc { useWeakReference : false, priority : 0, useCapture : false } { useCapture : false } * Creates a new ObjectContainer3D object. * ObjectContainer3D is the most basic scene graph node. It can contain other ObjectContainer3Ds. * * ObjectContainer3D can have its own scene partition assigned. However, when assigned to a different scene, * it will loose any partition information, since partitions are tied to a scene. <_refv> <_driver> <_reference> <_sound> <_paused> <_playing> * Defines the overall (master) volume of the 3D sound, after any * positional adjustments to volume have been applied. This value can * equally well be cotrolled by modifying the volume property on the * driver used by this Sound3D instance. * * @see ISound3DDriver.volume * Defines a scale value used by the driver when adjusting sound * intensity to simulate distance. The default number of 1000 means * that sound volume will near the hearing threshold as the distance * between listener and sound source approaches 1000 Away3D units. * * @see ISound3DDriver.scale * Returns a boolean indicating whether or not the sound is currently * playing. * Returns a boolean indicating whether or not playback is currently * paused. * Start (or resume, if paused) playback. * Pause playback. Resume using play(). * Stop and rewind sound file. Replay (from the beginning) using play(). * To temporarily pause playback, allowing you to resume from the same point, * use pause() instead. * * @see pause() * Alternate between pausing and resuming playback of this sound. If called * while sound is paused (or stopped), this will resume playback. When * called during playback, it will pause it. * @internal * When scene changes, mute if object was removed from scene. * @internal * When scene transform changes, calculate the relative vector between the listener/reference object * and the position of this sound source, and update the driver to use * this as the reference vector. { scale : 1000, volume : 1, driver : null } mono (single-channel, non-stereo) sound stream. * @param reference The reference, or "listener" object, typically a camera. * @param driver Sound3D driver to use when applying simulation effects. Defaults to SimplePanVolumeDriver. * @param init [optional] An initialisation object for specifying default instance properties.]]> A sound source/emitter object that can be positioned in 3D space, and from which all audio * playback will be transformed to simulate orientation.

* *

The Sound3D object works much in the same fashion as primitives, lights and cameras, in that * it can be added to a scene and positioned therein. It is the main object, in the 3D sound API, * which the programmer will interact with.

* *

Actual sound transformation is performed by a driver object, which is defined at the time of * creation by the driver ini variable, the default being a simple pan/volume driver.

* * @see SimplePanVolumeDriver]]>
<_scale> <_volume> <_soundTransform> <_emitter> <_listener> <_refv> <_inv_ref_mtx> <_r> <_r2> <_azimuth> * updates the SoundTransform based on the emitter and listener. * udpates the SoundTransform based on the vector representing the distance and * angle between the emitter and listener. * * @param v Vector3D * { scale : 1000, volume : 1, listener : null, emitter : null } * Creates a new SoundTransform3D. * @param emitter the ObjectContainer3D from which the sound originates. * @param listener the ObjectContainer3D considered to be to position of the listener (usually, the camera) * @param volume the maximum volume used. * @param scale the distance that the sound covers. * * SoundTransform3D is a convenience class that helps adjust a Soundtransform's volume and pan according * position and distance of a listener and emitter object. See SimplePanVolumeDriver for the limitations * of this method. <_ref_v> <_src> <_volume> <_scale> <_mute> <_paused> <_playing> * The sound object (flash.media.Sound) to play at the point of the sound * source. The output of this sound is modified by the driver before actual * sound output. * Arbitrary value by which all distances are divided. The default value of * 1000 is usually suitable for scenes with a scale that roughly matches the * standard Away3D scale, i.e. that look good from the default camera position. * Master volume/gain after 3D modifications to pan/volume have been applied. * Modify this to raise or lower the overall volume regardless of where the * sound source is located. * Mutes/unmutes the driver completely, which is typically only done (internally * by Sound3D) whenever the sound source is removed from the scene. When true, * any values set to the volume property will be ignored. * Start playing (or resume if paused) the audio. This is NOT The same thing * as invoking play() on the flash.media.Sound object used as the source sound * for the driver. * Temporarily pause playback. Resume using play(). * Stop playback and reset playhead. Subsequent play() calls will restart the * playback from the beginning of the sound file. * Change the position of the sound source relative to the listener, known as * the reference vector. This is invoked by the Sound3D object when it's position * changes, and should typically not be called by any other code. * * @param v Sound source position vector relative to the listener. <_sound_chan> <_pause_position> <_st3D> <_updateSoundTransform set="method" line="88"> * The Simple pan/volume Sound3D driver will alter the pan and volume properties on the * sound transform object of a regular openfl.media.Sound3D representation of the sound. This * is very efficient, but has the drawback that it can only reflect azimuth and distance, * and will disregard elevation. You'll be able to hear whether a <_min> <_max> <_aabbPoints expr="new Vector<Float>()"> ()]]> <_aabbPointsDirty expr="true"> true <_boundingRenderable> * The maximum extreme of the bounds * The minimum extreme of the bounds * Returns a vector of values representing the concatenated cartesian triplet of the 8 axial extremities of the bounding volume. * Returns the bounding renderable object for the bounding volume, in cases where the showBounds * property of the entity is set to true. * * @see away3d.entities.Entity#showBounds * Sets the bounds to zero size. * Disposes of the bounds renderable object. Used to clear memory after a bounds rendeable is no longer required. * Updates the bounds to fit a Geometry object. * * @param geometry The Geometry object to be bounded. * Sets the bound to fit a given sphere. * * @param center The center of the sphere to be bounded * @param radius The radius of the sphere to be bounded * Sets the bounds to the given extrema. * * @param minX The minimum x value of the bounds * @param minY The minimum y value of the bounds * @param minZ The minimum z value of the bounds * @param maxX The maximum x value of the bounds * @param maxY The maximum y value of the bounds * @param maxZ The maximum z value of the bounds * Tests if the bounds are in the camera frustum. * * @param mvpMatrix The model view projection matrix for the object to which this bounding box belongs. * @return True if the bounding box is at least partially inside the frustum * Tests if the bounds overlap other bounds, treating both bounds as AABBs. * Clones the current BoundingVolume object * @return An exact duplicate of this object * Method for calculating whether an intersection of the given ray occurs with the bounding volume. * * @param position The starting position of the casting ray in local coordinates. * @param direction A unit vector representing the direction of the casting ray in local coordinates. * @param targetNormal The vector to store the bounds' normal at the point of collision * @return A Boolean value representing the detection of an intersection. * Method for calculating whether the given position is contained within the bounding volume. * * @param position The position in local coordinates to be checked. * @return A Boolean value representing the detection of a contained position. BoundingVolumeBase object]]> * An abstract base class for all bounding volume classes. It should not be instantiated directly. <_centerX expr="0"> 0 <_centerY expr="0"> 0 <_centerZ expr="0"> 0 <_halfExtentsX expr="0"> 0 <_halfExtentsY expr="0"> 0 <_halfExtentsZ expr="0"> 0 * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc { target : null } * Finds the closest point on the bounding volume to another given point. This can be used for maximum error calculations for content within a given bound. * @param point The point for which to find the closest point on the bounding volume * @param target An optional Vector3D to store the result to prevent creating a new object. * @return AxisAlignedBoundingBox object.]]> * AxisAlignedBoundingBox represents a bounding box volume that has its planes aligned to the local coordinate axes of the bounded object. * This is useful for most meshes. <_radius expr="0"> 0 <_centerX expr="0"> 0 <_centerY expr="0"> 0 <_centerZ expr="0"> 0 * The radius of the bounding sphere, calculated from the contents of the entity. * @inheritDoc * todo: pass planes? * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc BoundingSphere object]]> * BoundingSphere represents a spherical bounding volume defined by a center point and a radius. * This bounding volume is useful for point lights. <_alwaysIn> <_renderable> * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc { renderable : null, alwaysIn : true } * NullBounds represents a debug bounding "volume" that is either considered always in, or always out of the frustum. * NullBounds is useful for entities that are always considered in the frustum, such as directional lights or skyboxes. <_showBounds> <_partitionNode> <_boundsIsShown expr="false"> false <_shaderPickingDetails> <_pickingCollisionVO> away3d <_pickingCollider> away3d <_staticNode> away3d <_bounds> <_boundsInvalid expr="true"> true <_worldBounds> <_worldBoundsInvalid expr="true"> true * Used by the shader-based picking system to determine whether a separate render pass is made in order * to offer more details for the picking collision object, including local position, normal vector and uv value. * Defaults to false. * * @see away3d.core.pick.ShaderPicker * Defines whether or not the object will be moved or animated at runtime. This property is used by some partitioning systems to improve performance. * Warning: if set to true, they may not be processed by certain partition systems using static visibility lists, unless they're specifically assigned to the visibility list. * Returns a unique picking collision value object for the entity. away3d * Tests if a collision occurs before shortestCollisionDistance, using the data stored in PickingCollisionVO. * @param shortestCollisionDistance * @return * * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * The bounding volume approximating the volume occupied by the Entity. * @inheritDoc * @inheritDoc * Used by the raycast-based picking system to determine how the geometric contents of an entity are processed * in order to offer more details for the picking collision object, including local position, normal vector and uv value. * Defaults to null. * * @see away3d.core.pick.RaycastPicker * Gets a concrete EntityPartition3DNode subclass that is associated with this Entity instance * Factory method that returns the current partition node. Needs to be overridden by concrete subclasses * such as Mesh to return the correct concrete subtype of EntityPartition3DNode (for Mesh = MeshPartition3DNode, * most IRenderables (particles fe) would return RenderablePartition3DNode, I suppose) * Creates the default bounding box to be used by this type of Entity. * @return * Updates the bounding volume for the object. Overriding methods need to set invalid flag to false! * @inheritDoc * Invalidates the bounding volume, causing to be updated when requested. * Notify the scene that the global scene bounds have changed, so it can be repartitioned. * Notify the scene that a new partition was assigned. * Notify the scene that a partition was unassigned. * Creates a new Entity object. * The Entity class provides an abstract base class for all scene graph objects that are considered having a * "presence" in the scene, in the sense that it can be considered an actual object with a position and a size (even * if infinite or idealised), rather than a grouping. * Entities can be partitioned in a space partitioning system and in turn collected by an EntityCollector. * * @see away3d.partition.Partition3D * @see away3d.core.traverse.EntityCollector <_viewProjection expr="new Matrix3D()"> new Matrix3D() <_viewProjectionDirty expr="true"> true <_lens> <_frustumPlanes> <_frustumPlanesDirty expr="true"> true * * @inheritDoc * @inheritDoc * @inheritDoc * The lens used by the camera to perform the projection; * The view projection matrix of the camera. { v : null } * Calculates the scene position of the given normalized coordinates in screen space. * * @param nX The normalised x coordinate in screen space, -1 corresponds to the left edge of the viewport, 1 to the right. * @param nY The normalised y coordinate in screen space, -1 corresponds to the top edge of the viewport, 1 to the bottom. * @param sZ The z coordinate in screen space, representing the distance into the screen. * @param v The destination Vector3D object * @return The scene position of the given screen coordinates. { v : null } * Calculates the ray in scene space from the camera to the given normalized coordinates in screen space. * * @param nX The normalised x coordinate in screen space, -1 corresponds to the left edge of the viewport, 1 to the right. * @param nY The normalised y coordinate in screen space, -1 corresponds to the top edge of the viewport, 1 to the bottom. * @param sZ The z coordinate in screen space, representing the distance into the screen. * @param v The destination Vector3D object * @return The ray from the camera to the scene space position of the given screen coordinates. { v : null } * Calculates the normalised position in screen space of the given scene position. * * @param point3d the position vector of the scene coordinates to be projected. * @param v The destination Vector3D object * @return The normalised screen position of the given scene coordinates. { lens : null } * Creates a new Camera3D object * @param lens An optional lens object that will perform the projection. Defaults to PerspectiveLens. * * @see away3d.cameras.lenses.PerspectiveLens * A Camera3D object represents a virtual camera through which we view the scene. 0 * Default option, projects to a left-handed coordinate system 1 * Projects to a right-handed coordinate system coordinateSystem property * * @see away3d.cameras.lenses.PerspectiveLens#coordinateSystem]]> away3d <_matrix> <_scissorRect expr="new Rectangle()"> new Rectangle() <_viewPort expr="new Rectangle()"> new Rectangle() <_near expr="20"> 20 <_far expr="3000"> 3000 <_aspectRatio expr="1"> 1 <_matrixInvalid expr="true"> true <_frustumCorners expr="new Vector<Float>(8 * 3, true)"> (8 * 3, true)]]> <_unprojection> <_unprojectionInvalid expr="true"> true * Retrieves the corner points of the lens frustum. * The projection matrix that transforms 3D geometry to normalized homogeneous coordinates. * The distance to the near plane of the frustum. Anything behind near plane will not be rendered. * The distance to the far plane of the frustum. Anything beyond the far plane will not be rendered. { v : null } * Calculates the normalised position in screen space of the given scene position relative to the camera. * * @param point3d the position vector of the scene coordinates to be projected. * @param v The destination Vector3D object * @return The normalised screen position of the given scene coordinates relative to the camera. { v : null } * Calculates the scene position relative to the camera of the given normalized coordinates in screen space. * * @param nX The normalised x coordinate in screen space, -1 corresponds to the left edge of the viewport, 1 to the right. * @param nY The normalised y coordinate in screen space, -1 corresponds to the top edge of the viewport, 1 to the bottom. * @param sZ The z coordinate in screen space, representing the distance into the screen. * @param v The destination Vector3D object * @return The scene position relative to the camera of the given screen coordinates. * Creates an exact duplicate of the lens * The aspect ratio (width/height) of the view. Set by the renderer. * @private * Invalidates the projection matrix, which will cause it to be updated on the next request. * Updates the matrix away3d away3d * Creates a new LensBase object. * An abstract base class for all lens classes. Lens objects provides a projection matrix that transforms 3D geometry to normalized homogeneous coordinates. * Creates a new FreeMatrixLens object. * FreeMatrixLens provides a projection lens that exposes a full projection matrix, rather than provide one through * more user-friendly settings. Whenever the matrix is updated, it needs to be reset in order to trigger an update. The x axis defined as a Vector3D object with coordinates (1,0,0). The y axis defined as a Vector3D object with coordinates (0,1,0). The z axis defined as a Vector3D object with coordinates (0,0,1). Returns the angle in radians between two vectors. The returned angle is the smallest radian the first Vector3D object rotates until it aligns with the second Vector3D object. The `angleBetween()` method is a static method. You can use it directly as a method of the Vector3D class. To convert a degree to a radian, you can use the following formula: ```haxe radian = Math.PI/180 * degree ``` @param a The first Vector3D object. @param b The second Vector3D object. @returns The angle between two Vector3D objects. Returns the distance between two Vector3D objects. The `distance()` method is a static method. You can use it directly as a method of the Vector3D class to get the Euclidean distance between two three-dimensional points. @param pt1 A Vector3D object as the first three-dimensional point. @param pt2 A Vector3D object as the second three-dimensional point. @returns The distance between two Vector3D objects. The length, magnitude, of the current Vector3D object from the origin (0,0,0) to the object's x, y, and z coordinates. The `w` property is ignored. A unit vector has a length or magnitude of one. The square of the length of the current Vector3D object, calculated using the `x`, `y`, and `z` properties. The `w` property is ignored. Use the `lengthSquared()` method whenever possible instead of the slower `Math.sqrt()` method call of the `Vector3D.length()` method. The fourth element of a Vector3D object (in addition to the `x`, `y`, and `z` properties) can hold data such as the angle of rotation. The default value is 0. Quaternion notation employs an angle as the fourth element in its calculation of three-dimensional rotation. The w property can be used to define the angle of rotation about the Vector3D object. The combination of the rotation angle and the coordinates (x,y,z) determines the display object's orientation. In addition, the w property can be used as a perspective warp factor for a projected three-dimensional position or as a projection transform value in representing a three-dimensional coordinate projected into the two-dimensional space. For example, you can create a projection matrix using the `Matrix3D.rawData` property, that, when applied to a Vector3D object, produces a transform value in the Vector3D object's fourth element (the `w` property). Dividing the Vector3D object's other elements by the transform value then produces a projected Vector3D object. You can use the `Vector3D.project()` method to divide the first three elements of a Vector3D object by its fourth element. The first element of a Vector3D object, such as the x coordinate of a point in the three-dimensional space. The default value is 0. The second element of a Vector3D object, such as the y coordinate of a point in the three-dimensional space. The default value is 0. The third element of a Vector3D object, such as the z coordinate of a point in three-dimensional space. The default value is 0. Adds the value of the x, y, and z elements of the current Vector3D object to the values of the x, y, and z elements of another Vector3D object. The `add()` method does not change the current Vector3D object. Instead, it returns a new Vector3D object with the new values. The result of adding two vectors together is a resultant vector. One way to visualize the result is by drawing a vector from the origin or tail of the first vector to the end or head of the second vector. The resultant vector is the distance between the origin point of the first vector and the end point of the second vector. ![Resultant Vector3D](/images/resultantVector3D.jpg) @param a A Vector3D object to be added to the current Vector3D object. @returns A Vector3D object that is the result of adding the current Vector3D object to another Vector3D object. Returns a new Vector3D object that is an exact copy of the current Vector3D object. @returns A new Vector3D object that is a copy of the current Vector3D object. Copies all of vector data from the source Vector3D object into the calling Vector3D object. @param sourceVector3D The Vector3D object from which to copy the data. Returns a new Vector3D object that is perpendicular (at a right angle) to the current Vector3D and another Vector3D object. If the returned Vector3D object's coordinates are (0,0,0), then the two Vector3D objects are parallel to each other. ![Cross Product](/images/crossproduct.jpg) You can use the normalized cross product of two vertices of a polygon surface with the normalized vector of the camera or eye viewpoint to get a dot product. The value of the dot product can identify whether a surface of a three-dimensional object is hidden from the viewpoint. @param a A second Vector3D object. @returns A new Vector3D object that is perpendicular to the current Vector3D object and the Vector3D object specified as the parameter. Decrements the value of the x, y, and z elements of the current Vector3D object by the values of the x, y, and z elements of specified Vector3D object. Unlike the `Vector3D.subtract()` method, the `decrementBy()` method changes the current Vector3D object and does not return a new Vector3D object. @param a The Vector3D object containing the values to subtract from the current Vector3D object. If the current Vector3D object and the one specified as the parameter are unit vertices, this method returns the cosine of the angle between the two vertices. Unit vertices are vertices that point to the same direction but their length is one. They remove the length of the vector as a factor in the result. You can use the `normalize()` method to convert a vector to a unit vector. The `dotProduct()` method finds the angle between two vertices. It is also used in backface culling or lighting calculations. Backface culling is a procedure for determining which surfaces are hidden from the viewpoint. You can use the normalized vertices from the camera, or eye, viewpoint and the cross product of the vertices of a polygon surface to get the dot product. If the dot product is less than zero, then the surface is facing the camera or the viewer. If the two unit vertices are perpendicular to each other, they are orthogonal and the dot product is zero. If the two vertices are parallel to each other, the dot product is one. @param a The second Vector3D object. @returns A scalar which is the dot product of the current Vector3D object and the specified Vector3D object. { allFour : false } Determines whether two Vector3D objects are equal by comparing the x, y, and z elements of the current Vector3D object with a specified Vector3D object. If the values of these elements are the same, the two Vector3D objects are equal. If the second optional parameter is set to `true`, all four elements of the Vector3D objects, including the `w` property, are compared. @param toCompare The Vector3D object to be compared with the current Vector3D object. @param allFour An optional parameter that specifies whether the `w` property of the Vector3D objects is used in the comparison. @returns A value of `true` if the specified Vector3D object is equal to the current Vector3D object; `false` if it is not equal. Increments the value of the x, y, and z elements of the current Vector3D object by the values of the x, y, and z elements of a specified Vector3D object. Unlike the `Vector3D.add()` method, the `incrementBy()` method changes the current Vector3D object and does not return a new Vector3D object. @param a The Vector3D object to be added to the current Vector3D object. { allFour : false } Compares the elements of the current Vector3D object with the elements of a specified Vector3D object to determine whether they are nearly equal. The two Vector3D objects are nearly equal if the value of all the elements of the two vertices are equal, or the result of the comparison is within the tolerance range. The difference between two elements must be less than the number specified as the tolerance parameter. If the third optional parameter is set to true, all four elements of the Vector3D objects, including the w property, are compared. Otherwise, only the x, y, and z elements are included in the comparison. @param toCompare The Vector3D object to be compared with the current Vector3D object. @param tolerance A number determining the tolerance factor. If the difference between the values of the Vector3D element specified in the toCompare parameter and the current Vector3D element is less than the tolerance number, the two values are considered nearly equal. @param allFour An optional parameter that specifies whether the `w` property of the Vector3D objects is used in the comparison. @returns A value of `true` if the specified Vector3D object is nearly equal to the current Vector3D object; `false` if it is not equal. Sets the current Vector3D object to its inverse. The inverse object is also considered the opposite of the original object. The value of the `x`, `y`, and `z` properties of the current Vector3D object is changed to -x, -y, and -z. Converts a Vector3D object to a unit vector by dividing the first three elements (x, y, z) by the length of the vector. Unit vertices are vertices that have a direction but their `length` is one. They simplify vector calculations by removing `length` as a factor. @returns The length of the current Vector3D object. Divides the value of the `x`, `y`, and `z` properties of the current Vector3D object by the value of its `w` property. If the current Vector3D object is the result of multiplying a Vector3D object by a projection Matrix3D object, the `w` property can hold the transform value. The `project()` method then can complete the projection by dividing the elements by the `w` property. Use the Matrix3D.rawData property to create a projection Matrix3D object. Scales the current Vector3D object by a scalar, a magnitude. The Vector3D object's x, y, and z elements are multiplied by the scalar number specified in the parameter. For example, if the vector is scaled by ten, the result is a vector that is ten times longer. The scalar can also change the direction of the vector. Multiplying the vector by a negative number reverses its direction. @param s A multiplier (scalar) used to scale a Vector3D object. Sets the members of Vector3D to the specified values @param xa the values to set the vector to. @param ya @param za Subtracts the value of the x, y, and z elements of the current Vector3D object from the values of the x, y, and z elements of another Vector3D object. The `subtract()` method does not change the current Vector3D object. Instead, this method returns a new Vector3D object with the new values. @param a The Vector3D object to be subtracted from the current Vector3D object. @returns A new Vector3D object that is the difference between the current Vector3D and the specified Vector3D object. Returns a string representation of the current Vector3D object. The string contains the values of the x, y, and z properties. @returns A string containing the values of the x, y, and z properties. { w : 0, z : 0, y : 0, x : 0 } Creates an instance of a Vector3D object. If you do not specify a parameter for the constructor, a Vector3D object is created with the elements (0,0,0,0). @param x The first element, such as the x coordinate. @param y The second element, such as the y coordinate. @param z The third element, such as the z coordinate. @param w An optional element for additional data such as the angle of rotation. The Vector3D class represents a point or a location in the three-dimensional space using the Cartesian coordinates x, y, and z. As in a two-dimensional space, the `x` property represents the horizontal axis and the `y` property represents the vertical axis. In three-dimensional space, the `z` property represents depth. The value of the `x` property increases as the object moves to the right. The value of the `y` property increases as the object moves down. The `z` property increases as the object moves farther from the point of view. Using perspective projection and scaling, the object is seen to be bigger when near and smaller when farther away from the screen. As in a right-handed three-dimensional coordinate system, the positive z-axis points away from the viewer and the value of the `z` property increases as the object moves away from the viewer's eye. The origin point (0,0,0) of the global space is the upper-left corner of the stage. ![X, Y, Z Axes](/images/xyzAxes.jpg) The Vector3D class can also represent a direction, an arrow pointing from the origin of the coordinates, such as (0,0,0), to an endpoint; or a floating-point component of an RGB (Red, Green, Blue) color model. Quaternion notation introduces a fourth element, the `w` property, which provides additional orientation information. For example, the `w` property can define an angle of rotation of a Vector3D object. The combination of the angle of rotation and the coordinates `x`, `y`, and `z` can determine the display object's orientation. Here is a representation of Vector3D elements in matrix notation: ![Vector3D elements](/images/Vector3Delements.jpg) "tags=\"haxe,release\"" new Vector3D() <_baseLens> <_plane> <_projectionHeight> <_xMax> <_yMax> * The vertical field of view of the projection. { v : null } * Calculates the scene position relative to the camera of the given normalized coordinates in screen space. * * @param nX The normalised x coordinate in screen space, -1 corresponds to the left edge of the viewport, 1 to the right. * @param nY The normalised y coordinate in screen space, -1 corresponds to the top edge of the viewport, 1 to the bottom. * @param sZ The z coordinate in screen space, representing the distance into the screen. * @param v The destination Vector3D object * @return The scene position relative to the camera of the given screen coordinates. * @inheritDoc { projectionHeight : 500 } * Creates a new OrthogonalLens object. * The PerspectiveLens object provides a projection matrix that projects 3D geometry isometrically. This entails * there is no perspective distortion, and lines that are parallel in the scene will remain parallel on the screen. <_minX> <_maxX> <_minY> <_maxY> { v : null } * Calculates the scene position relative to the camera of the given normalized coordinates in screen space. * * @param nX The normalised x coordinate in screen space, -1 corresponds to the left edge of the viewport, 1 to the right. * @param nY The normalised y coordinate in screen space, -1 corresponds to the top edge of the viewport, 1 to the bottom. * @param sZ The z coordinate in screen space, representing the distance into the screen. * @param v The destination Vector3D object * @return The scene position relative to the camera of the given screen coordinates. * @inheritDoc * Creates a new OrthogonalLens object. * @param fieldOfView The vertical field of view of the projection. * The PerspectiveLens object provides a projection matrix that projects 3D geometry isometrically. This entails * there is no perspective distortion, and lines that are parallel in the scene will remain parallel on the screen. <_fieldOfView> <_focalLength> <_focalLengthInv> <_yMax> <_xMax> <_coordinateSystem> * The vertical field of view of the projection in degrees. * The focal length of the projection in units of viewport height. { v : null } * Calculates the scene position relative to the camera of the given normalized coordinates in screen space. * * @param nX The normalised x coordinate in screen space, -1 corresponds to the left edge of the viewport, 1 to the right. * @param nY The normalised y coordinate in screen space, -1 corresponds to the top edge of the viewport, 1 to the bottom. * @param sZ The z coordinate in screen space, representing the distance into the screen. * @param v The destination Vector3D object * @return The scene position relative to the camera of the given screen coordinates. * The handedness of the coordinate system projection. The default is LEFT_HANDED. * @inheritDoc { coordinateSystem : 0, fieldOfView : 60 } * Creates a new PerspectiveLens object. * * @param fieldOfView The vertical field of view of the projection. * The PerspectiveLens object provides a projection matrix that projects 3D geometry with perspective distortion. <_minAngleX> <_minLengthX> <_tanMinX> <_maxAngleX> <_maxLengthX> <_tanMaxX> <_minAngleY> <_minLengthY> <_tanMinY> <_maxAngleY> <_maxLengthY> <_tanMaxY> { v : null } * Calculates the scene position relative to the camera of the given normalized coordinates in screen space. * * @param nX The normalised x coordinate in screen space, -1 corresponds to the left edge of the viewport, 1 to the right. * @param nY The normalised y coordinate in screen space, -1 corresponds to the top edge of the viewport, 1 to the bottom. * @param sZ The z coordinate in screen space, representing the distance into the screen. * @param v The destination Vector3D object * @return The scene position relative to the camera of the given screen coordinates. * @inheritDoc { maxAngleY : 40, minAngleY : -40, maxAngleX : 40, minAngleX : -40 } * Creates a new PerspectiveLens object. * * @param fieldOfView The vertical field of view of the projection. * The PerspectiveLens object provides a projection matrix that projects 3D geometry with perspective distortion. <_sceneGraphRoot public="1"> <_partitions> * Sends a PartitionTraverser object down the scene partitions * @param traverser The traverser which will pass through the partitions. * * @see away3d.core.traverse.PartitionTraverser * @see away3d.core.traverse.EntityCollector * The root partition to be used by the Scene3D. * Adds a child to the scene's root. * @param child The child to be added to the scene * @return A reference to the added child. * Removes a child from the scene's root. * @param child The child to be removed from the scene. * Removes a child from the scene's root. * @param index Index of child to be removed from the scene. * Retrieves the child with the given index * @param index The index for the child to be retrieved. * @return The child with the given index * The amount of children directly contained by the scene. away3d * When an entity is added to the scene, or to one of its children, add it to the partition tree. * @private away3d * When an entity is removed from the scene, or from one of its children, remove it from its former partition tree. * @private * When an entity has moved or changed size, update its position in its partition tree. * When a partition is assigned to an object somewhere in the scene graph, add the partition to the list if it isn't in there yet * When a partition is removed from an object somewhere in the scene graph, remove the partition from the list * Add a partition if it's not in the list * Creates a new Scene3D object. * The Scene3D class represents an independent 3D scene in which 3D objects can be created and manipulated. * Multiple Scene3D instances can be created in the same SWF file. * * Scene management happens through the scene graph, which is exposed using addChild and removeChild methods. * Internally, the Scene3D object also manages any space partition objects that have been assigned to objects in * the scene graph, of which there is at least 1. <_width expr="0"> 0 <_height expr="0"> 0 <_localTLPos expr="new Point()"> new Point() <_localBRPos expr="new Point()"> new Point() <_globalPos expr="new Point()"> new Point() <_globalWidth expr="0"> 0 <_globalHeight expr="0"> 0 <_globalPosDirty> <_scene> <_camera> <_entityCollector> <_aspectRatio> <_time expr="0"> 0 <_deltaTime> <_backgroundColor expr="0x000000"> 0x000000 <_backgroundAlpha expr="1"> 1 <_mouse3DManager> <_touch3DManager> <_renderer> <_depthRenderer> <_addedToStage> <_forceSoftware> <_filter3DRenderer> <_requireDepthRender> <_depthRender> <_depthTextureInvalid expr="true"> true <_hitField> <_parentIsStage> <_background> <_stage3DProxy> <_backBufferInvalid expr="true"> true <_antiAlias> <_rttBufferManager> <_rightClickMenuEnabled expr="true"> true <_sourceURL> <_shareContext expr="false"> false <_scissorRect> <_scissorRectDirty expr="true"> true <_viewportDirty expr="true"> true <_depthPrepass> <_profile> <_layeredView expr="false"> false <_contextIndex expr="-1"> -1 * Forces mouse-move related events even when the mouse hasn't moved. This allows mouseOver and mouseOut events * etc to be triggered due to changes in the scene graph. Defaults to false. * Used in a sharedContext. When true, clears the depth buffer prior to rendering this particular * view to avoid depth sorting with lower layers. When false, the depth buffer is not cleared * from the previous (lower) view's render so objects in this view may be occluded by the lower * layer. Defaults to false. * The renderer used to draw the scene. * The background color of the screen. This value is only used when clearAll is set to true. * The camera that's used to render the scene for this viewport * Set camera that's used to render the scene for this viewport * The scene that's used to render for this viewport * Set the scene that's used to render for this viewport * The amount of milliseconds the last render call took filters * Not supported. Use filters3d instead. filters * Not supported. Use filters3d instead. width * The width of the viewport. When software rendering is used, this is limited by the * platform to 2048 pixels. width height * The height of the viewport. When software rendering is used, this is limited by the * platform to 2048 pixels. height x y visible * The amount of anti-aliasing to be used. * The amount of faces that were pushed through the render pipeline on the last frame render. * Defers control of Context3D clear() and present() calls to Stage3DProxy, enabling multiple Stage3D frameworks * to share the same Context3D object. * Updates the backbuffer dimensions. * Defines a source url string that can be accessed though a View Source option in the right-click menu. * * Requires the stats panel to be enabled. * * @param url The url to the source files. * Disposes all memory occupied by the view. This will also dispose the renderer. * Calculates the projected position in screen space of the given scene position. * * @param point3d the position vector of the point to be projected. * @return The absolute screen position of the given scene coordinates. { v : null } * Calculates the scene position of the given screen coordinates. * * eg. unproject(view.mouseX, view.mouseY, 500) returns the scene position of the mouse 500 units into the screen. * * @param sX The absolute x coordinate in 2D relative to View3D, representing the screenX coordinate. * @param sY The absolute y coordinate in 2D relative to View3D, representing the screenY coordinate. * @param sZ The distance into the screen, representing the screenZ coordinate. * @param v the destination Vector3D object * @return The scene position of the given screen coordinates. * Calculates the ray in scene space from the camera to the given screen coordinates. * * eg. getRay(view.mouseX, view.mouseY, 500) returns the ray from the camera to a position under the mouse, 500 units into the screen. * * @param sX The absolute x coordinate in 2D relative to View3D, representing the screenX coordinate. * @param sY The absolute y coordinate in 2D relative to View3D, representing the screenY coordinate. * @param sZ The distance into the screen, representing the screenZ coordinate. * @return The ray from the camera to the scene space position of the given screen coordinates. away3d * The EntityCollector object that will collect all potentially visible entities in the partition tree. * * @see away3d.core.traverse.EntityCollector * @private * When added to the stage, retrieve a Stage3D instance { contextIndex : -1, profile : "baseline", forceSoftware : false, renderer : null, camera : null, scene : null } openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() <_autoUpdate> <_targetObject> * Target object on which the controller acts. Defaults to null. * Determines whether the controller applies updates automatically. Defaults to true { interpolate : true } * Manually applies updates to the target 3D object. { targetObject : null } * Base controller class for dynamically adjusting the propeties of a 3D object. * * @param targetObject The 3D object on which to act. <_currentPanAngle expr="0"> 0 <_currentTiltAngle expr="90"> 90 <_panAngle expr="0"> 0 <_tiltAngle expr="90"> 90 <_minTiltAngle expr="-90"> -90 <_maxTiltAngle expr="90"> 90 <_steps expr="0"> 0 <_walkIncrement expr="0"> 0 <_strafeIncrement expr="0"> 0 <_wrapPanAngle expr="false"> false hover() method is called. Defaults to 8. * * Affects the speed at which the tiltAngle and panAngle resolve to their targets. * * @see #tiltAngle * @see #panAngle]]> * Rotation of the camera in degrees around the y axis. Defaults to 0. * Elevation angle of the camera in degrees. Defaults to 90. tiltAngle. Defaults to -90. * * @see #tiltAngle]]> tiltAngle. Defaults to 90. * * @see #tiltAngle]]> * Defines whether the value of the pan angle wraps when over 360 degrees or under 0 degrees. Defaults to false. { interpolate : true } tiltAngle, panAngle and steps variables. * * @param interpolate If the update to a target pan- or tiltAngle is interpolated. Default is true. * * @see #tiltAngle * @see #panAngle * @see #steps]]> { wrapPanAngle : false, steps : 8, maxTiltAngle : 90, minTiltAngle : -90, tiltAngle : 90, panAngle : 0, targetObject : null } HoverController object.]]> * Extended camera used to hover round a specified target object. * * @see away3d.containers.View3D * The vector representing the up direction of the target object. * The Vector3D object that the target looks at. <_lookAtPosition> <_lookAtObject> <_origin expr="new Vector3D(0.0, 0.0, 0.0)"> new Vector3D(0.0, 0.0, 0.0) <_upAxis expr="Vector3D.Y_AXIS"> Vector3D.Y_AXIS <_pos expr="new Vector3D()"> new Vector3D() * The 3d object that the target looks at. { interpolate : true } * @inheritDoc { lookAtObject : null, targetObject : null } LookAtController object.]]> * Extended camera used to automatically look at a specified target object. * * @see away3d.containers.View3D <_currentPanAngle expr="0"> 0 away3d <_currentTiltAngle expr="90"> 90 away3d <_panAngle expr="0"> 0 <_tiltAngle expr="90"> 90 <_distance expr="1000"> 1000 <_minPanAngle expr="Math.NEGATIVE_INFINITY"> Math.NEGATIVE_INFINITY <_maxPanAngle expr="Math.POSITIVE_INFINITY"> Math.POSITIVE_INFINITY <_minTiltAngle expr="-90"> -90 <_maxTiltAngle expr="90"> 90 <_steps expr="8"> 8 <_yFactor expr="2"> 2 <_wrapPanAngle expr="false"> false hover() method is called. Defaults to 8. * * Affects the speed at which the tiltAngle and panAngle resolve to their targets. * * @see #tiltAngle * @see #panAngle]]> * Rotation of the camera in degrees around the y axis. Defaults to 0. * Elevation angle of the camera in degrees. Defaults to 90. * Distance between the camera and the specified target. Defaults to 1000. panAngle. Defaults to -Infinity. * * @see #panAngle]]> panAngle. Defaults to Infinity. * * @see #panAngle]]> tiltAngle. Defaults to -90. * * @see #tiltAngle]]> tiltAngle. Defaults to 90. * * @see #tiltAngle]]> * Fractional difference in distance between the horizontal camera orientation and vertical camera orientation. Defaults to 2. * * @see #distance * Defines whether the value of the pan angle wraps when over 360 degrees or under 0 degrees. Defaults to false. { interpolate : true } tiltAngle, panAngle and steps variables. * * @param interpolate If the update to a target pan- or tiltAngle is interpolated. Default is true. * * @see #tiltAngle * @see #panAngle * @see #steps]]> { wrapPanAngle : false, yFactor : 2, steps : 8, maxPanAngle : null, minPanAngle : null, maxTiltAngle : 90, minTiltAngle : -90, distance : 1000, tiltAngle : 90, panAngle : 0, lookAtObject : null, targetObject : null } HoverController object.]]> * Extended camera used to hover round a specified target object. * * @see away3d.containers.View3D { interpolate : true } { distance : 700, tiltAngle : 45, lookAtObject : null, targetObject : null } * Controller used to follow behind an object on the XZ plane, with an optional * elevation (tiltAngle). * * @see away3d.containers.View3D <_velocity> <_dv> <_stretch> <_force> <_acceleration> <_desiredPosition> * Stiffness of the spring, how hard is it to extend. The higher it is, the more "fixed" the cam will be. * A number between 1 and 20 is recommended. * Damping is the spring internal friction, or how much it resists the "boinggggg" effect. Too high and you'll lose it! * A number between 1 and 20 is recommended. * Mass of the camera, if over 120 and it'll be very heavy to move. new Vector3D(0, 500, -1000) * Offset of spring center from target in target object space, ie: Where the camera should ideally be in the target object space. { interpolate : true } { damping : 4, mass : 40, stiffness : 1, lookAtObject : null, targetObject : null } * Uses spring physics to animate the target object towards a position that is * defined as the lookAtTarget object's position plus the vector defined by the * positionOffset property. away3d away3d away3d <_parentGeometry> <_vertexData> <_faceNormalsDirty expr="true"> true <_faceTangentsDirty expr="true"> true <_faceTangents> <_indices> <_indexBuffer expr="new Vector<IndexBuffer3D>(8)"> (8)]]> <_numIndices> <_indexBufferContext expr="new Vector<Context3D>(8)"> (8)]]> <_indicesInvalid expr="new Vector<Bool>(8, true)"> (8, true)]]> <_numTriangles> <_autoDeriveVertexNormals expr="true"> true <_autoDeriveVertexTangents expr="true"> true <_autoGenerateUVs expr="false"> false <_useFaceWeights expr="false"> false <_vertexNormalsDirty expr="true"> true <_vertexTangentsDirty expr="true"> true <_faceNormals> <_faceWeights> <_scaleU expr="1"> 1 <_scaleV expr="1"> 1 <_uvsDirty expr="true"> true * Defines whether a UV buffer should be automatically generated to contain dummy UV coordinates. * Set to true if a geometry lacks UV data but uses a material that requires it, or leave as false * in cases where UV data is explicitly defined or the material does not require UV data. * True if the vertex normals should be derived from the geometry, false if the vertex normals are set * explicitly. * Indicates whether or not to take the size of faces into account when auto-deriving vertex normals and tangents. * The total amount of triangles in the SubGeometry. * Retrieves the VertexBuffer3D object that contains triangle indices. * @param context The Context3D for which we request the buffer * @return The VertexBuffer3D object that contains triangle indices. * Updates the tangents for each face. * Updates the normals for each face. * Updates the vertex normals based on the geometry. * Updates the vertex tangents based on the geometry. * The raw index data that define the faces. * * @private * Updates the face indices of the SubGeometry. * @param indices The face indices to upload. * Disposes all buffers in a given vector. * @param buffers The vector of buffers to dispose. * Disposes all buffers in a given vector. * @param buffers The vector of buffers to dispose. * True if the vertex tangents should be derived from the geometry, false if the vertex normals are set * explicitly. * The raw data of the face normals, in the same order as the faces are listed in the index list. * * @private * Invalidates all buffers in a vector, causing them the update when they are first requested. * @param buffers The vector of buffers to invalidate. * The Geometry object that 'owns' this SubGeometry object. * * @private * Scales the uv coordinates * @param scaleU The amount by which to scale on the u axis. Default is 1; * @param scaleV The amount by which to scale on the v axis. Default is 1; { scaleV : 1, scaleU : 1 } * Scales the geometry. * @param scale The amount by which to scale. * The total amount of vertices in the SubGeometry. * The amount of triangles that comprise the IRenderable geometry. * The distance between two consecutive vertex, normal or tangent elements * This always applies to vertices, normals and tangents. * The distance between two consecutive normal elements * This always applies to vertices, normals and tangents. * The distance between two consecutive tangent elements * This always applies to vertices, normals and tangents. * The distance between two consecutive UV elements * The distance between two secondary UV elements * Assigns the attribute stream for vertex positions. * @param index The attribute stream index for the vertex shader * @param stage3DProxy The Stage3DProxy to assign the stream to * Assigns the attribute stream for UV coordinates * @param index The attribute stream index for the vertex shader * @param stage3DProxy The Stage3DProxy to assign the stream to * Assigns the attribute stream for a secondary set of UV coordinates * @param index The attribute stream index for the vertex shader * @param stage3DProxy The Stage3DProxy to assign the stream to * Assigns the attribute stream for vertex normals * @param index The attribute stream index for the vertex shader * @param stage3DProxy The Stage3DProxy to assign the stream to * Assigns the attribute stream for vertex tangents * @param index The attribute stream index for the vertex shader * @param stage3DProxy The Stage3DProxy to assign the stream to * Retrieves the IndexBuffer3D object that contains triangle indices. * @param context The Context3D for which we request the buffer * @return The VertexBuffer3D object that contains triangle indices. * Retrieves the object's vertices as a Number array. * Retrieves the object's normals as a Number array. * Retrieves the object's tangents as a Number array. * The offset into vertexData where the vertices are placed * The offset into vertexNormalData where the normals are placed * The offset into vertexTangentData where the tangents are placed * The offset into UVData vector where the UVs are placed * The offset into SecondaryUVData vector where the UVs are placed away3d * Retrieves the object's indices as a uint array. * Retrieves the object's uvs as a Number array. { scaleV : 1, scaleU : 1 } away3d away3d <_vertexDataInvalid expr="new Vector<Bool>(8, true)"> (8, true)]]> <_vertexBuffer expr="new Vector<VertexBuffer3D>(8)"> (8)]]> <_bufferContext expr="new Vector<Context3D>(8)"> (8)]]> <_numVertices> <_contextIndex> <_activeBuffer> <_activeContext> <_activeDataInvalid> <_isolatedVertexPositionData> <_isolatedVertexPositionDataDirty> * Updates the vertex data. All vertex properties are contained in a single Vector, and the order is as follows: * 0 - 2: vertex position X, Y, Z * 3 - 5: normal X, Y, Z * 6 - 8: tangent X, Y, Z * 9 - 10: U V * 11 - 12: Secondary U V { scaleV : 1, scaleU : 1 } * Isolate and returns a Vector.Number of a specific buffer type * * - stripBuffer(0, 3), return only the vertices * - stripBuffer(3, 3): return only the normals * - stripBuffer(6, 3): return only the tangents * - stripBuffer(9, 2): return only the uv's * - stripBuffer(11, 2): return only the secondary uv's <_subGeometries> * A collection of SubGeometry objects, each of which contain geometrical data such as vertices, normals, etc. * Adds a new SubGeometry object to the list. * @param subGeometry The SubGeometry object to be added. * Removes a new SubGeometry object from the list. * @param subGeometry The SubGeometry object to be removed. * Clones the geometry. * @return An exact duplicate of the current Geometry object. * Scales the geometry. * @param scale The amount by which to scale. * Clears all resources used by the Geometry object, including SubGeometries. { scaleV : 1, scaleU : 1 } * Scales the uv coordinates (tiling) * @param scaleU The amount by which to scale on the u axis. Default is 1; * @param scaleV The amount by which to scale on the v axis. Default is 1; * Updates the SubGeometries so all vertex data is represented in different buffers. * Use this for compatibility with Pixel Bender and PBPickingCollider away3d away3d * Creates a new Geometry object. * Geometry is a collection of SubGeometries, each of which contain the actual geometrical data such as vertices, * normals, uvs, etc. It also contains a reference to an animation class, which defines how the geometry moves. * A Geometry object is assigned to a Mesh, a scene graph occurence of the geometry, which in turn assigns * the SubGeometries to its respective SubMesh objects. * * * * @see away3d.core.base.SubGeometry * @see away3d.scenegraph.Mesh * The material with which to render the object. * The animation used by the material to assemble the vertex code. * IMaterialOwner provides an interface for objects that can use materials. * The transformation matrix that transforms from model to world space. * The transformation matrix that transforms from model to world space, adapted with any special operations needed to render. * For example, assuring certain alignedness which is not inherent in the scene transform. By default, this would * return the scene transform. * The inverse scene transform object that transforms from world to model space. * Indicates whether the IRenderable should trigger mouse events, and hence should be rendered for hit testing. * The entity that that initially provided the IRenderable to the render pipeline. * Indicates whether the renderable can cast shadows * Provides a Matrix object to transform the uv coordinates, if the material supports it. * For TextureMaterial and TextureMultiPassMaterial, the animateUVs property should be set to true. * The total amount of vertices in the SubGeometry. * The amount of triangles that comprise the IRenderable geometry. * The number of data elements in the buffers per vertex. * This always applies to vertices, normals and tangents. * Assigns the attribute stream for vertex positions. * @param index The attribute stream index for the vertex shader * @param stage3DProxy The Stage3DProxy to assign the stream to * Assigns the attribute stream for UV coordinates * @param index The attribute stream index for the vertex shader * @param stage3DProxy The Stage3DProxy to assign the stream to * Assigns the attribute stream for a secondary set of UV coordinates * @param index The attribute stream index for the vertex shader * @param stage3DProxy The Stage3DProxy to assign the stream to * Assigns the attribute stream for vertex normals * @param index The attribute stream index for the vertex shader * @param stage3DProxy The Stage3DProxy to assign the stream to * Assigns the attribute stream for vertex tangents * @param index The attribute stream index for the vertex shader * @param stage3DProxy The Stage3DProxy to assign the stream to * Retrieves the IndexBuffer3D object that contains triangle indices. * @param context The Context3D for which we request the buffer * @return The VertexBuffer3D object that contains triangle indices. * Retrieves the object's vertices as a Number array. * Retrieves the object's normals as a Number array. * Retrieves the object's tangents as a Number array. * Retrieves the object's indices as a UInt array. * Retrieves the object's uvs as a Number array. * IRenderable provides an interface for objects that can be rendered in the rendering pipeline. * ... away3d away3d <_bufferFormat> <_jointWeightsData> <_jointIndexData> <_animatedData> <_jointWeightsBuffer expr="new Vector<VertexBuffer3D>(8)"> (8)]]> <_jointIndexBuffer expr="new Vector<VertexBuffer3D>(8)"> (8)]]> <_jointWeightsInvalid expr="new Vector<Bool>(8, true)"> (8, true)]]> <_jointIndicesInvalid expr="new Vector<Bool>(8, true)"> (8, true)]]> <_jointWeightContext expr="new Vector<Context3D>(8)"> (8)]]> <_jointIndexContext expr="new Vector<Context3D>(8)"> (8)]]> <_jointsPerVertex> <_condensedJointIndexData> <_condensedIndexLookUp> <_numCondensedJoints> * If indices have been condensed, this will contain the original index for each condensed index. * The amount of joints used when joint indices have been condensed. * The animated vertex positions when set explicitly if the skinning transformations couldn't be performed on GPU. * Assigns the attribute stream for joint weights * @param index The attribute stream index for the vertex shader * @param stage3DProxy The Stage3DProxy to assign the stream to * Assigns the attribute stream for joint indices * @param index The attribute stream index for the vertex shader * @param stage3DProxy The Stage3DProxy to assign the stream to * Clones the current object. * @return An exact duplicate of the current object. * Cleans up any resources used by this object. away3d * The raw joint weights data. away3d * The raw joint index data. away3d * Creates a new SkinnedSubGeometry object. * @param jointsPerVertex The amount of joints that can be assigned per vertex. * SkinnedSubGeometry provides a SubGeometry extension that contains data needed to skin vertices. In particular, * it provides joint indices and weights. * Important! Joint indices need to be pre-multiplied by 3, since they index the matrix array (and each matrix has 3 float4 elements) <_uvs> <_secondaryUvs> <_vertexNormals> <_vertexTangents> <_verticesInvalid expr="new Vector<Bool>(8, true)"> (8, true)]]> <_uvsInvalid expr="new Vector<Bool>(8, true)"> (8, true)]]> <_secondaryUvsInvalid expr="new Vector<Bool>(8, true)"> (8, true)]]> <_normalsInvalid expr="new Vector<Bool>(8, true)"> (8, true)]]> <_tangentsInvalid expr="new Vector<Bool>(8, true)"> (8, true)]]> <_vertexBuffer expr="new Vector<VertexBuffer3D>(8)"> (8)]]> <_uvBuffer expr="new Vector<VertexBuffer3D>(8)"> (8)]]> <_secondaryUvBuffer expr="new Vector<VertexBuffer3D>(8)"> (8)]]> <_vertexNormalBuffer expr="new Vector<VertexBuffer3D>(8)"> (8)]]> <_vertexTangentBuffer expr="new Vector<VertexBuffer3D>(8)"> (8)]]> <_vertexBufferContext expr="new Vector<Context3D>(8)"> (8)]]> <_uvBufferContext expr="new Vector<Context3D>(8)"> (8)]]> <_secondaryUvBufferContext expr="new Vector<Context3D>(8)"> (8)]]> <_vertexNormalBufferContext expr="new Vector<Context3D>(8)"> (8)]]> <_vertexTangentBufferContext expr="new Vector<Context3D>(8)"> (8)]]> <_numVertices> * The total amount of vertices in the SubGeometry. * @inheritDoc * @inheritDoc * @inheritDoc * Retrieves the VertexBuffer3D object that contains vertex normals. * @param context The Context3D for which we request the buffer * @return The VertexBuffer3D object that contains vertex normals. * Retrieves the VertexBuffer3D object that contains vertex tangents. * @param context The Context3D for which we request the buffer * @return The VertexBuffer3D object that contains vertex tangents. * Clones the current object * @return An exact duplicate of the current object. * @inheritDoc { scaleV : 1, scaleU : 1 } * @inheritDoc * Clears all resources used by the SubGeometry object. * The raw vertex position data. * Updates the vertex data of the SubGeometry. * @param vertices The new vertex data to upload. * The raw texture coordinate data. * Updates the uv coordinates of the SubGeometry. * @param uvs The uv coordinates to upload. * The raw vertex normal data. * Updates the vertex normals of the SubGeometry. When updating the vertex normals like this, * autoDeriveVertexNormals will be set to false and vertex normals will no longer be calculated automatically. * @param vertexNormals The vertex normals to upload. * The raw vertex tangent data. * * @private * Updates the vertex tangents of the SubGeometry. When updating the vertex tangents like this, * autoDeriveVertexTangents will be set to false and vertex tangents will no longer be calculated automatically. * @param vertexTangents The vertex tangents to upload. * Creates a new SubGeometry object. * The SubGeometry class is a collections of geometric data that describes a triangle mesh. It is owned by a * Geometry instance, and wrapped by a SubMesh in the scene graph. * Several SubGeometries are grouped so they can be rendered with different materials, but still represent a single * object. * * @see away3d.core.base.Geometry * @see away3d.core.base.SubMesh away3d <_material> away3d <_parentMesh> <_subGeometry> <_index> away3d <_uvTransform> <_uvTransformDirty> <_uvRotation expr="0"> 0 <_scaleU expr="1"> 1 <_scaleV expr="1"> 1 <_offsetU expr="0"> 0 <_offsetV expr="0"> 0 <_uvTransform2> <_uvTransformDirty2> <_uvRotation2 expr="0"> 0 <_scaleU2 expr="1"> 1 <_scaleV2 expr="1"> 1 <_offsetU2 expr="0"> 0 <_offsetV2 expr="0"> 0 * The entity that that initially provided the IRenderable to the render pipeline (ie: the owning Mesh object). * The SubGeometry object which provides the geometry data for this SubMesh. * The material used to render the current SubMesh. If set to null, its parent Mesh's material will be used instead. * The scene transform object that transforms from model to world space. * The inverse scene transform object that transforms from world to model space. * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * The amount of triangles that make up this SubMesh. * The animator object that provides the state for the SubMesh's animation. * Indicates whether the SubMesh should trigger mouse events, and hence should be rendered for hit testing. * A reference to the owning Mesh object * * @private { material : null } * Creates a new SubMesh object * @param subGeometry The SubGeometry object which provides the geometry data for this SubMesh. * @param parentMesh The Mesh object to which this SubMesh belongs. * @param material An optional material used to render this SubMesh. * SubMesh wraps a SubGeometry as a scene graph instantiation. A SubMesh is owned by a Mesh object. * * @see away3d.core.base.SubGeometry * @see away3d.scenegraph.Mesh <_calcPoint static="1"> <_vertices> <_uvs> <_faceIndex> <_v0Index> <_v1Index> <_v2Index> <_uv0Index> <_uv1Index> <_uv2Index> * To set uv values for either uv0, uv1 or uv2. * @param index The id of the uv (0, 1 or 2) * @param u The horizontal coordinate of the texture value. * @param v The vertical coordinate of the texture value. * To store a temp index of a face during a loop * @param ind The index * @return Returns the tmp index set for this Face object * the index set for uv0 in this Face value object * @param ind The index * @return return the index set for uv0 in this Face value object * uv0 u and v values * @param u The u value * @param v The v value * @return return the u value of the uv0 of this Face value object * @return return the v value of the uv0 of this Face value object * the index set for uv1 in this Face value object * @param ind The index * @return Returns the index set for uv1 in this Face value object * uv1 u and v values * @param u The u value * @param v The v value * @return Returns the u value of the uv1 of this Face value object * @return Returns the v value of the uv1 of this Face value object * the index set for uv2 in this Face value object * @param ind The index * @return return the index set for uv2 in this Face value object * uv2 u and v values * @param u The u value * @param v The v value * @return return the u value of the uv2 of this Face value object * @return return the v value of the uv2 of this Face value object * To set uv values for either v0, v1 or v2. * @param index The id of the uv (0, 1 or 2) * @param x The x value of the vertex. * @param y The y value of the vertex. * @param z The z value of the vertex. * set the index value for v0 * @param ind The index value to store * @return Returns the index value of the v0 stored in the Face value object representing the v0 stored in the Face value object]]> * @return Returns the x value of the v0 stored in the Face value object * @return Returns the y value of the v0 stored in the Face value object * @return Returns the z value of the v0 stored in the Face value object * set the index value for v1 * @param ind The index value to store * @return Returns the index value of the v1 stored in the Face value object representing the v1 stored in the Face value object]]> * @return Returns the x value of the v1 stored in the Face value object * @return Returns the y value of the v1 stored in the Face value object * @return Returns the z value of the v1 stored in the Face value object * set the index value for v2 * @param ind The index value to store * @return return the index value of the v2 stored in the Face value object representing the v2 stored in the Face value object]]> * @return Returns the x value of the v2 stored in the Face value object * @return Returns the y value of the v2 stored in the Face value object * @return Returns the z value of the v2 stored in the Face value object * returns a new Face value Object { target : null } * Returns the first two barycentric coordinates for a point on (or outside) the triangle. The third coordinate is 1 - x - y * @param point The point for which to calculate the new target * @param target An optional Point object to store the calculation in order to prevent creation of a new object { maxDistanceToPlane : .007 } * Tests whether a given point is inside the triangle * @param point The point to test against * @param maxDistanceToPlane The minimum distance to the plane for the point to be considered on the triangle. This is usually used to allow for rounding error, but can also be used to perform a volumetric test. { epsilon : .007 } { target : null } * Returns the target coordinates for a point on a triangle * @param v0 The triangle's first vertex * @param v1 The triangle's second vertex * @param v2 The triangle's third vertex * @param uv0 The UV coord associated with the triangle's first vertex * @param uv1 The UV coord associated with the triangle's second vertex * @param uv2 The UV coord associated with the triangle's third vertex * @param point The point for which to calculate the new target * @param target An optional UV object to store the calculation in order to prevent creation of a new object { uvs : null, vertices : null } Face value object. * * @param vertices [optional] 9 entries long Vector.<Number> representing the x, y and z of v0, v1, and v2 of a face * @param uvs [optional] 6 entries long Vector.<Number> representing the u and v of uv0, uv1, and uv2 of a face]]> * Face value object. <_u> <_v> * Defines the vertical coordinate of the texture value. * Defines the horizontal coordinate of the texture value. * returns a new UV value Object * returns the value object as a string for trace/debug purpose { v : 0, u : 0 } UV object. * * @param u [optional] The horizontal coordinate of the texture value. Defaults to 0. * @param v [optional] The vertical coordinate of the texture value. Defaults to 0.]]> * Texture coordinates value object. <_x> <_y> <_z> <_index> * To define/store the index of value object * @param ind The index * To define/store the x value of the value object * @param value The x value * To define/store the y value of the value object * @param value The y value * To define/store the z value of the value object * @param value The z value * returns a new Vertex value Object * returns the value object as a string for trace/debug purpose { index : 0, z : 0, y : 0, x : 0 } Vertex value object. * * @param x [optional] The x value. Defaults to 0. * @param y [optional] The y value. Defaults to 0. * @param z [optional] The z value. Defaults to 0. * @param index [optional] The index value. Defaults is NaN.]]> * Vertex value object. <_pool> <_index> <_poolSize> <_pool> <_index> <_poolSize> <_instances static="1"> <_currentId expr="0" line="25" static="1"> 0 <_stage3DProxy> <_program3Ds> <_ids> <_usages> <_keys> { agalVersion : 1 } "activate" The `ACTIVATE` constant defines the value of the `type` property of an `activate` event object. **Note:** This event has neither a "capture phase" nor a "bubble phase", which means that event listeners must be added directly to any potential targets, whether the target is on the display list or not. AIR for TV devices never automatically dispatch this event. You can, however, dispatch it manually. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `false` | | `cancelable` | `false`; there is no default behavior to cancel. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `target` | Any DisplayObject instance with a listener registered for the `activate` event. | "added" The `Event.ADDED` constant defines the value of the `type` property of an `added` event object. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `true` | | `cancelable` | `false`; there is no default behavior to cancel. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `target` | The DisplayObject instance being added to the display list. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | "addedToStage" The `Event.ADDED_TO_STAGE` constant defines the value of the `type` property of an `addedToStage` event object. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `false` | | `cancelable` | `false`; there is no default behavior to cancel. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `target` | The DisplayObject instance being added to the on stage display list, either directly or through the addition of a sub tree in which the DisplayObject instance is contained. If the DisplayObject instance is being directly added, the `added` event occurs before this event. | "cancel" The `Event.CANCEL` constant defines the value of the `type` property of a `cancel` event object. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `false` | | `cancelable` | `false`; there is no default behavior to cancel. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `target` | A reference to the object on which the operation is canceled. | "change" The `Event.CHANGE` constant defines the value of the `type` property of a `change` event object. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `true` | | `cancelable` | `false`; there is no default behavior to cancel. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `target` | The object that has had its value modified. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | "clear" The `Event.CLEAR` constant defines the value of the `type` property of a `clear` event object. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `false` | | `cancelable` | `false`; there is no default behavior to cancel. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `target` | Any InteractiveObject instance with a listener registered for the `clear` event. | **Note:** TextField objects do _not_ dispatch `clear`, `copy`, `cut`, `paste`, or `selectAll` events. TextField objects always include Cut, Copy, Paste, Clear, and Select All commands in the context menu. You cannot remove these commands from the context menu for TextField objects. For TextField objects, selecting these commands (or their keyboard equivalents) does not generate `clear`, `copy`, `cut`, `paste`, or `selectAll` events. However, other classes that extend the InteractiveObject class, including components built using the Flash Text Engine (FTE), will dispatch these events in response to user actions such as keyboard shortcuts and context menus. "close" The `Event.CLOSE` constant defines the value of the `type` property of a `close` event object. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `false` | | `cancelable` | `false`; there is no default behavior to cancel. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `target` | The object whose connection has been closed. | "complete" The `Event.COMPLETE` constant defines the value of the `type` property of a `complete` event object. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `false` | | `cancelable` | `false`; there is no default behavior to cancel. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `target` | The network object that has completed loading. | "connect" The `Event.CONNECT` constant defines the value of the `type` property of a `connect` event object. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `false` | | `cancelable` | `false`; there is no default behavior to cancel. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `target` | The Socket or XMLSocket object that has established a network connection. | "context3DCreate" The `Event.CONTEXT3D_CREATE` constant defines the value of the type property of a `context3Dcreate` event object. This event is raised only by Stage3D objects in response to either a call to `Stage3D.requestContext3D` or in response to an OS triggered reset of the Context3D bound to the Stage3D object. Inspect the `Stage3D.context3D` property to get the newly created Context3D object. "copy" Defines the value of the `type` property of a `copy` event object. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `false` | | `cancelable` | `false`; there is no default behavior to cancel. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `target` | Any InteractiveObject instance with a listener registered for the `copy` event. | **Note:** TextField objects do _not_ dispatch `clear`, `copy`, `cut`, `paste`, or `selectAll` events. TextField objects always include Cut, Copy, Paste, Clear, and Select All commands in the context menu. You cannot remove these commands from the context menu for TextField objects. For TextField objects, selecting these commands (or their keyboard equivalents) does not generate `clear`, `copy`, `cut`, `paste`, or `selectAll` events. However, other classes that extend the InteractiveObject class, including components built using the Flash Text Engine (FTE), will dispatch these events in response to user actions such as keyboard shortcuts and context menus. "cut" Defines the value of the `type` property of a `cut` event object. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `false` | | `cancelable` | `false`; there is no default behavior to cancel. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `target` | Any InteractiveObject instance with a listener registered for the `cut` event. | **Note:** TextField objects do _not_ dispatch `clear`, `copy`, `cut`, `paste`, or `selectAll` events. TextField objects always include Cut, Copy, Paste, Clear, and Select All commands in the context menu. You cannot remove these commands from the context menu for TextField objects. For TextField objects, selecting these commands (or their keyboard equivalents) does not generate `clear`, `copy`, `cut`, `paste`, or `selectAll` events. However, other classes that extend the InteractiveObject class, including components built using the Flash Text Engine (FTE), will dispatch these events in response to user actions such as keyboard shortcuts and context menus. "deactivate" The `Event.DEACTIVATE` constant defines the value of the `type` property of a `deactivate` event object. **Note:** This event has neither a "capture phase" nor a "bubble phase", which means that event listeners must be added directly to any potential targets, whether the target is on the display list or not. AIR for TV devices never automatically dispatch this event. You can, however, dispatch it manually. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `false` | | `cancelable` | `false`; there is no default behavior to cancel. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `target` | Any DisplayObject instance with a listener registered for the `deactivate` event. | "enterFrame" The `Event.ENTER_FRAME` constant defines the value of the `type` property of an `enterFrame` event object. **Note:** This event has neither a "capture phase" nor a "bubble phase", which means that event listeners must be added directly to any potential targets, whether the target is on the display list or not. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `false` | | `cancelable` | `false`; there is no default behavior to cancel. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `target` | Any DisplayObject instance with a listener registered for the `enterFrame` event. | "exitFrame" The `Event.EXIT_FRAME` constant defines the value of the `type` property of an `exitFrame` event object. **Note:** This event has neither a "capture phase" nor a "bubble phase", which means that event listeners must be added directly to any potential targets, whether the target is on the display list or not. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `false` | | `cancelable` | `false`; there is no default behavior to cancel. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `target` | Any DisplayObject instance with a listener registered for the `enterFrame` event. | "frameConstructed" The `Event.FRAME_CONSTRUCTED` constant defines the value of the `type` property of an `frameConstructed` event object. **Note:** This event has neither a "capture phase" nor a "bubble phase", which means that event listeners must be added directly to any potential targets, whether the target is on the display list or not. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `false` | | `cancelable` | `false`; there is no default behavior to cancel. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `target` | Any DisplayObject instance with a listener registered for the `frameConstructed` event. | "frameLabel" The `Event.FRAME_LABEL` constant defines the value of the type property of a `frameLabel` event object. **Note:** This event has neither a "capture phase" nor a "bubble phase", which means that event listeners must be added directly to FrameLabel objects. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `false` | | `cancelable` | `false`; there is no default behavior to cancel. | | `currentTarget` | The FrameLabel object that is actively processing the Event object with an event listener. | | `target` | Any FrameLabel instance with a listener registered for the frameLabel event. | "fullScreen" The `Event.FULL_SCREEN` constant defines the value of the `type` property of a `fullScreen` event object. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `false` | | `cancelable` | `false`; there is no default behavior to cancel. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `target` | The Stage object. | "id3" The `Event.ID3` constant defines the value of the `type` property of an `id3` event object. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `false` | | `cancelable` | `false`; there is no default behavior to cancel. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `target` | The Sound object loading the MP3 for which ID3 data is now available. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | "init" The `Event.INIT` constant defines the value of the `type` property of an `init` event object. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `false` | | `cancelable` | `false`; there is no default behavior to cancel. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `target` | The LoaderInfo object associated with the SWF file being loaded. | "mouseLeave" The `Event.MOUSE_LEAVE` constant defines the value of the `type` property of a `mouseLeave` event object. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `false` | | `cancelable` | `false`; there is no default behavior to cancel. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `target` | The Stage object. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | "open" The `Event.OPEN` constant defines the value of the `type` property of an `open` event object. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `false` | | `cancelable` | `false`; there is no default behavior to cancel. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `target` | The network object that has opened a connection. | "paste" The `Event.PASTE` constant defines the value of the `type` property of a `paste` event object. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `false` | | `cancelable` | `false`; there is no default behavior to cancel. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `target` | Any InteractiveObject instance with a listener registered for the `paste` event. | **Note:** TextField objects do _not_ dispatch `clear`, `copy`, `cut`, `paste`, or `selectAll` events. TextField objects always include Cut, Copy, Paste, Clear, and Select All commands in the context menu. You cannot remove these commands from the context menu for TextField objects. For TextField objects, selecting these commands (or their keyboard equivalents) does not generate `clear`, `copy`, `cut`, `paste`, or `selectAll` events. However, other classes that extend the InteractiveObject class, including components built using the Flash Text Engine (FTE), will dispatch these events in response to user actions such as keyboard shortcuts and context menus. "removed" The `Event.REMOVED` constant defines the value of the `type` property of a `removed` event object. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `true` | | `cancelable` | `false`; there is no default behavior to cancel. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `target` | The DisplayObject instance to be removed from the display list. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | "removedFromStage" The `Event.REMOVED_FROM_STAGE` constant defines the value of the `type` property of a `removedFromStage` event object. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `false` | | `cancelable` | `false`; there is no default behavior to cancel. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `target` | The DisplayObject instance being removed from the on stage display list, either directly or through the removal of a sub tree in which the DisplayObject instance is contained. If the DisplayObject instance is being directly removed, the `removed` event occurs before this event. | "render" The `Event.RENDER` constant defines the value of the `type` property of a `render` event object. **Note:** This event has neither a "capture phase" nor a "bubble phase", which means that event listeners must be added directly to any potential targets, whether the target is on the display list or not. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `false` | | `cancelable` | `false`; the default behavior cannot be canceled. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `target` | Any DisplayObject instance with a listener registered for the `render` event. | "resize" The `Event.RESIZE` constant defines the value of the `type` property of a `resize` event object. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `false` | | `cancelable` | `false`; there is no default behavior to cancel. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `target` | The Stage object. | "scroll" The `Event.SCROLL` constant defines the value of the `type` property of a `scroll` event object. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `false` | | `cancelable` | `false`; there is no default behavior to cancel. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `target` | The TextField object that has been scrolled. The `target` property is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | "selectAll" The `Event.SELECT_ALL` constant defines the value of the `type` property of a `selectAll` event object. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `false` | | `cancelable` | `false`; there is no default behavior to cancel. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `target` | Any InteractiveObject instance with a listener registered for the `selectAll` event. | **Note:** TextField objects do _not_ dispatch `clear`, `copy`, `cut`, `paste`, or `selectAll` events. TextField objects always include Cut, Copy, Paste, Clear, and Select All commands in the context menu. You cannot remove these commands from the context menu for TextField objects. For TextField objects, selecting these commands (or their keyboard equivalents) does not generate `clear`, `copy`, `cut`, `paste`, or `selectAll` events. However, other classes that extend the InteractiveObject class, including components built using the Flash Text Engine (FTE), will dispatch these events in response to user actions such as keyboard shortcuts and context menus. "soundComplete" The `Event.SOUND_COMPLETE` constant defines the value of the `type` property of a `soundComplete` event object. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `false` | | `cancelable` | `false`; there is no default behavior to cancel. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `target` | The SoundChannel object in which a sound has finished playing. | "tabChildrenChange" The `Event.TAB_CHILDREN_CHANGE` constant defines the value of the `type` property of a `tabChildrenChange` event object. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `true` | | `cancelable` | `false`; there is no default behavior to cancel. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `target` | The object whose tabChildren flag has changed. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | "tabEnabledChange" The `Event.TAB_ENABLED_CHANGE` constant defines the value of the `type` property of a `tabEnabledChange` event object. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `true` | | `cancelable` | `false`; there is no default behavior to cancel. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `target` | The InteractiveObject whose tabEnabled flag has changed. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | "tabIndexChange" The `Event.TAB_INDEX_CHANGE` constant defines the value of the `type` property of a `tabIndexChange` event object. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `true` | | `cancelable` | `false`; there is no default behavior to cancel. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `target` | The object whose tabIndex has changed. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | "textureReady" The `Event.TEXTURE_READY` constant defines the value of the type property of a `textureReady` event object. This event is dispatched by Texture and CubeTexture objects to signal the completion of an asynchronous upload. Request an asynchronous upload by using the `uploadCompressedTextureFromByteArray()` method on Texture or CubeTexture. This event neither bubbles nor is cancelable. "unload" The `Event.UNLOAD` constant defines the value of the `type` property of an `unload` event object. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `false` | | `cancelable` | `false`; there is no default behavior to cancel. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `target` | The LoaderInfo object associated with the SWF file being unloaded or replaced. | Indicates whether an event is a bubbling event. If the event can bubble, this value is `true`; otherwise it is `false`. When an event occurs, it moves through the three phases of the event flow: the capture phase, which flows from the top of the display list hierarchy to the node just before the target node; the target phase, which comprises the target node; and the bubbling phase, which flows from the node subsequent to the target node back up the display list hierarchy. Some events, such as the `activate` and `unload` events, do not have a bubbling phase. The `bubbles` property has a value of `false` for events that do not have a bubbling phase. Indicates whether the behavior associated with the event can be prevented. If the behavior can be canceled, this value is `true`; otherwise it is `false`. The object that is actively processing the Event object with an event listener. For example, if a user clicks an OK button, the current target could be the node containing that button or one of its ancestors that has registered an event listener for that event. The current phase in the event flow. This property can contain the following numeric values: * The capture phase(`EventPhase.CAPTURING_PHASE`). * The target phase(`EventPhase.AT_TARGET`). * The bubbling phase(`EventPhase.BUBBLING_PHASE`). The event target. This property contains the target node. For example, if a user clicks an OK button, the target node is the display list node containing that button. The type of event. The type is case-sensitive. <__isCanceled> <__isCanceledNow> <__preventDefault> Duplicates an instance of an Event subclass. Returns a new Event object that is a copy of the original instance of the Event object. You do not normally call `clone()`; the EventDispatcher class calls it automatically when you redispatch an event - that is, when you call `dispatchEvent(event)` from a handler that is handling `event`. The new Event object includes all the properties of the original. When creating your own custom Event class, you must override the inherited `Event.clone()` method in order for it to duplicate the properties of your custom class. If you do not set all the properties that you add in your event subclass, those properties will not have the correct values when listeners handle the redispatched event. In this example, `PingEvent` is a subclass of `Event` and therefore implements its own version of `clone()`. @return A new Event object that is identical to the original. { p5 : null, p4 : null, p3 : null, p2 : null, p1 : null } A utility function for implementing the `toString()` method in custom ActionScript 3.0 Event classes. Overriding the `toString()` method is recommended, but not required. ```haxe class PingEvent extends Event { var URL:String; public function new() { super(); } public override function toString():String { return formatToString("PingEvent", "type", "bubbles", "cancelable", "eventPhase", "URL"); } } ``` @param className The name of your custom Event class. In the previous example, the `className` parameter is `PingEvent`. @return The name of your custom Event class and the String value of your `...arguments` parameter. Checks whether the `preventDefault()` method has been called on the event. If the `preventDefault()` method has been called, returns `true`; otherwise, returns `false`. @return If `preventDefault()` has been called, returns `true`; otherwise, returns `false`. Cancels an event's default behavior if that behavior can be canceled. Many events have associated behaviors that are carried out by default. For example, if a user types a character into a text field, the default behavior is that the character is displayed in the text field. Because the `TextEvent.TEXT_INPUT` event's default behavior can be canceled, you can use the `preventDefault()` method to prevent the character from appearing. An example of a behavior that is not cancelable is the default behavior associated with the Event.REMOVED event, which is generated whenever Flash Player is about to remove a display object from the display list. The default behavior (removing the element) cannot be canceled, so the `preventDefault()` method has no effect on this default behavior. You can use the `Event.cancelable` property to check whether you can prevent the default behavior associated with a particular event. If the value of `Event.cancelable` is true, then `preventDefault()` can be used to cancel the event; otherwise, `preventDefault()` has no effect. Prevents processing of any event listeners in the current node and any subsequent nodes in the event flow. This method takes effect immediately, and it affects event listeners in the current node. In contrast, the `stopPropagation()` method doesn't take effect until all the event listeners in the current node finish processing. **Note: ** This method does not cancel the behavior associated with this event; see `preventDefault()` for that functionality. Prevents processing of any event listeners in nodes subsequent to the current node in the event flow. This method does not affect any event listeners in the current node(`currentTarget`). In contrast, the `stopImmediatePropagation()` method prevents processing of event listeners in both the current node and subsequent nodes. Additional calls to this method have no effect. This method can be called in any phase of the event flow. **Note: ** This method does not cancel the behavior associated with this event; see `preventDefault()` for that functionality. Returns a string containing all the properties of the Event object. The string is in the following format: `[Event type=_value_ bubbles=_value_ cancelable=_value_]` @return A string containing all the properties of the Event object. <__formatToString set="method" line="887"> <__init set="method" line="912"> { cancelable : false, bubbles : false } Creates an Event object to pass as a parameter to event listeners. @param type The type of the event, accessible as `Event.type`. @param bubbles Determines whether the Event object participates in the bubbling stage of the event flow. The default value is `false`. @param cancelable Determines whether the Event object can be canceled. The default values is `false`. "tags=\"haxe,release\"" "mouseOver3d" * Defines the value of the type property of a mouseOver3d event object. "mouseOut3d" * Defines the value of the type property of a mouseOut3d event object. "mouseUp3d" * Defines the value of the type property of a mouseUp3d event object. "mouseDown3d" * Defines the value of the type property of a mouseDown3d event object. "mouseMove3d" * Defines the value of the type property of a mouseMove3d event object. "click3d" * Defines the value of the type property of a rollOver3d event object. "doubleClick3d" * Defines the value of the type property of a doubleClick3d event object. "mouseWheel3d" * Defines the value of the type property of a mouseWheel3d event object. <_allowedToPropagate expr="true"> true away3d <_parentEvent> away3d * The horizontal coordinate at which the event occurred in view coordinates. * The vertical coordinate at which the event occurred in view coordinates. * The view object inside which the event took place. * The 3d object inside which the event took place. * The renderable inside which the event took place. * The material of the 3d element inside which the event took place. * The uv coordinate inside the draw primitive where the event took place. * The index of the face where the event took place. * The index of the subGeometry where the event took place. * The position in object space where the event took place * The normal in object space where the event took place * Indicates whether the Control key is active (true) or inactive (false). * Indicates whether the Alt key is active (true) or inactive (false). * Indicates whether the Shift key is active (true) or inactive (false). * Indicates how many lines should be scrolled for each unit the user rotates the mouse wheel. * @inheritDoc * @inheritDoc * Creates a copy of the MouseEvent3D object and sets the value of each property to match that of the original. * The position in scene space where the event took place { v : null } * The position in scene space where the event took place * @param v destination Vector3D * @return * The normal in scene space where the event took place { v : null } * The normal in scene space where the event took place * @param v destination Vector3D * @return * Create a new MouseEvent3D object. * @param type The type of the MouseEvent3D. * A MouseEvent3D is dispatched when a mouse event occurs over a mouseEnabled object in View3D. * todo: we don't have screenZ data, tho this should be easy to implement <_view3Ds static="1"> <_view3DLookup static="1"> <_viewCount expr="0" line="29" static="1"> 0 <_collidingObject static="1"> <_previousCollidingObject static="1"> <_collidingViewObjects static="1"> <_queuedEvents expr="new Vector<MouseEvent3D>()" line="37" static="1"> ()]]> <_mouseUp expr="new MouseEvent3D(MouseEvent3D.MOUSE_UP)" line="41" static="1"> new MouseEvent3D(MouseEvent3D.MOUSE_UP) <_mouseClick expr="new MouseEvent3D(MouseEvent3D.CLICK)" line="42" static="1"> new MouseEvent3D(MouseEvent3D.CLICK) <_mouseOut expr="new MouseEvent3D(MouseEvent3D.MOUSE_OUT)" line="43" static="1"> new MouseEvent3D(MouseEvent3D.MOUSE_OUT) <_mouseDown expr="new MouseEvent3D(MouseEvent3D.MOUSE_DOWN)" line="44" static="1"> new MouseEvent3D(MouseEvent3D.MOUSE_DOWN) <_mouseMove expr="new MouseEvent3D(MouseEvent3D.MOUSE_MOVE)" line="45" static="1"> new MouseEvent3D(MouseEvent3D.MOUSE_MOVE) <_mouseOver expr="new MouseEvent3D(MouseEvent3D.MOUSE_OVER)" line="46" static="1"> new MouseEvent3D(MouseEvent3D.MOUSE_OVER) <_mouseWheel expr="new MouseEvent3D(MouseEvent3D.MOUSE_WHEEL)" line="47" static="1"> new MouseEvent3D(MouseEvent3D.MOUSE_WHEEL) <_mouseDoubleClick expr="new MouseEvent3D(MouseEvent3D.DOUBLE_CLICK)" line="48" static="1"> new MouseEvent3D(MouseEvent3D.DOUBLE_CLICK) <_previousCollidingView expr="-1" line="52" static="1"> -1 <_collidingView expr="-1" line="53" static="1"> -1 <_activeView> <_updateDirty expr="true"> true <_nullVector expr="new Vector3D()"> new Vector3D() <_mouseMoveEvent expr="new MouseEvent(MouseEvent.MOUSE_MOVE)"> new MouseEvent(MouseEvent.MOUSE_MOVE) <_forceMouseMove> <_mousePicker expr="PickingType.RAYCAST_FIRST_ENCOUNTERED"> PickingType.RAYCAST_FIRST_ENCOUNTERED <_childDepth expr="0"> 0 <_collidingDownObject> <_collidingUpObject> { collider : null } Mouse3DManager object.]]> * Mouse3DManager enforces a singleton pattern and is not intended to be instanced. * it provides a manager class for detecting 3D mouse hits on View3D objects and sending out 3D mouse events. <_instances static="1"> <_renderToTextureVertexBuffer> <_renderToScreenVertexBuffer> <_indexBuffer> <_stage3DProxy> <_viewWidth expr="-1"> -1 <_viewHeight expr="-1"> -1 <_textureWidth expr="-1"> -1 <_textureHeight expr="-1"> -1 <_renderToTextureRect> <_buffersInvalid expr="true"> true <_textureRatioX> <_textureRatioY> <_instances static="1"> <_stageProxies static="1"> <_numStageProxies expr="0" line="22" static="1"> 0 * Gets a Stage3DManager instance for the given Stage object. * @param stage The Stage object that contains the Stage3D objects to be managed. * @return The Stage3DManager instance for the given Stage object. <_stage> { profile : "baseline", forceSoftware : false } * Requests the Stage3DProxy for the given index. * @param index The index of the requested Stage3D. * @param forceSoftware Whether to force software mode even if hardware acceleration is available. * @param profile The compatibility profile, an enumeration of Context3DProfile * @return The Stage3DProxy for the given index. away3d * Removes a Stage3DProxy from the manager. * @param stage3DProxy * @private { profile : "baseline", forceSoftware : false } * Get the next available stage3DProxy. An error is thrown if there are no Stage3DProxies available * @param forceSoftware Whether to force software mode even if hardware acceleration is available. * @param profile The compatibility profile, an enumeration of Context3DProfile * @return The allocated stage3DProxy * Checks if a new stage3DProxy can be created and managed by the class. * @return true if there is one slot free for a new stage3DProxy * Returns the amount of stage3DProxy objects that can be created and managed by the class * @return the amount of free slots * Returns the amount of Stage3DProxy objects currently managed by the class. * @return the amount of slots used * Returns the maximum amount of Stage3DProxy objects that can be managed by the class * @return the maximum amount of Stage3DProxy objects that can be managed by the class away3d * Creates a new Stage3DManager class. * @param stage The Stage object that contains the Stage3D objects to be managed. * @private * The Stage3DManager class provides a multiton object that handles management for Stage3D objects. Stage3D objects * should not be requested directly, but are exposed by a Stage3DProxy. * * @see away3d.core.managers.Stage3DProxy Specifies the Graphics object belonging to this Shape object, where vector drawing commands can occur. Creates a new Shape object. This class is used to create lightweight shapes using the ActionScript drawing application program interface(API). The Shape class includes a `graphics` property, which lets you access methods from the Graphics class. The Sprite class also includes a `graphics`property, and it includes other features not available to the Shape class. For example, a Sprite object is a display object container, whereas a Shape object is not (and cannot contain child display objects). For this reason, Shape objects consume less memory than Sprite objects that contain the same graphics. However, a Sprite object supports user input events, while a Shape object does not. "tags=\"haxe,release\"" openfl.display.Graphics <__limeColorMatrix static="1"> <__pool expr="new ObjectPool<ColorTransform>(function() return new ColorTransform(), function(ct) ct.__identity())" line="59" static="1"> (function() return new ColorTransform(), function(ct) ct.__identity())]]> A decimal value that is multiplied with the alpha transparency channel value. If you set the alpha transparency value of a display object directly by using the `alpha` property of the DisplayObject instance, it affects the value of the `alphaMultiplier` property of that display object's `transform.colorTransform` property. A number from -255 to 255 that is added to the alpha transparency channel value after it has been multiplied by the `alphaMultiplier` value. A decimal value that is multiplied with the blue channel value. A number from -255 to 255 that is added to the blue channel value after it has been multiplied by the `blueMultiplier` value. The RGB color value for a ColorTransform object. When you set this property, it changes the three color offset values (`redOffset`, `greenOffset`, and `blueOffset`) accordingly, and it sets the three color multiplier values(`redMultiplier`, `greenMultiplier`, and `blueMultiplier`) to 0. The alpha transparency multiplier and offset values do not change. When you pass a value for this property, use the format 0x_RRGGBB_. _RR_, _GG_, and _BB_ each consist of two hexadecimal digits that specify the offset of each color component. The 0x tells the ActionScript compiler that the number is a hexadecimal value. A decimal value that is multiplied with the green channel value. A number from -255 to 255 that is added to the green channel value after it has been multiplied by the `greenMultiplier` value. A decimal value that is multiplied with the red channel value. A number from -255 to 255 that is added to the red channel value after it has been multiplied by the `redMultiplier` value. Concatenates the ColorTranform object specified by the `second` parameter with the current ColorTransform object and sets the current object as the result, which is an additive combination of the two color transformations. When you apply the concatenated ColorTransform object, the effect is the same as applying the `second` color transformation after the _original_ color transformation. @param second The ColorTransform object to be combined with the current ColorTransform object. Formats and returns a string that describes all of the properties of the ColorTransform object. @return A string that lists all of the properties of the ColorTransform object. <__clone set="method" line="213"> <__copyFrom set="method" line="218"> <__combine set="method" line="231"> <__identity set="method" line="244"> <__invert set="method" line="256"> <__equals set="method" line="268"> <__isDefault set="method" line="281"> <__setArrays set="method" line="300"> <__toLimeColorMatrix set="method" line="332"> { alphaOffset : 0, blueOffset : 0, greenOffset : 0, redOffset : 0, alphaMultiplier : 1, blueMultiplier : 1, greenMultiplier : 1, redMultiplier : 1 } Creates a ColorTransform object for a display object with the specified color channel values and alpha values. @param redMultiplier The value for the red multiplier, in the range from 0 to 1. @param greenMultiplier The value for the green multiplier, in the range from 0 to 1. @param blueMultiplier The value for the blue multiplier, in the range from 0 to 1. @param alphaMultiplier The value for the alpha transparency multiplier, in the range from 0 to 1. @param redOffset The offset value for the red color channel, in the range from -255 to 255. @param greenOffset The offset value for the green color channel, in the range from -255 to 255. @param blueOffset The offset for the blue color channel value, in the range from -255 to 255. @param alphaOffset The offset for alpha transparency channel value, in the range from -255 to 255. The ColorTransform class lets you adjust the color values in a display object. The color adjustment or _color transformation_ can be applied to all four channels: red, green, blue, and alpha transparency. When a ColorTransform object is applied to a display object, a new value for each color channel is calculated like this: * New red value = (old red value * `redMultiplier`) + `redOffset` * New green value = (old green value * `greenMultiplier`) + `greenOffset` * New blue value = (old blue value * `blueMultiplier`) + `blueOffset` * New alpha value = (old alpha value * `alphaMultiplier`) + `alphaOffset` If any of the color channel values is greater than 255 after the calculation, it is set to 255. If it is less than 0, it is set to 0. You can use ColorTransform objects in the following ways: * In the `colorTransform` parameter of the `colorTransform()` method of the BitmapData class * As the `colorTransform` property of a Transform object (which can be used as the `transform` property of a display object) You must use the `new ColorTransform()` constructor to create a ColorTransform object before you can call the methods of the ColorTransform object. Color transformations do not apply to the background color of a movie clip(such as a loaded SWF object). They apply only to graphics and symbols that are attached to the movie clip. "tags=\"haxe,release\"" <_frameEventDriver expr="new Shape()" line="55" static="1"> new Shape() <_vbUploadCount expr="0" line="667" static="1"> 0 <_ibUploadCount expr="0" line="668" static="1"> 0 <_bmpUploadCount expr="0" line="670" static="1"> 0 <_atfUploadCount expr="0" line="671" static="1"> 0 <_context3D> away3d <_stage3DIndex expr="-1"> -1 away3d <_usesSoftwareRendering> <_profile> <_stage3D> <_activeProgram3D> <_stage3DManager> <_backBufferWidth> <_backBufferHeight> <_antiAlias> <_enableDepthAndStencil> <_backBufferEnableDepthAndStencil expr="true"> true <_contextRequested> <_renderTarget> <_renderSurfaceSelector> <_scissorRect> <_color> <_backBufferDirty> <_viewPort> <_enterFrame> <_exitFrame> <_viewportUpdated> <_viewportDirty> <_bufferClear> <_mouse3DManager> <_touch3DManager> * Disposes the Stage3DProxy object, freeing the Context3D attached to the Stage3D. * Configures the back buffer associated with the Stage3D object. * @param backBufferWidth The width of the backbuffer. * @param backBufferHeight The height of the backbuffer. * @param antiAlias The amount of anti-aliasing to use. * @param enableDepthAndStencil Indicates whether the back buffer contains a depth and stencil buffer. { surfaceSelector : 0, enableDepthAndStencil : false } { useWeakReference : false, priority : 0, useCapture : false } * Registers an event listener object with an EventDispatcher object so that the listener receives notification of an event. Special case for enterframe and exitframe events - will switch Stage3DProxy into automatic render mode. * You can register event listeners on all nodes in the display list for a specific type of event, phase, and priority. * * @param type The type of event. * @param listener The listener function that processes the event. * @param useCapture Determines whether the listener works in the capture phase or the target and bubbling phases. If useCapture is set to true, the listener processes the event only during the capture phase and not in the target or bubbling phase. If useCapture is false, the listener processes the event only during the target or bubbling phase. To listen for the event in all three phases, call addEventListener twice, once with useCapture set to true, then again with useCapture set to false. * @param priority The priority level of the event listener. The priority is designated by a signed 32-bit integer. The higher the number, the higher the priority. All listeners with priority n are processed before listeners of priority n-1. If two or more listeners share the same priority, they are processed in the order in which they were added. The default priority is 0. * @param useWeakReference Determines whether the reference to the listener is strong or weak. A strong reference (the default) prevents your listener from being garbage-collected. A weak reference does not. { useCapture : false } * Removes a listener from the EventDispatcher object. Special case for enterframe and exitframe events - will switch Stage3DProxy out of automatic render mode. * If there is no matching listener registered with the EventDispatcher object, a call to this method has no effect. * * @param type The type of event. * @param listener The listener object to remove. * @param useCapture Specifies whether the listener was registered for the capture phase or the target and bubbling phases. If the listener was registered for both the capture phase and the target and bubbling phases, two calls to removeEventListener() are required to remove both, one call with useCapture() set to true, and another call with useCapture() set to false. * The index of the Stage3D which is managed by this instance of Stage3DProxy. * The base Stage3D object associated with this proxy. * The Context3D object associated with the given Stage3D object. * The driver information as reported by the Context3D object (if any) * Indicates whether the Stage3D managed by this proxy is running in software mode. * Remember to wait for the CONTEXT3D_CREATED event before checking this property, * as only then will it be guaranteed to be accurate. * The x position of the Stage3D. * The y position of the Stage3D. * The width of the Stage3D. * The height of the Stage3D. * The antiAliasing of the Stage3D. * A viewPort rectangle equivalent of the Stage3D size and position. * The background color of the Stage3D. * The visibility of the Stage3D. * The freshly cleared state of the backbuffer before any rendering * Frees the Context3D associated with this Stage3DProxy. { profile : "baseline", forceSoftware : false } * Requests a Context3D object to attach to the managed Stage3D. * The Enter_Frame handler for processing the proxy.ENTER_FRAME and proxy.EXIT_FRAME event handlers. * Typically the proxy.ENTER_FRAME listener would render the layers for this Stage3D instance. { numTriangles : -1, firstIndex : 0 } { profile : "baseline", forceSoftware : false } * Creates a Stage3DProxy object. This method should not be called directly. Creation of Stage3DProxy objects should * be handled by Stage3DManager. * @param stage3DIndex The index of the Stage3D to be proxied. * @param stage3D The Stage3D to be proxied. * @param stage3DManager * @param forceSoftware Whether to force software mode even if hardware acceleration is available. * Stage3DProxy provides a proxy class to manage a single Stage3D instance as well as handling the creation and * attachment of the Context3D (and in turn the back buffer) is uses. Stage3DProxy should never be created directly, * but requested through Stage3DManager. * * @see away3d.core.managers.Stage3DProxy * * todo: consider moving all creation methods (createVertexBuffer etc) in here, so that disposal can occur here * along with the context, instead of scattered throughout the framework <_collidingObjectFromTouchId static="1"> <_previousCollidingObjectFromTouchId static="1"> <_queuedEvents expr="new Vector<TouchEvent3D>()" line="28" static="1"> ()]]> <_updateDirty expr="true"> true <_nullVector expr="new Vector3D()"> new Vector3D() <_numTouchPoints> <_touchPoint> <_collidingObject> <_previousCollidingObject> <_touchPoints> <_touchPointFromId> <_touchMoveEvent expr="new TouchEvent(TouchEvent.TOUCH_MOVE)"> new TouchEvent(TouchEvent.TOUCH_MOVE) <_forceTouchMove> <_touchPicker expr="PickingType.RAYCAST_FIRST_ENCOUNTERED"> PickingType.RAYCAST_FIRST_ENCOUNTERED <_view> 180 / Math.PI * The amount to multiply with when converting radians to degrees. Math.PI / 180 * The amount to multiply with when converting degrees to radians. * MathConsts provides some commonly used mathematical constants { rotation : 0, scale : 1 } "checkstyle:FieldDocComment" hide "checkstyle:FieldDocComment" hide "checkstyle:FieldDocComment" hide Interpolates the translation, rotation, and scale transformation of one matrix toward those of the target matrix. The `interpolate()` method avoids some of the unwanted results that can occur when using methods such as the display object's axis rotation properties. The `interpolate()` method invalidates the cached value of the rotation property of the display object and converts the orientation elements of the display object's matrix to a quaternion before interpolation. This method guarantees the shortest, most efficient path for the rotation. It also produces a smooth, gimbal-lock-free rotation. A gimbal lock can occur when using Euler Angles, where each axis is handled independently. During the rotation around two or more axes, the axes can become aligned, leading to unexpected results. Quaternion rotation avoids the gimbal lock. Consecutive calls to the `interpolate()` method can produce the effect of a display object starting quickly and then slowly approaching another display object. For example, if you set the `thisMat` parameter to the returned Matrix3D object, the `toMat` parameter to the target display object's associated Matrix3D object, and the `percent` parameter to 0.1, the display object moves ten percent toward the target object. On subsequent calls or in subsequent frames, the object moves ten percent of the remaining 90 percent, then ten percent of the remaining distance, and continues until it reaches the target. @param thisMat The Matrix3D object that is to be interpolated. @param toMat The target Matrix3D object. @param percent A value between 0 and 1 that determines the percent the `thisMat` Matrix3D object is interpolated toward the target Matrix3D object. @returns A Matrix3D object with elements that place the values of the matrix between the original matrix and the target matrix. When the returned matrix is applied to the this display object, the object moves the specified percent closer to the target object. <__getAxisRotation set="method" line="1622" static="1"> A Number that determines whether a matrix is invertible. A Matrix3D object must be invertible. You can use the `determinant` property to make sure that a Matrix3D object is invertible. If determinant is zero, an inverse of the matrix does not exist. For example, if an entire row or column of a matrix is zero or if two rows or columns are equal, the determinant is zero. Determinant is also used to solve a series of equations. Only a square matrix, like the Matrix3D class, has a determinant. A Vector3D object that holds the position, the 3D coordinate (x,y,z) of a display object within the transformation's frame of reference. The `position` property provides immediate access to the translation vector of the display object's matrix without needing to decompose and recompose the matrix. With the `position` property, you can get and set the translation elements of the transformation matrix. A Vector of 16 Numbers, where every four elements is a column of a 4x4 matrix. An exception is thrown if the `rawData` property is set to a matrix that is not invertible. The Matrix3D object must be invertible. If a non-invertible matrix is needed, create a subclass of the Matrix3D object. A Vector of 16 Numbers, where every four elements is a column of a 4x4 matrix. An exception is thrown if the `rawData` property is set to a matrix that is not invertible. The Matrix3D object must be invertible. If a non-invertible matrix is needed, create a subclass of the Matrix3D object. { pivotPoint : null } Appends an incremental rotation to a Matrix3D object. When the Matrix3D object is applied to a display object, the matrix performs the rotation after other transformations in the Matrix3D object. The display object's rotation is defined by an axis, an incremental degree of rotation around the axis, and an optional pivot point for the center of the object's rotation. The axis can be any general direction. The common axes are the `X_AXIS (Vector3D(1,0,0))`, `Y_AXIS (Vector3D(0,1,0))`, and `Z_AXIS (Vector3D(0,0,1))`. In aviation terminology, the rotation about the y axis is called yaw. The rotation about the x axis is called pitch. The rotation about the z axis is called roll. The order of transformation matters. A rotation followed by a translation transformation produces a different effect than a translation followed by a rotation transformation. The rotation effect is not absolute. It is relative to the current position and orientation. To make an absolute change to the transformation matrix, use the `recompose()` method. The `appendRotation()` method is also different from the axis rotation property of the display object, such as `rotationX` property. The `rotation` property is always performed before any translation, whereas the `appendRotation()` method is performed relative to what is already in the matrix. To make sure that you get a similar effect as the display object's axis rotation property, use the `prependRotation()` method, which performs the rotation before other transformations in the matrix. When the `appendRotation()` method's transformation is applied to a Matrix3D object of a display object, the cached rotation property values of the display object are invalidated. One way to have a display object rotate around a specific point relative to its location is to set the translation of the object to the specified point, rotate the object using the `appendRotation()` method, and translate the object back to the original position. In the following example, the myObject 3D display object makes a y-axis rotation around the coordinate (10,10,0). ```haxe myObject.z = 1; myObject.transform.matrix3D.appendTranslation(10,10,0); myObject.transform.matrix3D.appendRotation(1, Vector3D.Y_AXIS); myObject.transform.matrix3D.appendTranslation(-10,-10,0); ``` @param degrees The degree of the rotation. @param axis The axis or direction of rotation. The usual axes are the `X_AXIS (Vector3D(1,0,0))`, `Y_AXIS (Vector3D(0,1,0))`, and `Z_AXIS (Vector3D(0,0,1))`. This vector should have a length of one. @param pivotPoint A point that determines the center of an object's rotation. The default pivot point for an object is its registration point. Appends an incremental scale change along the x, y, and z axes to a Matrix3D object. When the Matrix3D object is applied to a display object, the matrix performs the scale changes after other transformations in the Matrix3D object. The default scale factor is (1.0, 1.0, 1.0). The scale is defined as a set of three incremental changes along the three axes (x,y,z). You can multiply each axis with a different number. When the scale changes are applied to a display object, the object's size increases or decreases. For example, setting the x, y, and z axes to two doubles the size of the object, while setting the axes to 0.5 halves the size. To make sure that the scale transformation only affects a specific axis, set the other parameters to one. A parameter of one means no scale change along the specific axis. The `appendScale()` method can be used for resizing as well as for managing distortions, such as stretch or contract of a display object, or for zooming in and out on a location. Scale transformations are automatically performed during a display object's rotation and translation. The order of transformation matters. A resizing followed by a translation transformation produces a different effect than a translation followed by a resizing transformation. @param xScale A multiplier used to scale the object along the x axis. @param yScale A multiplier used to scale the object along the y axis. @param zScale A multiplier used to scale the object along the z axis. Appends an incremental translation, a repositioning along the x, y, and z axes, to a Matrix3D object. When the Matrix3D object is applied to a display object, the matrix performs the translation changes after other transformations in the Matrix3D object. The translation is defined as a set of three incremental changes along the three axes (x,y,z). When the transformation is applied to a display object, the display object moves from it current location along the x, y, and z axes as specified by the parameters. To make sure that the translation only affects a specific axis, set the other parameters to zero. A zero parameter means no change along the specific axis. The translation changes are not absolute. They are relative to the current position and orientation of the matrix. To make an absolute change to the transformation matrix, use the recompose() method. The order of transformation also matters. A translation followed by a rotation transformation produces a different effect than a rotation followed by a translation. @param x An incremental translation along the x axis. @param y An incremental translation along the y axis. @param z An incremental translation along the z axis. Returns a new Matrix3D object that is an exact copy of the current Matrix3D object. @returns A new Matrix3D object that is an exact copy of the current Matrix3D object. Copies a Vector3D object into specific column of the calling Matrix3D object. @param column The destination column of the copy. @param vector3D The Vector3D object from which to copy the data. Copies specific column of the calling Matrix3D object into the Vector3D object. @param column The column from which to copy the data. @param vector3D The destination Vector3D object of the copy. Copies all of the matrix data from the source Matrix3D object into the calling Matrix3D object. @param sourceMatrix3D The Matrix3D object from which to copy the data. { transpose : false, index : 0 } Copies all of the vector data from the source vector object into the calling Matrix3D object. The optional `index` parameter allows you to select any starting slot in the vector. @param vector The vector object from which to copy the data. @param index @param transpose { transpose : false, index : 0 } Copies all of the matrix data from the calling Matrix3D object into the provided vector. The optional index parameter allows you to select any target starting slot in the vector. @param vector The vector object to which to copy the data. @param index @param transpose Copies a Vector3D object into specific row of the calling Matrix3D object. @param row The row from which to copy the data to. @param vector3D The Vector3D object from which to copy the data. Copies specific row of the calling Matrix3D object into the Vector3D object. @param row The row from which to copy the data from. @param vector3D The Vector3D object to copy the data into. @param other { orientationStyle : EULER_ANGLES } Returns the transformation matrix's translation, rotation, and scale settings as a Vector of three Vector3D objects. The first Vector3D object holds the translation elements. The second Vector3D object holds the rotation elements. The third Vector3D object holds the scale elements. Some Matrix3D methods, such as the `interpolateTo()` method, automatically decompose and recompose the matrix to perform their transformation. To modify the matrix's transformation with an absolute parent frame of reference, retrieve the settings with the `decompose()` method and make the appropriate changes. You can then set the Matrix3D object to the modified transformation using the `recompose()` method. The `decompose()` method's parameter specifies the orientation style that is meant to be used for the transformation. The default orientation is `eulerAngles`, which defines the orientation with three separate angles of rotation for each axis. The rotations occur consecutively and do not change the axis of each other. The display object's axis rotation properties perform Euler Angles orientation style transformation. The other orientation style options are `axisAngle` and `quaternion`. The Axis Angle orientation uses a combination of an axis and an angle to determine the orientation. The axis around which the object is rotated is a unit vector that represents a direction. The angle represents the magnitude of the rotation about the vector. The direction also determines where a display object is facing and the angle determines which way is up. The `appendRotation()` and `prependRotation()` methods use the Axis Angle orientation. The `quaternion` orientation uses complex numbers and the fourth element of a vector. The three axes of rotation (x,y,z) and an angle of rotation (w) represent the orientation. The `interpolate()` method uses quaternion. @param orientationStyle An optional parameter that determines the orientation style used for the matrix transformation. The three types of orientation style are `eulerAngles` (constant `EULER_ANGLES`), `axisAngle` (constant `AXIS_ANGLE`), and `quaternion` (constant `QUATERNION`). For additional information on the different orientation style, see the geom.Orientation3D class. @returns A Vector of three Vector3D objects, each holding the translation, rotation, and scale settings, respectively. Uses the transformation matrix without its translation elements to transform a Vector3D object from one space coordinate to another. The returned Vector3D object holds the new coordinates after the rotation and scaling transformations have been applied. If the `deltaTransformVector()` method applies a matrix that only contains a translation transformation, the returned Vector3D is the same as the original Vector3D object. You can use the `deltaTransformVector()` method to have a display object in one coordinate space respond to the rotation transformation of a second display object. The object does not copy the rotation; it only changes its position to reflect the changes in the rotation. For example, to use the display.Graphics API for drawing a rotating 3D display object, you must map the object's rotating coordinates to a 2D point. First, retrieve the object's 3D coordinates after each rotation, using the `deltaTransformVector()` method. Next, apply the display object's `local3DToGlobal()` method to translate the 3D coordinates to 2D points. You can then use the 2D points to draw the rotating 3D object. **Note:** This method automatically sets the `w` component of the passed Vector3D to 0.0. @param v A Vector3D object holding the coordinates that are going to be transformed. @returns Vector3D A Vector3D object with the transformed coordinates. Converts the current matrix to an identity or unit matrix. An identity matrix has a value of one for the elements on the main diagonal and a value of zero for all other elements. The result is a matrix where the rawData value is 1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1 and the rotation setting is set to `Vector3D(0,0,0)`, the position or translation setting is set to `Vector3D(0,0,0)`, and the scale is set to `Vector3D(1,1,1)`. Here is a representation of an identity matrix. ![Identity Matrix](/images/identityMatrix.jpg) An object transformed by applying an identity matrix performs no transformation. In other words, if a matrix is multiplied by an identity matrix, the result is a matrix that is the same as (identical to) the original matrix. Interpolates this matrix towards the translation, rotation, and scale transformations of the target matrix. The `interpolateTo()` method avoids the unwanted results that can occur when using methods such as the display object's axis rotation properties. The `interpolateTo()` method invalidates the cached value of the rotation property of the display object and converts the orientation elements of the display object's matrix to a quaternion before interpolation. This method guarantees the shortest, most efficient path for the rotation. It also produces a smooth, gimbal-lock-free rotation. A gimbal lock can occur when using Euler Angles, where each axis is handled independently. During the rotation around two or more axes, the axes can become aligned, leading to unexpected results. Quaternion rotation avoids the gimbal lock. **Note:** In case of interpolation, the scaling value of the matrix will reset and the matrix will be normalized. Consecutive calls to the `interpolateTo()` method can produce the effect of a display object starting quickly and then slowly approaching another display object. For example, if the percent parameter is set to 0.1, the display object moves ten percent toward the target object specified by the `toMat` parameter. On subsequent calls or in subsequent frames, the object moves ten percent of the remaining 90 percent, then ten percent of the remaining distance, and continues until it reaches the target. @param toMat The target Matrix3D object. @param percent A value between 0 and 1 that determines the location of the display object relative to the target. The closer the value is to 1.0, the closer the display object is to its current position. The closer the value is to 0, the closer the display object is to the target. Inverts the current matrix. An inverted matrix is the same size as the original but performs the opposite transformation of the original matrix. For example, if the original matrix has an object rotate around the x axis in one direction, the inverse of the matrix will have the object rotate around the axis in the opposite direction. Applying an inverted matrix to an object undoes the transformation performed by the original matrix. If a matrix is multiplied by its inverse matrix, the result is an identity matrix. An inverse of a matrix can be used to divide one matrix by another. The way to divide matrix A by matrix B is to multiply matrix A by the inverse of matrix B. The inverse matrix can also be used with a camera space. When the camera moves in the world space, the object in the world needs to move in the opposite direction to transform from the world view to the camera or view space. For example, if the camera moves closer, the objects becomes bigger. In other words, if the camera moves down the world z axis, the object moves up world z axis. The `invert()` method replaces the current matrix with an inverted matrix. If you want to invert a matrix without altering the current matrix, first copy the current matrix by using the clone() method and then apply the `invert()` method to the copy. The Matrix3D object must be invertible. @returns Returns `true` if the matrix was successfully inverted. { up : null, at : null } Rotates the display object so that it faces a specified position. This method allows for an in-place modification to the orientation. The forward direction vector of the display object (the at Vector3D object) points at the specified world-relative position. The display object's up direction is specified with the up Vector3D object. The `pointAt()` method invalidates the cached rotation property value of the display object. The method decomposes the display object's matrix and modifies the rotation elements to have the object turn to the specified position. It then recomposes (updates) the display object's matrix, which performs the transformation. If the object is pointing at a moving target, such as a moving object's position, then with each subsequent call, the method has the object rotate toward the moving target. **Note:** If you use the `Matrix3D.pointAt()` method without setting the optional parameters, a target object does not face the specified world-relative position by default. You need to set the values for at to the -y-axis (0,-1,0) and up to the -z axis (0,0,-1). @param pos The world-relative position of the target object. World-relative defines the object's transformation relative to the world space and coordinates, where all objects are positioned. @param at The object-relative vector that defines where the display object is pointing. Object-relative defines the object's transformation relative to the object space, the object's own frame of reference and coordinate system. Default value is the +y axis (0,1,0). @param up The object-relative vector that defines "up" for the display object. If the object is drawn looking down from above, the +z axis is its "up" vector. Object-relative defines the object's transformation relative to the object space, the object's own frame of reference and coordinate system. Default value is the +z-axis (0,0,1). Prepends a matrix by multiplying the current Matrix3D object by another Matrix3D object. The result combines both matrix transformations. Matrix multiplication is different from matrix addition. Matrix multiplication is not commutative. In other words, A times B is not equal to B times A. With the `prepend()` method, the multiplication happens from the right side, meaning the `rhs` Matrix3D object is on the right side of the multiplication operator. ```haxe thisMatrix = thisMatrix * rhs ``` The modifications made by `prepend()` method are object-space-relative. In other words, they are always relative to the object's initial frame of reference. The `prepend()` method replaces the current matrix with the prepended matrix. If you want to prepend two matrixes without altering the current matrix, first copy the current matrix by using the `clone()` method and then apply the `prepend()` method to the copy. @param rhs A right-hand-side of the matrix by which the current Matrix3D is multiplied. { pivotPoint : null } Prepends an incremental rotation to a Matrix3D object. When the Matrix3D object is applied to a display object, the matrix performs the rotation before other transformations in the Matrix3D object. The display object's rotation is defined by an axis, an incremental degree of rotation around the axis, and an optional pivot point for the center of the object's rotation. The axis can be any general direction. The common axes are the `X_AXIS (Vector3D(1,0,0))`, `Y_AXIS (Vector3D(0,1,0))`, and `Z_AXIS (Vector3D(0,0,1))`. In aviation terminology, the rotation about the y axis is called yaw. The rotation about the x axis is called pitch. The rotation about the z axis is called roll. The order of transformation matters. A rotation followed by a translation transformation produces a different effect than a translation followed by a rotation. The rotation effect is not absolute. The effect is object-relative, relative to the frame of reference of the original position and orientation. To make an absolute change to the transformation, use the `recompose()` method. When the `prependRotation()` method's transformation is applied to a Matrix3D object of a display object, the cached rotation property values of the display object are invalidated. One way to have a display object rotate around a specific point relative to its location is to set the translation of the object to the specified point, rotate the object using the `prependRotation()` method, and translate the object back to the original position. In the following example, the `myObject` 3D display object makes a y-axis rotation around the coordinate (10,10,0). ```haxe myObject.z = 1; myObject.transform.matrix3D.prependTranslation(10,10,0); myObject.transform.matrix3D.prependRotation(1, Vector3D.Y_AXIS); myObject.transform.matrix3D.prependTranslation(-10,-10,0); ``` @param degrees The degree of rotation. @param axis The axis or direction of rotation. The usual axes are the `X_AXIS (Vector3D(1,0,0))`, `Y_AXIS (Vector3D(0,1,0))`, and `Z_AXIS (Vector3D(0,0,1))`. This vector should have a length of one. @param pivotPoint A point that determines the center of rotation. The default pivot point for an object is its registration point. Prepends an incremental scale change along the x, y, and z axes to a Matrix3D object. When the Matrix3D object is applied to a display object, the matrix performs the scale changes before other transformations in the Matrix3D object. The changes are object-relative, relative to the frame of reference of the original position and orientation. The default scale factor is (1.0, 1.0, 1.0). The scale is defined as a set of three incremental changes along the three axes (x,y,z). You can multiply each axis with a different number. When the scale changes are applied to a display object, the object's size increases or decreases. For example, setting the x, y, and z axes to two doubles the size of the object, while setting the axes to 0.5 halves the size. To make sure that the scale transformation only affects a specific axis, set the other parameters to one. A parameter of one means no scale change along the specific axis. The `prependScale()` method can be used for resizing as well as for managing distortions, such as stretch or contract of a display object. It can also be used for zooming in and out on a location. Scale transformations are automatically performed during a display object's rotation and translation. The order of transformation matters. A resizing followed by a translation transformation produces a different effect than a translation followed by a resizing transformation. @param xScale A multiplier used to scale the object along the x axis. @param yScale A multiplier used to scale the object along the y axis. @param zScale A multiplier used to scale the object along the z axis. Prepends an incremental translation, a repositioning along the x, y, and z axes, to a Matrix3D object. When the Matrix3D object is applied to a display object, the matrix performs the translation changes before other transformations in the Matrix3D object. Translation specifies the distance the display object moves from its current location along the x, y, and z axes. The `prependTranslation()` method sets the translation as a set of three incremental changes along the three axes (x,y,z). To have a translation change only a specific axis, set the other parameters to zero. A zero parameter means no change along the specific axis. The translation changes are not absolute. The effect is object-relative, relative to the frame of reference of the original position and orientation. To make an absolute change to the transformation matrix, use the `recompose()` method. The order of transformation also matters. A translation followed by a rotation transformation produces a different effect than a rotation followed by a translation transformation. When prependTranslation() is used, the display object continues to move in the direction it is facing, regardless of the other transformations. For example, if a display object was facing toward a positive x axis, it continues to move in the direction specified by the `prependTranslation()` method, regardless of how the object has been rotated. To make translation changes occur after other transformations, use the `appendTranslation()` method. @param x An incremental translation along the x axis. @param y An incremental translation along the y axis. @param z An incremental translation along the z axis. { orientationStyle : EULER_ANGLES } Sets the transformation matrix's translation, rotation, and scale settings. Unlike the incremental changes made by the display object's rotation properties or Matrix3D object's rotation methods, the changes made by `recompose()` method are absolute changes. The `recompose()` method overwrites the matrix's transformation. To modify the matrix's transformation with an absolute parent frame of reference, retrieve the settings with the decompose() method and make the appropriate changes. You can then set the Matrix3D object to the modified transformation using the `recompose()` method. The `recompose()` method's parameter specifies the orientation style that was used for the transformation. The default orientation is eulerAngles, which defines the orientation with three separate angles of rotation for each axis. The rotations occur consecutively and do not change the axis of each other. The display object's axis rotation properties perform Euler Angles orientation style transformation. The other orientation style options are axisAngle and quaternion. The Axis Angle orientation uses the combination of an axis and an angle to determine the orientation. The axis around which the object is rotated is a unit vector that represents a direction. The angle represents the magnitude of the rotation about the vector. The direction also determines where a display object is facing and the angle determines which way is up. The `appendRotation()` and `prependRotation()` methods use the Axis Angle orientation. The quaternion orientation uses complex numbers and the fourth element of a vector. An orientation is represented by the three axes of rotation (x,y,z) and an angle of rotation (w). The interpolate() method uses quaternion. @param components A Vector of three Vector3D objects that replace the Matrix3D object's translation, rotation, and scale elements. @param orientationStyle An optional parameter that determines the orientation style used for the matrix transformation. The three types of orientation styles are eulerAngles (constant `EULER_ANGLES`), axisAngle (constant `AXIS_ANGLE`), and quaternion (constant `QUATERNION`). For additional information on the different orientation style, see the geom.Orientation3D class. @returns Returns `false` if any of the Vector3D elements of the components Vector do not exist or are `null`. Uses the transformation matrix to transform a Vector3D object from one space coordinate to another. The returned Vector3D object holds the new coordinates after the transformation. All the matrix transformations including translation are applied to the Vector3D object. If the result of the `transformVector()` method was applied to the position of a display object, only the display object's position changes. The display object's rotation and scale elements remain the same. **Note:** This method automatically sets the w component of the passed Vector3D to 1.0. @param v A Vector3D object holding the coordinates that are going to be transformed. @returns A Vector3D object with the transformed coordinates. Uses the transformation matrix to transform a Vector of Numbers from one coordinate space to another. The `tranformVectors()` method reads every three Numbers in the `vin` Vector object as a 3D coordinate (x,y,z) and places a transformed 3D coordinate in the `vout` Vector object. All the matrix transformations including translation are applied to the `vin` Vector object. You can use the `transformVectors()` method to render and transform a 3D object as a mesh. A mesh is a collection of vertices that defines the shape of the object. @param vin A Vector of Floats, where every three Numbers are a 3D coordinate (x,y,z) that is going to be transformed. @param vout A Vector of Floats, where every three Numbers are a 3D transformed coordinate (x,y,z). Converts the current Matrix3D object to a matrix where the rows and columns are swapped. For example, if the current Matrix3D object's rawData contains the following 16 numbers, `1,2,3,4,11,12,13,14,21,22,23,24,31,32,33,34`, the `transpose()` method reads every four elements as a row and turns the rows into columns. The result is a matrix with the rawData of: `1,11,21,31,2,12,22,32,3,13,23,33,4,14,24,34`. The `transpose()` method replaces the current matrix with a transposed matrix. If you want to transpose a matrix without altering the current matrix, first copy the current matrix by using the `clone()` method and then apply the `transpose()` method to the copy. An orthogonal matrix is a square matrix whose transpose is equal to its inverse. { v : null } The Matrix3D class represents a transformation matrix that determines the position and orientation of a three-dimensional (3D) display object. The matrix can perform transformation functions including translation (repositioning along the x, y, and z axes), rotation, and scaling (resizing). The Matrix3D class can also perform perspective projection, which maps points from the 3D coordinate space to a two-dimensional (2D) view. A single matrix can combine multiple transformations and apply them at once to a 3D display object. For example, a matrix can be applied to 3D coordinates to perform a rotation followed by a translation. When you explicitly set the `z` property or any of the rotation or scaling properties of a display object, a corresponding Matrix3D object is automatically created. You can access a 3D display object's Matrix3D object through the `transform.matrix3d` property. 2D objects do not have a Matrix3D object. The value of the `z` property of a 2D object is zero and the value of its `matrix3D` property is `null`. **Note:** If the same Matrix3D object is assigned to two different display objects, a runtime error is thrown. The Matrix3D class uses a 4x4 square matrix: a table of four rows and columns of numbers that hold the data for the transformation. The first three rows of the matrix hold data for each 3D axis (x,y,z). The translation information is in the last column. The orientation and scaling data are in the first three columns. The scaling factors are the diagonal numbers in the first three columns. Here is a representation of Matrix3D elements: ![Matrix3D elements](/images/Matrix3Delements.jpg) You don't need to understand matrix mathematics to use the Matrix3D class. It offers specific methods that simplify the task of transformation and projection, such as the `appendTranslation()`, `appendRotation()`, or `interpolateTo()` methods. You also can use the `decompose()` and `recompose()` methods or the `rawData` property to access the underlying matrix elements. Display objects cache their axis rotation properties to have separate rotation for each axis and to manage the different combinations of rotations. When a method of a Matrix3D object is called to transform a display object, the rotation cache of the object is invalidated. "tags=\"haxe,release\"" (16)]]> * A reference to a Vector to be used as a temporary raw data container, to prevent object creation. new Matrix3D() new Vector3D() Vector.ofArray([new Vector3D(), new Vector3D(), new Vector3D()]) { m : null } * Fills the 3d matrix object with values representing the transformation made by the given quaternion. * * @param quarternion The quarterion object to convert. { v : null } Vector3D object representing the forward vector of the given matrix. * @param m The Matrix3D object to use to get the forward vector * @param v [optional] A vector holder to prevent make new Vector3D instance if already exists. Default is null. * @return The forward vector]]> { v : null } Vector3D object representing the up vector of the given matrix. * @param m The Matrix3D object to use to get the up vector * @param v [optional] A vector holder to prevent make new Vector3D instance if already exists. Default is null. * @return The up vector]]> { v : null } Vector3D object representing the right vector of the given matrix. * @param m The Matrix3D object to use to get the right vector * @param v [optional] A vector holder to prevent make new Vector3D instance if already exists. Default is null. * @return The right vector]]> * Returns a boolean value representing whether there is any significant difference between the two given 3d matrices. { target : null } { orientationStyle : EULER_ANGLES } { result : null } { result : null } { result : null } * Matrix3DUtils provides additional Matrix3D math functions. 0 1 2 3 * The A coefficient of this plane. (Also the x dimension of the plane normal) * The B coefficient of this plane. (Also the y dimension of the plane normal) * The C coefficient of this plane. (Also the z dimension of the plane normal) * The D coefficient of this plane. (Also the inverse dot product between normal and point) <_alignment> away3d * Fills this Plane3D with the coefficients from 3 points in 3d space. * @param p0 Vector3D * @param p1 Vector3D * @param p2 Vector3D * Fills this Plane3D with the coefficients from the plane's normal and a point in 3d space. * @param normal Vector3D * @param point Vector3D * Normalize this Plane3D * @return Plane3D This Plane3D. * Returns the signed distance between this Plane3D and the point p. * @param p Vector3D * @returns Number { epsilon : 0.01 } * Classify a point against this Plane3D. (in front, back or intersecting) * @param p Vector3D * @return int Plane3.FRONT or Plane3D.BACK or Plane3D.INTERSECT { d : 0, c : 0, b : 0, a : 0 } * Create a Plane3D with ABCD coefficients 0 1 0 1 2 <_distributions static="1"> Math.PI Vector3D object. * * @param w The first 3d number object to use in the calculation. * @param q The first 3d number object to use in the calculation. * @return An angle in radians representing the angle between the two Vector3D objects.]]> Vector3D object with the euler angles represented by the 3x3 matrix rotation of the given Matrix3D object. * * @param m1 The 3d matrix object to use in the calculation. * @return A 3d vector representing the euler angles extracted from the 3d matrix.]]> Vector3D object containing the euler angles represented by the given Quaternion object. * * @param quaternion The quaternion object to use in the calculation. * @return A 3d vector representing the euler angles extracted from the quaternion.]]> Vector3D object containing the scale values represented by the given Matrix3D object. * * @param m The 3d matrix object to use in the calculation. * @return A 3d vector representing the axis scale values extracted from the 3d matrix.]]> * Vector3DUtils provides additional Vector3D math functions. <_parent> away3d <_childNodes> <_numChildNodes> <_debugPrimitive> <_numEntities> away3d <_collectionMark> away3d * The parent node. Null if this node is the root. away3d * Adds a node to the tree. By default, this is used for both static as dynamic nodes, but for some data * structures such as BSP trees, it can be more efficient to only use this for dynamic nodes, and add the * static child nodes using custom links. * * @param node The node to be added as a child of the current node. away3d * Removes a child node from the tree. * @param node The child node to be removed. * Tests if the current node is at least partly inside the frustum. * @param viewProjectionRaw The raw data of the view projection matrix * * @return Whether or not the node is at least partly inside the view frustum. * Tests if the current node is intersecting with a ray. * @param rayPosition The starting position of the ray * @param rayDirection The direction vector of the ray * * @return Whether or not the node is at least partly intersecting the ray. * Finds the partition that contains (or should contain) the given entity. * Allows the traverser to visit the current node. If the traverser's enterNode method returns true, the * traverser will be sent down the child nodes of the tree. * This method should be overridden if the order of traversal is important (such as for BSP trees) - or if static * child nodes are not added using addNode, but are linked to separately. * * @param traverser The traverser visiting the node. * * @see away3d.core.traverse.PartitionTraverser * Creates a new NodeBase object. * The NodeBase class is an abstract base class for any type of space partition tree node. The concrete * subtype will control the creation of its child nodes, which are necessarily of the same type. The exception is * the creation of leaf entity nodes, which is handled by the Partition3D class. * * @see away3d.partition.EntityNode * @see away3d.partition.Partition3D * @see away3d.containers.Scene3D <_entity> <_updateQueueNext> away3d * The link to the next object in the list to be updated * @private * The entity contained in this leaf node. * @inheritDoc * Detaches the node from its parent. * @inheritDoc * Creates a new EntityNode object. * @param entity The Entity to be contained in this leaf node. * The EntityNode class provides an abstract base class for leaf nodes in a partition tree, containing * entities to be fed to the EntityCollector traverser. * The concrete subtype of Entity is responsible for creating a matching subtype of EntityNode. * * @see away3d.scenegraph.Entity * @see away3d.core.traverse.EntityCollector * @inheritDoc * Creates a new CameraNode object. * @param camera The camera to be contained in the node. * CameraNode is a space partitioning leaf node that contains a Camera3D object. <_light> * The light object contained in this node. * @inheritDoc * Creates a new LightNode object. * @param light The light to be contained in the node. * LightNode is a space partitioning leaf node that contains a LightBase object. <_minX> <_minY> <_minZ> <_leaves> <_numCellsX> <_numCellsY> <_numCellsZ> <_cellWidth> <_cellHeight> <_cellDepth> <_showDebugBounds> * DynamicGrid is used by certain partitioning systems that require vislists for regions of dynamic data. <_minX> <_minY> <_minZ> <_maxX> <_maxY> <_maxZ> <_centerX> <_centerY> <_centerZ> <_halfExtentX> <_halfExtentY> <_halfExtentZ> away3d * InvertedOctreeNode is an octree data structure not used hierarchically for culling, but for fast dynamic insertion. * The data structure is essentially a grid, but "overarching" parent container nodes for entities striding across nodes. * If this is visible, so is the parent. * Traversal happens invertedly too. <_light> * The light object contained in this node. * @inheritDoc * Creates a new LightNode object. * @param light The light to be contained in the node. * LightNode is a space partitioning leaf node that contains a LightBase object. Used for lights that are not of default supported type. <_light> * The light object contained in this node. * @inheritDoc * Creates a new LightNode object. * @param light The light to be contained in the node. * LightNode is a space partitioning leaf node that contains a LightBase object. <_mesh> * The mesh object contained in the partition node. * @inheritDoc * Creates a new MeshNode object. * @param mesh The mesh to be contained in the node. * MeshNode is a space partitioning leaf node that contains a Mesh object. * Creates a new NullNode object. * NullNode is a node that performs no space partitioning, but simply stores all objects in a * list of leaf nodes. This partitioning system is most useful for simple content, or content that is always in the * screen, such as a 3d user interface. <_rootNode> <_updatesMade> <_updateQueue> * Sends a traverser through the partition tree. * @param traverser * * @see away3d.core.traverse.PartitionTraverser away3d * Mark a scene graph entity for updating. This will trigger a reassignment within the tree, based on the * object's bounding box, upon the next traversal. * @param entity The entity to be updated in the tree. away3d * Removes an entity from the partition tree. * @param entity The entity to be removed. * Updates all entities that were marked for update. * Creates a new Partition3D object. * @param rootNode The root node of the space partition system. This will indicate which type of data structure will be used. * Partition3D is the core of a space partition system. The space partition system typically subdivides the 3D scene * hierarchically into a number of non-overlapping subspaces, forming a tree data structure. This is used to more * efficiently perform frustum culling, potential visibility determination and collision detection. <_centerX> <_centerY> <_centerZ> <_minX> <_minY> <_minZ> <_maxX> <_maxY> <_maxZ> <_quadSize> <_depth> <_leaf> <_rightTopFar> <_leftTopFar> <_rightBottomFar> <_leftBottomFar> <_rightTopNear> <_leftTopNear> <_rightBottomNear> <_leftBottomNear> <_halfExtent> { depth : 0, centerZ : 0, centerY : 0, centerX : 0, size : 10000, maxDepth : 5 } <_light> * The light object contained in this node. * @inheritDoc * Creates a new LightNode object. * @param light The light to be contained in the node. * LightNode is a space partitioning leaf node that contains a LightBase object. { height : 1000000 } <_centerX> <_centerZ> <_depth> <_leaf> <_height> <_rightFar> <_leftFar> <_rightNear> <_leftNear> <_halfExtentXZ> <_halfExtentY> { depth : 0, centerZ : 0, centerX : 0, height : 1000000, size : 10000, maxDepth : 5 } <_renderable> * @inheritDoc * Creates a new RenderableNode object. * @param mesh The mesh to be contained in the node. * RenderableNode is a space partitioning leaf node that contains any Entity that is itself a IRenderable * object. This excludes Mesh (since the renderable objects are its SubMesh children). <_skyBox> * @inheritDoc * Creates a new SkyBoxNode object. * @param skyBox The SkyBox to be contained in the node. * SkyBoxNode is a space partitioning leaf node that contains a SkyBox object. <_entityWorldBounds static="1"> <_width> <_height> <_depth> <_cellSize> <_numCellsX> <_numCellsY> <_numCellsZ> <_cells> <_minX> <_minY> <_minZ> <_maxX> <_maxY> <_maxZ> <_active> away3d { indexZ : 0, indexY : 0, indexX : 0 } { indexZ : 0, indexY : 0, indexX : 0 } { indexZ : 0, indexY : 0, indexX : 0 } { indexZ : 0, indexY : 0, indexX : 0 } * Enable the use of a cell. Do this if the camera or casting light can potentially be in this cell. * If the ViewVolume was constructed with gridSize -1, it does not need to be called * @param indexX The x-index of the cell * @param indexY The y-index of the cell * @param indexZ The z-index of the cell * Disables the use of a cell. Do this only if the camera or casting light can never be in this cell. * @param indexX The x-index of the cell * @param indexY The y-index of the cell * @param indexZ The z-index of the cell { indexZ : 0, indexY : 0, indexX : 0, dynamicGrid : null } * Adds all static geometry in a scene that intersects a given region, as well as the dynamic grid if provided. * @param minBounds The minimum bounds of the region to be considered visible * @param maxBounds The maximum bounds of the region to be considered visible * @param scene The Scene3D object containing the static objects to be added. * @param dynamicGrid The DynamicGrid belonging to the partition this will be used with * @param indexX An optional index for the cell within ViewVolume. If created with gridSize -1, this is typically avoided. * @param indexY An optional index for the cell within ViewVolume. If created with gridSize -1, this is typically avoided. * @param indexZ An optional index for the cell within ViewVolume. If created with gridSize -1, this is typically avoided. { dynamicGrid : null } * A shortcut method for addVisibleRegion, that adds static geometry in a scene that intersects a given viewvolume, as well as the dynamic grid if provided. * @param viewVolume The viewVolume providing the region * @param scene The Scene3D object containing the static objects to be added. * @param dynamicGrid The DynamicGrid belonging to the partition this will be used with { cellSize : -1 } * Creates a new ViewVolume with given dimensions. A ViewVolume is a region where the camera or a shadow casting light could reside in. * * @param minBound The minimum boundaries of the view volume (the bottom-left-near corner) * @param maxBound The maximum boundaries of the view volume (the top-right-far corner) * @param cellSize The size of cell subdivisions for the view volume. The default value is -1, meaning the view volume will not be subdivided. This is the value that should usually be used when setting visibility info manually. ()]]> ()]]> * Adds a view volume to provide visibility info for a given region. * A dynamic grid to be able to determine visibility of dynamic objects. If none is provided, dynamic objects are only frustum-culled. * If provided, ViewVolumes need to have visible grid cells assigned from the same DynamicGrid instance. <_viewVolumes> <_activeVolume> <_dynamicGrid> * Sets the position and direction of a picking ray in local coordinates to the entity. * * @param localDirection The position vector in local coordinates * @param localPosition The direction vector in local coordinates SubMesh object for a collision with the picking ray. * * @param subMesh The SubMesh instance to be tested. * @param pickingCollisionVO The collision object used to store the collision results * @param shortestCollisionDistance The current value of the shortest distance to a detected collision along the ray.]]> RaycastPicker picking object. * * @see away3d.entities.Entity#pickingCollider * @see away3d.core.pick.RaycastPicker]]> <_pbPickingCollider> <_haxePickingCollider> <_activePickingCollider> 1024 SubMesh object over which PixelBender is used.]]> * @inheritDoc * @inheritDoc { findClosestCollision : false } AutoPickingCollider object. * * @param findClosestCollision Determines whether the picking collider searches for the closest collision along the ray. Defaults to false.]]> RaycastPicker picking object. * Chooses between pure AS3 picking and PixelBender picking based on a threshold property representing * the number of triangles encountered in a SubMesh object over which PixelBender is used. * * @see away3d.entities.Entity#pickingCollider * @see away3d.core.pick.RaycastPicker]]> { normal : null } { uv : null } * @inheritDoc * An abstract base class for all picking collider classes. It should not be instantiated directly. <_findClosestCollision> * @inheritDoc { findClosestCollision : false } HaxePickingCollider object. * * @param findClosestCollision Determines whether the picking collider searches for the closest collision along the ray. Defaults to false.]]> RaycastPicker picking object. * * @see away3d.entities.Entity#pickingCollider * @see away3d.core.pick.RaycastPicker]]> * Gets the collision object from the screen coordinates of the picking ray. * * @param x The x coordinate of the picking ray in screen-space. * @param y The y coordinate of the picking ray in screen-space. * @param view The view on which the picking object acts. * Gets the collision object from the scene position and direction of the picking ray. * * @param position The position of the picking ray in scene-space. * @param direction The direction of the picking ray in scene-space. * @param scene The scene on which the picking object acts. * Determines whether the picker takes account of the mouseEnabled properties of entities. Defaults to true. * Disposes memory used by the IPicker object * Provides an interface for picking objects that can pick 3d objects from a view or scene. <_findClosestCollision> <_rayTriangleKernel> <_lastSubMeshUploaded> <_kernelOutputBuffer> * @inheritDoc * @inheritDoc { findClosestCollision : false } PBPickingCollider object. * * @param findClosestCollision Determines whether the picking collider searches for the closest collision along the ray. Defaults to false.]]> RaycastPicker picking object. * * @see away3d.entities.Entity#pickingCollider * @see away3d.core.pick.RaycastPicker]]> null * Default null collider that forces picker to only use entity bounds for hit calculations on an Entity new HaxePickingCollider(false) * Pure Haxe picking collider that returns the first encountered hit on an Entity. Useful for low poly meshes and applying to many mesh instances. * * @see away3d.core.pick.HaxePickingCollider new HaxePickingCollider(true) * Pure Haxe picking collider that returns the best (closest) hit on an Entity. Useful for low poly meshes and applying to many mesh instances. * * @see away3d.core.pick.HaxePickingCollider new PBPickingCollider(false) * PixelBender-based picking collider that returns the first encountered hit on an Entity. Useful for fast picking high poly meshes on desktop devices. * To use this, the SubGeometry must have its vertex data in separate buffers: use Geometry::convertToSeparateBuffers() to ensure this. * * @see away3d.core.pick.PBPickingCollider new PBPickingCollider(true) * PixelBender-based picking collider that returns the best (closest) hit on an Entity. Useful for fast picking high poly meshes on desktop devices. * To use this, the SubGeometry must have its vertex data in separate buffers: use Geometry::convertToSeparateBuffers() to ensure this. * * @see away3d.core.pick.PBPickingCollider new AutoPickingCollider(false) SubMesh object over which PixelBender is used. * Useful for picking meshes with a mixture of polycounts. * * @see away3d.core.pick.AutoPickingCollider * @see away3d.core.pick.AutoPickingCollider#triangleThreshold]]> new AutoPickingCollider(true) SubMesh object over which PixelBender is used. * Useful for picking meshes with a mixture of polycounts. * * @see away3d.core.pick.AutoPickingCollider * @see away3d.core.pick.AutoPickingCollider#triangleThreshold]]> RaycastPicker picking object. * * @see away3d.entities.Entity#pickingCollider * @see away3d.core.pick.RaycastPicker]]> * The entity to which this collision object belongs. * The local position of the collision on the entity's surface. * The local normal vector at the position of the collision. * The uv coordinate at the position of the collision. * The index of the face where the event took pl ace. * The index of the subGeometry where the event took place. * The starting position of the colliding ray in local coordinates. * The direction of the colliding ray in local coordinates. * The starting position of the colliding ray in scene coordinates. * The direction of the colliding ray in scene coordinates. * Determines if the ray position is contained within the entity bounds. * * @see away3d.entities.Entity#bounds * The distance along the ray from the starting position to the calculated intersection entry point with the entity. * The IRenderable associated with a collision. PickingCollisionVO object. * * @param entity The entity to which this collision object belongs.]]> * Value object for a picking collision returned by a picking collider. Created as unique objects on entities * * @see away3d.entities.Entity#pickingCollisionVO * @see away3d.core.pick.IPickingCollider new Vector3D() new Vector3D() <_findClosestCollision> <_raycastCollector expr="new RaycastCollector()"> new RaycastCollector() <_ignoredEntities expr="new Array<Entity>()"> ()]]> <_onlyMouseEnabled expr="true"> true <_entities> <_numEntities> <_hasCollisions> * @inheritDoc * @inheritDoc * @inheritDoc RaycastPicker object. * * @param findClosestCollision Determines whether the picker searches for the closest bounds collision along the ray, * or simply returns the first collision encountered Defaults to false.]]> * Picks a 3d object from a view or scene by 3D raycast calculations. * Performs an initial coarse boundary calculation to return a subset of entities whose bounding volumes intersect with the specified ray, * then triggers an optional picking collider on individual entity objects to further determine the precise values of the picking ray collision. <__limeRectangle static="1"> <__pool expr="new ObjectPool<Rectangle>(function() return new Rectangle(), function(r) r.setTo(0, 0, 0, 0))" line="62" static="1"> (function() return new Rectangle(), function(r) r.setTo(0, 0, 0, 0))]]> The sum of the `y` and `height` properties. ![A rectangle image showing location and measurement properties.](/images/rectangle.jpg) The location of the Rectangle object's bottom-right corner, determined by the values of the `right` and `bottom` properties. ![A rectangle image showing location and measurement properties.](/images/rectangle.jpg) The height of the rectangle, in pixels. Changing the `height` value of a Rectangle object has no effect on the `x`, `y`, and `width` properties. ![A rectangle image showing location and measurement properties.](/images/rectangle.jpg) The _x_ coordinate of the top-left corner of the rectangle. Changing the `left` property of a Rectangle object has no effect on the `y` and `height` properties. However it does affect the `width` property, whereas changing the `x` value does _not_ affect the `width` property. The value of the `left` property is equal to the value of the `x` property. ![A rectangle image showing location and measurement properties.](/images/rectangle.jpg) The sum of the `x` and `width` properties. ![A rectangle image showing location and measurement properties.](/images/rectangle.jpg) The size of the Rectangle object, expressed as a Point object with the values of the `width` and `height` properties. The _y_ coordinate of the top-left corner of the rectangle. Changing the `top` property of a Rectangle object has no effect on the `x` and `width` properties. However it does affect the `height` property, whereas changing the `y` value does _not_ affect the `height` property. The value of the `top` property is equal to the value of the `y` property. ![A rectangle image showing location and measurement properties.](/images/rectangle.jpg) The location of the Rectangle object's top-left corner, determined by the _x_ and _y_ coordinates of the point. ![A rectangle image showing location and measurement properties.](/images/rectangle.jpg) The width of the rectangle, in pixels. Changing the `width` value of a Rectangle object has no effect on the `x`, `y`, and `height` properties. ![A rectangle image showing location and measurement properties.](/images/rectangle.jpg) The _x_ coordinate of the top-left corner of the rectangle. Changing the value of the `x` property of a Rectangle object has no effect on the `y`, `width`, and `height` properties. The value of the `x` property is equal to the value of the `left` property. The _y_ coordinate of the top-left corner of the rectangle. Changing the value of the `y` property of a Rectangle object has no effect on the `x`, `width`, and `height` properties. The value of the `y` property is equal to the value of the `top` property. Returns a new Rectangle object with the same values for the `x`, `y`, `width`, and `height` properties as the original Rectangle object. @return A new Rectangle object with the same values for the `x`, `y`, `width`, and `height` properties as the original Rectangle object. Determines whether the specified point is contained within the rectangular region defined by this Rectangle object. @param x The _x_ coordinate(horizontal position) of the point. @param y The _y_ coordinate(vertical position) of the point. @return A value of `true` if the Rectangle object contains the specified point; otherwise `false`. Determines whether the specified point is contained within the rectangular region defined by this Rectangle object. This method is similar to the `Rectangle.contains()` method, except that it takes a Point object as a parameter. @param point The point, as represented by its _x_ and _y_ coordinates. @return A value of `true` if the Rectangle object contains the specified point; otherwise `false`. Determines whether the Rectangle object specified by the `rect` parameter is contained within this Rectangle object. A Rectangle object is said to contain another if the second Rectangle object falls entirely within the boundaries of the first. @param rect The Rectangle object being checked. @return A value of `true` if the Rectangle object that you specify is contained by this Rectangle object; otherwise `false`. Copies all of rectangle data from the source Rectangle object into the calling Rectangle object. @param sourceRect The Rectangle object from which to copy the data. Determines whether the object specified in the `toCompare` parameter is equal to this Rectangle object. This method compares the `x`, `y`, `width`, and `height` properties of an object against the same properties of this Rectangle object. @param toCompare The rectangle to compare to this Rectangle object. @return A value of `true` if the object has exactly the same values for the `x`, `y`, `width`, and `height` properties as this Rectangle object; otherwise `false`. Increases the size of the Rectangle object by the specified amounts, in pixels. The center point of the Rectangle object stays the same, and its size increases to the left and right by the `dx` value, and to the top and the bottom by the `dy` value. @param dx The value to be added to the left and the right of the Rectangle object. The following equation is used to calculate the new width and position of the rectangle: ```as3 x -= dx; width += 2 * dx; ``` @param dy The value to be added to the top and the bottom of the Rectangle. The following equation is used to calculate the new height and position of the rectangle: ``` y -= dy; height += 2 * dy; ``` Increases the size of the Rectangle object. This method is similar to the `Rectangle.inflate()` method except it takes a Point object as a parameter. The following two code examples give the same result: ```haxe var rect1 = new Rectangle(0,0,2,5); rect1.inflate(2,2); ``` ```haxe var rect1 = new Rectangle(0,0,2,5); var pt1 = new Point(2,2); rect1.inflatePoint(pt1); ``` @param point The `x` property of this Point object is used to increase the horizontal dimension of the Rectangle object. The `y` property is used to increase the vertical dimension of the Rectangle object. If the Rectangle object specified in the `toIntersect` parameter intersects with this Rectangle object, returns the area of intersection as a Rectangle object. If the rectangles do not intersect, this method returns an empty Rectangle object with its properties set to 0. ![The resulting intersection rectangle.](/images/rectangle_intersect.jpg) @param toIntersect The Rectangle object to compare against to see if it intersects with this Rectangle object. @return A Rectangle object that equals the area of intersection. If the rectangles do not intersect, this method returns an empty Rectangle object; that is, a rectangle with its `x`, `y`, `width`, and `height` properties set to 0. Determines whether the object specified in the `toIntersect` parameter intersects with this Rectangle object. This method checks the `x`, `y`, `width`, and `height` properties of the specified Rectangle object to see if it intersects with this Rectangle object. @param toIntersect The Rectangle object to compare against this Rectangle object. @return A value of `true` if the specified object intersects with this Rectangle object; otherwise `false`. Determines whether or not this Rectangle object is empty. @return A value of `true` if the Rectangle object's width or height is less than or equal to 0; otherwise `false`. Adjusts the location of the Rectangle object, as determined by its top-left corner, by the specified amounts. @param dx Moves the _x_ value of the Rectangle object by this amount. @param dy Moves the _y_ value of the Rectangle object by this amount. Adjusts the location of the Rectangle object using a Point object as a parameter. This method is similar to the `Rectangle.offset()` method, except that it takes a Point object as a parameter. @param point A Point object to use to offset this Rectangle object. Sets all of the Rectangle object's properties to 0. A Rectangle object is empty if its width or height is less than or equal to 0. This method sets the values of the `x`, `y`, `width`, and `height` properties to 0. Sets the members of Rectangle to the specified values @param xa the values to set the rectangle to. @param ya @param widtha @param heighta Adds two rectangles together to create a new Rectangle object, by filling in the horizontal and vertical space between the two rectangles. ![The resulting union rectangle.](/images/rectangle_union.jpg) **Note:** The `union()` method ignores rectangles with `0` as the height or width value, such as: `var rect2:Rectangle = new Rectangle(300,300,50,0);` @param toUnion A Rectangle object to add to this Rectangle object. @return A new Rectangle object that is the union of the two rectangles. <__contract set="method" line="554"> <__expand set="method" line="577"> <__toLimeRectangle set="method" line="606"> <__transform set="method" line="618"> { height : 0, width : 0, y : 0, x : 0 } Creates a new Rectangle object with the top-left corner specified by the `x` and `y` parameters and with the specified `width` and `height` parameters. If you call this function without parameters, a rectangle with `x`, `y`, `width`, and `height` properties set to 0 is created. @param x The _x_ coordinate of the top-left corner of the rectangle. @param y The _y_ coordinate of the top-left corner of the rectangle. @param width The width of the rectangle, in pixels. @param height The height of the rectangle, in pixels. A Rectangle object is an area defined by its position, as indicated by its top-left corner point(_x_, _y_) and by its width and its height. The `x`, `y`, `width`, and `height` properties of the Rectangle class are independent of each other; changing the value of one property has no effect on the others. However, the `right` and `bottom` properties are integrally related to those four properties. For example, if you change the value of the `right` property, the value of the `width` property changes; if you change the `bottom` property, the value of the `height` property changes. The following methods and properties use Rectangle objects: * The `applyFilter()`, `colorTransform()`, `copyChannel()`, `copyPixels()`, `draw()`, `fillRect()`, `generateFilterRect()`, `getColorBoundsRect()`, `getPixels()`, `merge()`, `paletteMap()`, `pixelDisolve()`, `setPixels()`, and `threshold()` methods, and the `rect` property of the BitmapData class * The `getBounds()` and `getRect()` methods, and the `scrollRect` and `scale9Grid` properties of the DisplayObject class * The `getCharBoundaries()` method of the TextField class * The `pixelBounds` property of the Transform class * The `bounds` parameter for the `startDrag()` method of the Sprite class * The `printArea` parameter of the `addPage()` method of the PrintJob class You can use the `new Rectangle()` constructor to create a Rectangle object. **Note:** The Rectangle class does not define a rectangular Shape display object. To draw a rectangular Shape object onscreen, use the `drawRect()` method of the Graphics class. "tags=\"haxe,release\"" new Rectangle(0, 0, 1, 1) <_stage3DProxy> <_context> <_onlyMouseEnabled expr="true"> true <_objectProgram3D> <_triangleProgram3D> <_bitmapData> <_viewportData> <_boundOffsetScale> <_id> <_interactives expr="new Vector<IRenderable>()"> ()]]> <_interactiveId> <_hitColor> <_projX> <_projY> <_hitRenderable> <_hitEntity> <_localHitPosition expr="new Vector3D()"> new Vector3D() <_hitUV expr="new Point()"> new Point() <_faceIndex> <_subGeometryIndex> <_localHitNormal expr="new Vector3D()"> new Vector3D() <_rayPos expr="new Vector3D()"> new Vector3D() <_rayDir expr="new Vector3D()"> new Vector3D() <_potentialFound> * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * Draw a list of renderables. * @param renderables The renderables to draw. * @param camera The camera for which to render. * Creates the Program3D that color-codes objects. * Creates the Program3D that renders positions. * Gets more detailed information about the hir position, if required. * @param camera The camera used to view the hit object. * Finds a first-guess approximate position about the hit position. * @param camera The camera used to view the hit object. * Use the approximate position info to find the face under the mouse position from which we can derive the precise * ray-face intersection point, then use barycentric coordinates to figure out the uv coordinates, etc. * @param camera The camera used to view the hit object. * Finds the precise hit position by unprojecting the screen coordinate back unto the hit face's plane and * calculating the intersection point. * @param camera The camera used to render the object. * @param invSceneTransform The inverse scene transformation of the hit object. * @param nx The x-coordinate of the face's plane normal. * @param ny The y-coordinate of the face plane normal. * @param nz The z-coordinate of the face plane normal. * @param px The x-coordinate of a point on the face's plane (ie a face vertex) * @param py The y-coordinate of a point on the face's plane (ie a face vertex) * @param pz The z-coordinate of a point on the face's plane (ie a face vertex) ShaderPicker object.]]> * Picks a 3d object from a view or scene by performing a separate render pass on the scene around the area being picked using key color values, * then reading back the color value of the pixel in the render representing the picking ray. Requires multiple passes and readbacks for retriving details * on an entity that has its shaderPickingDetails property set to true. * * A read-back operation from any GPU is not a very efficient process, and the amount of processing used can vary significantly between different hardware. * * @see away3d.entities.Entity#shaderPickingDetails new ShaderPicker() * Uses a render pass to pick objects based on a key color that is read back into the engine. * Performance can be variable on some GPUs. new RaycastPicker(false) * Uses AS3 and Pixel Bender to pick objects based on ray intersection. Returns the hit on the first encountered Entity. new RaycastPicker(true) * Uses AS3 and Pixel Bender to pick objects based on ray intersection. Returns the best (closest) hit on an Entity. * Options for the different 3D object picking approaches available in Away3D. Can be used for automatic mouse picking on the view. * * @see away3d.containers.View3D#mousePicker <_program3d> <_texture> <_indexBuffer> <_vertexBuffer> <_stage3DProxy> <_context> away3d away3d away3d away3d away3d away3d away3d away3d away3d away3d away3d away3d away3d <_context> <_stage3DProxy> <_backgroundR expr="0"> 0 <_backgroundG expr="0"> 0 <_backgroundB expr="0"> 0 <_backgroundAlpha expr="1"> 1 <_shareContext expr="false"> false <_renderTarget> <_renderTargetSurface> <_viewWidth> <_viewHeight> <_renderableSorter> <_backgroundImageRenderer> <_background> <_renderToTexture> <_antiAlias> <_textureRatioX expr="1"> 1 <_textureRatioY expr="1"> 1 <_snapshotBitmapData> <_snapshotRequired> <_clearOnRender expr="true"> true <_rttViewProjectionMatrix expr="new Matrix3D()"> new Matrix3D() away3d * The background color's red component, used when clearing. * * @private * The background color's green component, used when clearing. * * @private * The background color's blue component, used when clearing. * * @private * The Stage3DProxy that will provide the Context3D used for rendering. * * @private * Defers control of Context3D clear() and present() calls to Stage3DProxy, enabling multiple Stage3D frameworks * to share the same Context3D object. * * @private away3d * Disposes the resources used by the RendererBase. * * @private { surfaceSelector : 0, scissorRect : null, target : null } * Renders the potentially visible geometry to the back buffer or texture. * @param entityCollector The EntityCollector object containing the potentially visible geometry. * @param target An option target texture to render to. * @param surfaceSelector The index of a CubeTexture's face to render to. * @param additionalClearMask Additional clear mask information, in case extra clear channels are to be omitted. { surfaceSelector : 0, scissorRect : null, target : null } * Renders the potentially visible geometry to the back buffer or texture. Only executed if everything is set up. * @param entityCollector The EntityCollector object containing the potentially visible geometry. * @param target An option target texture to render to. * @param surfaceSelector The index of a CubeTexture's face to render to. * @param additionalClearMask Additional clear mask information, in case extra clear channels are to be omitted. * Performs the actual drawing of geometry to the target. * @param entityCollector The EntityCollector object containing the potentially visible geometry. * Assign the context once retrieved { renderToTexture : false } * Creates a new RendererBase object. * RendererBase forms an abstract base class for classes that are used in the rendering pipeline to render geometry * to the back buffer or a texture. 1 2 3 <_activeMaterial> <_distanceRenderer> <_depthRenderer> <_skyboxProjection expr="new Matrix3D()"> new Matrix3D() <_tempSkyboxMatrix expr="new Matrix3D()"> new Matrix3D() <_skyboxTempVector expr="new Vector3D()"> new Vector3D() { surfaceSelector : 0, scissorRect : null, target : null } * @inheritDoc * Draw the skybox if present. * @param entityCollector The EntityCollector containing all potentially visible information. * Draw a list of renderables. * @param renderables The renderables to draw. * @param entityCollector The EntityCollector containing all potentially visible information. * Creates a new DefaultRenderer object. * @param antiAlias The amount of anti-aliasing to use. * @param renderMode The render mode to use. * The DefaultRenderer class provides the default rendering method. It renders the scene graph objects using the * materials assigned to them. <_activeMaterial> <_renderBlended> <_distanceBased> <_disableColor> away3d * @inheritDoc * Draw a list of renderables. * @param renderables The renderables to draw. * @param entityCollector The EntityCollector containing all potentially visible information. { distanceBased : false, renderBlended : false } * Creates a new DepthRenderer object. * @param renderBlended Indicates whether semi-transparent objects should be rendered. * @param distanceBased Indicates whether the written depth value is distance-based or projected depth-based * The DepthRenderer class renders 32-bit depth information encoded as RGBA <_filters> <_tasks> <_filterTasksInvalid> <_mainInputTexture> <_requireDepthRender> <_rttManager> <_stage3DProxy> <_filterSizesInvalid expr="true"> true <_program3D> <_renderBlended> * @inheritDoc * Creates the depth rendering Program3D. * @param context The Context3D object for which the Program3D needs to be created. { renderBlended : false } * Creates a PositionRenderer object. * @param renderBlended Indicates whether semi-transparent objects should be rendered. * @param antiAlias The amount of anti-aliasing to be used * @param renderMode The render mode to be used. * The PositionRenderer renders normalized position coordinates. * Sort the potentially visible data in an EntityCollector for rendering. * @param collector The EntityCollector object containing the potentially visible data. * EntitySorterBase provides an abstract base class to sort geometry information in an EntityCollector object for * rendering. * @inheritDoc * Creates a RenderableSorter objects * RenderableSorter sorts the potentially visible IRenderable objects collected by EntityCollector for optimal * rendering performance. Objects are sorted first by material, then by distance to the camera. Opaque objects * are sorted front to back, while objects that require blending are sorted back to front, to ensure correct * blending. <_collectionMark expr="0" line="34" static="1"> 0 away3d * A property that can be used to avoid processing a partition more than once. away3d * The scene being traversed. <_entryPoint> away3d * Called when the traversers enters a node. At minimum, it notifies the currently visited Partition3DNode whether or not further recursion is necessary. * @param node The currently entered node. * @return true if further recursion down children is necessary, false if not. * Passes a skybox to be processed by the traverser. * Passes an IRenderable object to be processed by the traverser. * Passes a light to be processed by the traverser. * Registers an entity for use. * The entry point for scene graph traversal, ie the point that will be used for traversing the graph * position-dependently. For example: BSP visibility determination or collision detection. * For the EntityCollector, this is the camera's scene position for example. * IPartitionTraverser is a hierarchical visitor pattern that traverses through a Partition3D data structure. * * @see away3d.partition.Partition3D <_skyBox> <_opaqueRenderableHead> <_blendedRenderableHead> <_entityHead> <_renderableListItemPool> <_entityListItemPool> <_lights> <_directionalLights> <_pointLights> <_lightProbes> <_numEntities> <_numLights> <_numTriangles> <_numMouseEnableds> <_camera> <_numDirectionalLights> <_numPointLights> <_numLightProbes> <_cameraForward> <_customCullPlanes> <_cullPlanes> <_numCullPlanes> * The camera that provides the visible frustum. * The amount of IRenderable objects that are mouse-enabled. * The sky box object if encountered. * The list of opaque IRenderable objects that are considered potentially visible. * @param value * The list of IRenderable objects that require blending and are considered potentially visible. * @param value * The lights of which the affecting area intersects the camera's frustum. * Clears all objects in the entity collector. * Returns true if the current node is at least partly in the frustum. If so, the partition node knows to pass on the traverser to its children. * * @param node The Partition3DNode object to frustum-test. * Adds a skybox to the potentially visible objects. * @param renderable The skybox to add. * Adds an IRenderable object to the potentially visible objects. * @param renderable The IRenderable object to add. * @inheritDoc * Adds a light to the potentially visible objects. * @param light The light to add. * The total number of triangles collected, and which will be pushed to the render engine. * Cleans up any data at the end of a frame. * Creates a new EntityCollector object. * The EntityCollector class is a traverser for scene partitions that collects all scene graph entities that are * considered potientially visible. * * @see away3d.partition.Partition3D * @see away3d.partition.Entity <_rayPosition expr="new Vector3D()"> new Vector3D() <_rayDirection expr="new Vector3D()"> new Vector3D() * Provides the starting position of the ray. * Provides the direction vector of the ray. * Returns true if the current node is at least partly in the frustum. If so, the partition node knows to pass on the traverser to its children. * * @param node The Partition3DNode object to frustum-test. * @inheritDoc * Adds an IRenderable object to the potentially visible objects. * @param renderable The IRenderable object to add. * @inheritDoc * Creates a new RaycastCollector object. * The RaycastCollector class is a traverser for scene partitions that collects all scene graph entities that are * considered intersecting with the defined ray. * * @see away3d.partition.Partition3D * @see away3d.partition.Entity
			
			0
		
1 2 <_childIndex> <_scene> <_node> <_traverseState> <_childIndexStack> <_stackPos>
* Adds an IRenderable object to the potentially visible objects. * @param renderable The IRenderable object to add. * Creates a new EntityCollector object. * The EntityCollector class is a traverser for scene partitions that collects all scene graph entities that are * considered potientially visible. * * @see away3d.partition.Partition3D * @see away3d.partition.Entity <_fps> <_ply> <_view> { scale : 4, color : 0x000000, yOff : 10, xOff : 10, view : null } openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() <_WIDTH get="inline" set="null" expr="125" line="122" static="1"> 125 <_MAX_HEIGHT get="inline" set="null" expr="85" line="123" static="1"> 85 <_MIN_HEIGHT get="inline" set="null" expr="51" line="124" static="1"> 51 <_UPPER_Y get="inline" set="null" expr="-1" line="125" static="1"> -1 <_MID_Y get="inline" set="null" expr="9" line="126" static="1"> 9 <_LOWER_Y get="inline" set="null" expr="19" line="127" static="1"> 19 <_DIAG_HEIGHT get="inline" set="null" expr="_MAX_HEIGHT - 50" line="128" static="1"> _MAX_HEIGHT - 50 <_BOTTOM_BAR_HEIGHT get="inline" set="null" expr="31" line="129" static="1"> 31 <_POLY_COL get="inline" set="null" expr="0xffcc00" line="131" static="1"> 0xffcc00 <_MEM_COL get="inline" set="null" expr="0xff00cc" line="132" static="1"> 0xff00cc <_INSTANCE static="1"> * Holds a reference to the stats widget (or if several have been created * during session, the one that was last instantiated.) Allows you to set * properties and register views from anywhere in your code. <_views> <_timer> <_last_frame_timestamp> <_fps> <_ram> <_max_ram> <_min_fps> <_avg_fps> <_max_fps> <_tfaces> <_rfaces> <_num_frames> <_fps_sum> <_top_bar> <_btm_bar> <_btm_bar_hit> <_data_format> <_label_format> <_fps_bar> <_afps_bar> <_lfps_bar> <_hfps_bar> <_diagram> <_dia_bmp> <_mem_points> <_mem_graph> <_updates> <_min_max_btn> <_fps_tf> <_afps_tf> <_ram_tf> <_poly_tf> <_swhw_tf> <_drag_dx> <_drag_dy> <_dragging> <_mean_data> <_mean_data_length> <_enable_reset> <_enable_mod_fr> <_transparent> <_minimized> <_showing_driv_info> <_init set="method" line="228"> * Add a view to the list of those that are taken into account when * calculating on-screen and total poly counts. Use this method when the * stats widget is not instantiated in the same place as where you create * your view, or when using several views, or when views are created and * destroyed dynamically at runtime. * Remove a view from the list of those that are taken into account when * calculating on-screen and total poly counts. If the supplied view is * the only one known to the stats widget, calling this will leave the * list empty, disabling poly count statistics altogether. <_initMisc set="method" line="281"> <_initTopBar set="method" line="300"> away3d * @private * Draw logo and create title textfield. <_initBottomBar set="method" line="400"> <_initDiagrams set="method" line="488"> <_initInteraction set="method" line="540"> <_redrawWindow set="method" line="557"> <_redrawStats set="method" line="590"> <_redrawMemGraph set="method" line="649"> <_getRamString set="method" line="678"> <_endDrag set="method" line="719"> <_onAddedToStage set="method" line="742"> <_onRemovedFromStage set="method" line="748"> <_onTimer set="method" line="754"> <_onEnterFrame set="method" line="781"> <_onDiagramClick set="method" line="817"> <_onAverageFpsClick_reset set="method" line="826"> away3d * @private * Reset just the average FPS counter. <_onCountersClick_reset set="method" line="838"> <_onMinMaxBtnClick set="method" line="843"> <_onTopBarMouseDown set="method" line="849"> <_onMouseMove set="method" line="859"> <_onMouseUpOrLeave set="method" line="866"> { enableModifyFrameRate : true, enableClickToReset : true, meanDataLength : 0, transparent : false, minimized : false, view3d : null } Create an Away3D stats widget. The widget can be added to the stage * and positioned like any other display object. Once on the stage, you * can drag the widget to re-position it at runtime.

* *

If you pass a View3D instance, the widget will be able to display * the total number of faces in your scene, and the amount of faces that * were rendered during the last render() call. Views can also be registered * after construction using the registerView() method. Omit the view * constructor parameter to disable this feature altogether.

* * @param view A reference to your Away3D view. This is required if you * want the stats widget to display polycounts. * * @param minimized Defines whether the widget should start up in minimized * mode. By default, it is shown in full-size mode on launch. * * @param transparent Defines whether to omit the background plate and print * statistics directly on top of the underlying stage. * * @param meanDataLength The number of frames on which to base the average * frame rate calculation. The default value of zero indicates that all * frames since the last reset will be used. * * @param enableClickToReset Enables interaction allowing you to reset all * counters by clicking the bottom bar of the widget. When activated, you * can also click the average frame rate trace-out to reset just that one * value. * * @param enableModifyFramerate When enabled, allows you to click the upper * and lower parts of the graph area to increase and decrease SWF frame rate * respectively.]]>
Stats monitor for Away3D or general use in any project. The widget was designed to * display all the necessary data in ways that are easily readable, while maintaining a * tiny size.

* *

The following data is displayed by the widget, either graphically, through * text, or both.

*
    *
  • Current frame rate in FPS (white in graph/bar)
  • *
  • SWF frame rate (Stage.frameRate)
  • *
  • Average FPS (blue in graph/bar)
  • *
  • Min/Max FPS (only on frame rate bar in minimized mode)
  • *
  • Current RAM usage (pink in graph)
  • *
  • Maximum RAM usage
  • *
  • Number of polygons in scene
  • *
  • Number of polygons last rendered (yellow in graph)
  • *
* *

There are two display modes; standard and minimized, which are alternated by clicking * the button in the upper right corner, at runtime. The widget can also be configured to * start in minimized mode by setting the relevant constructor parameter.

* *

All data can be reset at any time, by clicking the lower part of the widget (where * the RAM and POLY counters are located. The average FPS can be reset separately by * clicking it's ²displayed value. Furthermore, the stage frame rate can be increased or * decreased by clicking the upper and lower parts of the graph, respectively. Clicking close * to the center will increment in small values, and further away will increase the steps. * The graph itself is only visible in standard (as opposed to minimized) display mode.

* *

The average FPS is calculated using one of two methods, configurable via constructor * parameters. By setting the meanDataLength to a non-zero value, the number of recorded * frame rate values on which the average is based can be configured. This has a tiny * impact on CPU usage, which is the reason why the default number is zero, denoting that * the average is calculated from a running sum since the widget was last reset.

]]>
openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding()
false false * Class for emmiting debuging messages, warnings and errors <_subMeshes> <_geometry> <_material> <_animator> <_castsShadows expr="true"> true <_shareAnimationGeometry expr="true"> true true.]]> null.]]> * The geometry used by the mesh that provides it with its shape. * The material with which to render the Mesh. * The SubMeshes out of which the Mesh consists. Every SubMesh can be assigned a material to override the Mesh's * material. * Indicates whether or not the mesh share the same animation geometry. * Clears the animation geometry of this mesh. It will cause animation to generate a new animation geometry. Work only when shareAnimationGeometry is false. * @inheritDoc * Disposes mesh including the animator and children. This is a merely a convenience method. * @return * var clone : Mesh = new Mesh(original.geometry, original.material); * ]]> * @inheritDoc * @inheritDoc * Called when a SubGeometry was added to the Geometry. * Called when a SubGeometry was removed from the Geometry. * Adds a SubMesh wrapping a SubGeometry. { material : null } * Create a new Mesh object. * * @param geometry The geometry used by the mesh that provides it with its shape. * @param material [optional] The material with which to render the Mesh. * Mesh is an instance of a Geometry, augmenting it with a presence in the scene graph, a material, and an animation * state. It consists out of SubMeshes, which in turn correspond to SubGeometries. SubMeshes allow different parts * of the geometry to be assigned different materials. { showLetters : true, length : 1000 } Trident object. * * @param length The length of the trident axes. Default is 1000. * @param showLetters If the Trident should display the letters X, Y and Z at each axis arrows. Default is true.]]> 3 * 0xFFFF away3d away3d <_activeSubSet> <_subSets> <_subSetCount expr="0"> 0 <_numIndices expr="0"> 0 <_material> <_animator> <_hasData> <_segments> <_indexSegments expr="0"> 0 * Adds a new segment to the SegmentSet. * * @param segment the segment to add { dispose : false } * Removes a segment from the SegmentSet by its index in the set. * * @param index The index of the segment to remove * @param dispose If the segment must be disposed as well. Default is false; * * Removing a Segment by an index when segment is unknown * index of the segment is relative to the order it was added to the segmentSet. * If a segment was removed from or added to the segmentSet, a segment index may have changed. * The index of each Segment is updated when one is added or removed. * If 2 segments are added, segment #1 has index 0, segment #2 has index 1 * if segment #1 is removed, segment#2 will get index 0 instead of 1. { dispose : false } * Removes a segment from the SegmentSet. * * @param segment The segment to remove * @param dispose If the segment must be disposed as well. Default is false; * Empties the segmentSet from all its segments data * @returns a segment object from a given index. * @returns howmany segments are in the SegmentSet away3d * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * Creates a new SegmentSet object. "zy" "xy" "xz" { colorXZ : 0x00FF00, colorZY : 0xFF0000, colorXY : 0x0000FF, thickness : 1, gridSize : 100, subDivision : 10 } WireframeAxesGrid * @param subDivision [optional] uint . Default is 10; * @param gridSize [optional] uint . Default is 100; * @param thickness [optional] Number . Default is 1; * @param colorXY [optional] uint. Default is 0x0000FF. * @param colorZY [optional] uint. Default is 0xFF0000. * @param colorXZ [optional] uint. Default is 0x00FF00.]]> <_geometry static="1"> <_material> <_spriteMatrix> <_animator> <_pickingSubMesh> <_pickingTransform> <_camera> <_width> <_height> <_shadowCaster expr="false"> false * Defines the animator of the mesh. Act on the mesh's geometry. Defaults to null away3d * Sprite3D is a 3D billboard, a renderable rectangular area that is always aligned with the projection plane. * As a result, no perspective transformation occurs on a Sprite3D object. * * todo: mvp generation or vertex shader code can be optimized <_lens> <_viewProjectionInvalid expr="true"> true <_viewProjection expr="new Matrix3D()"> new Matrix3D() <_texture> * The aspect ratio of the texture or projection. By default this is the same aspect ratio of the texture (width/height) * The vertical field of view of the projection, or the angle of the cone. * The texture to be projected on the geometry. * IMPORTANT: Since any point that is projected out of the range of the projector's cone is clamped to the texture's edges, * the edges should be entirely neutral. Depending on the blend mode, the neutral color is: * White for MULTIPLY, * Black for ADD, * Transparent for MIX * The matrix that projects a point in scene space into the texture coordinates. * @inheritDoc * Creates a new TextureProjector object. * @param texture The texture to be projected on the geometry. Since any point that is projected out of the range * of the projector's cone is clamped to the texture's edges, the edges should be entirely neutral. * TextureProjector is an object in the scene that can be used to project textures onto geometry. To do so, * the object's material must have a ProjectiveTextureMethod method added to it with a TextureProjector object * passed in the constructor. * This can be used for various effects apart from acting like a normal projector, such as projecting fake shadows * unto a surface, the impact of light coming through a stained glass window, ... * * @see away3d.materials.methods.ProjectiveTextureMethod Exception message. The call stack at the moment of the exception creation. Contains an exception, which was passed to `previous` constructor argument. Native exception, which caused this exception. <__exceptionMessage> <__exceptionStack> <__nativeStack> <__skipStack expr="0"> 0 "haxe.Exception.get_stack" <__nativeException> <__previousException> Returns exception message.
Detailed exception description. Includes message, stack and the chain of previous exceptions (if set).
<__shiftStack get="inline" set="null" line="62"> "haxe.Exception.get_stack" Create a new Exception instance. The `previous` argument could be used for exception chaining. The `native` argument is for internal usage only. There is no need to provide `native` argument manually and no need to keep it upon extending `haxe.Exception` unless you know what you're doing. = null; a.push(1); // generates target-specific null-pointer exception } catch(e:haxe.Exception) { throw e; // rethrows native exception instead of haxe.Exception } ```]]>
"Error" Contains the reference number associated with the specific error message. For a custom Error object, this number is the value from the id parameter supplied in the constructor. Contains the message associated with the Error object. By default, the value of this property is "Error". You can specify a message property when you create an Error object by passing the error string to the Error constructor function. Returns the call stack for an error at the time of the error's construction as a string. As shown in the following example, the first line of the return value is the string representation of the exception object, followed by the stack trace elements: ``` TypeError: Error #1009: Cannot access a property or method of a null object reference at com.xyz::OrderEntry/retrieveData()[/src/com/xyz/OrderEntry.as:995] at com.xyz::OrderEntry/init()[/src/com/xyz/OrderEntry.as:200] at com.xyz::OrderEntry()[/src/com/xyz/OrderEntry.as:148] ``` The preceding listing shows the value of this method when called in a debugger version of Flash Player or code running in the AIR Debug Launcher (ADL). When code runs in a release version of Flash Player or AIR, the stack trace is provided without the file path and line number information, as in the following example: ``` TypeError: Error #1009: Cannot access a property or method of a null object reference at com.xyz::OrderEntry/retrieveData() at com.xyz::OrderEntry/init() at com.xyz::OrderEntry() ``` For Flash Player 11.4 and earlier and AIR 3.4 and earlier, stack traces are only available when code is running in the debugger version of Flash Player or the AIR Debug Launcher (ADL). In non-debugger versions of those runtimes, calling this method returns `null`. @returns A string representation of the call stack. Returns the string "Error" by default or the value contained in the `Error.message` property, if defined. @returns The error message. { id : 0, message : "" } Creates a new Error object. If message is specified, its value is assigned to the object's Error.message property. @param message A string associated with the Error object; this parameter is optional. @param id A reference number to associate with the specific error message. The Error class contains information about an error that occurred in a script. In developing ActionScript 3.0 applications, when you run your compiled code in the debugger version of a Flash runtime, a dialog box displays exceptions of type Error, or of a subclass, to help you troubleshoot the code. You create an Error object by using the Error constructor function. Typically, you throw a new Error object from within a `try` code block that is caught by a `catch` code block. You can also create a subclass of the Error class and throw instances of that subclass. "tags=\"haxe,release\"" { id : 0, message : null } * Create a new AbstractMethodError. * @param message An optional message to override the default error message. * @param id The id of the error. * AbstractMethodError is thrown when an abstract method is called. The method in question should be overridden * by a concrete subclass. <_since> <_source> <_info> { id : 0, message : null } * Create a new TextureError. * @param message An optional message to override the default error message. * @param id The id of the error. * TextureError is thrown when an invalid texture is used regarding Stage3D limitations. "playbackComplete" * Dispatched when a non-looping clip node inside an animation state reaches the end of its timeline. "transitionComplete" <_animator> <_animationState> <_animationNode> * The animator object that is the subject of this event. * The animation state object that is the subject of this event. * The animation node inside the animation state from which the event originated. * Clones the event. * * @return An exact duplicate of the current object. AnimatonStateEvent * * @param type The event type. * @param animator The animation state object that is the subject of this event. * @param animationNode The animation node inside the animation state from which the event originated.]]> * Dispatched to notify changes in an animation state's state. "start" * Defines the value of the type property of a start event object. "stop" * Defines the value of the type property of a stop event object. "cycle_complete" * Defines the value of the type property of a cycle complete event object. <_animator> * Clones the event. * * @return An exact duplicate of the current event object. AnimatorEvent object. * * @param type The event type. * @param animator The animator object that is the subject of this event.]]> * Dispatched to notify changes in an animator's state. "assetComplete" "entityComplete" "skyboxComplete" "cameraComplete" "meshComplete" "geometryComplete" "skeletonComplete" "skeletonPoseComplete" "containerComplete" "textureComplete" "textureProjectorComplete" "materialComplete" "animatorComplete" "animationSetComplete" "animationStateComplete" "animationNodeComplete" "stateTransitionComplete" "segmentSetComplete" "lightComplete" "lightPickerComplete" "effectMethodComplete" "shadowMapMethodComplete" "assetRename" "assetConflictResolved" "textureSizeError" <_asset> <_prevName> { prevName : null, asset : null } * Dispatched whenever a ressource (asset) is parsed and created completly. "lensChanged" <_camera> { cancelable : false, bubbles : false } "SubGeometryAdded" * Dispatched when a SubGeometry was added from the dispatching Geometry. "SubGeometryRemoved" * Dispatched when a SubGeometry was removed from the dispatching Geometry. "BoundsInvalid" <_subGeometry> * The SubGeometry object that is the subject of this event, if appropriate. * Clones the event. * @return An exact duplicate of the current object. { subGeometry : null } * Create a new GeometryEvent * @param type The event type. * @param subGeometry An optional SubGeometry object that is the subject of this event. * Dispatched to notify changes in a geometry object's state. * * @see away3d.core.base.Geometry "matrixChanged" <_lens> { cancelable : false, bubbles : false } "castsShadowChange" "loadError" * Dispatched when loading of a asset failed. * Such as wrong parser type, unsupported extensions, parsing errors, malformated or unsupported 3d file etc.. "resourceComplete" * Dispatched when a resource and all of its dependencies is retrieved. "dependencyComplete" * Dispatched when a resource's dependency is retrieved and resolved. <_url> <_message> <_isDependency> * The url of the loaded resource. * The error string on loadError. * Indicates whether the event occurred while loading a dependency, as opposed * to the base file. Dependencies can be textures or other files that are * referenced by the base file. * @inheritDoc { errmsg : null, isDependency : false, url : null } * Create a new LoaderEvent object. * @param type The event type. * @param resource The loaded or parsed resource. * @param url The url of the loaded resource. * LoaderEvent is an Event dispatched to notify changes in loading state. "visiblityUpdated" * Defines the value of the type property of a visiblityUpdated event object. "scenetransformChanged" * Defines the value of the type property of a scenetransformChanged event object. "sceneChanged" * Defines the value of the type property of a sceneChanged event object. "positionChanged" * Defines the value of the type property of a positionChanged event object. "rotationChanged" * Defines the value of the type property of a rotationChanged event object. "scaleChanged" * Defines the value of the type property of a scaleChanged event object. * A reference to the 3d object that is relevant to the event. * Creates a copy of the Object3DEvent object and sets the value of each property to match that of the original. MaterialEvent object. * * @param type The type of the event. Possible values are: Object3DEvent.TRANSFORM_CHANGED, Object3DEvent.SCENETRANSFORM_CHANGED, Object3DEvent.SCENE_CHANGED, Object3DEvent.RADIUS_CHANGED and Object3DEvent.DIMENSIONS_CHANGED. * @param object A reference to the 3d object that is relevant to the event.]]> * Passed as a parameter when a 3d object event occurs "parseComplete" * Dispatched when parsing of an asset completed. "parseError" * Dispatched when an error occurs while parsing the data (e.g. because it's * incorrectly formatted.) "readyForDependencies" * Dispatched when a parser is ready to have dependencies retrieved and resolved. * This is an internal event that should rarely (if ever) be listened for by * external classes. <_message> * Additional human-readable message. Usually supplied for PARSE_ERROR events. { message : "" } "cycle" * Dispatched when the time pointer enter a new cycle at time 0, after last time was greater than 0.99 "range" * Dispatched when the time pointer is included a given from/to time region on a path "change_segment" * Dispatched when the time pointer enters a new PathSegment "addedToScene" "removedFromScene" "partitionChanged" "ShaderInvalidated" { cancelable : false, bubbles : false } "Context3DCreated" "Context3DDisposed" "Context3DRecreated" "ViewportUpdated" { cancelable : false, bubbles : false } "touchEnd3d" "touchBegin3d" "touchMove3d" "touchOut3d" "touchOver3d" <_allowedToPropagate expr="true"> true away3d <_parentEvent> away3d * The horizontal coordinate at which the event occurred in view coordinates. * The vertical coordinate at which the event occurred in view coordinates. * The view object inside which the event took place. * The 3d object inside which the event took place. * The renderable inside which the event took place. * The material of the 3d element inside which the event took place. * The uv coordinate inside the draw primitive where the event took place. * The index of the face where the event took place. * The index of the subGeometry where the event took place. * The position in object space where the event took place * The normal in object space where the event took place * Indicates whether the Control key is active (true) or inactive (false). * Indicates whether the Alt key is active (true) or inactive (false). * Indicates whether the Shift key is active (true) or inactive (false). * @inheritDoc * @inheritDoc * Creates a copy of the TouchEvent3D object and sets the value of each property to match that of the original. * The position in scene space where the event took place * The normal in scene space where the event took place * Create a new TouchEvent3D object. * @param type The type of the TouchEvent3D. "xz" "xy" "zy" 196605 .0001 1.2 <_circle> <_vectors> <_subGeometry> <_sortProp> <_loopProp> <_uvs> <_vertices> <_indices> <_normals> <_geomDirty expr="true"> true <_centerMesh> <_plane> <_flip> <_smoothSurface> <_axis0Min> <_axis0Max> <_axis1Min> <_axis1Max> <_tmpNormal> <_normal0> <_normal1> <_normal2> * The "cloud" of vector3d's to compose the mesh * Defines if the surface of the mesh must be smoothed or not. Default value is true. * Defines the projection plane for the class. Default is xz. * Defines if the face orientation needs to be inverted * Defines whether the mesh is recentered of not after generation * @inheritDoc * @inheritDoc * @inheritDoc { smoothSurface : true, flip : false, centerMesh : false, plane : PLANE_XZ } <_segmentsW> <_segmentsH> <_width> <_height> <_depth> <_heightMap> <_smoothedHeightMap> <_activeMap> <_minElevation> <_maxElevation> <_geomDirty expr="true"> true <_uvDirty expr="true"> true <_subGeometry> * Locks elevation factor beneath this color reading level. Default is 0; * Locks elevation factor above this color reading level. Default is 255; * Allows to build "canyon" like landscapes with no additional work on heightmap source. * The number of segments that make up the plane along the Y or Z-axis, depending on whether yUp is true or * false, respectively. Defaults to 1. * The width of the terrain plane. * The depth of the terrain plane. * Reading the terrain height from a given x z position * for surface tracking purposes * * @see away3d.extrusions.Elevation.smoothHeightMap * Generates a smoother representation of the geometry using the original heightmap and subdivision settings. * Allows smoother readings for surface tracking if original heightmap has noise, causing choppy camera movement. * * @see away3d.extrusions.Elevation.getHeightAt * @inheritDoc * Invalidates the primitive's geometry, causing it to be updated when requested. * Invalidates the primitive's uv coordinates, causing them to be updated when requested. { smoothMap : false, minElevation : 0, maxElevation : 255, segmentsH : 30, segmentsW : 30, depth : 1000, height : 100, width : 1000 } * @param material MaterialBase. The Mesh (Elevation) material * @param heightMap BitmapData. The heightmap to generate the mesh from * @param width [optional] Number. The width of the mesh. Default is 1000. * @param height [optional] Number. The height of the mesh. Default is 100. * @param depth [optional] Number. The depth of the mesh. Default is 1000. * @param segmentsW [optional] uint. The subdivision of the mesh along the x axis. Default is 30. * @param segmentsH [optional] uint. The subdivision of the mesh along the y axis. Default is 30. * @param maxElevation [optional] uint. The maximum color value to be used. Allows canyon like elevations instead of mountainious. Default is 255. * @param minElevation [optional] uint. The minimum color value to be used. Default is 0. * @param smoothMap [optional] Boolean. If surface tracking is used, an internal smoothed version of the map is generated, * prevents irregular height readings if original map is blowed up or is having noise. Default is false. * Class Elevation generates (and becomes) a mesh from an heightmap. .0001 196605 1.2 "x" "y" "z" <_profile> <_lastProfile> <_keepLastProfile> <_axis> <_revolutions> <_subdivision> <_offsetRadius> <_prevOffsetRadius expr="0"> 0 <_materials> <_coverAll> <_flip> <_centerMesh> <_thickness> <_preciseThickness> <_ignoreSides> <_smoothSurface> <_tweek> <_varr> <_varr2> <_uvarr> <_startRotationOffset expr="0"> 0 <_geomDirty expr="true"> true <_subGeometry> <_MaterialsSubGeometries expr="new Vector<SubGeometryList>()"> ()]]> <_maxIndProfile> <_uva> <_uvb> <_uvc> <_uvd> <_va> <_vb> <_vc> <_vd> <_uvs> <_vertices> <_indices> <_normals> <_normalTmp> <_normal0> <_normal1> <_normal2> * Defines the axis used for the lathe rotation. Defaults to "y". * Defines the number of revolutions performed by the lathe extrusion. Defaults to 1. * Defines the subdivisions created in the mesh for the total number of revolutions. Defaults to 2, minimum 2. * * @see #revolutions * Defines an offset radius applied to the profile. Defaults to 0. * An optional object that defines left, right, front, back, top and bottom materials to be set on the resulting lathe extrusion. * Defines if the texture(s) should be stretched to cover the entire mesh or per step between segments. Defaults to true. * Defines if the generated faces should be inversed. Default false. * Defines if the surface of the mesh must be smoothed or not. * Defines if the last transformed profile values are saved or not. Useful in combo with rotations less than 1, to ease combinations with other extrusions classes such as SkinExtrude. * returns the last rotated profile values, if keepLastProfile was true * Defines if thickness is greater than 0 if the thickness is equally distributed along the volume. Default is false. * Defines whether the mesh is recentered of not after generation * Defines the thickness of the resulting lathed geometry. Defaults to 0 (single face). * Defines if the top, bottom, left, right, front or back of the the extrusion is left open. * Allows the building of shapes such as springs. Rotation must be higher than 1 to have significant effect. Properties of the objects are x,y,z,radius and rotation * @inheritDoc * @inheritDoc * @inheritDoc { id : 0, render : true } { lines : null, point2 : null } * Invalidates the geometry, causing it to be rebuilded when requested. { smoothSurface : true, tweek : null, ignoreSides : "", materials : null, offsetRadius : 0, preciseThickness : true, thickness : 0, flip : false, centerMesh : false, coverall : true, subdivision : 10, revolutions : 1, axis : LatheExtrude.Y_AXIS, profile : null, material : null } * Class for generating meshes with axial symmetry such as donuts, pipes, vases etc. "x" "y" "z" 196605 .0001 <_varr> <_varr2> <_uvarr> <_subdivision> <_coverAll> <_flip> <_closePath> <_axis> <_offset> <_materials> <_activeMaterial> <_centerMesh> <_thickness> <_thicknessSubdivision> <_ignoreSides> <_geomDirty expr="true"> true <_subGeometry> <_MaterialsSubGeometries> <_uva> <_uvb> <_uvc> <_uvd> <_maxIndProfile> <_uvs> <_vertices> <_indices> <_aVectors> <_baseMax> <_baseMin> * Defines the axis used for the extrusion. Defaults to "y". * An optional MultipleMaterials object that defines left, right, front, back, top and bottom materials to be set on the resulting lathe extrusion. * Defines the subdivisions created in the mesh for the total number of revolutions. Defaults to 2, minimum 2. * Defines if the texture(s) should be stretched to cover the entire mesh or per step between segments. Defaults to true. * Defines if the generated faces should be inversed. Default false. * Defines whether the mesh is recentered of not after generation * Defines the _thickness of the resulting lathed geometry. Defaults to 0 (single face). * Defines the subdivision for the top, bottom, right and left if thickness is set higher to 0. Defaults to 1. * Defines if the top, bottom, left, right, front or back of the the extrusion is left open. * @inheritDoc * @inheritDoc * @inheritDoc { invertU : false } { lines : null, point2 : null } * Invalidates the geometry, causing it to be rebuilded when requested. { flip : false, ignoreSides : "", closePath : false, centerMesh : false, materials : null, thicknessSubdivision : 3, thickness : 0, coverAll : false, subdivision : 3, offset : 10, axis : LinearExtrude.Y_AXIS, vectors : null, material : null } <_transform> <_upAxis expr="new Vector3D(0, 1, 0)"> new Vector3D(0, 1, 0) <_path> <_scene> <_meshes> <_clones> <_repeat> <_alignToPath> <_randomRotationY> <_segmentSpread expr="false"> false <_mIndex> <_count> <_container> * The up axis to which duplicated objects' Y axis will be oriented. * If a container is provided, the meshes are addChilded to it instead of directly into the scene. The container is NOT addChilded to the scene. * Defines the resolution between each PathSegments. Default 1, is also minimum. * Defines if the profile point array should be orientated on path or not. Default true. * Defines if a clone gets a random rotationY to break visual repetitions, usefull in case of vegetation for instance. * returns a vector with all meshes cloned since last time build method was called. Returns null if build hasn't be called yet. * Another option to retreive the generated meshes is to pass an ObjectContainer3D to the class * Sets and defines the Path object. See extrusions.utils package. Required for this class. . One or more meshes to repeat along the path. Required for this class.]]> * defines if the meshes[index] is repeated per segments or duplicated after each others. default = false. * Triggers the generation { randomRotationY : false, container : null, segmentSpread : true, alignToPath : true, repeat : 1, scene : null, meshes : null, path : null } PathDuplicator * Class replicates and distribute one or more mesh(es) along a path. The offsets are defined by the position of the object. 0,0,0 would place the center of the mesh exactly on Path. * * @param path [optional] A Path object. The _path definition. either Cubic or Quadratic path * @param meshes [optional] Vector.<Mesh>. One or more meshes to repeat along the path. * @param scene [optional] Scene3D. The scene where to addchild the meshes if no ObjectContainer3D is provided. * @param repeat [optional] uint. How many times a mesh is cloned per PathSegment. Default is 1. * @param alignToPath [optional] Boolean. If the alignment of the clones must follow the path. Default is true. * @param segmentSpread [optional] Boolean. If more than one Mesh is passed, it defines if the clones alternate themselves per PathSegment or each repeat. Default is false. * @param container [optional] ObjectContainer3D. If an ObjectContainer3D is provided, the meshes are addChilded to it instead of directly into the scene. The container is NOT addChilded to the scene by default. * @param randomRotationY [optional] Boolean. If the clones must have a random rotationY added to them. *]]> 196605 1.2 <_varr> <_doubles expr="new Vector<Vertex>()"> ()]]> <_upAxis expr="new Vector3D(0, 1, 0)"> new Vector3D(0, 1, 0) <_trans expr="new Matrix3D()"> new Matrix3D() <_path> <_profile> <_centerMesh> <_scales> <_rotations> <_materials> <_activeMaterial> <_subdivision> <_coverAll> <_coverSegment> <_flip> <_mapFit> <_closePath> <_alignToPath> <_smoothScale> <_smoothSurface> <_isClosedProfile> <_maxIndProfile> <_matIndex expr="0"> 0 <_segv> <_geomDirty expr="true"> true <_subGeometry> <_MaterialsSubGeometries expr="new Vector<SubGeometryList>()"> ()]]> <_uva> <_uvb> <_uvc> <_uvd> <_uvs> <_vertices> <_indices> <_normals> <_normalTmp> <_normal0> <_normal1> <_normal2> <_keepExtremes> <_distribute> <_distributeU> <_distributedU> <_startPoints> <_endPoints> * @inheritDoc * @inheritDoc * @inheritDoc * Defines whether the mesh is recentered of not after generation * Defines the uv's u values are spreaded procentually over the entire surface to prevent the maps to be stretched. * Invalidates the geometry, causing it to be rebuillded when requested. Path object representing path to extrude along. Required.]]> Vector3D objects that defines a series of scales to be set on each PathSegment.]]> Vector3D objects that defines a series of rotations to be set on each PathSegment.]]> * Defines the subdivisions created in the mesh for each PathSegment. Defaults to 2, minimum 2. * Defines if the texture(s) should be stretched to cover the entire mesh or per step between segments. Defaults to true. * Defines if the mesh subdivision is spread evenly over the entire geometry. Possibly resulting in uneven subdivision per segments. * Uv mapping is less distorted on complex shapes once applied. Depending on Path length, extra construct time might be significant. * Defaults to false. * Defines if the surface of the mesh must be smoothed or not. * Defines if the texture(s) should applied per segment. Default false. * Defines if the texture(s) should be projected on the geometry evenly spreaded over the source bitmapdata or using distance/percent. Default is false. * The mapping considers first and last profile points are the most distant from each other. Most left and most right on the map. * Note that it is NOT suitable for most cases. It is helpfull for roads definition, usually seen from above with simple profile. It prevents then distorts and eases map designs. * Defines if the generated faces should be inversed. Default false. * Defines if the last PathSegment should join the first one and close the loop. Defaults to false. * Defines if the array of profile points should be orientated on path or not. Default true. Note that Path object's worldaxis property might need to be changed. default = 0,1,0. * * @see #profile Vector3D objects should affect the whole PathSegment evenly or be smoothly interpolated from previous PathSegment scale. Defaults to true.]]> * Defines if the first and last transformed vector3d's of the profile are kept. * For instance to be able to pass these coordinates to DelaunayMesh class, to close the extrude, if it was a tube. * @see getStartProfile * @see getEndProfile * returns a vector of vector3d's representing the transformed profile coordinates at the start of the extrude shape * null if "keepExtremes" is false or if the extrusion has not been builded yet. * returns a vector of vector3d's representing the transformed profile coordinates at the end of the extrude shape * null if "keepExtremes" is false or if the extrusion has not been builded yet. { closedata : false, offsetV : 0 } { keepExtremes : false, distributeU : true, distribute : false, smoothSurface : true, rotations : null, smoothScale : true, scales : null, materials : null, closePath : false, flip : false, mapFit : false, centerMesh : false, alignToPath : true, coverSegment : false, coverAll : true, subdivision : 2, profile : null, path : null, material : null } PathExtrude * * @param material [optional] MaterialBase. The PathExtrude (Mesh) material. Optional in constructor, material must be set before PathExtrude object is rendered. Required for the class to work. * @param path [optional] Path. Defines the Path object representing path to extrude along. Required for the class to work. * @param profile [optional] Vector.<Vector3D>. Defines an Vector.<Vector3D> of Vector3D objects representing the profile information to be projected along the Path object. Required for the class to work. * @param subdivision [optional] uint. Howmany steps between each PathSegment. If the path holds curves, the higher this value, the higher the curve fidelity. Default and minimum is 2; * @param coverall [optional] Boolean. Defines the uv mapping, when true a unique material is stretched along the entire path/shape. Default is true. * @param coverSegment [optional] Boolean. Defines the uv mapping, when true and coverall is false a unique material is stretched along one PathSegment. Default is false. * @param alignToPath [optional] Boolean. If the profile must follow the path or keep its original orientation. * @param centerMesh [optional] Boolean. If the geometry needs to be recentered in its own object space. If the position after generation is set to 0,0,0, the object would be centered in worldspace. Default is false. * @param mapFit [optional] Boolean. The UV mapping is percentually spreaded over the width of the path, making texture looking nicer and edits for applications such as a race track, road, more easy. Affects the uv's u values and set distributeU to false. Default is false. * @param flip [optional] Boolean. If the faces must be reversed depending on Vector3D's orientation. Default is false. * @param closePath [optional] Boolean. If the last PathSegment entered must be welded back to first one. Executed in a straight manner, its recommanded to pass the first entry to the Path again, as last entry if curves are involved. * @param materials [optional] Vector.<MaterialBase>. An optional Vector.<MaterialBase> of different materials that can be alternated along the path if coverAll is false. * @param scales [optional] An optional Vector.<Vector3D> of Vector3D objects that defines a series of scales to be set on each PathSegment. * @param smoothScale [optional] Boolean. Defines if the scale must be interpolated between values or keep their full aspect on each PathSegment. * @param rotations [optional] An optional Vector.<Vector3D> of Vector3D objects that defines a series of rotations to be set on each PathSegment. * @param smoothSurface [optional] An optional Boolean. Defines if the surface of the mesh must be smoothed or not. Default is true. * @param distribute [optional] Boolean. If the mesh subdivision is evenly spreaded over the entire mesh. Depending on path definition, segments are possibly not having the same amount of subdivision. * @param distributeU [optional] Boolean. If the mesh uv' u value is procentually spreaded over the entire mesh surface. Prevents the source map to be stretched. Default is true. * @param keepExtremes [optional] Boolean. If the the first and last profile coordinates must be kept accessible, in order to feed classes such as DelaunayMesh. Default is false;]]> 196605 <_tmpVectors> <_subGeometry> <_indice> <_uva> <_uvb> <_uvc> <_uvd> <_va> <_vb> <_vc> <_vd> <_uvs> <_vertices> <_indices> <_geomDirty expr="true"> true <_profiles> <_subdivision> <_centerMesh> <_closeShape> <_coverAll> <_flip> * Defines if the texture(s) should be stretched to cover the entire mesh or per step between segments. Defaults to false. * Defines if the texture(s) should be stretched to cover the entire mesh or per step between segments. Defaults to false. * Defines if the face orientatio needs to be inverted * Defines whether the mesh is _centerMeshed of not after generation * @inheritDoc * @inheritDoc * @inheritDoc * Invalidates the geometry, causing it to be rebuillded when requested. { flip : false, coverAll : false, closeShape : false, centerMesh : false, subdivision : 1 } <_tasks> <_requireDepthRender> <_textureWidth> <_textureHeight> <_brightPassTask> <_vBlurTask> <_hBlurTask> <_compositeTask> { quality : 3, exposure : 2, threshold : .75, blurY : 15, blurX : 15 } <_hBlurTask> <_vBlurTask> * The distance between two blur samples. Set to -1 to autodetect with acceptable quality (default value). * Higher values provide better performance at the cost of reduces quality. { stepSize : -1, blurY : 3, blurX : 3 } * Creates a new BlurFilter3D object * @param blurX The amount of horizontal blur to apply * @param blurY The amount of vertical blur to apply * @param stepSize The distance between samples. Set to -1 to autodetect with acceptable quality. <_focusTarget> <_hDofTask> <_vDofTask> * The amount of pixels between each sample. * An optional target ObjectContainer3D that will be used to auto-focus on. * The distance from the camera to the point that is in focus. * The distance between the focus point and the maximum amount of blur. * The maximum amount of horizontal blur. * The maximum amount of vertical blur. { stepSize : -1, maxBlurY : 3, maxBlurX : 3 } * Creates a new DepthOfFieldFilter3D object. * @param blurX The maximum amount of horizontal blur to apply * @param blurY The maximum amount of vertical blur to apply * @param stepSize The distance between samples. Set to -1 to auto-detect with acceptable quality. <_blurTask> * The distance between two blur samples. Set to -1 to autodetect with acceptable quality (default value). * Higher values provide better performance at the cost of reduces quality. { stepSize : -1 } * Creates a new HBlurFilter3D object * @param amount The amount of blur in pixels * @param stepSize The distance between two blur samples. Set to -1 to autodetect with acceptable quality (default value). <_dofTask> <_focusTarget> { stepSize : -1, maxBlur : 3 } * Creates a new HDepthOfFieldFilter3D object * @param amount The amount of blur to apply in pixels * @param stepSize The distance between samples. Set to -1 to autodetect with acceptable quality. <_hslTask> { b : 1, g : 1, r : 1, saturation : 1 } <_compositeTask> <_copyTask> { strength : .65 } <_blurTask> { cy : 0.5, cx : 0.5, blurWidth : -0.3, blurStart : 1.0, glowGamma : 1.6, intensity : 8.0 } <_blurTask> * The distance between two blur samples. Set to -1 to autodetect with acceptable quality (default value). * Higher values provide better performance at the cost of reduces quality. { stepSize : -1 } * Creates a new VBlurFilter3D object * @param amount The amount of blur in pixels * @param stepSize The distance between two blur samples. Set to -1 to autodetect with acceptable quality (default value). <_dofTask> <_focusTarget> { stepSize : -1, maxBlur : 3 } * Creates a new VDepthOfFieldFilter3D object * @param amount The amount of blur to apply in pixels * @param stepSize The distance between samples. Set to -1 to autodetect with acceptable quality. <_mainInputTexture> <_mainInputTextureContext> <_scaledTextureWidth expr="-1"> -1 <_scaledTextureHeight expr="-1"> -1 <_textureWidth expr="-1"> -1 <_textureHeight expr="-1"> -1 <_textureDimensionsInvalid expr="true"> true <_program3DInvalid expr="true"> true <_program3D> <_program3DContext> <_target> <_requireDepthRender> <_textureScale expr="0"> 0 * The texture scale for the input of this texture. This will define the output of the previous entry in the chain { requireDepthRender : false } <_data> <_overlayTexture> <_exposure> <_brightPassData> <_threshold> { threshold : .75 } <_data> <_overlayTexture> <_blendMode> { exposure : 1 } <_secondaryInputTexture> 15 <_amount> <_data> <_stepSize expr="1"> 1 <_realStepSize> { stepSize : -1 } * Creates a new Filter3DHDepthOfFFieldTask * @param amount The maximum amount of blur to apply in pixels at the most out-of-focus areas * @param stepSize The distance between samples. Set to -1 to autodetect with acceptable quality. 10 <_maxBlur> <_data> <_focusDistance> <_range expr="1000"> 1000 <_stepSize> <_realStepSize> { stepSize : -1 } * Creates a new Filter3DHDepthOfFFieldTask * @param amount The maximum amount of blur to apply in pixels at the most out-of-focus areas * @param stepSize The distance between samples. Set to -1 to autodetect with acceptable quality. <_rgbData> <_saturation expr="0.6"> 0.6 <_r expr="1"> 1 <_b expr="1"> 1 <_g expr="1"> 1 15 <_data> <_intensity expr="1.0"> 1.0 <_glowGamma expr="1.0"> 1.0 <_blurStart expr="1.0"> 1.0 <_blurWidth expr="-0.3"> -0.3 <_cx expr="0.5"> 0.5 <_cy expr="0.5"> 0.5 { cy : 0.5, cx : 0.5, blurWidth : -0.3, blurStart : 1.0, glowGamma : 1.0, intensity : 1.0 } 15 <_amount> <_data> <_stepSize expr="1"> 1 <_realStepSize> { stepSize : -1 } * * @param amount * @param stepSize The distance between samples. Set to -1 to autodetect with acceptable quality. 10 <_maxBlur> <_data> <_focusDistance> <_range expr="1000"> 1000 <_stepSize> <_realStepSize> { stepSize : -1 } * Creates a new Filter3DHDepthOfFFieldTask * @param amount The maximum amount of blur to apply in pixels at the most out-of-focus areas * @param stepSize The distance between samples. Set to -1 to autodetect with acceptable quality. <_data> <_overlayTexture> <_instances expr="new Map<String,Asset3DLibraryBundle>()" line="21" static="1"> ()]]> away3d * Short-hand for conflictStrategy property on default asset library bundle. * * @see away3d.library.Asset3DLibraryBundle.conflictStrategy * Short-hand for conflictPrecedence property on default asset library bundle. * * @see away3d.library.Asset3DLibraryBundle.conflictPrecedence { key : "default" } * Returns an Asset3DLibrary bundle instance. If no key is given, returns the default bundle (which is * similar to using the Asset3DLibraryBundle as a singleton). To keep several separated library bundles, * pass a string key to this method to define which bundle should be returned. This is * referred to as using the Asset3DLibraryBundle as a multiton. * * @param key Defines which multiton instance should be returned. * @return An instance of the asset library * * { filterFunc : null, namespaceFilter : null, Asset3DTypeFilter : null } * Short-hand for createIterator() method on default asset library bundle. * * @see away3d.library.Asset3DLibraryBundle.createIterator() { parser : null, ns : null, context : null } * Short-hand for load() method on default asset library bundle. * * @see away3d.library.Asset3DLibraryBundle.load() { parser : null, ns : null, context : null } * Short-hand for loadData() method on default asset library bundle. * * @see away3d.library.Asset3DLibraryBundle.loadData() { ns : null } * Short-hand for getAsset() method on default asset library bundle. * * @see away3d.library.Asset3DLibraryBundle.getAsset() { useWeakReference : false, priority : 0, useCapture : false } * Short-hand for addEventListener() method on default asset library bundle. { useCapture : false } * Short-hand for removeEventListener() method on default asset library bundle. * Short-hand for hasEventListener() method on default asset library bundle. * Short-hand for addAsset() method on default asset library bundle. * * @see away3d.library.Asset3DLibraryBundle.addAsset() { dispose : true } * Short-hand for removeAsset() method on default asset library bundle. * * @param asset The asset which should be removed from the library. * @param dispose Defines whether the assets should also be disposed. * * @see away3d.library.Asset3DLibraryBundle.removeAsset() { dispose : true, ns : null } * Short-hand for removeAssetByName() method on default asset library bundle. * * @param name The name of the asset to be removed. * @param ns The namespace to which the desired asset belongs. * @param dispose Defines whether the assets should also be disposed. * * @see away3d.library.Asset3DLibraryBundle.removeAssetByName() { dispose : true } * Short-hand for removeAllAssets() method on default asset library bundle. * * @param dispose Defines whether the assets should also be disposed. * * @see away3d.library.Asset3DLibraryBundle.removeAllAssets() { dispose : true, ns : null } * Short-hand for removeNamespaceAssets() method on default asset library bundle. * * @see away3d.library.Asset3DLibraryBundle.removeNamespaceAssets() Asset3DLibrary object.]]> getBundle() method.]]> { key : "default" } * Returns an Asset3DLibraryBundle instance. If no key is given, returns the default bundle instance (which is * similar to using the Asset3DLibraryBundle as a singleton.) To keep several separated library bundles, * pass a string key to this method to define which bundle should be returned. This is * referred to as using the Asset3DLibrary as a multiton. * * @param key Defines which multiton instance should be returned. * @return An instance of the asset library ConflictStrategy.APPEND_NUM_SUFFIX * is used which means that a numeric suffix is appended to one of the assets. The * conflictPrecedence property defines which of the two conflicting assets will * be renamed. * * @see a3d.library.naming.ConflictStrategy * @see a3d.library.Asset3DLibrary.conflictPrecedence]]> ConflictPrecedence.FAVOR_NEW is used, meaning that the newly renamed * asset will keep it's new name while the older asset gets renamed to not conflict. * * This property is ignored for conflict strategies that do not actually rename an * asset automatically, such as ConflictStrategy.IGNORE and ConflictStrategy.THROW_ERROR. * * @see a3d.library.naming.ConflictPrecedence * @see a3d.library.naming.ConflictStrategy]]> <_loadingSessions> <_strategy> <_strategyPreference> <_assets> <_assetDictionary> <_assetDictDirty> * * { filterFunc : null, namespaceFilter : null, Asset3DTypeFilter : null } * Create an Asset3DLibraryIterator instance that can be used to iterate over the assets * in this asset library instance. The iterator can filter assets on asset type and/or * namespace. A "null" filter value means no filter of that type is used. * * @param Asset3DTypeFilter Asset type to filter on (from the Asset3DType enum class.) Use * null to not filter on asset type. * @param namespaceFilter Namespace to filter on. Use null to not filter on namespace. * @param filterFunc Callback function to use when deciding whether an asset should be * included in the iteration or not. This needs to be a function that takes a single * parameter of type IAsset and returns a Bool where true means it should be included. * * @see away3d.library.assets.Asset3DType { parser : null, ns : null, context : null } * Loads a file and (optionally) all of its dependencies. * * @param req The URLRequest object containing the URL of the file to be loaded. * @param context An optional context object providing additional parameters for loading * @param ns An optional namespace string under which the file is to be loaded, allowing the differentiation of two resources with identical assets * @param parser An optional parser object for translating the loaded data into a usable resource. If not provided, AssetLoader will attempt to auto-detect the file type. { parser : null, ns : null, context : null } * Loads a resource from existing data in memory. * * @param data The data object containing all resource information. * @param context An optional context object providing additional parameters for loading * @param ns An optional namespace string under which the file is to be loaded, allowing the differentiation of two resources with identical assets * @param parser An optional parser object for translating the loaded data into a usable resource. If not provided, AssetLoader will attempt to auto-detect the file type. { ns : null } * conflictStrategy and * conflictPrecedence properties.]]> { dispose : true } * Removes an asset from the library, and optionally disposes that asset by calling * it's disposeAsset() method (which for most assets is implemented as a default * version of that type's dispose() method. * * @param asset The asset which should be removed from this library. * @param dispose Defines whether the assets should also be disposed. { dispose : true, ns : null } * Removes an asset which is specified using name and namespace. * * @param name The name of the asset to be removed. * @param ns The namespace to which the desired asset belongs. * @param dispose Defines whether the assets should also be disposed. * * @see away3d.library.Asset3DLibrary.removeAsset() { dispose : true } * Removes all assets from the asset library, optionally disposing them as they * are removed. * * @param dispose Defines whether the assets should also be disposed. { dispose : true, ns : null } * Removes all assets belonging to a particular namespace (null for default) * from the asset library, and optionall disposes them by calling their * disposeAsset() method. * * @param ns The namespace from which all assets should be removed. * @param dispose Defines whether the assets should also be disposed. * * @see away3d.library.Asset3DLibrary.removeAsset() { autoRemoveEmptyNamespace : true } { parser : null, ns : null, context : null } * Loads a yet unloaded resource file from the given url. { parser : null, ns : null, context : null } * Retrieves an unloaded resource parsed from the given data. * @param data The data to be parsed. * @param id The id that will be assigned to the resource. This can later also be used by the getResource method. * @param ignoreDependencies Indicates whether or not dependencies should be ignored or loaded. * @param parser An optional parser object that will translate the data into a usable resource. * @return A handle to the retrieved resource. * Called when a dependency was retrieved. * Called when a an error occurs during dependency retrieving. * Called when a an error occurs during parsing. * Called when the resource and all of its dependencies was retrieved. * Called when unespected error occurs Asset3DLibraryBundle object.]]> getInstance() method.]]> "entity" "skybox" "camera" "segmentSet" "mesh" "geometry" "skeleton" "skeletonPose" "container" "texture" "textureProjector" "material" "animationSet" "animationState" "animationNode" "animator" "stateTransition" "light" "lightPicker" "shadowMapMethod" "effectsMethod" <_bitmapData> * The bitmapData to be treated as a resource. * Cleans up any resources used by the current object. { bitmapData : null } * Creates a new BitmapDataResource object. * @param bitmapData An optional BitmapData object to use as the resource data. * BitmapDataResource is a wrapper for loaded BitmapData, allowing it to be used uniformly as a resource when * loading, parsing, and listing/resolving dependencies. "favorOld" * Signals that in a conflict, the previous owner of the conflicting name * should be favored (and keep it's name) and that the newly renamed asset * is reverted to a non-conflicting name. "favorNew" * Signales that in a conflict, the newly renamed asset is favored (and keeps * it's newly defined name) and that the previous owner of that name gets * renamed to a non-conflicting name. * Enumaration class for precedence when resolving naming conflicts in the library. * * @see away3d.library.Asset3DLibrary.conflictPrecedence * @see away3d.library.Asset3DLibrary.conflictStrategy * @see away3d.library.naming.ConflictStrategy * Resolve a naming conflict between two assets. Must be implemented by concrete strategy * classes. * Create instance of this conflict strategy. Used internally by the Asset3DLibrary to * make sure the same strategy instance is not used in all Asset3DLibrary instances, which * would break any state caching that happens inside the strategy class. * Provided as a convenience method for all conflict strategy classes, as a way to finalize * the conflict resolution by applying the new names and dispatching the correct events. *
  • IgnoreConflictStrategy (ConflictStrategy.IGNORE)
  • *
  • ErrorConflictStrategy (ConflictStrategy.THROW_ERROR)
  • *
  • NumSuffixConflictStrategy (ConflictStrategy.APPEND_NUM_SUFFIX)
  • * * * @see away3d.library.Asset3DLibrary.conflictStrategy * @see away3d.library.naming.ConflictStrategy * @see away3d.library.naming.IgnoreConflictStrategy * @see away3d.library.naming.ErrorConflictStrategy * @see away3d.library.naming.NumSuffixConflictStrategy]]>
    <_separator> <_next_suffix> { separator : "." } new NumSuffixConflictStrategy() * Specifies that in case of a naming conflict, one of the assets will be renamed and * a numeric suffix appended to the base name. new IgnoreConflictStrategy() * Specifies that naming conflicts should be ignored. This is not recommended in most * cases, unless it can be 100% guaranteed that the application does not cause naming * conflicts in the library (i.e. when an app-level system is in place to prevent this.) new ErrorConflictStrategy() * Specifies that an error should be thrown if a naming conflict is discovered. Use this * to be 100% sure that naming conflicts never occur unnoticed, and when it's undesirable * to have the library automatically rename assets to avoid such conflicts. Asset3DLibrary.conflictPrecedence property defines which * of the conflicting assets will get to keep it's name, and which is renamed (if any.) * * @see away3d.library.Asset3DLibrary.conflictStrategy * @see away3d.library.naming.ConflictStrategyBase]]> <_assets> <_filtered> <_idx> [48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 65, 66, 67, 68, 69, 70] away3d * @private * Char codes for 0123456789ABCDEF The UID has the form * "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" * where X is a hexadecimal digit (0-9, A-F).

    * *

    This UID will not be truly globally unique; but it is the best * we can do without player support for UID generation.

    * * @return The newly-generated UID. * * @langversion 3.0 * @playerversion Flash 9 * @playerversion AIR 1.1 * @productversion Flex 3]]>
    away3d * Returns the decimal representation of a hex digit. * @private
    <_color expr="0xffffff"> 0xffffff <_colorR expr="1"> 1 <_colorG expr="1"> 1 <_colorB expr="1"> 1 <_ambientColor expr="0xffffff"> 0xffffff <_ambient expr="0"> 0 <_ambientR expr="0"> 0 away3d <_ambientG expr="0"> 0 away3d <_ambientB expr="0"> 0 away3d <_specular expr="1"> 1 <_specularR expr="1"> 1 away3d <_specularG expr="1"> 1 away3d <_specularB expr="1"> 1 away3d <_diffuse expr="1"> 1 <_diffuseR expr="1"> 1 away3d <_diffuseG expr="1"> 1 away3d <_diffuseB expr="1"> 1 away3d <_castsShadows public="1"> <_shadowMapper public="1"> 1.]]> 1.]]> 0xffffff.]]> 0.]]> 0xffffff.]]> { target : null } away3d * Gets the optimal projection matrix to render a light-based depth map for a single object. * * @param renderable The IRenderable object to render to a depth map. * @param target An optional target Matrix3D object. If not provided, an instance will be created. * @return A Matrix3D object containing the projection transformation. * @inheritDoc * @inheritDoc * Updates the total specular components of the light. * Updates the total diffuse components of the light. * Create a new LightBase object. * @param positionBased Indicates whether or not the light has a valid position, or is "infinite" such as a DirectionalLight. * LightBase provides an abstract base class for subtypes representing lights. <_direction> <_tmpLookAt> <_sceneDirection> <_projAABBPoints> * The direction of the light in scene coordinates. * The direction of the light. * @inheritDoc * @inheritDoc * @inheritDoc { target : null } * @inheritDoc { zDir : 1, yDir : -1, xDir : 0 } * Creates a new DirectionalLight object. * @param xDir The x-component of the light's directional vector. * @param yDir The y-component of the light's directional vector. * @param zDir The z-component of the light's directional vector. * DirectionalLight represents an idealized light "at infinity", to be used for distant light sources such as the sun. * In any position in the scene, the light raytracing will always be parallel. * Although the position of the light does not impact its effect, it can be used along with lookAt to intuitively * create day cycles by orbiting the position around a center point and using lookAt at that position. <_diffuseMap> <_specularMap> * @inheritDoc * @inheritDoc { target : null } * @inheritDoc { specularMap : null } * Creates a new LightProbe object. <_radius public="1" expr="90000"> 90000 <_fallOff public="1" expr="100000"> 100000 <_fallOffFactor public="1"> * The minimum distance of the light's reach. away3d * The maximum distance of the light's reach * @inheritDoc * @inheritDoc { target : null } * @inheritDoc * Creates a new PointLight object. * PointLight represents an omni-directional light. The light is emitted from a given position in the scene. <_casterCollector> <_depthMap> <_depthMapSize expr="2048"> 2048 <_light> <_explicitDepthMap> <_autoUpdateShadows expr="true"> true <_shadowsInvalid> away3d away3d * This is used by renderers that can support depth maps to be shared across instances * @param depthMap away3d * Renders the depth map for this light. * @param entityCollector The EntityCollector that contains the original scene data. * @param renderer The DepthRenderer to render the depth map. away3d away3d <_overallDepthCamera> <_localFrustum> <_lightOffset expr="10000"> 10000 <_matrix> <_overallDepthLens> <_snap expr="64"> 64 <_cullPlanes> <_minZ> <_maxZ> * Depth projection matrix that projects from scene space to depth map. * Depth projection matrix that projects from scene space to depth map. away3d <_scissorRects> <_scissorRectsInvalid expr="true"> true <_splitRatios> <_numCascades> <_depthCameras> <_depthLenses> <_texOffsetsX> <_texOffsetsY> <_changeDispatcher> <_nearPlaneDistances> { useWeakReference : false, priority : 0, useCapture : false } { useCapture : false } { numCascades : 3 } <_depthCameras> <_lenses> <_needsRender> <_coverageRatio> * A value between 0 and 1 to indicate the ratio of the view frustum that needs to be covered by the shadow map. { coverageRatio : .5 } * Enables a specific parser. * When no specific parser is set for a loading/parsing opperation, * loader3d can autoselect the correct parser to use. * A parser must have been enabled, to be considered when autoselecting the parser. * * @param parserClass The parser class to enable. * * @see away3d.loaders.parsers.Parsers * Enables a list of parsers. * When no specific parser is set for a loading/parsing opperation, * AssetLoader can autoselect the correct parser to use. * A parser must have been enabled, to be considered when autoselecting the parser. * * @param parserClasses A Vector of parser classes to enable. * @see away3d.loaders.parsers.Parsers <_context> <_token> <_uri> <_errorHandlers> <_parseErrorHandlers> <_stack> <_baseDependency> <_loadingDependency> <_namespace> * Returns the base dependency of the loader { parser : null, ns : null, context : null } * Loads a file and (optionally) all of its dependencies. * * @param req The URLRequest object containing the URL of the file to be loaded. * @param context An optional context object providing additional parameters for loading * @param ns An optional namespace string under which the file is to be loaded, allowing the differentiation of two resources with identical assets * @param parser An optional parser object for translating the loaded data into a usable resource. If not provided, AssetLoader will attempt to auto-detect the file type. { parser : null, ns : null, context : null } * Loads a resource from already loaded data. * * @param data The data object containing all resource information. * @param context An optional context object providing additional parameters for loading * @param ns An optional namespace string under which the file is to be loaded, allowing the differentiation of two resources with identical assets * @param parser An optional parser object for translating the loaded data into a usable resource. If not provided, AssetLoader will attempt to auto-detect the file type. { parser : null } * Recursively retrieves the next to-be-loaded and parsed dependency on the stack, or pops the list off the * stack when complete and continues on the top set. * @param parser The parser that will translate the data into a usable resource. { parser : null } * Retrieves a single dependency. * @param parser The parser that will translate the data into a usable resource. * Called when a single dependency loading failed, and pushes further dependencies onto the stack. * @param event ParserEvent.PARSE_ERROR * @param event]]> * Called when a single dependency was parsed, and pushes further dependencies onto the stack. * @param event * Called when an image is too large or it's dimensions are not a power of 2 * @param event away3d * @private * This method is used by other loader classes (e.g. Loader3D and Asset3DLibraryBundle) to * add error event listeners to the AssetLoader instance. This system is used instead of * the regular EventDispatcher system so that the Asset3DLibrary error handler can be sure * that if hasEventListener() returns true, it's client code that's listening for the * event. Secondly, functions added as error handler through this custom method are * expected to return a boolean value indicating whether the event was handled (i.e. * whether they in turn had any client code listening for the event.) If no handlers * return true, the AssetLoader knows that the event wasn't handled and will throw an RTE. away3d * Create a new ResourceLoadSession object. * AssetLoader can load any file format that Away3D supports (or for which a third-party parser * has been plugged in) and it's dependencies. Events are dispatched when assets are encountered * and for when the resource (or it's dependencies) have been loaded. * * The AssetLoader will not make assets available in any other way than through the dispatched * events. To store assets and make them available at any point from any module in an application, * use the Asset3DLibrary to load and manage assets. * * @see away3d.loading.Loader3D * @see away3d.loading.Asset3DLibrary * Enables a specific parser. * When no specific parser is set for a loading/parsing opperation, * loader3d can autoselect the correct parser to use. * A parser must have been enabled, to be considered when autoselecting the parser. * * @param parserClass The parser class to enable. * @see away3d.loaders.parsers.Parsers * Enables a list of parsers. * When no specific parser is set for a loading/parsing opperation, * loader3d can autoselect the correct parser to use. * A parser must have been enabled, to be considered when autoselecting the parser. * * @param parserClasses A Vector of parser classes to enable. * @see away3d.loaders.parsers.Parsers <_loadingSessions> <_useAssetLib> <_assetLibId> { parser : null, ns : null, context : null } * Loads a file and (optionally) all of its dependencies. * * @param req The URLRequest object containing the URL of the file to be loaded. * @param context An optional context object providing additional parameters for loading * @param ns An optional namespace string under which the file is to be loaded, allowing the differentiation of two resources with identical assets * @param parser An optional parser object for translating the loaded data into a usable resource. If not provided, AssetLoader will attempt to auto-detect the file type. { parser : null, ns : null, context : null } * Loads a resource from already loaded data. * * @param data The data object containing all resource information. * @param context An optional context object providing additional parameters for loading * @param ns An optional namespace string under which the file is to be loaded, allowing the differentiation of two resources with identical assets * @param parser An optional parser object for translating the loaded data into a usable resource. If not provided, AssetLoader will attempt to auto-detect the file type. * Stop the current loading/parsing process. { asset3DLibraryId : null, useAsset3DLibrary : true } * Loader3D can load any file format that Away3D supports (or for which a third-party parser * has been plugged in) and be added directly to the scene. As assets are encountered * they are added to the Loader3D container. Assets that can not be displayed in the scene * graph (e.g. unused bitmaps/materials/skeletons etc) will be ignored. * * This provides a fast and easy way to load models (no need for event listeners) but is not * very versatile since many types of assets are ignored. * * Loader3D by default uses the Asset3DLibrary to load all assets, which means that they also * ends up in the library. To circumvent this, Loader3D can be configured to not use the * Asset3DLibrary in which case it will use the AssetLoader directly. * * @see away3d.loaders.AssetLoader * @see away3d.library.Asset3DLibrary 0 1 2 <_includeDependencies> <_dependencyBaseUrl> <_embeddedDataByUrl> <_remappedUrls> <_materialMode> <_overrideAbsPath> <_overrideFullUrls> * Defines whether dependencies (all files except the one at the URL given to the load() or * parseData() operations) should be automatically loaded. Defaults to true. * MaterialMode defines, if the Parser should create SinglePass or MultiPass Materials * Options: * 0 (Default / undefined) - All Parsers will create SinglePassMaterials, but the AWD2.1parser will create Materials as they are defined in the file * 1 (Force SinglePass) - All Parsers create SinglePassMaterials * 2 (Force MultiPass) - All Parsers will create MultiPassMaterials * * A base URL that will be prepended to all relative dependency URLs found in a loaded resource. * Absolute paths will not be affected by the value of this property. * Defines whether absolute paths (defined as paths that begin with a "/") should be overridden * with the dependencyBaseUrl defined in this context. If this is true, and the base path is * "base", /path/to/asset.jpg will be resolved as base/path/to/asset.jpg. * Defines whether "full" URLs (defined as a URL that includes a scheme, e.g. http://) should be * overridden with the dependencyBaseUrl defined in this context. If this is true, and the base * path is "base", http://example.com/path/to/asset.jpg will be resolved as base/path/to/asset.jpg. * Map a URL to another URL, so that files that are referred to by the original URL will instead * be loaded from the new URL. Use this when your file structure does not match the one that is * expected by the loaded file. * * @param originalUrl The original URL which is referenced in the loaded resource. * @param newUrl The URL from which Away3D should load the resource instead. * * @see mapUrlToData() * Map a URL to embedded data, so that instead of trying to load a dependency from the URL at * which it's referenced, the dependency data will be retrieved straight from the memory instead. * * @param originalUrl The original URL which is referenced in the loaded resource. * @param data The embedded data. Can be ByteArray or a class which can be used to create a bytearray. away3d * @private * Defines whether embedded data has been mapped to a particular URL. away3d * @private * Returns embedded data for a particular URL. away3d * @private * Defines whether a replacement URL has been mapped to a particular URL. away3d * @private * Returns new (replacement) URL for a particular original URL. { dependencyBaseUrl : null, includeDependencies : true } * AssetLoaderContext provides configuration for the AssetLoader load() and parse() operations. * Use it to configure how (and if) dependencies are loaded, or to map dependency URLs to * embedded data. * * @see away3d.loading.AssetLoader <_loader> away3d { useWeakReference : false, priority : 0, useCapture : false } { useCapture : false } * Dispatched when any asset finishes parsing. Also see specific events for each * individual asset type (meshes, materials et c.) * * @eventType away3d.events.Asset3DEvent <_id> <_req> <_assets> <_parentParser> <_data> <_retrieveAsRawData> <_suppressAsset3DEvents> <_dependencies> away3d away3d * The data containing the dependency to be parsed, if the resource was already loaded. away3d * @private * Method to set data after having already created the dependency object, e.g. after load. * The parser which is dependent on this ResourceDependency object. * Resolve the dependency when it's loaded with the parent parser. For example, a dependency containing an * ImageResource would be assigned to a Mesh instance as a BitmapMaterial, a scene graph object would be added * to its intended parent. The dependency should be a member of the dependencies property. * Resolve a dependency failure. For example, map loading failure from a 3d file * Resolve the dependencies name { suppressAsset3DEvents : false, retrieveAsRawData : false } * ResourceDependency represents the data required to load, parse and resolve additional files ("dependencies") * required by a parser, used by ResourceLoadSession. * true proceedParsing to indicate no more parsing is needed.]]> false proceedParsing to indicate more parsing is needed, allowing asynchronous parsing.]]> <_fileName> away3d <_dataFormat> <_data> <_frameLimit> <_lastFrameTime> <_dependencies> <_parsingPaused> <_parsingComplete> <_parsingFailure> <_timer> <_materialMode> * Validates a bitmapData loaded before assigning to a default BitmapMaterial * parsingPaused will be true, if the parser is paused * (e.g. it is waiting for dependencys to be loadet and parsed before it will continue) * MaterialMode defines, if the Parser should create SinglePass or MultiPass Materials * Options: * 0 (Default / undefined) - All Parsers will create SinglePassMaterials, but the AWD2.1parser will create Materials as they are defined in the file * 1 (Force SinglePass) - All Parsers create SinglePassMaterials * 2 (Force MultiPass) - All Parsers will create MultiPassMaterials * ParserDataFormat.BINARY or ParserDataFormat.PLAIN_TEXT.]]> { frameLimit : 30 } * Parse data (possibly containing bytearry, plain text or BitmapAsset) asynchronously, meaning that * the parser will periodically stop parsing so that the AVM may proceed to the * next frame. * * @param data The untyped data object in which the loaded data resides. * @param frameLimit number of milliseconds of parsing allowed per frame. The * actual time spent on a frame can exceed this number since time-checks can * only be performed between logical sections of the parsing procedure. * A list of dependencies that need to be loaded and resolved for the object being parsed. away3d * Resolve a dependency when it's loaded. For example, a dependency containing an ImageResource would be assigned * to a Mesh instance as a BitmapMaterial, a scene graph object would be added to its intended parent. The * dependency should be a member of the dependencies property. * * @param resourceDependency The dependency to be resolved. away3d * Resolve a dependency loading failure. Used by parser to eventually provide a default map * * @param resourceDependency The dependency to be resolved. away3d * Resolve a dependency name * * @param resourceDependency The dependency to be resolved. away3d * After Dependencys has been loaded and parsed, continue to parse { name : null } away3d Asset3DEvent.ASSET_COMPLETE and another Asset3DEvent, that depents on the type of asset. * * @param asset The asset to finalize * @param name The name of the asset. The name will be applied to the asset]]> ParserBase.PARSING_DONE or * ParserBase.MORE_TO_PARSE.]]> { message : "Unknown parsing error" } ParserEvent.PARSE_ERROR * * @param message The message to apply to the ParserEvent.PARSE_ERROR]]> { suppressErrorEvents : false, data : null, retrieveAsRawData : false } ParserEvent.READY_FOR_DEPENDENCIES]]> * Tests whether or not there is still time left for parsing within the maximum allowed time frame per session. * @return True if there is still time left, false if the maximum allotted time was exceeded and parsing should be interrupted. { event : null } * Called when the parsing pause interval has passed and parsing can proceed. * Initializes the parsing of data. * @param frameLimit The maximum duration of a parsing session. * Finish parsing the data. ParserDataFormat.BINARY or ParserDataFormat.PLAIN_TEXT, and should be provided by the concrete subtype. * * @see away3d.loading.parsers.ParserDataFormat]]> ParserBase provides an abstract base class for objects that convert blocks of data to data structures * supported by Away3D. * * If used by AssetLoader to automatically determine the parser type, two public static methods should * be implemented, with the following signatures: * * public static function supportsType(extension : String) : Bool * Indicates whether or not a given file extension is supported by the parser. * * public static function supportsData(data : *) : Bool * Tests whether a data block can be parsed by the parser. * * Furthermore, for any concrete subtype, the method initHandle should be overridden to immediately * create the object that will contain the parsed data. This allows ResourceManager to return an object * handle regardless of whether the object was loaded or not. * * @see away3d.loading.parsers.AssetLoader * @see away3d.loading.ResourceManager]]> * Indicates whether or not a given file extension is supported by the parser. * @param extension The file extension of a potential file to be parsed. * @return Whether or not the given file type is supported. * Tests whether a data block can be parsed by the parser. * @param data The data block to potentially be parsed. * @return Whether or not the given data is supported. <_byteData> <_startedParsing> <_doneParsing> <_loader> * @inheritDoc * Called when "loading" is complete. * Creates a new ImageParser object. * @param uri The url or id of the data or file to be parsed. * @param extra The holder for extra contextual data that the parser might need. * ImageParser provides a "parser" for natively supported image types (jpg, png). While it simply loads bytes into * a loader object, it wraps it in a BitmapDataResource so resource management can happen consistently without * exception cases. <_parsers expr="Vector.ofArray(cast [ImageParser])" line="41" static="1"> Vector.ofArray(cast [ImageParser]) <_parser> <_req> <_fileExtension> <_fileName> <_loadAsRawData> <_materialMode> <_data> { loadAsRawData : false, parser : null } * Load a resource from a file. * * @param urlRequest The URLRequest object containing the URL of the object to be loaded. * @param parser An optional parser object that will translate the loaded data into a usable resource. If not provided, AssetLoader will attempt to auto-detect the file type. { req : null, parser : null } * Loads a resource from already loaded data. * @param data The data to be parsed. Depending on the parser type, this can be a ByteArray, String or XML. * @param uri The identifier (url or id) of the object to be loaded, mainly used for resource management. * @param parser An optional parser object that will translate the data into a usable resource. If not provided, AssetLoader will attempt to auto-detect the file type. * A reference to the parser that will translate the loaded data into a usable resource. * A list of dependencies that need to be loaded and resolved for the loaded object. * Splits a url string into base and extension. * @param url The url to be decomposed. * Guesses the parser to be used based on the file extension. * @return An instance of the guessed parser. * Guesses the parser to be used based on the file contents. * @param data The data to be parsed. * @param uri The url or id of the object to be parsed. * @return An instance of the guessed parser. * Cleanups * Called when loading of a file has failed * Called when loading of a file is complete * Initiates parsing of the loaded data. * @param data The data to be parsed. * Called when parsing is complete. { materialMode : 0 } * Creates a new SingleFileLoader object. * The SingleFileLoader is used to load a single file, as part of a resource. * * While SingleFileLoader can be used directly, e.g. to create a third-party asset * management system, it's recommended to use any of the classes Loader3D, AssetLoader * and Asset3DLibrary instead in most cases. * * @see away3d.loading.Loader3D * @see away3d.loading.AssetLoader * @see away3d.loading.Asset3DLibrary 65535 String.fromCharCode(10) * Indicates whether or not a given file extension is supported by the parser. * @param extension The file extension of a potential file to be parsed. * @return Whether or not the given file type is supported. * Tests whether a data block can be parsed by the parser. * @param data The data block to potentially be parsed. * @return Whether or not the given data is supported. <_textData> <_startedParsing> <_activeContainer> <_meshList> <_trunk> <_containersList expr="[]"> [] <_tmpcontainerpos expr="new Vector3D(0.0, 0.0, 0.0)"> new Vector3D(0.0, 0.0, 0.0) <_tmpos expr="new Vector3D(0.0, 0.0, 0.0)"> new Vector3D(0.0, 0.0, 0.0) <_kidsCount expr="0"> 0 <_activeMesh> <_vertices> <_uvs> <_parsesV> <_isQuad> <_quadCount> <_lastType expr=""""> "" <_charIndex> <_oldIndex> <_stringLen> <_materialList> <_groupCount> * @inheritDoc * @inheritDoc * Creates a new AC3DParser object. * AC3DParser provides a parser for the AC3D data type. * * unsupported tags: "numsurf","crease","texrep","refs lines of","url","data" and "numvert lines of": 65535 * Indicates whether or not a given file extension is supported by the parser. * @param extension The file extension of a potential file to be parsed. * @return Whether or not the given file type is supported. * Tests whether a data block can be parsed by the parser. * @param data The data block to potentially be parsed. * @return Whether or not the given data is supported. <_textData> <_startedParsing> <_objs> <_geos> <_oList> <_aC> <_dline> <_container> <_meshList> <_inited> <_uvs> <_charIndex> <_oldIndex> <_stringLength> <_state expr=""""> "" <_buffer expr="0"> 0 <_isMesh> <_isMaterial> <_id> * @inheritDoc * @inheritDoc * @inheritDoc * Creates a new AWD1Parser object. * @param uri The url or id of the data or file to be parsed. * @param extra The holder for extra contextual data that the parser might need. * AWD1Parser provides a parser for the AWD data type. The version 1.0 in ascii. Usually generated by Prefab3D 1.x and Away3D engine exporters. "lzma" 0 1 2 1 2 3 4 5 6 7 8 21 22 23 31 32 41 42 43 44 45 46 47 * Indicates whether or not a given file extension is supported by the parser. * @param extension The file extension of a potential file to be parsed. * @return Whether or not the given file type is supported. * Tests whether a data block can be parsed by the parser. * @param data The data block to potentially be parsed. * @return Whether or not the given data is supported. <_debug expr="false"> false <_byteData> <_cur_block_id> <_blocks> <_newBlockBytes> <_version> <_compression> <_accuracyOnBlocks> <_accuracyMatrix> <_accuracyGeo> <_accuracyProps> <_matrixNrType> <_geoNrType> <_propsNrType> <_streaming> <_texture_users> <_body> <_defaultTexture> <_defaultCubeTexture> <_defaultBitmapMaterial> <_cubeTextures> <_depthSizeDic> * @inheritDoc * @inheritDoc * Resolve a dependency name * * @param resourceDependency The dependency to be resolved. * @inheritDoc * @inheritDoc { poseOnly : false } { extraTypeInfo : "SingleTexture" } { precision : false } * Creates a new AWDParser object. * @param uri The url or id of the data or file to be parsed. * @param extra The holder for extra contextual data that the parser might need. * AWDParser provides a parser for the AWD data type. 1 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768 * Indicates whether or not a given file extension is supported by the parser. * @param extension The file extension of a potential file to be parsed. * @return Whether or not the given file type is supported. * Tests whether a data block can be parsed by the parser. * @param data The data block to potentially be parsed. * @return Whether or not the given data is supported. <_parser> * @inheritDoc * @inheritDoc * @inheritDoc * @private * Delegate to the concrete parser. * @private * Delegate to the concrete parser. * @private * Delagate to the concrete parser. * Find the right conrete parser (AWD1Parser or AWD2Parser) and delegate actual * parsing to it. away3d * @private * Just bubble events from concrete parser. away3d * @private * Just bubble events from concrete parser. away3d * @private * Just bubble events from concrete parser. away3d * @private * Just bubble events from concrete parser. * The AWDParser class is a wrapper for both AWD1Parser and AWD2Parser, and will * find the right concrete parser for an AWD file. 1 CONFIG_USE_GPU 1 2 4 8 PARSE_GEOMETRIES | PARSE_IMAGES | PARSE_MATERIALS | PARSE_VISUAL_SCENES <_numInstances expr="0" line="87" static="1"> 0 * Indicates whether or not a given file extension is supported by the parser. * @param extension The file extension of a potential file to be parsed. * @return Whether or not the given file type is supported. * Tests whether a data block can be parsed by the parser. * @param data The data block to potentially be parsed. * @return Whether or not the given data is supported. <_doc> <_fastDoc> <_parseState expr="DAEParserState.LOAD_XML"> DAEParserState.LOAD_XML <_imageList> <_imageCount> <_currentImage> <_dependencyCount expr="0"> 0 <_configFlags> <_parseFlags> <_libImages> <_libMaterials> <_libEffects> <_libGeometries> <_libControllers> <_libAnimations> <_scene> <_root> <_geometries> <_animationInfo> <_rootNodes> <_defaultBitmapMaterial expr="DefaultMaterialManager.getDefaultMaterial()"> DefaultMaterialManager.getDefaultMaterial() <_defaultColorMaterial expr="new ColorMaterial(0xff0000)"> new ColorMaterial(0xff0000) <_defaultColorMaterialMulti expr="new ColorMultiPassMaterial(0xff0000)"> new ColorMultiPassMaterial(0xff0000) { clone : false } * @inheritDoc * @inheritDoc * @inheritDoc { map : null } { tab : "", parent : null } { tab : "", parent : -1 } { autoDeriveVertexTangents : true, autoDeriveVertexNormals : true, reverseTriangles : true } { configFlags : 0 } * @param configFlags Bitfield to configure the parser. * @see DAEParser.CONFIG_USE_GPU etc. * DAEParser provides a parser for the DAE data type. true { name : null } { defaultValue : 0 } { element : null } { element : null } { element : null } { element : null } { element : null } { element : null } 0 0 0 { numDecimals : 2 } <_inputs> <_p> <_vcount> <_texcoordSets> { element : null } { element : null } "" { element : null } { element : null } { element : null } { element : null } { element : null } { element : null } { element : null } { element : null } { element : null } { element : null } { element : null } { element : null } { element : null } { element : null } { element : null } { element : null } { element : null } { element : null } <_root> { parent : null, element : null } { node : null } { node : null } { parent : null } { element : null } { element : null } { element : null } { element : null } { element : null } <_inputs> { element : null }
    { valid : false, dt : 0.0, time : 0.0, frame : 0 }
    { element : null } { element : null } { element : null } 65535 17872 String.fromCharCode(10) "3DFACE" "LINE" "VERTEX" "POLYLINE" <_colorTable expr="Vector.ofArray([0x000000, 0xFF0000, 0xFFFF00, 0x00FF00, 0x00FFFF, 0x0000FF, 0xFF00FF, 0xFFFFFF, 0x414141, 0x808080, 0xFF0000, 0xFFAAAA, 0xBD0000, 0xBD7E7E, 0x810000, 0x815656, 0x680000, 0x684545, 0x4F0000, 0x4F3535, 0xFF3F00, 0xFFBFAA, 0xBD2E00, 0xBD8D7E, 0x811F00, 0x816056, 0x681900, 0x684E45, 0x4F1300, 0x4F3B35, 0xFF7F00, 0xFFD4AA, 0xBD5E00, 0xBD9D7E, 0x814000, 0x816B56, 0x683400, 0x685645, 0x4F2700, 0x4F4235, 0xFFBF00, 0xFFEAAA, 0xBD8D00, 0xBDAD7E, 0x816000, 0x817656, 0x684E00, 0x685F45, 0x4F3B00, 0x4F4935, 0xFFFF00, 0xFFFFAA, 0xBDBD00, 0xBDBD7E, 0x818100, 0x818156, 0x686800, 0x686845, 0x4F4F00, 0x4F4F35, 0xBFFF00, 0xEAFFAA, 0x8DBD00, 0xADBD7E, 0x608100, 0x768156, 0x4E6800, 0x5F6845, 0x3B4F00, 0x494F35, 0x7FFF00, 0xD4FFAA, 0x5EBD00, 0x9DBD7E, 0x408100, 0x6B8156, 0x346800, 0x566845, 0x274F00, 0x424F35, 0x3FFF00, 0xBFFFAA, 0x2EBD00, 0x8DBD7E, 0x1F8100, 0x608156, 0x196800, 0x4E6845, 0x134F00, 0x3B4F35, 0x00FF00, 0xAAFFAA, 0x00BD00, 0x7EBD7E, 0x008100, 0x568156, 0x006800, 0x456845, 0x004F00, 0x354F35, 0x00FF3F, 0xAAFFBF, 0x00BD2E, 0x7EBD8D, 0x00811F, 0x568160, 0x006819, 0x45684E, 0x004F13, 0x354F3B, 0x00FF7F, 0xAAFFD4, 0x00BD5E, 0x7EBD9D, 0x008140, 0x56816B, 0x006834, 0x456856, 0x004F27, 0x354F42, 0x00FFBF, 0xAAFFEA, 0x00BD8D, 0x7EBDAD, 0x008160, 0x568176, 0x00684E, 0x45685F, 0x004F3B, 0x354F49, 0x00FFFF, 0xAAFFFF, 0x00BDBD, 0x7EBDBD, 0x008181, 0x568181, 0x006868, 0x456868, 0x004F4F, 0x354F4F, 0x00BFFF, 0xAAEAFF, 0x008DBD, 0x7EADBD, 0x006081, 0x567681, 0x04E68, 0x455F68, 0x003B4F, 0x35494F, 0x007FFF, 0xAAD4FF, 0x005EBD, 0x7E9DBD, 0x004081, 0x566B81, 0x003468, 0x455668, 0x00274F, 0x35424F, 0x003FFF, 0xAABFFF, 0x002EBD, 0x7E8DBD, 0x001F81, 0x566081, 0x001968, 0x454E68, 0x00134F, 0x353B4F, 0x0000FF, 0xAAAAFF, 0x0000BD, 0x7E7EBD, 0x000081, 0x565681, 0x000068, 0x454568, 0x00004F, 0x35354F, 0x3F00FF, 0xBFAAFF, 0x2E00BD, 0x8D7EBD, 0x1F0081, 0x605681, 0x190068, 0x4E4568, 0x13004F, 0x3B354F, 0x7F00FF, 0xD4AAFF, 0x5E00BD, 0x9D7EBD, 0x400081, 0x6B5681, 0x340068, 0x564568, 0x27004F, 0x42354F, 0xBF00FF, 0xEEAAFF, 0x8D00BD, 0xAD7EBD, 0x600081, 0x765681, 0x4E0068, 0x5F4568, 0x3B004F, 0x49354F, 0xFF00FF, 0xFFAAFF, 0xBD00BD, 0xBD7EBD, 0x810081, 0x815681, 0x680068, 0x684568, 0x4F004F, 0x4F354F, 0xFF00BF, 0xFFAAEA, 0xBD008D, 0xBD7EAD, 0x810060, 0x815676, 0x68004E, 0x68455F, 0x4F003B, 0x4F3549, 0xFF007F, 0xFFAAD4, 0xBD005E, 0xBD7E9D, 0x810040, 0x81566B, 0x680034, 0x684556, 0x4F0027, 0x4F3542, 0xFF003F, 0xFFAABF, 0xBD002E, 0xBD7E8D, 0x81001F, 0x815660, 0x680019, 0x68454E, 0x4F0013, 0x4F353B, 0x333333, 0x505050, 0x696969, 0x828282, 0xBEBEBE, 0xFFFFFF])" line="65" static="1"> Vector.ofArray([0x000000, 0xFF0000, 0xFFFF00, 0x00FF00, 0x00FFFF, 0x0000FF, 0xFF00FF, 0xFFFFFF, 0x414141, 0x808080, 0xFF0000, 0xFFAAAA, 0xBD0000, 0xBD7E7E, 0x810000, 0x815656, 0x680000, 0x684545, 0x4F0000, 0x4F3535, 0xFF3F00, 0xFFBFAA, 0xBD2E00, 0xBD8D7E, 0x811F00, 0x816056, 0x681900, 0x684E45, 0x4F1300, 0x4F3B35, 0xFF7F00, 0xFFD4AA, 0xBD5E00, 0xBD9D7E, 0x814000, 0x816B56, 0x683400, 0x685645, 0x4F2700, 0x4F4235, 0xFFBF00, 0xFFEAAA, 0xBD8D00, 0xBDAD7E, 0x816000, 0x817656, 0x684E00, 0x685F45, 0x4F3B00, 0x4F4935, 0xFFFF00, 0xFFFFAA, 0xBDBD00, 0xBDBD7E, 0x818100, 0x818156, 0x686800, 0x686845, 0x4F4F00, 0x4F4F35, 0xBFFF00, 0xEAFFAA, 0x8DBD00, 0xADBD7E, 0x608100, 0x768156, 0x4E6800, 0x5F6845, 0x3B4F00, 0x494F35, 0x7FFF00, 0xD4FFAA, 0x5EBD00, 0x9DBD7E, 0x408100, 0x6B8156, 0x346800, 0x566845, 0x274F00, 0x424F35, 0x3FFF00, 0xBFFFAA, 0x2EBD00, 0x8DBD7E, 0x1F8100, 0x608156, 0x196800, 0x4E6845, 0x134F00, 0x3B4F35, 0x00FF00, 0xAAFFAA, 0x00BD00, 0x7EBD7E, 0x008100, 0x568156, 0x006800, 0x456845, 0x004F00, 0x354F35, 0x00FF3F, 0xAAFFBF, 0x00BD2E, 0x7EBD8D, 0x00811F, 0x568160, 0x006819, 0x45684E, 0x004F13, 0x354F3B, 0x00FF7F, 0xAAFFD4, 0x00BD5E, 0x7EBD9D, 0x008140, 0x56816B, 0x006834, 0x456856, 0x004F27, 0x354F42, 0x00FFBF, 0xAAFFEA, 0x00BD8D, 0x7EBDAD, 0x008160, 0x568176, 0x00684E, 0x45685F, 0x004F3B, 0x354F49, 0x00FFFF, 0xAAFFFF, 0x00BDBD, 0x7EBDBD, 0x008181, 0x568181, 0x006868, 0x456868, 0x004F4F, 0x354F4F, 0x00BFFF, 0xAAEAFF, 0x008DBD, 0x7EADBD, 0x006081, 0x567681, 0x04E68, 0x455F68, 0x003B4F, 0x35494F, 0x007FFF, 0xAAD4FF, 0x005EBD, 0x7E9DBD, 0x004081, 0x566B81, 0x003468, 0x455668, 0x00274F, 0x35424F, 0x003FFF, 0xAABFFF, 0x002EBD, 0x7E8DBD, 0x001F81, 0x566081, 0x001968, 0x454E68, 0x00134F, 0x353B4F, 0x0000FF, 0xAAAAFF, 0x0000BD, 0x7E7EBD, 0x000081, 0x565681, 0x000068, 0x454568, 0x00004F, 0x35354F, 0x3F00FF, 0xBFAAFF, 0x2E00BD, 0x8D7EBD, 0x1F0081, 0x605681, 0x190068, 0x4E4568, 0x13004F, 0x3B354F, 0x7F00FF, 0xD4AAFF, 0x5E00BD, 0x9D7EBD, 0x400081, 0x6B5681, 0x340068, 0x564568, 0x27004F, 0x42354F, 0xBF00FF, 0xEEAAFF, 0x8D00BD, 0xAD7EBD, 0x600081, 0x765681, 0x4E0068, 0x5F4568, 0x3B004F, 0x49354F, 0xFF00FF, 0xFFAAFF, 0xBD00BD, 0xBD7EBD, 0x810081, 0x815681, 0x680068, 0x684568, 0x4F004F, 0x4F354F, 0xFF00BF, 0xFFAAEA, 0xBD008D, 0xBD7EAD, 0x810060, 0x815676, 0x68004E, 0x68455F, 0x4F003B, 0x4F3549, 0xFF007F, 0xFFAAD4, 0xBD005E, 0xBD7E9D, 0x810040, 0x81566B, 0x680034, 0x684556, 0x4F0027, 0x4F3542, 0xFF003F, 0xFFAABF, 0xBD002E, 0xBD7E8D, 0x81001F, 0x815660, 0x680019, 0x68454E, 0x4F0013, 0x4F353B, 0x333333, 0x505050, 0x696969, 0x828282, 0xBEBEBE, 0xFFFFFF]) * Indicates whether or not a given file extension is supported by the parser. * @param extension The file extension of a potential file to be parsed. * @return Whether or not the given file type is supported. * Tests whether a data block can be parsed by the parser. * @param data The data block to potentially be parsed. * @return Whether or not the given data is supported. <_textData> <_startedParsing> <_trim expr="~/^[ ]/"> ~/^[ ]/ <_v0> <_v1> <_v2> <_v3> <_meshesDic> <_vertices> <_uvs> <_indices> <_subGeometry> <_polyLines> <_polyLinesIndices> <_oldIndex> <_stringLen> <_meshName> <_itemColor> <_lastMeshName expr=""""> "" <_activeMesh> <_blockType> <_segmentSet> <_segCount> * @inheritDoc * Creates a new DXFParser object. * @param uri The url or id of the data or file to be parsed. * @param extra The holder for extra contextual data that the parser might need. * DXFParser provides a parser for the dxf 3D renderable data. * supported blocks type: FACEDATA, LINE. Color from dxf color table is set where index is encountered * POLYLINE(64 polyface mesh) and VERTEX. 6 * Indicates whether or not a given file extension is supported by the parser. * @param extension The file extension of a potential file to be parsed. * @return Whether or not the given file type is supported. * Tests whether a data block can be parsed by the parser. * @param data The data block to potentially be parsed. * @return Whether or not the given data is supported. <_clipNodes expr="new Map<String,VertexClipNode>()"> ()]]> <_byteData> <_startedParsing> <_parsedHeader> <_parsedUV> <_parsedFaces> <_parsedFrames> <_ident> <_version> <_skinWidth> <_skinHeight> <_numSkins> <_numVertices> <_numST> <_numTris> <_numFrames> <_offsetSkins> <_offsetST> <_offsetTris> <_offsetFrames> <_offsetEnd> <_uvIndices> <_indices> <_vertIndices> <_indexMap expr="new Map<Int,Map<Int,Int>>()"> >()]]> <_animationSet expr="new VertexAnimationSet()"> new VertexAnimationSet() <_firstSubGeom> <_uvs> <_finalUV> <_materialNames> <_textureType> <_ignoreTexturePath> <_mesh> <_geometry> false false * @inheritDoc * @inheritDoc * @inheritDoc * Reads in all that MD2 Header data that is declared as private variables. * I know its a lot, and it looks ugly, but only way to do it in Flash * Parses the file names for the materials. * Parses the uv data for the mesh. * Parses unique indices for the faces. * Adds a face index to the list if it doesn't exist yet, based on vertexIndex and uvIndex, and adds the * corresponding vertex and uv data in the correct location. * @param vertexIndex The original index in the vertex list. * @param uvIndex The original index in the uv list. * Finds the final index corresponding to the original MD2's vertex and uv indices. Returns -1 if it wasn't added yet. * @param vertexIndex The original index in the vertex list. * @param uvIndex The original index in the uv list. * @return The index of the final mesh corresponding to the original vertex and uv index. -1 if it doesn't exist yet. * Parses all the frame geometries. { ignoreTexturePath : true, textureType : "jpg" } * Creates a new MD2Parser object. * @param textureType The extension of the texture (e.g. jpg/png/...) * @param ignoreTexturePath If true, the path of the texture is ignored * MD2Parser provides a parser for the MD2 data type. "MD5Version" "commandline" "numFrames" "numJoints" "frameRate" "numAnimatedComponents" "hierarchy" "bounds" "baseframe" "frame" "//" * Indicates whether or not a given file extension is supported by the parser. * @param extension The file extension of a potential file to be parsed. * @return Whether or not the given file type is supported. * Tests whether a data block can be parsed by the parser. * @param data The data block to potentially be parsed. * @return Whether or not the given data is supported. <_textData> <_startedParsing> <_parseIndex expr="0"> 0 <_reachedEOF> <_line expr="0"> 0 <_charLineIndex expr="0"> 0 <_version expr="0"> 0 <_frameRate expr="0"> 0 <_numFrames expr="0"> 0 <_numJoints expr="0"> 0 <_numAnimatedComponents expr="0"> 0 <_hierarchy> <_bounds> <_frameData> <_baseFrameData> <_rotationQuat> <_clip> * @inheritDoc * Converts all key frame data to an SkinnedAnimationSequence. * Converts a single key frame data to a SkeletonPose. * @param frameData The actual frame data. * @return A SkeletonPose containing the frame data's pose. * Parses the skeleton's hierarchy data. * Parses frame bounds. * Parses the base frame. * Parses a single frame. * Puts back the last read character into the data stream. * Gets the next token in the data stream. * Skips all whitespace in the data stream. * Skips to the next line. * Retrieves the next single character in the data stream. * Retrieves the next integer in the data stream. * Retrieves the next floating point number in the data stream. * Retrieves the next 3d vector in the data stream. * Retrieves the next quaternion in the data stream. * Parses the command line data. * Retrieves the next literal string in the data stream. A literal string is a sequence of characters bounded * by double quotes. * Throws an end-of-file error when a premature end of file was encountered. * Throws an error when an unexpected token was encountered. * @param expected The token type that was actually expected. * Throws an error when an unknown keyword was encountered. { additionalRotationRadians : 0, additionalRotationAxis : null } * Creates a new MD5AnimParser object. * @param uri The url or id of the data or file to be parsed. * @param extra The holder for extra contextual data that the parser might need. * MD5AnimParser provides a parser for the md5anim data type, providing an animation sequence for the md5 format. * * todo: optimize "MD5Version" "commandline" "numJoints" "numMeshes" "//" "joints" "mesh" "shader" "numverts" "vert" "numtris" "tri" "numweights" "weight" * Indicates whether or not a given file extension is supported by the parser. * @param extension The file extension of a potential file to be parsed. * @return Whether or not the given file type is supported. * Tests whether a data block can be parsed by the parser. * @param data The data block to potentially be parsed. * @return Whether or not the given data is supported. <_textData> <_startedParsing> <_parseIndex expr="0"> 0 <_reachedEOF> <_line expr="0"> 0 <_charLineIndex expr="0"> 0 <_version expr="0"> 0 <_numJoints expr="0"> 0 <_numMeshes expr="0"> 0 <_mesh> <_shaders> <_maxJointCount expr="0"> 0 <_meshData> <_bindPoses> <_geometry> <_skeleton> <_animationSet> <_rotationQuat> * @inheritDoc * Parses the skeleton's joints. * Puts back the last read character into the data stream. * Parses the mesh geometry. * Converts the mesh data to a SkinnedSub instance. * @param vertexData The mesh's vertices. * @param weights The joint weights per vertex. * @param indices The indices for the faces. * @return A SkinnedSubGeometry instance containing all geometrical data for the current mesh. * Retrieve the next triplet of vertex indices that form a face. * @param indices The index list in which to store the read data. * Reads a new joint data set for a single joint. * @param weights the target list to contain the weight data. * Reads the data for a single vertex. * @param vertexData The list to contain the vertex data. * Reads the next uv coordinate. * @param vertexData The vertexData to contain the UV coordinates. * Gets the next token in the data stream. * Skips all whitespace in the data stream. * Skips to the next line. * Retrieves the next single character in the data stream. * Retrieves the next integer in the data stream. * Retrieves the next floating point number in the data stream. * Retrieves the next 3d vector in the data stream. * Retrieves the next quaternion in the data stream. * Parses the command line data. * Retrieves the next literal string in the data stream. A literal string is a sequence of characters bounded * by double quotes. * Throws an end-of-file error when a premature end of file was encountered. * Throws an error when an unexpected token was encountered. * @param expected The token type that was actually expected. * Throws an error when an unknown keyword was encountered. { additionalRotationRadians : 0, additionalRotationAxis : null } * Creates a new MD5MeshParser object. * MD5MeshParser provides a parser for the md5mesh data type, providing the geometry of the md5 format. * * todo: optimize * Indicates whether or not a given file extension is supported by the parser. * @param extension The file extension of a potential file to be parsed. * @return Whether or not the given file type is supported. * Tests whether a data block can be parsed by the parser. * @param data The data block to potentially be parsed. * @return Whether or not the given data is supported. <_byteData> <_textures> <_materials> <_unfinalized_objects> <_cur_obj_end> <_cur_obj> <_cur_mat_end> <_cur_mat> <_useSmoothingGroups> * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc { pivot : null } { useSmoothingGroups : false } Max3DSParser object. * * @param useSmoothingGroups Determines whether the parser looks for smoothing groups in the 3ds file or assumes uniform smoothing. Defaults to true.]]> * Max3DSParser provides a parser for the 3ds data type. * Indicates whether or not a given file extension is supported by the parser. * @param extension The file extension of a potential file to be parsed. * @return Whether or not the given file type is supported. * Tests whether a data block can be parsed by the parser. * @param data The data block to potentially be parsed. * @return Whether or not the given data is supported. <_textData> <_startedParsing> <_charIndex> <_oldIndex> <_stringLength> <_currentObject> <_currentGroup> <_currentMaterialGroup> <_objects> <_materialIDs> <_materialLoaded> <_materialSpecularData> <_meshes> <_lastMtlID> <_objectIndex> <_realIndices> <_vertexIndex> <_vertices> <_vertexNormals> <_uvs> <_scale> <_mtlLib> <_mtlLibLoaded expr="true"> true <_activeMaterialID expr=""""> "" * Scaling factor applied directly to vertices data * @param value The scaling factor. * @inheritDoc * @inheritDoc * @inheritDoc * Parses a single line in the OBJ file. * Converts the parsed data into an Away3D scenegraph structure * Translates an obj's material group to a subgeometry. * @param materialGroup The material group data to convert. * @param geometry The Geometry to contain the converted SubGeometry. * Creates a new object group. * @param trunk The data block containing the object tag and its parameters * Creates a new group. * @param trunk The data block containing the group tag and its parameters * Creates a new material group. * @param trunk The data block containing the material tag and its parameters * Reads the next vertex coordinates. * @param trunk The data block containing the vertex tag and its parameters * Reads the next uv coordinates. * @param trunk The data block containing the uv tag and its parameters * Reads the next vertex normal coordinates. * @param trunk The data block containing the vertex normal tag and its parameters * Reads the next face's indices. * @param trunk The data block containing the face tag and its parameters * This is a hack around negative face coords { scale : 1 } * Creates a new OBJParser object. * @param uri The url or id of the data or file to be parsed. * @param extra The holder for extra contextual data that the parser might need. * OBJParser provides a parser for the OBJ data type. ()]]> ()]]> ()]]> 0xFFFFFF 1 0xFFFFFF 1 ()]]> ()]]> ()]]> ()]]> "binary" * Describes the format of a binary file. "plainText" * Describes the format of a plain text file. * An enumeration providing values to describe the data format of parsed data. [AC3DParser, AWD1Parser, AWD2Parser, AWDParser, Max3DSParser, DXFParser, MD2Parser, MD5AnimParser, MD5MeshParser, OBJParser, DAEParser, Max3DSParser] Asset3DLibrary.enableParsers(Parsers.ALL_BUNDLED); * * Beware however that this requires all parser classes to be included in the * SWF file, which will add 50-100 kb to the file. When only a limited set of * file formats are used, SWF file size can be saved by adding the parsers * individually using Asset3DLibrary.enableParser() * * A third way is to specify a parser for each loaded file, thereby bypassing * the auto-detection mechanisms altogether, while at the same time allowing * any properties that are unique to that parser to be set for that load. * * The bundled parsers are: * *
      *
    • AC3D (.ac)
    • *
    • Away Data version 1 ASCII and version 2 binary (.awd). AWD1 BSP unsupported
    • *
    • 3DMax (.3ds)
    • *
    • DXF (.dxf)
    • *
    • Quake 2 MD2 models (.md2)
    • *
    • Doom 3 MD5 animation clips (.md5anim)
    • *
    • Doom 3 MD5 meshes (.md5mesh)
    • *
    • Wavefront OBJ (.obj)
    • *
    • Collada (.dae)
    • *
    • Images (.jpg, .png)
    • *
    * * @see away3d.loading.Asset3DLibrary.enableParser]]>
    * Short-hand function to enable all bundled parsers for auto-detection. In practice, * this is the same as invoking enableParsers(Parsers.ALL_BUNDLED) on any of the * loader classes SingleFileLoader, AssetLoader, Asset3DLibrary or Loader3D. * * See notes about file size in the documentation for the ALL_BUNDLED constant. * * @see away3d.loaders.parsers.Parsers.ALL_BUNDLED
    * Returns a object as ByteArray, if possible. * * @param data The object to return as ByteArray * * @return The ByteArray or null * { length : 0 } * Returns a object as String, if possible. * * @param data The object to return as String * @param length The length of the returned String * * @return The String or null * 0 * A counter used to assign unique ids per material, which is used to sort per material while rendering. * This reduces state changes. away3d away3d * An object to contain any extra data. <_classification> away3d * A value that can be used by materials that only work with a given type of renderer. The renderer can test the * classification to choose which render path to use. For example, a deferred material could set this value so * that the deferred renderer knows not to take the forward rendering path. * * @private <_uniqueId> away3d * An id for this material used to sort the renderables by material, which reduces render state changes across * materials using the same Program3D. * * @private <_renderOrderId> away3d * An id for this material used to sort the renderables by shader program, which reduces Program3D state changes. * * @private <_depthPassId> away3d * The same as _renderOrderId, but applied to the depth shader passes. * * @private <_bothSides> <_animationSet> <_owners> * A list of material owners, renderables or custom Entities. <_alphaPremultiplied> <_blendMode expr="BlendMode.NORMAL"> BlendMode.NORMAL <_numPasses expr="0"> 0 <_passes> <_mipmap expr="true"> true <_smooth expr="true"> true <_repeat> <_anisotropy expr="Anisotropy.ANISOTROPIC2X"> Anisotropy.ANISOTROPIC2X <_depthPass> <_distancePass> <_lightPicker> <_distanceBasedDepthRender> <_depthCompareMode expr="Context3DCompareMode.LESS_EQUAL"> Context3DCompareMode.LESS_EQUAL * @inheritDoc * The light picker used by the material to provide lights to the material if it supports lighting. * * @see away3d.materials.lightpickers.LightPickerBase * @see away3d.materials.lightpickers.StaticLightPicker * Indicates whether or not any used textures should use mipmapping. Defaults to true. * Indicates whether or not any used textures should use smoothing. * The depth compare mode used to render the renderables using this material. * * @see openfl.display3D.Context3DCompareMode * Indicates whether or not any used textures should be tiled. If set to false, texture samples are clamped to * the texture's borders when the uv coordinates are outside the [0, 1] interval. * Indicates the number of Anisotropic filtering samples to take for mipmapping * Cleans up resources owned by the material, including passes. Textures are not owned by the material since they * could be used by other materials and will not be disposed. * Defines whether or not the material should cull triangles facing away from the camera. *
  • BlendMode.NORMAL: No blending, unless the material inherently needs it
  • *
  • BlendMode.LAYER: Force blending. This will draw the object the same as NORMAL, but without writing depth writes.
  • *
  • BlendMode.MULTIPLY
  • *
  • BlendMode.ADD
  • *
  • BlendMode.ALPHA
  • * ]]>
    * Indicates whether visible textures (or other pixels) used by this material have * already been premultiplied. Toggle this if you are seeing black halos around your * blended alpha edges. * Indicates whether or not the material requires alpha blending during rendering. * An id for this material used to sort the renderables by material, which reduces render state changes across * materials using the same Program3D. * The amount of passes used by the material. * * @private away3d * Indicates that the depth pass uses transparency testing to discard pixels. * * @private { distanceBased : false } away3d * Sets the render state for the depth pass that is independent of the rendered object. Used when rendering * depth or distances (fe: shadow maps, depth pre-pass). * * @param stage3DProxy The Stage3DProxy used for rendering. * @param camera The camera from which the scene is viewed. * @param distanceBased Whether or not the depth pass or distance pass should be activated. The distance pass * is required for shadow cube maps. * * @private away3d * Clears the render state for the depth pass. * * @param stage3DProxy The Stage3DProxy used for rendering. * * @private away3d * Renders a renderable using the depth pass. * * @param renderable The IRenderable instance that needs to be rendered. * @param stage3DProxy The Stage3DProxy used for rendering. * @param camera The camera from which the scene is viewed. * @param viewProjection The view-projection matrix used to project to the screen. This is not the same as * camera.viewProjection as it includes the scaling factors when rendering to textures. * * @private away3d * Indicates whether or not the pass with the given index renders to texture or not. * @param index The index of the pass. * @return True if the pass renders to texture, false otherwise. * * @private away3d * Sets the render state for a pass that is independent of the rendered object. This needs to be called before * calling renderPass. Before activating a pass, the previously used pass needs to be deactivated. * @param index The index of the pass to activate. * @param stage3DProxy The Stage3DProxy object which is currently used for rendering. * @param camera The camera from which the scene is viewed. * @private away3d * Clears the render state for a pass. This needs to be called before activating another pass. * @param index The index of the pass to deactivate. * @param stage3DProxy The Stage3DProxy used for rendering * * @private away3d * Renders the current pass. Before calling renderPass, activatePass needs to be called with the same index. * @param index The index of the pass used to render the renderable. * @param renderable The IRenderable object to draw. * @param stage3DProxy The Stage3DProxy object used for rendering. * @param entityCollector The EntityCollector object that contains the visible scene data. * @param viewProjection The view-projection matrix used to project to the screen. This is not the same as * camera.viewProjection as it includes the scaling factors when rendering to textures. away3d * Mark an IMaterialOwner as owner of this material. * Assures we're not using the same material across renderables with different animations, since the * Program3Ds depend on animation. This method needs to be called when a material is assigned. * * @param owner The IMaterialOwner that had this material assigned * * @private away3d * Removes an IMaterialOwner as owner. * @param owner * @private away3d * A list of the IMaterialOwners that use this material * * @private away3d * Performs any processing that needs to occur before any of its passes are used. * * @private away3d * Deactivates the last pass of the material. * * @private away3d * Marks the shader programs for all passes as invalid, so they will be recompiled before the next use. * @param triggerPass The pass triggering the invalidation, if any. This is passed to prevent invalidating the * triggering pass, which would result in an infinite loop. * * @private * Removes a pass from the material. * @param pass The pass to be removed. * Removes all passes from the material * Adds a pass to the material * @param pass * Listener for when a pass's shader code changes. It recalculates the render order id. * Listener for when the distance pass's shader code changes. It recalculates the depth pass id. * Listener for when the depth pass's shader code changes. It recalculates the depth pass id. * Creates a new MaterialBase object. * MaterialBase forms an abstract base class for any material. * A material consists of several passes, each of which constitutes at least one render call. Several passes could * be used for special effects (render lighting for many lights in several passes, render an outline in a separate * pass) or to provide additional render-to-texture passes (rendering diffuse light to texture for texture-space * subsurface scattering, or rendering a depth map for specialized self-shadowing). * * Away3D provides default materials trough SinglePassMaterialBase and MultiPassMaterialBase, which use modular * methods to build the shader code. MaterialBase can be extended to build specific and high-performant custom * shaders, or entire new material frameworks.
    <_screenPass> <_alphaBlending> * Whether or not to use fallOff and radius properties for lights. This can be used to improve performance and * compatibility for constrained mode. * The minimum alpha value for which pixels should be drawn. This is used for transparency that is either * invisible or entirely opaque, often used with textures for foliage, etc. * Recommended values are 0 to disable alpha, or 0.5 to create smooth edges. Default value is 0 (disabled). * @inheritDoc * @inheritDoc { distanceBased : false } * @inheritDoc * Define which light source types to use for specular reflections. This allows choosing between regular lights * and/or light probes for specular reflections. * * @see away3d.materials.LightSources * Define which light source types to use for diffuse reflections. This allows choosing between regular lights * and/or light probes for diffuse reflections. * * @see away3d.materials.LightSources * @inheritDoc * The ColorTransform object to transform the colour of the material with. Defaults to null. * The method that provides the ambient lighting contribution. Defaults to BasicAmbientMethod. * The method used to render shadows cast on this surface, or null if no shadows are to be rendered. Defaults to null. * The method that provides the diffuse lighting contribution. Defaults to BasicDiffuseMethod. * The method used to generate the per-pixel normals. Defaults to BasicNormalMethod. * The method that provides the specular lighting contribution. Defaults to BasicSpecularMethod. * Appends an "effect" shading method to the shader. Effect methods are those that do not influence the lighting * but modulate the shaded colour, used for fog, outlines, etc. The method will be applied to the result of the * methods added prior. * The number of "effect" methods added to the material. * Queries whether a given effect method was added to the material. * * @param method The method to be queried. * @return true if the method was added to the material, false otherwise. * Returns the method added at the given index. * @param index The index of the method to retrieve. * @return The method at the given index. * Adds an effect method at the specified index amongst the methods already added to the material. Effect * methods are those that do not influence the lighting but modulate the shaded colour, used for fog, outlines, * etc. The method will be applied to the result of the methods with a lower index. * Removes an effect method from the material. * @param method The method to be removed. * @inheritDoc * The normal map to modulate the direction of the surface for each texel. The default normal method expects * tangent-space normal maps, but others could expect object-space maps. * A specular map that defines the strength of specular reflections for each texel in the red channel, * and the gloss factor in the green channel. You can use SpecularBitmapTexture if you want to easily set * specular and gloss maps from grayscale images, but correctly authored images are preferred. * The glossiness of the material (sharpness of the specular highlight). * The strength of the ambient reflection. * The overall strength of the specular reflection. * The colour of the ambient reflection. * The colour of the specular reflection. * Indicates whether or not the material has transparency. If binary transparency is sufficient, for * example when using textures of foliage, consider using alphaThreshold instead. * @inheritDoc * @inheritDoc * Creates a new SinglePassMaterialBase object. * SinglePassMaterialBase forms an abstract base class for the default single-pass materials provided by Away3D, * using material methods to define their appearance. <_diffuseAlpha expr="1"> 1 * The alpha of the surface. * The diffuse reflectivity color of the surface. * @inheritDoc { alpha : 1, color : 0xcccccc } * Creates a new ColorMaterial object. * @param color The material's diffuse surface color. * @param alpha The material's surface alpha. * ColorMaterial is a single-pass material that uses a flat color as the surface's diffuse reflection value. <_casterLightPass> <_nonCasterLightPasses> <_effectsPass> <_alphaThreshold expr="0"> 0 <_specularLightSources expr="0x01"> 0x01 <_diffuseLightSources expr="0x03"> 0x03 <_ambientMethod expr="new BasicAmbientMethod()"> new BasicAmbientMethod() <_shadowMethod> <_diffuseMethod expr="new BasicDiffuseMethod()"> new BasicDiffuseMethod() <_normalMethod expr="new BasicNormalMethod()"> new BasicNormalMethod() <_specularMethod expr="new BasicSpecularMethod()"> new BasicSpecularMethod() <_screenPassesInvalid expr="true"> true <_enableLightFallOff expr="true"> true * Whether or not to use fallOff and radius properties for lights. This can be used to improve performance and * compatibility for constrained mode. * The minimum alpha value for which pixels should be drawn. This is used for transparency that is either * invisible or entirely opaque, often used with textures for foliage, etc. * Recommended values are 0 to disable alpha, or 0.5 to create smooth edges. Default value is 0 (disabled). * @inheritDoc * @inheritDoc { distanceBased : false } * @inheritDoc * Define which light source types to use for specular reflections. This allows choosing between regular lights * and/or light probes for specular reflections. * * @see away3d.materials.LightSources * Define which light source types to use for diffuse reflections. This allows choosing between regular lights * and/or light probes for diffuse reflections. * * @see away3d.materials.LightSources * @inheritDoc * @inheritDoc * The method that provides the ambient lighting contribution. Defaults to BasicAmbientMethod. * The method used to render shadows cast on this surface, or null if no shadows are to be rendered. Defaults to null. * The method that provides the diffuse lighting contribution. Defaults to BasicDiffuseMethod. * The method that provides the specular lighting contribution. Defaults to BasicSpecularMethod. * The method used to generate the per-pixel normals. Defaults to BasicNormalMethod. * Appends an "effect" shading method to the shader. Effect methods are those that do not influence the lighting * but modulate the shaded colour, used for fog, outlines, etc. The method will be applied to the result of the * methods added prior. * The number of "effect" methods added to the material. * Queries whether a given effect method was added to the material. * * @param method The method to be queried. * @return true if the method was added to the material, false otherwise. * Returns the method added at the given index. * @param index The index of the method to retrieve. * @return The method at the given index. * Adds an effect method at the specified index amongst the methods already added to the material. Effect * methods are those that do not influence the lighting but modulate the shaded colour, used for fog, outlines, * etc. The method will be applied to the result of the methods with a lower index. * Removes an effect method from the material. * @param method The method to be removed. * @inheritDoc * The normal map to modulate the direction of the surface for each texel. The default normal method expects * tangent-space normal maps, but others could expect object-space maps. * A specular map that defines the strength of specular reflections for each texel in the red channel, * and the gloss factor in the green channel. You can use SpecularBitmapTexture if you want to easily set * specular and gloss maps from grayscale images, but correctly authored images are preferred. * The glossiness of the material (sharpness of the specular highlight). * The strength of the ambient reflection. * The overall strength of the specular reflection. * The colour of the ambient reflection. * The colour of the specular reflection. * @inheritDoc * Adds a compiled pass that renders to the screen. * @param pass The pass to be added. * Tests if any pass that renders to the screen is invalid. This would trigger a new setup of the multiple passes. * @return * Adds any additional passes on which the given pass is dependent. * @param pass The pass that my need additional passes. * @inheritDoc * @inheritDoc * Updates screen passes when they were found to be invalid. * Initializes all the passes and their dependent passes. * Sets up the various blending modes for all screen passes, based on whether or not there are previous passes. * The maximum total number of lights provided by the light picker. * The amount of lights that don't cast shadows. * Flags that the screen passes have become invalid. * Called when the light picker's configuration changed. * Creates a new MultiPassMaterialBase object. * MultiPassMaterialBase forms an abstract base class for the default multi-pass materials provided by Away3D, * using material methods to define their appearance. * The diffuse reflectivity color of the surface. { color : 0xcccccc } * Creates a new ColorMultiPassMaterial object. * * @param color The material's diffuse surface color. * ColorMultiPassMaterial is a multi-pass material that uses a flat color as the surface's diffuse reflection value. 0x01 * Defines normal lights are to be used as the source for the lighting * component. 0x02 * Defines that global lighting probes are to be used as the source for the * lighting component. 0x03 * Defines that both normal and global lighting probes are to be used as the * source for the lighting component. This is equivalent to LIGHTS | PROBES. * Enumeration class for defining which lighting types affect the specific material * lighting component (diffuse and specular). This can be useful if, for example, you * want to use light probes for diffuse global lighting, but want specular reflections from * traditional light sources without those affecting the diffuse light. * * @see away3d.materials.ColorMaterial.diffuseLightSources * @see away3d.materials.ColorMaterial.specularLightSources * @see away3d.materials.TextureMaterial.diffuseLightSources * @see away3d.materials.TextureMaterial.specularLightSources <_occlude expr="true"> true * Whether or not an object with this material applied hides other objects. * @inheritDoc * @inheritDoc { alpha : 1, color : 0xcccccc, occlude : true } * Creates a new OcclusionMaterial object. * @param occlude Whether or not to occlude other objects. * @param color The material's diffuse surface color. * @param alpha The material's surface alpha. * OcclusionMaterial is a ColorMaterial for an object to prevents drawing anything that is placed behind it. <_screenPass> { thickness : 1.25 } * Creates a new OrthoSegmentMaterial object. * * @param thickness The thickness of the wireframe lines. * OrthoSegmentMaterial is a material exclusively used to render wireframe objects * * @see away3d.entities.Lines <_screenPass> { thickness : 1.25 } * Creates a new SegmentMaterial object. * * @param thickness The thickness of the wireframe lines. * SegmentMaterial is a material exclusively used to render wireframe objects * * @see away3d.entities.Lines <_cubeMap> <_skyboxPass> * The cube texture to use as the skybox. * Creates a new SkyBoxMaterial object. * @param cubeMap The CubeMap to use as the skybox. * SkyBoxMaterial is a material exclusively used to render skyboxes * * @see away3d.primitives.SkyBox * Specifies whether or not the UV coordinates should be animated using IRenderable's uvTransform matrix. * * @see IRenderable.uvTransform * Specifies whether or not the UV coordinates should be animated using IRenderable's uvTransform matrix. * * @see IRenderable.uvTransform * The alpha of the surface. * The texture object to use for the albedo colour. * The texture object to use for the ambient colour. { anisotropy : ANISOTROPIC2X, mipmap : true, repeat : false, smooth : true, texture : null } * Creates a new TextureMaterial. * @param texture The texture used for the material's albedo color. * @param smooth Indicates whether the texture should be filtered when sampled. Defaults to true. * @param repeat Indicates whether the texture should be tiled when sampled. Defaults to true. * @param mipmap Indicates whether or not any used textures should use mipmapping. Defaults to true. * @param anisotropy Indicates the number of samples to use if Anisotropic mipmap filtering is applied * TextureMaterial is a single-pass material that uses a texture to define the surface's diffuse reflection colour (albedo). <_diffuses> <_normals> <_speculars> <_TBDiffuse> <_TBNormal> <_TBSpecular> <_currentMapID> { mapID : 0 } { mipmap : true, repeat : false, smooth : true, speculars : null, normals : null } * SpriteSheetMaterial is a material required for a SpriteSheetAnimator if you have an animation spreaded over more maps * and/or have animated normalmaps, specularmaps <_animateUVs> * Specifies whether or not the UV coordinates should be animated using a transformation matrix. * The texture object to use for the albedo colour. * The texture object to use for the ambient colour. { anisotropy : ANISOTROPIC2X, mipmap : true, repeat : false, smooth : true, texture : null } * Creates a new TextureMultiPassMaterial. * @param texture The texture used for the material's albedo color. * @param smooth Indicates whether the texture should be filtered when sampled. Defaults to true. * @param repeat Indicates whether the texture should be tiled when sampled. Defaults to true. * @param mipmap Indicates whether or not any used textures should use mipmapping. Defaults to true. * @param anisotropy Indicates the number of samples to use if Anisotropic mipmap filtering is applied * TextureMultiPassMaterial is a multi-pass material that uses a texture to define the surface's diffuse reflection colour (albedo). <_sharedRegisters> <_registerCache> <_dependencyCounter> <_methodSetup> <_smooth> <_repeat> <_mipmap> <_anisotropy> <_enableLightFallOff> <_preserveAlpha expr="true"> true <_animateUVs> <_animateUVs2> <_alphaPremultiplied> <_vertexConstantData> <_fragmentConstantData> <_vertexCode> <_fragmentCode> <_fragmentLightCode> <_fragmentPostLightCode> <_commonsDataIndex expr="-1"> -1 <_animatableAttributes> <_animationTargetRegisters> <_lightProbeDiffuseIndices> <_lightProbeSpecularIndices> <_uvBufferIndex expr="-1"> -1 <_uvTransformIndex expr="-1"> -1 <_uvTransformIndex2 expr="-1"> -1 <_secondaryUVBufferIndex expr="-1"> -1 <_normalBufferIndex expr="-1"> -1 <_tangentBufferIndex expr="-1"> -1 <_lightFragmentConstantIndex expr="-1"> -1 <_sceneMatrixIndex expr="-1"> -1 <_sceneNormalMatrixIndex expr="-1"> -1 <_cameraPositionIndex expr="-1"> -1 <_probeWeightsIndex expr="-1"> -1 <_specularLightSources> <_diffuseLightSources> <_numLights> <_numLightProbes> <_numPointLights> <_numDirectionalLights> <_numProbeRegisters> <_combinedLightSources> <_usingSpecularMethod> <_needUVAnimation> <_UVTarget> <_UVSource> <_profile> <_forceSeperateMVP> * Whether or not to use fallOff and radius properties for lights. This can be used to improve performance and * compatibility for constrained mode. * Indicates whether the compiled code needs UV animation. * The target register to place the animated UV coordinate. * The souce register providing the UV coordinate to animate. * Indicates whether the screen projection should be calculated by forcing a separate scene matrix and * view-projection matrix. This is used to prevent rounding errors when using multiple passes with different * projection code. * Initialized the register cache. * @param profile The compatibility profile of the renderer. * Indicate whether UV coordinates need to be animated using the renderable's transformUV matrix. * Indicate whether UV coordinates need to be animated using the renderable's transformUV matrix. * Indicates whether visible textures (or other pixels) used by this material have * already been premultiplied. * Indicates whether the output alpha value should remain unchanged compared to the material's original alpha. * Sets the default texture sampling properties. * @param smooth Indicates whether the texture should be filtered when sampled. Defaults to true. * @param repeat Indicates whether the texture should be tiled when sampled. Defaults to true. * @param mipmap Indicates whether or not any used textures should use mipmapping. Defaults to true. * Sets the constant buffers allocated by the material. This allows setting constant data during compilation. * @param vertexConstantData The vertex constant data buffer. * @param fragmentConstantData The fragment constant data buffer. * The shader method setup object containing the method configuration and their value objects for the material being compiled. * Compiles the code after all setup on the compiler has finished. * Creates the registers to contain the normal data. * Compile the code for the methods. * Compile the lighting code. * Calculate the view direction. * Calculate the normal. * Calculate the (possibly animated) UV coordinates. * Provide the secondary UV coordinates. * Compile the world-space position. * Get the projection coordinates. * Assign the final output colour the the output register. * Reset all the indices to "unused". * Prepares the setup for the light code. * Create the commonly shared constant register. * Figure out which named registers are required, and how often. * Counts the dependencies for a given method. * @param method The method to count the dependencies for. * @param methodVO The method's data for this material. * Assigns all prerequisite data for the methods, so we can calculate dependencies for them. * The index for the common data register. * Assigns the shared register data to all methods. * The amount of vertex constants used by the material. Any animation code to be added can append its vertex * constant data after this. * The amount of fragment constants used by the material. Any animation code to be added can append its vertex * constant data after this. * The amount of vertex attribute streams used by the material. Any animation code to be added can add its * streams after this. Also used to automatically disable attribute slots on pass deactivation. * The amount of textures used by the material. Used to automatically disable texture slots on pass deactivation. * Number of used varyings. Any animation code to be added can add its used varyings after this. * Indicates whether lights are used for specular reflections. * Indicates whether lights are used for diffuse reflections. * Disposes all resources used by the compiler. * Clean up method's compilation data after compilation finished. * Define which light source types to use for specular reflections. This allows choosing between regular lights * and/or light probes for specular reflections. * * @see away3d.materials.LightSources * Define which light source types to use for diffuse reflections. This allows choosing between regular lights * and/or light probes for diffuse reflections. * * @see away3d.materials.LightSources * Indicates whether light probes are being used for specular reflections. * Indicates whether light probes are being used for diffuse reflections. * Indicates whether any light probes are used. * The index for the UV vertex attribute stream. * The index for the UV transformation matrix vertex constant. * The index for the UV transformation matrix vertex constant. * The index for the secondary UV vertex attribute stream. * The index for the vertex normal attribute stream. * The index for the vertex tangent attribute stream. * The first index for the fragment constants containing the light data. * The index of the vertex constant containing the camera position. * The index of the vertex constant containing the scene matrix. * The index of the vertex constant containing the uniform scene matrix (the inverse transpose). * The index of the fragment constant containing the weights for the light probes. * The generated vertex code. * The generated fragment code. * The code containing the lighting calculations. * The code containing the post-lighting calculations. * The register name containing the final shaded colour. * The amount of point lights that need to be supported. * The amount of directional lights that need to be supported. * The amount of light probes that need to be supported. * Indicates whether the specular method is used. * The attributes that need to be animated by animators. * The target registers for animated properties, written to by the animators. * Indicates whether the compiled shader uses normals. * Indicates whether the compiled shader uses lights. * Compiles the code for the methods. * Indices for the light probe diffuse textures. * Indices for the light probe specular textures. * Creates a new ShaderCompiler object. * @param profile The compatibility profile of the renderer. * ShaderCompiler is an abstract base class for shader compilers that use modular shader methods to assemble a * material. Concrete subclasses are used by the default materials. * * @see away3d.materials.methods.ShadingMethodBase <_pointLightFragmentConstants public="1"> <_pointLightVertexConstants public="1"> <_dirLightFragmentConstants public="1"> <_dirLightVertexConstants public="1"> <_lightVertexConstantIndex> <_shadowRegister> * The starting index if the vertex constant to which light data needs to be uploaded. * @inheritDoc * @inheritDoc * Indicates whether or not lighting happens in tangent space. This is only the case if no world-space * dependencies exist. * @inheritDoc * @inheritDoc * @inheritDoc * Generates code to retrieve the tangent space normal from the normal map * @inheritDoc * @inheritDoc * Provides the code to provide shadow mapping. * Initializes constant registers to contain light data. * Compiles the shading code for directional lights. * Compiles the shading code for point lights. * Compiles shading code for light probes. * Create a new LightingShaderCompiler object. * @param profile The compatibility profile of the renderer. * LightingShaderCompiler is a ShaderCompiler that generates code for passes performing shading only (no effect passes) <_projectionDependencies> <_normalDependencies> <_viewDirDependencies> <_uvDependencies> <_secondaryUVDependencies> <_globalPosDependencies> <_tangentDependencies> <_usesGlobalPosFragment expr="false"> false <_numPointLights> <_lightSourceMask> * Clears dependency counts for all registers. Called when recompiling a pass. * Sets the amount of lights that have a position associated with them. * @param numPointLights The amount of point lights. * @param lightSourceMask The light source types used by the material. * Increases dependency counters for the named registers listed as required by the given MethodVO. * @param methodVO the MethodVO object for which to include dependencies. * The amount of tangent vector dependencies (fragment shader). * Indicates whether there are any dependencies on the world-space position vector. * The amount of dependencies on the projected position. * The amount of dependencies on the normal vector. * The amount of dependencies on the view direction. * The amount of dependencies on the primary UV coordinates. * The amount of dependencies on the secondary UV coordinates. * The amount of dependencies on the global position. This can be 0 while hasGlobalPosDependencies is true when * the global position is used as a temporary value (fe to calculate the view direction) * Adds any external world space dependencies, used to force world space calculations. * Creates a new MethodDependencyCounter object. * MethodDependencyCounter keeps track of the number of dependencies for "named registers" used across methods. * Named registers are that are not necessarily limited to a single method. They are created by the compiler and * passed on to methods. The compiler uses the results to reserve usages through RegisterPool, which can be removed * each time a method has been compiled into the shader. * * @see RegisterPool.addUsage <_regPool expr="new Map<String,Vector<ShaderRegisterElement>>()" line="16" static="1"> >()]]> <_regCompsPool expr="new Map<String,Array<Dynamic>>()" line="17" static="1"> >()]]> <_initPool set="method" line="158" static="1"> <_vectorRegisters> <_registerComponents> <_regName> <_usedSingleCount> <_usedVectorCount> <_regCount> <_persistent> * Retrieve an entire vector register that's still available. * Retrieve a single vector component that's still available. * Marks a register as used, so it cannot be retrieved. The register won't be able to be used until removeUsage * has been called usageCount times again. * @param register The register to mark as used. * @param usageCount The amount of usages to add. * Removes a usage from a register. When usages reach 0, the register is freed again. * @param register The register for which to remove a usage. * Disposes any resources used by the current RegisterPool object. * Indicates whether or not any registers are in use. * Initializes all registers. * Check if the temp register is either used for single or vector use { persistent : true } * Creates a new RegisterPool object. * @param regName The base name of the register type ("ft" for fragment temporaries, "vc" for vertex constants, etc) * @param regCount The amount of available registers of this type. * @param persistent Whether or not registers, once reserved, can be freed again. For example, temporaries are not persistent, but constants are. * RegisterPool is used by the shader compilation process to keep track of which registers of a certain type are * currently used and should not be allowed to be written to. Either entire registers can be requested and locked, * or single components (x, y, z, w) of a single register. * It is used by ShaderRegisterCache to track usages of individual register types. * * @see away3d.materials.compilation.ShaderRegisterCache * ShaderRegisterData contains the "named" registers, generated by the compiler and to be passed on to the methods. ["x", "y", "z", "w"] <_regName> <_index> <_toStr> <_component> away3d * Converts the register or the components AGAL string representation. * The register's name. * The register's index. { component : -1 } * Creates a new ShaderRegisterElement object. * @param regName The name of the register. * @param index The index of the register. * @param component The register's component, if not the entire register is represented. * A single register element (an entire register or a single register's component) used by the RegisterPool. <_pointLightRegisters public="1"> <_dirLightRegisters public="1"> * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * Compiles the vertex shader code for tangent-space normal maps. * @param matrix The register containing the scene transformation matrix for normals. * Compiles the fragment shader code for tangent-space normal maps. * @inheritDoc * @inheritDoc * Initializes the registers containing the lighting data. * Creates a new SuperShaderCompiler object. * @param profile The compatibility profile used by the renderer. * SuperShaderCompiler is a compiler that generates shaders that perform both lighting and "effects" through methods. * This is used by the single-pass materials. <_numPointLights> <_numDirectionalLights> <_numCastingPointLights> <_numCastingDirectionalLights> <_numLightProbes> <_allPickedLights> <_pointLights> <_castingPointLights> <_directionalLights> <_castingDirectionalLights> <_lightProbes> <_lightProbeWeights> * Disposes resources used by the light picker. * @inheritDoc * The maximum amount of directional lights that will be provided. * The maximum amount of point lights that will be provided. * The maximum amount of directional lights that cast shadows. * The amount of point lights that cast shadows. * The maximum amount of light probes that will be provided. * The collected point lights to be used for shading. * The collected directional lights to be used for shading. * The collected point lights that cast shadows to be used for shading. * The collected directional lights that cast shadows to be used for shading. * The collected light probes to be used for shading. * The weights for each light probe, defining their influence on the object. * A collection of all the collected lights. * Updates set of lights for a given renderable and EntityCollector. Always call super.collectLights() after custom overridden code. * Updates the weights for the light probes, based on the renderable's position relative to them. * @param renderable The renderble for which to calculate the light probes' influence. * Creates a new LightPickerBase object. * LightPickerBase provides an abstract base clase for light picker classes. These classes are responsible for * feeding materials with relevant lights. Usually, StaticLightPicker can be used, but LightPickerBase can be * extended to provide more application-specific dynamic selection of lights. * * @see StaticLightPicker <_lights> * The lights used for shading. * Remove configuration change listeners on the lights. * Notifies the material of a configuration change. * Called when a directional light's shadow casting configuration changes. * Called when a point light's shadow casting configuration changes. * Creates a new StaticLightPicker object. * @param lights The lights to be used for shading. * StaticLightPicker is a light picker that provides a static set of lights. The lights can be reassigned, but * if the configuration changes (number of directional lights, point lights, etc), a material recompilation may * occur. <_sharedRegisters> <_passes> away3d * Initializes the properties for a MethodVO, including register and texture indices. * @param vo The MethodVO object linking this method with the pass currently being compiled. away3d * Initializes unchanging shader constants using the data from a MethodVO. * @param vo The MethodVO object linking this method with the pass currently being compiled. away3d * The shared registers created by the compiler and possibly used by methods. away3d * Any passes required that render to a texture used by this method. * Cleans up any resources used by the current object. away3d * Creates a data container that contains material-dependent data. Provided as a factory method so a custom subtype can be overridden when needed. away3d * Resets the compilation state of the method. away3d * Resets the method's state for compilation. * @private away3d * Get the vertex shader code for this method. * @param vo The MethodVO object linking this method with the pass currently being compiled. * @param regCache The register cache used during the compilation. * @private away3d * Sets the render state for this method. * * @param vo The MethodVO object linking this method with the pass currently being compiled. * @param stage3DProxy The Stage3DProxy object currently used for rendering. * @private away3d * Sets the render state for a single renderable. * * @param vo The MethodVO object linking this method with the pass currently being compiled. * @param renderable The renderable currently being rendered. * @param stage3DProxy The Stage3DProxy object currently used for rendering. * @param camera The camera from which the scene is currently rendered. away3d * Clears the render state for this method. * @param vo The MethodVO object linking this method with the pass currently being compiled. * @param stage3DProxy The Stage3DProxy object currently used for rendering. { forceWrap : null, uvReg : null } * A helper method that generates standard code for sampling from a texture using the normal uv coordinates. * @param vo The MethodVO object linking this method with the pass currently being compiled. * @param targetReg The register in which to store the sampled colour. * @param inputReg The texture stream register. * @param texture The texture which will be assigned to the given slot. * @param uvReg An optional uv register if coordinates different from the primary uv coordinates are to be used. * @param forceWrap If true, texture wrapping is enabled regardless of the material setting. * @return The fragment code that performs the sampling. * A helper method that generates standard code for sampling from a cube texture. * @param vo The MethodVO object linking this method with the pass currently being compiled. * @param targetReg The register in which to store the sampled colour. * @param inputReg The texture stream register. * @param texture The cube map which will be assigned to the given slot. * @param uvReg The direction vector with which to sample the cube map. * Generates a texture format string for the sample instruction. * @param texture The texture for which to get the format string. * @return * Marks the shader program as invalid, so it will be recompiled before the next render. * Copies the state from a ShadingMethodBase object into the current object. * Create a new ShadingMethodBase object. * @param needsNormals Defines whether or not the method requires normals. * @param needsView Defines whether or not the method requires the view direction. * ShadingMethodBase provides an abstract base method for shading methods, used by compiled passes to compile * the final shading program. * @inheritDoc away3d * Get the fragment shader code that should be added after all per-light code. Usually composits everything to the target register. * @param vo The MethodVO object containing the method data for the currently compiled material pass. * @param regCache The register cache used during the compilation. * @param targetReg The register that will be containing the method's output. * @private * EffectMethodBase forms an abstract base class for shader methods that are not dependent on light sources, * and are in essence post-process effects on the materials. <_texture> <_useSecondaryUV> * @inheritDoc * Indicated whether or not the secondary uv set for the mask. This allows mapping alpha independently, for * instance to tile the main texture and normal map while providing untiled alpha, for example to define the * transparency over a tiled water surface. * The texture to use as the alpha mask. * @inheritDoc * @inheritDoc { useSecondaryUV : false } * Creates a new AlphaMaskMethod object * @param texture The texture to use as the alpha mask. * @param useSecondaryUV Indicated whether or not the secondary uv set for the mask. This allows mapping alpha independently. * AlphaMaskMethod allows the use of an additional texture to specify the alpha value of the material. When used * with the secondary uv set, it allows for a tiled main texture with independently varying alpha (useful for water * etc). <_modulateMethod> away3d * A method that is exposed to wrappers in case the strength needs to be controlled away3d * Get the fragment shader code that will be needed before any per-light code is added. * @param vo The MethodVO object containing the method data for the currently compiled material pass. * @param regCache The register cache used during the compilation. * @private away3d * Get the fragment shader code that will generate the code relevant to a single light. * * @param vo The MethodVO object containing the method data for the currently compiled material pass. * @param lightDirReg The register containing the light direction vector. * @param lightColReg The register containing the light colour. * @param regCache The register cache used during the compilation. away3d * Get the fragment shader code that will generate the code relevant to a single light probe object. * * @param vo The MethodVO object containing the method data for the currently compiled material pass. * @param cubeMapReg The register containing the cube map for the current probe * @param weightRegister A string representation of the register + component containing the current weight * @param regCache The register cache providing any necessary registers to the shader away3d * Get the fragment shader code that should be added after all per-light code. Usually composits everything to the target register. * * @param vo The MethodVO object containing the method data for the currently compiled material pass. * @param regCache The register cache used during the compilation. * @param targetReg The register containing the final shading output. * @private * Creates a new LightingMethodBase. * LightingMethodBase provides an abstract base method for shading methods that uses lights. * Used for diffuse and specular shaders only. away3d <_useTexture> <_totalLightColorReg> <_specularTextureRegister> <_specularTexData> <_specularDataRegister> <_texture> <_gloss expr="50"> 50 <_specular expr="1"> 1 <_specularColor expr="0xffffff"> 0xffffff <_specularR expr="1"> 1 away3d <_specularG expr="1"> 1 away3d <_specularB expr="1"> 1 away3d <_shadowRegister> <_isFirstLight> * @inheritDoc * The sharpness of the specular highlight. * The overall strength of the specular highlights. * The colour of the specular reflection of the surface. * The bitmapData that encodes the specular highlight strength per texel in the red channel, and the sharpness * in the green channel. You can use SpecularBitmapTexture if you want to easily set specular and gloss maps * from grayscale images, but prepared images are preferred. * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * Updates the specular color data used by the render state. * Set internally by the compiler, so the method knows the register containing the shadow calculation. * Creates a new BasicSpecularMethod object. * BasicSpecularMethod provides the default shading method for Blinn-Phong specular highlights (an optimized but approximated * version of Phong specularity). * @inheritDoc * @inheritDoc * Creates a new AnisotropicSpecularMethod object. * AnisotropicSpecularMethod provides a specular method resulting in anisotropic highlights. These are typical for * surfaces with microfacet details such as tiny grooves. In particular, this uses the Heidrich-Seidel distrubution. * The tangent vectors are used as the surface groove directions. <_useTexture> <_texture> <_ambientInputRegister> <_ambientColor expr="0xffffff"> 0xffffff <_ambientR expr="0"> 0 <_ambientG expr="0"> 0 <_ambientB expr="0"> 0 <_ambient expr="1"> 1 <_lightAmbientR expr="0"> 0 away3d <_lightAmbientG expr="0"> 0 away3d <_lightAmbientB expr="0"> 0 away3d away3d * @inheritDoc away3d * @inheritDoc * The strength of the ambient reflection of the surface. * The colour of the ambient reflection of the surface. * The bitmapData to use to define the diffuse reflection color per texel. * @inheritDoc away3d * @inheritDoc away3d * @inheritDoc away3d * @inheritDoc * Updates the ambient color data used by the render state. away3d * @inheritDoc * Creates a new BasicAmbientMethod object. * BasicAmbientMethod provides the default shading method for uniform ambient lighting. away3d away3d <_useAmbientTexture> <_useTexture> <_totalLightColorReg public="1"> <_diffuseInputRegister> <_texture> <_diffuseColor expr="0xffffff"> 0xffffff <_diffuseR expr="1"> 1 <_diffuseG expr="1"> 1 <_diffuseB expr="1"> 1 <_diffuseA expr="1"> 1 <_shadowRegister> <_alphaThreshold expr="0"> 0 <_isFirstLight> * Set internally if the ambient method uses a texture. * Forces the creation of the texture. * @param stage3DProxy The Stage3DProxy used by the renderer * The alpha component of the diffuse reflection. * The color of the diffuse reflection when not using a texture. * The bitmapData to use to define the diffuse reflection color per texel. * The minimum alpha value for which pixels should be drawn. This is used for transparency that is either * invisible or entirely opaque, often used with textures for foliage, etc. * Recommended values are 0 to disable alpha, or 0.5 to create smooth edges. Default value is 0 (disabled). * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * Generate the code that applies the calculated shadow to the diffuse light * @param vo The MethodVO object for which the compilation is currently happening. * @param regCache The register cache the compiler is currently using for the register management. * @inheritDoc * Updates the diffuse color data used by the render state. * Set internally by the compiler, so the method knows the register containing the shadow calculation. * Creates a new BasicDiffuseMethod object. * BasicDiffuseMethod provides the default shading method for Lambert (dot3) diffuse lighting. away3d away3d <_texture> <_useTexture> <_normalTextureRegister> * @inheritDoc * Indicates whether or not this method outputs normals in tangent space. Override for object-space normals. * Indicates if the normal method output is not based on a texture (if not, it will usually always return true) * Override if subclasses are different. * @inheritDoc * The texture containing the normals per pixel. * @inheritDoc * @inheritDoc * @inheritDoc away3d * @inheritDoc * Creates a new BasicNormalMethod object. * BasicNormalMethod is the default method for standard tangent-space normal mapping. <_castingLight> <_shadowMapper> <_epsilon expr=".02"> .02 <_alpha expr="1"> 1 * @inheritDoc * The "transparency" of the shadows. This allows making shadows less strong. * The light casting the shadows. * A small value to counter floating point precision errors when comparing values in the shadow map with the * calculated depth value. Increase this if shadow banding occurs, decrease it if the shadow seems to be too detached. away3d * @inheritDoc * Creates a new ShadowMapMethodBase object. * @param castingLight The light used to cast shadows. * ShadowMapMethodBase provides an abstract base method for shadow map methods. <_baseMethod> <_cascadeShadowMapper> <_depthMapCoordVaryings> <_cascadeProjections> * The shadow map sampling method used to sample individual cascades. These are typically those used in conjunction * with a DirectionalShadowMapper. * * @see HardShadowMapMethod * @see SoftShadowMapMethod * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * Creates the registers for the cascades' projection coordinates. * @inheritDoc * @inheritDoc * @inheritDoc * Called when the shadow mappers cascade configuration changes. * Called when the base method's shader code is invalidated. * Creates a new CascadeShadowMapMethod object. * * @param shadowMethodBase The shadow map sampling method used to sample individual cascades (fe: HardShadowMapMethod, SoftShadowMapMethod) * CascadeShadowMapMethod is a shadow map method to apply cascade shadow mapping on materials. * Must be used with a DirectionalLight with a CascadeShadowMapper assigned to its shadowMapper property. * * @see away3d.lights.shadowmaps.CascadeShadowMapper <_baseMethod> * The base diffuse method on which this method's shading is based. * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * Called when the base method's shader code is invalidated. { baseDiffuseMethod : null, modulateMethod : null } * Creates a new WrapDiffuseMethod object. * @param modulateMethod The method which will add the code to alter the base method's strength. It needs to have the signature clampDiffuse(t : ShaderRegisterElement, regCache : ShaderRegisterCache) : String, in which t.w will contain the diffuse strength. * @param baseDiffuseMethod The base diffuse method on which this method's shading is based. * CompositeDiffuseMethod provides a base class for diffuse methods that wrap a diffuse method to alter the * calculated diffuse reflection strength. <_levels> <_dataReg> <_smoothness expr=".1"> .1 * @inheritDoc * The amount of shadow gradations. * The smoothness of the edge between 2 shading levels. * @inheritDoc * @inheritDoc * @inheritDoc * Snaps the diffuse shading of the wrapped method to one of the levels. * @param vo The MethodVO used to compile the current shader. * @param t The register containing the diffuse strength in the "w" component. * @param regCache The register cache used for the shader compilation. * @param sharedRegisters The shared register data for this shader. * @return The AGAL fragment code for the method. { baseDiffuseMethod : null, levels : 3 } * Creates a new CelDiffuseMethod object. * @param levels The amount of shadow gradations. * @param baseDiffuseMethod An optional diffuse method on which the cartoon shading is based. If omitted, BasicDiffuseMethod is used. * CelDiffuseMethod provides a shading method to add diffuse cel (cartoon) shading. <_baseMethod> * @inheritDoc * @inheritDoc * The base specular method on which this method's shading is based. * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @return * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * Called when the base method's shader code is invalidated. { baseSpecularMethod : null } * Creates a new WrapSpecularMethod object. * @param modulateMethod The method which will add the code to alter the base method's strength. It needs to have the signature modSpecular(t : ShaderRegisterElement, regCache : ShaderRegisterCache) : String, in which t.w will contain the specular strength and t.xyz will contain the half-vector or the reflection vector. * @param baseSpecularMethod The base specular method on which this method's shading is based. * CompositeSpecularMethod provides a base class for specular methods that wrap a specular method to alter the * calculated specular reflection strength. <_dataReg> <_smoothness expr=".1"> .1 <_specularCutOff expr=".1"> .1 * The smoothness of the highlight edge. * The threshold at which the specular highlight should be shown. * @inheritDoc * @inheritDoc * Snaps the specular shading strength of the wrapped method to zero or one, depending on whether or not it exceeds the specularCutOff * @param vo The MethodVO used to compile the current shader. * @param t The register containing the specular strength in the "w" component, and either the half-vector or the reflection vector in "xyz". * @param regCache The register cache used for the shader compilation. * @param sharedRegisters The shared register data for this shader. * @return The AGAL fragment code for the method. * @inheritDoc { baseSpecularMethod : null, specularCutOff : .5 } * Creates a new CelSpecularMethod object. * @param specularCutOff The threshold at which the specular highlight should be shown. * @param baseSpecularMethod An optional specular method on which the cartoon shading is based. If ommitted, BasicSpecularMethod is used. * CelSpecularMethod provides a shading method to add specular cel (cartoon) shading. <_matrix> * The 4 x 5 matrix to transform the color of the material. * @inheritDoc * @inheritDoc * Creates a new ColorTransformMethod. * * @param matrix An array of 20 items for 4 x 5 color transform. * ColorMatrixMethod provides a shading method that changes the colour of a material analogous to a ColorMatrixFilter. <_colorTransform> * The ColorTransform object to transform the colour of the material with. * @inheritDoc * @inheritDoc * Creates a new ColorTransformMethod. * ColorTransformMethod provides a shading method that changes the colour of a material analogous to a * ColorTransform object. * @inheritDoc * @inheritDoc * Creates a new BasicDiffuseMethod object. * DepthDiffuseMethod provides a debug method to visualise depth maps away3d <_depthMapCoordReg> <_usePoint> * @inheritDoc * @inheritDoc * Wrappers that override the vertex shader need to set this explicitly * @inheritDoc * @inheritDoc * Gets the vertex code for shadow mapping with a point light. * * @param vo The MethodVO object linking this method with the pass currently being compiled. * @param regCache The register cache used during the compilation. * Gets the vertex code for shadow mapping with a planar shadow map (fe: directional lights). * * @param vo The MethodVO object linking this method with the pass currently being compiled. * @param regCache The register cache used during the compilation. * @inheritDoc * Gets the fragment code for shadow mapping with a planar shadow map. * @param vo The MethodVO object linking this method with the pass currently being compiled. * @param regCache The register cache used during the compilation. * @param targetReg The register to contain the shadow coverage * @return * Gets the fragment code for shadow mapping with a point light. * @param vo The MethodVO object linking this method with the pass currently being compiled. * @param regCache The register cache used during the compilation. * @param targetReg The register to contain the shadow coverage * @return * @inheritDoc away3d * Gets the fragment code for combining this method with a cascaded shadow map method. * @param vo The MethodVO object linking this method with the pass currently being compiled. * @param regCache The register cache used during the compilation. * @param decodeRegister The register containing the data to decode the shadow map depth value. * @param depthTexture The texture containing the shadow map. * @param depthProjection The projection of the fragment relative to the light. * @param targetRegister The register to contain the shadow coverage * @return * @inheritDoc away3d * Sets the method state for cascade shadow mapping. * Creates a new SimpleShadowMapMethodBase object. * @param castingLight The light used to cast shadows. * SimpleShadowMapMethodBase provides an abstract method for simple (non-wrapping) shadow map methods. <_grainTexture static="1"> <_grainUsages static="1"> <_grainBitmapData static="1"> <_depthMapSize> <_range expr="1"> 1 <_numSamples> * The amount of samples to take for dithering. Minimum 1, maximum 24. The actual maximum may depend on the * complexity of the shader. * @inheritDoc * @inheritDoc * The range in the shadow map in which to distribute the samples. * Creates a texture containing the dithering noise texture. * @inheritDoc * @inheritDoc * @inheritDoc * Get the actual shader code for shadow mapping * @param regCache The register cache managing the registers. * @param depthMapRegister The texture register containing the depth map. * @param decReg The register containing the depth map decoding data. * @param targetReg The target register to add the shadow coverage. * Adds the code for another tap to the shader code. * @param uvReg The uv register for the tap. * @param depthMapRegister The texture register containing the depth map. * @param decReg The register containing the depth map decoding data. * @param targetReg The target register to add the tap comparison result. * @param regCache The register cache managing the registers. * @return * @inheritDoc * @inheritDoc { numSamples : 4 } * Creates a new DitheredShadowMapMethod object. * @param castingLight The light casting the shadows * @param numSamples The amount of samples to take for dithering. Minimum 1, maximum 24. * DitheredShadowMapMethod provides a soft shadowing technique by randomly distributing sample points differently for each fragment. <_cubeTexture> * @inheritDoc * @inheritDoc * The cube environment map to use for the diffuse lighting. * @inheritDoc * @inheritDoc * Creates a new EnvMapDiffuseMethod object. * @param envMap The cube environment map to use for the diffuse lighting. * EnvMapDiffuseMethod provides a diffuse shading method that uses a diffuse irradiance environment map to * approximate global lighting rather than lights. <_cubeTexture> <_alpha> <_mask> * An optional texture to modulate the reflectivity of the surface. * @inheritDoc * The cubic environment map containing the reflected scene. * @inheritDoc * The reflectivity of the surface. * @inheritDoc * @inheritDoc { alpha : 1 } * Creates an EnvMapMethod object. * @param envMap The environment map containing the reflected scene. * @param alpha The reflectivity of the surface. * EnvMapMethod provides a material method to perform reflection mapping using cube maps. * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * Creates a new BasicDiffuseMethod object. * * @param castingLight The light casting the shadow * DitheredShadowMapMethod provides a softened shadowing technique by bilinearly interpolating shadow comparison * results of neighbouring pixels. <_minDistance expr="0"> 0 <_maxDistance expr="1000"> 1000 <_fogColor> <_fogR> <_fogG> <_fogB> * @inheritDoc * @inheritDoc * The distance from which the fog starts appearing. * The distance at which the fog is densest. * The colour of the fog. * @inheritDoc * @inheritDoc { fogColor : 0x808080 } * Creates a new FogMethod object. * @param minDistance The distance from which the fog starts appearing. * @param maxDistance The distance at which the fog is densest. * @param fogColor The colour of the fog. * FogMethod provides a method to add distance-based fog to a material. <_cubeTexture> <_fresnelPower expr="5"> 5 <_normalReflectance expr="0"> 0 <_alpha> <_mask> * @inheritDoc * @inheritDoc * An optional texture to modulate the reflectivity of the surface. * The power used in the Fresnel equation. Higher values make the fresnel effect more pronounced. Defaults to 5. * The cubic environment map containing the reflected scene. * @inheritDoc * The reflectivity of the surface. * The minimum amount of reflectance, ie the reflectance when the view direction is normal to the surface or light direction. * @inheritDoc * @inheritDoc { alpha : 1 } * Creates an FresnelEnvMapMethod object. * @param envMap The environment map containing the reflected scene. * @param alpha The reflectivity of the material. * FresnelEnvMapMethod provides a method to add fresnel-based reflectivity to an object using cube maps, which gets * stronger as the viewing angle becomes more grazing. <_texture> <_alpha expr="1"> 1 <_normalDisplacement expr="0"> 0 <_normalReflectance expr="0"> 0 <_fresnelPower expr="5"> 5 * The reflectivity of the surface. * The power used in the Fresnel equation. Higher values make the fresnel effect more pronounced. Defaults to 5. * The minimum amount of reflectance, ie the reflectance when the view direction is normal to the surface or light direction. * @inheritDoc * The PlanarReflectionTexture containing a render of the mirrored scene. * * @see away3d.textures.PlanarReflectionTexture * The amount of displacement caused by per-pixel normals. * @inheritDoc * @inheritDoc { alpha : 1 } * Creates a new FresnelPlanarReflectionMethod object. * @param texture The PlanarReflectionTexture containing a render of the mirrored scene. * @param alpha The maximum reflectivity of the surface. * * @see away3d.textures.PlanarReflectionTexture * FresnelPlanarReflectionMethod provides a method to add fresnel-based planar reflections from a * PlanarReflectionTexture object.to a surface, which get stronger as the viewing angle becomes more grazing. This * method can be used for (near-)planar objects such as mirrors or water. * * @see away3d.textures.PlanarReflectionTexture <_dataReg> <_incidentLight> <_fresnelPower expr="5"> 5 <_normalReflectance expr=".028"> .028 * @inheritDoc * Defines whether the fresnel effect should be based on the view angle on the surface (if true), or on the angle between the light and the view. * The power used in the Fresnel equation. Higher values make the fresnel effect more pronounced. Defaults to 5. * @inheritDoc * The minimum amount of reflectance, ie the reflectance when the view direction is normal to the surface or light direction. * @inheritDoc * @inheritDoc * Applies the fresnel effect to the specular strength. * * @param vo The MethodVO object containing the method data for the currently compiled material pass. * @param target The register containing the specular strength in the "w" component, and the half-vector/reflection vector in "xyz". * @param regCache The register cache used for the shader compilation. * @param sharedRegisters The shared registers created by the compiler. * @return The AGAL fragment code for the method. { baseSpecularMethod : null, basedOnSurface : true } * Creates a new FresnelSpecularMethod object. * @param basedOnSurface Defines whether the fresnel effect should be based on the view angle on the surface (if true), or on the angle between the light and the view. * @param baseSpecularMethod The specular method to which the fresnel equation. Defaults to BasicSpecularMethod. * FresnelSpecularMethod provides a specular shading method that causes stronger highlights on grazing view angles. <_gradientTextureRegister> <_gradient> * A texture that contains the light colour based on the angle. This can be used to change the light colour * due to subsurface scattering when the surface faces away from the light. * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * Creates a new GradientDiffuseMethod object. * @param gradient A texture that contains the light colour based on the angle. This can be used to change * the light colour due to subsurface scattering when the surface faces away from the light. * GradientDiffuseMethod is an alternative to BasicDiffuseMethod in which the shading can be modulated with a gradient * to introduce color-tinted shading as opposed to the single-channel diffuse strength. This can be used as a crude * approximation to subsurface scattering (for instance, the mid-range shading for skin can be tinted red to similate * scattered light within the skin attributing to the final colour) * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * Creates a new HardShadowMapMethod object. * HardShadowMapMethod provides the cheapest shadow map method by using a single tap without any filtering. <_worldXYRatio> <_worldXZRatio> * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * Creates a new HeightMapNormalMethod method. * @param heightMap The texture containing the height data. 0 means low, 1 means high. * @param worldWidth The width of the 'world'. This is used to map uv coordinates' u component to scene dimensions. * @param worldHeight The height of the 'world'. This is used to map the height map values to scene dimensions. * @param worldDepth The depth of the 'world'. This is used to map uv coordinates' v component to scene dimensions. * HeightMapNormalMethod provides a normal map method that uses a height map to calculate the normals. BlendMode.MULTIPLY * Indicates the light map should be multiplied with the calculated shading result. * This can be used to add pre-calculated shadows or occlusion. BlendMode.ADD * Indicates the light map should be added into the calculated shading result. * This can be used to add pre-calculated lighting or global illumination. <_blendMode> <_useSecondaryUV> * @inheritDoc * The blend mode with which the light map should be applied to the lighting result. * * @see LightMapDiffuseMethod.ADD * @see LightMapDiffuseMethod.MULTIPLY * The texture containing the light map data. * @inheritDoc * @inheritDoc { baseMethod : null, useSecondaryUV : false, blendMode : BlendMode.MULTIPLY } * Creates a new LightMapDiffuseMethod method. * @param lightMap The texture containing the light map. * @param blendMode The blend mode with which the light map should be applied to the lighting result. * @param useSecondaryUV Indicates whether the secondary UV set should be used to map the light map. * @param baseMethod The diffuse method used to calculate the regular light-based lighting. * LightMapDiffuseMethod provides a diffuse shading method that uses a light map to modulate the calculated diffuse * lighting. It is different from LightMapMethod in that the latter modulates the entire calculated pixel color, rather * than only the diffuse lighting value. BlendMode.MULTIPLY * Indicates the light map should be multiplied with the calculated shading result. BlendMode.ADD * Indicates the light map should be added into the calculated shading result. <_texture> <_blendMode> <_useSecondaryUV> * @inheritDoc * The blend mode with which the light map should be applied to the lighting result. * * @see LightMapMethod.ADD * @see LightMapMethod.MULTIPLY * The texture containing the light map. * @inheritDoc * @inheritDoc { useSecondaryUV : false, blendMode : MULTIPLY } * Creates a new LightMapMethod object. * @param texture The texture containing the light map. * @param blendMode The blend mode with which the light map should be applied to the lighting result. * @param useSecondaryUV Indicates whether the secondary UV set should be used to map the light map. * LightMapMethod provides a method that allows applying a light map texture to the calculated pixel colour. * It is different from LightMapDiffuseMethod in that the latter only modulates the diffuse shading value rather * than the whole pixel colour. true * Resets the values of the value object to their "unused" state. * Creates a new MethodVO object. * MethodVO contains data for a given method for the use within a single material. * This allows methods to be shared across materials while their non-public state differs. * An instance of a concrete EffectMethodBase subclass. * The MethodVO data for the given method containing the material-specific data for a given material/method combination. * Creates a new MethodVOSet object. * @param method The method for which we need to store a MethodVO object. * MethodVOSet provides a EffectMethodBase and MethodVO combination to be used by a material, allowing methods * to be shared across different materials while their internal state changes. <_baseMethod> <_fadeRatio> <_nearShadowMapper> * The base shadow map method on which this method's shading is based. * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * The amount of shadow fading to the outer shadow area. A value of 1 would mean the shadows start fading from the camera's near plane. * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * Called when the base method's shader code is invalidated. { fadeRatio : .1 } * Creates a new NearShadowMapMethod object. * @param baseMethod The shadow map sampling method used to sample individual cascades (fe: HardShadowMapMethod, SoftShadowMapMethod) * @param fadeRatio The amount of shadow fading to the outer shadow area. A value of 1 would mean the shadows start fading from the camera's near plane. * NearShadowMapMethod provides a shadow map method that restricts the shadowed area near the camera to optimize * shadow map usage. This method needs to be used in conjunction with a NearDirectionalShadowMapper. * * @see away3d.lights.shadowmaps.NearDirectionalShadowMapper <_outlinePass> * @inheritDoc * Indicates whether or not strokes should be potentially drawn over the existing model. * Set this to true to draw outlines for geometry overlapping in the view, useful to achieve a cel-shaded drawing outline. * Setting this to false will only cause the outline to appear around the 2D projection of the geometry. * The colour of the outline. * The size of the outline. * @inheritDoc * @inheritDoc * @inheritDoc { dedicatedWaterProofMesh : false, showInnerLines : true, outlineSize : 1, outlineColor : 0x000000 } * Creates a new OutlineMethod object. * @param outlineColor The colour of the outline stroke * @param outlineSize The size of the outline stroke * @param showInnerLines Indicates whether or not strokes should be potentially drawn over the existing model. * @param dedicatedWaterProofMesh Used to stitch holes appearing due to mismatching normals for overlapping vertices. Warning: this will create a new mesh that is incompatible with animations! * OutlineMethod provides a shading method to add outlines to an object. * @inheritDoc * Creates a new PhongSpecularMethod object. * PhongSpecularMethod provides a specular method that provides Phong highlights. <_texture> <_alpha expr="1"> 1 <_normalDisplacement expr="0"> 0 * @inheritDoc * The reflectivity of the surface. * The PlanarReflectionTexture used to render the reflected view. * The amount of displacement on the surface, for use with water waves. * @inheritDoc * @inheritDoc { alpha : 1 } * Creates a new PlanarReflectionMethod * @param texture The PlanarReflectionTexture used to render the reflected view. * @param alpha The reflectivity of the surface. * PlanarReflectionMethod is a material method that adds reflections from a PlanarReflectionTexture object. * * @see away3d.textures.PlanarReflectionTexture BlendMode.MULTIPLY BlendMode.ADD BlendMode.DIFFERENCE <_projector> <_uvVarying> <_projMatrix expr="new Matrix3D()"> new Matrix3D() <_mode> * @inheritDoc * @inheritDoc * The blend mode with which the texture is blended unto the object. * ProjectiveTextureMethod.MULTIPLY can be used to project shadows. To prevent clamping, the texture's alpha should be white! * ProjectiveTextureMethod.ADD can be used to project light, such as a slide projector or light coming through stained glass. To prevent clamping, the texture's alpha should be black! * ProjectiveTextureMethod.MIX provides normal alpha blending. To prevent clamping, the texture's alpha should be transparent! * The TextureProjector object that defines the projection properties as well as the texture. * * @see away3d.entities.TextureProjector * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc { mode : MULTIPLY } * Creates a new ProjectiveTextureMethod object. * * @param projector The TextureProjector object that defines the projection properties as well as the texture. * @param mode The blend mode with which the texture is blended unto the surface. * * @see away3d.entities.TextureProjector * ProjectiveTextureMethod is a material method used to project a texture unto the surface of an object. * This can be used for various effects apart from acting like a normal projector, such as projecting fake shadows * unto a surface, the impact of light coming through a stained glass window, ... <_envMap> <_dispersionR expr="0"> 0 <_dispersionG expr="0"> 0 <_dispersionB expr="0"> 0 <_useDispersion> <_refractionIndex> <_alpha expr="1"> 1 * @inheritDoc * @inheritDoc * The cube environment map to use for the refraction. * The refractive index of the material. * The amount of chromatic dispersion of the red channel. Defaults to 0 (none). * The amount of chromatic dispersion of the green channel. Defaults to 0 (none). * The amount of chromatic dispersion of the blue channel. Defaults to 0 (none). * The amount of transparency of the object. Warning: the alpha applies to the refracted color, not the actual * material. A value of 1 will make it appear fully transparent. * @inheritDoc * @inheritDoc { dispersionB : 0, dispersionG : 0, dispersionR : 0, refractionIndex : .1 } * Creates a new RefractionEnvMapMethod object. Example values for dispersion are: dispersionR: -0.03, dispersionG: -0.01, dispersionB: = .0015 * @param envMap The environment map containing the refracted scene. * @param refractionIndex The refractive index of the material. * @param dispersionR The amount of chromatic dispersion of the red channel. Defaults to 0 (none). * @param dispersionG The amount of chromatic dispersion of the green channel. Defaults to 0 (none). * @param dispersionB The amount of chromatic dispersion of the blue channel. Defaults to 0 (none). * RefractionEnvMapMethod provides a method to add refracted transparency based on cube maps. "add" "multiply" "mix" <_color> <_blendMode> <_colorR> <_colorG> <_colorB> <_strength> <_power> * @inheritDoc * @inheritDoc * The blend mode with which to add the light to the object. * * RimLightMethod.MULTIPLY multiplies the rim light with the material's colour. * RimLightMethod.ADD adds the rim light with the material's colour. * RimLightMethod.MIX provides normal alpha blending. * The color of the rim light. * The strength of the rim light. * The power of the rim light. Higher values will result in a higher edge fall-off. * @inheritDoc * @inheritDoc { blend : "mix", power : 2, strength : .4, color : 0xffffff } * Creates a new RimLightMethod. * @param color The colour of the rim light. * @param strength The strength of the rim light. * @param power The power of the rim light. Higher values will result in a higher edge fall-off. * @param blend The blend mode with which to add the light to the object. * RimLightMethod provides a method to add rim lighting to a material. This adds a glow-like effect to edges of objects. away3d away3d away3d away3d away3d <_colorTransformMethod> away3d <_colorTransformMethodVO> away3d <_normalMethod> away3d <_normalMethodVO> away3d <_ambientMethod> away3d <_ambientMethodVO> away3d <_shadowMethod> away3d <_shadowMethodVO> away3d <_diffuseMethod> away3d <_diffuseMethodVO> away3d <_specularMethod> away3d <_specularMethodVO> away3d <_methods> away3d * Called when any method's code is invalidated. * Invalidates the material's shader code. * The method used to generate the per-pixel normals. * The method that provides the ambient lighting contribution. * The method used to render shadows cast on this surface, or null if no shadows are to be rendered. * The method that provides the diffuse lighting contribution. * The method to perform specular shading. * @private * Disposes the object. * Removes all listeners from a method. * Adds a method to change the material after all lighting is performed. * @param method The method to be added. * Queries whether a given effect method was added to the material. * * @param method The method to be queried. * @return true if the method was added to the material, false otherwise. * Inserts a method to change the material after all lighting is performed at the given index. * @param method The method to be added. * @param index The index of the method's occurrence * Returns the method added at the given index. * @param index The index of the method to retrieve. * @return The method at the given index. * The number of "effect" methods added to the material. * Removes a method from the pass. * @param method The method to be removed. * Creates a new ShaderMethodSetup object. * ShaderMethodSetup contains the method configuration for an entire material. <_texture2> <_normalTextureRegister2> <_useSecondNormalMap> <_water1OffsetX expr="0"> 0 <_water1OffsetY expr="0"> 0 <_water2OffsetX expr="0"> 0 <_water2OffsetY expr="0"> 0 * @inheritDoc * @inheritDoc * The translation of the first wave layer along the X-axis. * The translation of the first wave layer along the Y-axis. * The translation of the second wave layer along the X-axis. * The translation of the second wave layer along the Y-axis. * @inheritDoc * A second normal map that will be combined with the first to create a wave-like animation pattern. * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * Creates a new SimpleWaterNormalMethod object. * @param waveMap1 A normal map containing one layer of a wave structure. * @param waveMap2 A normal map containing a second layer of a wave structure. * SimpleWaterNormalMethod provides a basic normal map method to create water ripples by translating two wave normal maps. <_range expr="1"> 1 <_numSamples> <_offsets> * The amount of samples to take for dithering. Minimum 1, maximum 32. The actual maximum may depend on the * complexity of the shader. * The range in the shadow map in which to distribute the samples. * @inheritDoc * @inheritDoc * @inheritDoc * Adds the code for another tap to the shader code. * @param uv The uv register for the tap. * @param texture The texture register containing the depth map. * @param decode The register containing the depth map decoding data. * @param target The target register to add the tap comparison result. * @param regCache The register cache managing the registers. * @return * @inheritDoc * @inheritDoc * Get the actual shader code for shadow mapping * @param regCache The register cache managing the registers. * @param depthTexture The texture register containing the depth map. * @param decodeRegister The register containing the depth map decoding data. * @param targetReg The target register to add the shadow coverage. * @param dataReg The register containing additional data. { range : 1, numSamples : 5 } * Creates a new BasicDiffuseMethod object. * * @param castingLight The light casting the shadows * @param numSamples The amount of samples to take for dithering. Minimum 1, maximum 32. * SoftShadowMapMethod provides a soft shadowing technique by randomly distributing sample points. <_depthPass> <_lightProjVarying> <_propReg> <_scattering> <_translucency expr="1"> 1 <_lightColorReg> <_scatterColor expr="0xffffff"> 0xffffff <_colorReg> <_decReg> <_scatterR expr="1.0"> 1.0 <_scatterG expr="1.0"> 1.0 <_scatterB expr="1.0"> 1.0 <_targetReg> * @inheritDoc * The amount by which the light scatters. It can be used to set the translucent surface's thickness. Use low * values for skin. * The translucency of the object. * The colour of the "insides" of the object, ie: the colour the light becomes after leaving the object. * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * Generates the code for this method { depthMapOffset : 15, depthMapSize : 512 } * Creates a new SubsurfaceScatteringDiffuseMethod object. * @param depthMapSize The size of the depth map used. * @param depthMapOffset The amount by which the rendered object will be inflated, to prevent depth map rounding errors. * SubsurfaceScatteringDiffuseMethod provides a depth map-based diffuse shading method that mimics the scattering of * light inside translucent surfaces. It allows light to shine through an object and to soften the diffuse shading. * It can be used for candle wax, ice, skin, ... <_blendingTexture> <_splats> <_numSplattingLayers> <_tileData> * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc { uvReg : null } * Gets the sample code for a single splat. * Creates a new TerrainDiffuseMethod. * @param splatTextures An array of Texture2DProxyBase containing the detailed textures to be tiled. * @param blendingTexture The texture containing the blending data. The red, green, and blue channels contain the blending values for each of the textures in splatTextures, respectively. * @param tileData The amount of times each splat texture needs to be tiled. The first entry in the array applies to the base texture, the others to the splats. If omitted, the default value of 50 is assumed for each. * TerrainDiffuseMethod provides a diffuse method that uses different tiled textures with alpha masks to create a * large surface with high detail and less apparent tiling. * @inheritDoc * Creates a new BasicDiffuseMethod object. * * @param castingLight The light casting the shadow "Please consider any of the superior shadow map methods: SoftShadowMapMethod or DitheredShadowMapMethod" <_wrapDataRegister> <_wrapFactor> * @inheritDoc * A factor to indicate the amount by which the light is allowed to wrap. * @inheritDoc * @inheritDoc * @inheritDoc { wrapFactor : .5 } * Creates a new WrapDiffuseMethod object. * @param wrapFactor A factor to indicate the amount by which the light is allowed to wrap * WrapDiffuseMethod is an alternative to BasicDiffuseMethod in which the light is allowed to be "wrapped around" the normally dark area, to some extent. * It can be used as a crude approximation to Oren-Nayar or simple subsurface scattering. <_previousUsedStreams expr="Vector.ofArray([0, 0, 0, 0, 0, 0, 0, 0])" line="89" static="1"> Vector.ofArray([0, 0, 0, 0, 0, 0, 0, 0]) <_previousUsedTexs expr="Vector.ofArray([0, 0, 0, 0, 0, 0, 0, 0])" line="90" static="1"> Vector.ofArray([0, 0, 0, 0, 0, 0, 0, 0]) away3d <_material> <_animationSet> <_program3Ds expr="new Vector<Program3D>(8)"> (8)]]> away3d <_program3Dids expr="Vector.ofArray([-1, -1, -1, -1, -1, -1, -1, -1])"> Vector.ofArray([-1, -1, -1, -1, -1, -1, -1, -1]) away3d <_context3Ds expr="new Vector<Context3D>(8)"> (8)]]> <_numUsedStreams expr="0"> 0 <_numUsedTextures expr="0"> 0 <_numUsedVertexConstants expr="0"> 0 <_numUsedFragmentConstants expr="0"> 0 <_numUsedVaryings expr="0"> 0 <_smooth expr="true"> true <_repeat expr="false"> false <_mipmap expr="true"> true <_anisotropy expr="Anisotropy.ANISOTROPIC2X"> Anisotropy.ANISOTROPIC2X <_depthCompareMode expr="Context3DCompareMode.LESS_EQUAL"> Context3DCompareMode.LESS_EQUAL <_blendFactorSource expr="Context3DBlendFactor.ONE"> Context3DBlendFactor.ONE <_blendFactorDest expr="Context3DBlendFactor.ZERO"> Context3DBlendFactor.ZERO <_enableBlending> <_bothSides> <_lightPicker> <_animatableAttributes expr="Vector.ofArray(["va0"])"> Vector.ofArray(["va0"]) <_animationTargetRegisters expr="Vector.ofArray(["vt0"])"> Vector.ofArray(["vt0"]) <_shadedTarget expr=""ft0""> "ft0" <_defaultCulling expr="Context3DTriangleFace.BACK"> Context3DTriangleFace.BACK <_renderToTexture> <_oldTarget> <_oldSurface> <_oldDepthStencil> <_oldRect> <_alphaPremultiplied> <_needFragmentAnimation> <_needUVAnimation> <_UVTarget> <_UVSource> <_agalVersion expr="1"> 1 <_writeDepth expr="true"> true * The material to which this pass belongs. * Indicate whether this pass should write to the depth buffer or not. Ignored when blending is enabled. * Defines whether any used textures should use mipmapping. * Indicates the number of Anisotropic filtering samples to take for mipmapping * Defines whether smoothing should be applied to any used textures. * Defines whether textures should be tiled. * Defines whether or not the material should perform backface culling. * The depth compare mode used to render the renderables using this material. * * @see openfl.display3D.Context3DCompareMode * Returns the animation data set adding animations to the material. * Specifies whether this pass renders to texture * Cleans up any resources used by the current object. * @param deep Indicates whether other resources should be cleaned up, that could potentially be shared across different instances. * The amount of used vertex streams in the vertex code. Used by the animation code generation to know from which index on streams are available. * The amount of used vertex constants in the vertex code. Used by the animation code generation to know from which index on registers are available. * The amount of used fragment constants in the fragment code. Used by the animation code generation to know from which index on registers are available. * Indicates whether the pass requires any UV animatin code. away3d * Sets up the animation state. This needs to be called before render() * * @private away3d * Renders an object to the current render target. * * @private away3d * Returns the vertex AGAL code for the material. away3d * Returns the fragment AGAL code for the material. *
  • BlendMode.NORMAL: No blending, unless the material inherently needs it
  • *
  • BlendMode.LAYER: Force blending. This will draw the object the same as NORMAL, but without writing depth writes.
  • *
  • BlendMode.MULTIPLY
  • *
  • BlendMode.ADD
  • *
  • BlendMode.ALPHA
  • * ]]>
    away3d * Sets the render state for the pass that is independent of the rendered object. This needs to be called before * calling renderPass. Before activating a pass, the previously used pass needs to be deactivated. * @param stage3DProxy The Stage3DProxy object which is currently used for rendering. * @param camera The camera from which the scene is viewed. * @private away3d * Clears the render state for the pass. This needs to be called before activating another pass. * @param stage3DProxy The Stage3DProxy used for rendering * * @private { updateMaterial : true } away3d * Marks the shader program as invalid, so it will be recompiled before the next render. * * @param updateMaterial Indicates whether the invalidation should be performed on the entire material. Should always pass "true" unless it's called from the material itself. away3d * Compiles the shader program. * @param polyOffsetReg An optional register that contains an amount by which to inflate the model (used in single object depth map rendering). away3d * The light picker used by the material to provide lights to the material if it supports lighting. * * @see away3d.materials.lightpickers.LightPickerBase * @see away3d.materials.lightpickers.StaticLightPicker away3d * Called when the light picker's configuration changes. * Implemented by subclasses if the pass uses lights to update the shader. * Indicates whether visible textures (or other pixels) used by this material have * already been premultiplied. Toggle this if you are seeing black halos around your * blended alpha edges. { renderToTexture : false } * Creates a new MaterialPassBase object. * * @param renderToTexture Indicates whether this pass is a render-to-texture pass. * MaterialPassBase provides an abstract base class for material shader passes. A material pass constitutes at least * a render call per required renderable.
    <_passes public="1"> <_passesDirty public="1"> <_specularLightSources expr="0x01"> 0x01 <_diffuseLightSources expr="0x03"> 0x03 <_vertexCode> <_fragmentLightCode> <_framentPostLightCode> <_vertexConstantData expr="new Vector<Float>()"> ()]]> <_fragmentConstantData expr="new Vector<Float>()"> ()]]> <_commonsDataIndex> <_probeWeightsIndex> <_uvBufferIndex> <_secondaryUVBufferIndex> <_normalBufferIndex> <_tangentBufferIndex> <_sceneMatrixIndex> <_sceneNormalMatrixIndex> <_lightFragmentConstantIndex> <_cameraPositionIndex> <_uvTransformIndex> <_uvTransformIndex2> <_lightProbeDiffuseIndices> <_lightProbeSpecularIndices> <_ambientLightR> <_ambientLightG> <_ambientLightB> <_compiler> <_methodSetup> <_usingSpecularMethod> <_usesNormals> <_preserveAlpha expr="true"> true <_animateUVs> <_animateUVs2> <_numPointLights> <_numDirectionalLights> <_numLightProbes> <_enableLightFallOff expr="true"> true <_forceSeparateMVP> * Whether or not to use fallOff and radius properties for lights. This can be used to improve performance and * compatibility for constrained mode. * Indicates whether the screen projection should be calculated by forcing a separate scene matrix and * view-projection matrix. This is used to prevent rounding errors when using multiple passes with different * projection code. * The amount of point lights that need to be supported. * The amount of directional lights that need to be supported. * The amount of light probes that need to be supported. * @inheritDoc * Resets the compilation state. * * @param profile The compatibility profile used by the renderer. * Updates the amount of used register indices. * Initializes the unchanging constant data for this material. * Initializes the compiler for this pass. * @param profile The compatibility profile used by the renderer. * Factory method to create a concrete compiler object for this pass. * @param profile The compatibility profile used by the renderer. * Copies the shader's properties from the compiler. * Updates the indices for various registers. * Indicates whether the output alpha value should remain unchanged compared to the material's original alpha. * Indicate whether UV coordinates need to be animated using the renderable's transformUV matrix. * Indicate whether UV coordinates need to be animated using the renderable's transformUV matrix. * @inheritDoc * @inheritDoc * The normal map to modulate the direction of the surface for each texel. The default normal method expects * tangent-space normal maps, but others could expect object-space maps. * The method used to generate the per-pixel normals. Defaults to BasicNormalMethod. * The method that provides the ambient lighting contribution. Defaults to BasicAmbientMethod. * The method used to render shadows cast on this surface, or null if no shadows are to be rendered. Defaults to null. * The method that provides the diffuse lighting contribution. Defaults to BasicDiffuseMethod. * The method that provides the specular lighting contribution. Defaults to BasicSpecularMethod. * Initializes the pass. * @inheritDoc { updateMaterial : true } * @inheritDoc * Adds any possible passes needed by the used methods. * Adds internal passes to the material. * * @param passes The passes to add. * Initializes the default UV transformation matrix. * Initializes the default UV transformation matrix. * Initializes commonly required constant values. * Cleans up the after compiling. * Updates method constants if they have changed. * Updates constant data render state used by the lights. This method is optional for subclasses to implement. * Updates constant data render state used by the light probes. This method is optional for subclasses to implement. * Called when any method's shader code is invalidated. * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * Indicates whether the shader uses any light probes. * Indicates whether the shader uses any lights. * @inheritDoc * Define which light source types to use for specular reflections. This allows choosing between regular lights * and/or light probes for specular reflections. * * @see away3d.materials.LightSources * Define which light source types to use for diffuse reflections. This allows choosing between regular lights * and/or light probes for diffuse reflections. * * @see away3d.materials.LightSources * Creates a new CompiledPass object. * @param material The material to which this pass belongs. * CompiledPass forms an abstract base class for the default compiled pass materials provided by Away3D, * using material methods to define their appearance. <_data> <_alphaThreshold expr="0"> 0 <_alphaMask> * The minimum alpha value for which pixels should be drawn. This is used for transparency that is either * invisible or entirely opaque, often used with textures for foliage, etc. * Recommended values are 0 to disable alpha, or 0.5 to create smooth edges. Default value is 0 (disabled). * A texture providing alpha data to be able to prevent semi-transparent pixels to write to the alpha mask. * Usually the diffuse texture when alphaThreshold is used. * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * Creates a new DepthMapPass object. * DepthMapPass is a pass that writes depth values to a depth map as a 32-bit value exploded over the 4 texture channels. * This is used to render shadow maps, depth maps, etc. <_fragmentData> <_vertexData> <_alphaThreshold> <_alphaMask> * The minimum alpha value for which pixels should be drawn. This is used for transparency that is either * invisible or entirely opaque, often used with textures for foliage, etc. * Recommended values are 0 to disable alpha, or 0.5 to create smooth edges. Default value is 0 (disabled). * A texture providing alpha data to be able to prevent semi-transparent pixels to write to the alpha mask. * Usually the diffuse texture when alphaThreshold is used. away3d * @inheritDoc away3d * @inheritDoc away3d * @inheritDoc away3d * @inheritDoc * Creates a new DistanceMapPass object. * DistanceMapPass is a pass that writes distance values to a depth map as a 32-bit value exploded over the 4 texture channels. * This is used to render omnidirectional shadow maps. <_includeCasters expr="true"> true <_tangentSpace> <_lightVertexConstantIndex> <_inverseSceneMatrix expr="new Vector<Float>()"> ()]]> <_directionalLightsOffset> <_pointLightsOffset> <_lightProbesOffset> <_maxLights expr="3"> 3 * Indicates the offset in the light picker's directional light vector for which to start including lights. * This needs to be set before the light picker is assigned. * Indicates the offset in the light picker's point light vector for which to start including lights. * This needs to be set before the light picker is assigned. * Indicates the offset in the light picker's light probes vector for which to start including lights. * This needs to be set before the light picker is assigned. * @inheritDoc * Indicates whether or not shadow casting lights need to be included. * @inheritDoc * Calculates the amount of directional lights this material will support. * @param numDirectionalLights The maximum amount of directional lights to support. * @return The amount of directional lights this material will support, bounded by the amount necessary. * Calculates the amount of point lights this material will support. * @param numDirectionalLights The maximum amount of point lights to support. * @return The amount of point lights this material will support, bounded by the amount necessary. * Calculates the amount of light probes this material will support. * @param numDirectionalLights The maximum amount of light probes to support. * @return The amount of light probes this material will support, bounded by the amount necessary. * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * Indicates whether any light probes are used to contribute to the specular shading. * Indicates whether any light probes are used to contribute to the diffuse shading. * @inheritDoc * @inheritDoc * Creates a new LightingPass objects. * * @param material The material to which this pass belongs. * LightingPass is a shader pass that uses shader methods to compile a complete program. It only includes the lighting * methods. It's used by multipass materials to accumulate lighting passes. * * @see away3d.materials.MultiPassMaterialBase ([1, 1, 1, 1])]]> ([0, 0, 1, 1])]]> <_constants expr="new Vector<Float>(4, true)"> (4, true)]]> <_calcMatrix> <_thickness> * @inheritDoc * @inheritDoc * @inheritDoc * todo: keep maps in dictionary per renderable * @inheritDoc * @inheritDoc * Creates a new OrthoSegmentPass object. * * @param thickness the thickness of the segments to be drawn. * OrthoSegmentPass is a material pass that draws wireframe segments. <_outlineColor> <_colorData> <_offsetData> <_showInnerLines> <_outlineMeshes> <_dedicatedMeshes> * Clears the dedicated mesh associated with a Mesh object to free up memory. * Disposes a single dedicated sub-mesh. * @inheritDoc * Indicates whether or not strokes should be potentially drawn over the existing model. * Set this to true to draw outlines for geometry overlapping in the view, useful to achieve a cel-shaded drawing outline. * Setting this to false will only cause the outline to appear around the 2D projection of the geometry. * The colour of the outline. * The size of the outline. * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * Creates a new mesh in which vertices with the same position are collapsed into a single vertex. This * will prevent gaps appearing where vertex normals are different for a seemingly single vertex. * * @param source The ISubGeometry object for which to generate a dedicated mesh. { dedicatedMeshes : false, showInnerLines : true, outlineSize : 20, outlineColor : 0x000000 } * Creates a new OutlinePass object. * @param outlineColor The colour of the outline stroke * @param outlineSize The size of the outline stroke * @param showInnerLines Indicates whether or not strokes should be potentially drawn over the existing model. * @param dedicatedWaterProofMesh Used to stitch holes appearing due to mismatching normals for overlapping vertices. Warning: this will create a new mesh that is incompatible with animations! * OutlinePass is a pass that offsets a mesh and draws it in a single colour. This is a pass provided by OutlineMethod. * * @see away3d.materials.methods.OutlineMethod Vector.ofArray([1.0, 1.0, 1.0, 1.0]) Vector.ofArray([0.0, 0.0, -1.0, 0.0]) <_constants expr="new Vector<Float>(4, true)"> (4, true)]]> <_calcMatrix> <_thickness> away3d * @inheritDoc away3d * @inheritDoc away3d * @inheritDoc * todo: keep maps in dictionary per renderable away3d * @inheritDoc away3d * @inheritDoc * Creates a new SegmentPass object. * * @param thickness the thickness of the segments to be drawn. * SegmentPass is a material pass that draws wireframe segments. <_tangentSpace> <_lightVertexConstantIndex> <_inverseSceneMatrix expr="new Vector<Float>()"> ()]]> * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * Creates a new ShadowCasterPass objects. * * @param material The material to which this pass belongs. * ShadowCasterPass is a shader pass that uses shader methods to compile a complete program. It only draws the lighting * contribution for a single shadow-casting light. * * @see away3d.materials.methods.ShadingMethodBase <_textures> <_projections> <_textureSize> <_polyOffset> <_enc> <_projectionTexturesInvalid expr="true"> true * @inheritDoc * Updates the projection textures used to contain the depth renders. * @inheritDoc * @inheritDoc away3d * Gets the depth maps rendered for this object from all lights. * @param renderable The renderable for which to retrieve the depth maps. * @param stage3DProxy The Stage3DProxy object currently used for rendering. * @return A list of depth map textures for all supported lights. away3d * Retrieves the depth map projection maps for all lights. * @param renderable The renderable for which to retrieve the projection maps. * @return A list of projection maps for all supported lights. * @inheritDoc * @inheritDoc { polyOffset : 15, textureSize : 512 } * Creates a new SingleObjectDepthPass object. * @param textureSize The size of the depth map texture to render to. * @param polyOffset The amount by which the rendered object will be inflated, to prevent depth map rounding errors. * * todo: provide custom vertex code to assembler * The SingleObjectDepthPass provides a material pass that renders a single object to a depth map from the point * of view from a light. <_cubeTexture> <_vertexData> * The cube texture to use as the skybox. * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * Creates a new SkyBoxPass object. * SkyBoxPass provides a material pass exclusively used to render sky boxes from a cube texture. <_includeCasters expr="true"> true <_ignoreLights> * @inheritDoc * Indicates whether lights that cast shadows should be included in the pass. * The ColorTransform object to transform the colour of the material with. Defaults to null. * The ColorTransformMethod object to transform the colour of the material with. Defaults to null. * Appends an "effect" shading method to the shader. Effect methods are those that do not influence the lighting * but modulate the shaded colour, used for fog, outlines, etc. The method will be applied to the result of the * methods added prior. * The number of "effect" methods added to the material. * Queries whether a given effect method was added to the material. * * @param method The method to be queried. * @return true if the method was added to the material, false otherwise. * Returns the method added at the given index. * @param index The index of the method to retrieve. * @return The method at the given index. * Adds an effect method at the specified index amongst the methods already added to the material. Effect * methods are those that do not influence the lighting but modulate the shaded colour, used for fog, outlines, * etc. The method will be applied to the result of the methods with a lower index. * Removes an effect method from the material. * @param method The method to be removed. * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * Indicates whether any light probes are used to contribute to the specular shading. * Indicates whether any light probes are used to contribute to the diffuse shading. * @inheritDoc * @inheritDoc * @inheritDoc away3d * Indicates whether lights should be ignored in this pass. This is used when only effect methods are rendered in * a multipass material. * Creates a new SuperShaderPass objects. * * @param material The material to which this material belongs. * SuperShaderPass is a shader pass that uses shader methods to compile a complete program. It includes all methods * associated with a material. * * @see away3d.materials.methods.ShadingMethodBase <_defaultTextureBitmapData static="1"> <_defaultMaterial static="1"> <_defaultTexture static="1"> { renderable : null } { renderable : null } * The source, url, to the video file * Indicates whether the player should loop when video finishes * Master volume/gain * Panning * Mutes/unmutes the video's audio. * Provides access to the SoundTransform of the video stream * Get/Set access to the with of the video object * Get/Set access to the height of the video object * Provides access to the Video Object * Indicates whether the video is playing * Indicates whether the video is paused * Start playing (or resume if paused) the video. * Temporarily pause playback. Resume using play(). * Seeks to a given time in the video, specified in seconds, with a precision of three decimal places (milliseconds). * Stop playback and reset playhead. * Called if the player is no longer needed <_matrix expr="new Matrix()" line="15" static="1"> new Matrix() <_rect expr="new Rectangle()" line="16" static="1"> new Rectangle() { side : -1, alpha : false, mipmap : null } * Uploads a BitmapData with mip maps to a target Texture object. * @param source The source BitmapData to upload. * @param target The target Texture to upload to. * @param mipmap An optional mip map holder to avoids creating new instances for fe animated materials. * @param alpha Indicate whether or not the uploaded bitmapData is transparent. * MipmapGenerator is a helper class that uploads BitmapData to a Texture including mipmap levels. <_left> <_right> <_bottom> <_top> <_front> <_back> * Defines the material applied to the left side of the cube. * Defines the material applied to the right side of the cube. * Defines the material applied to the bottom side of the cube. * Defines the material applied to the top side of the cube. * Defines the material applied to the front side of the cube. * Defines the material applied to the back side of the cube. { top : null, right : null, left : null, back : null, front : null } MultipleMaterials object. * Class can hold up to 6 materials. Class is designed to work as typed object for materials setters in a multitude of classes such as Cube, LatheExtrude (with thickness) etc... * * @param front:MaterialBase [optional] The front material. * @param back:MaterialBase [optional] The back material. * @param left:MaterialBase [optional] The left material. * @param right:MaterialBase [optional] The right material. * @param top:MaterialBase [optional] The top material. * @param down:MaterialBase [optional] The down material.]]> <_src> <_video> <_ns> <_nc> <_nsClient> <_soundTransform> <_loop> <_playing> <_paused> <_lastVolume> <_container> { oData : null } { lineThickness : 2, lineColor : 0xffffff } * Create a wireframe map with a texture fill. * @param mesh The Mesh object for which to create the wireframe texture. * @param bitmapData The BitmapData to use as the fill texture. * @param lineColor The wireframe's line colour. * @param lineThickness The wireframe's line thickness. { height : 512, width : 512, fillAlpha : 0, fillColor : 0, lineThickness : 2, lineColor : 0xffffff } * Create a wireframe map with a solid colour fill. * @param mesh The Mesh object for which to create the wireframe texture. * @param lineColor The wireframe's line colour. * @param lineThickness The wireframe's line thickness. * @param fillColor The colour of the wireframe fill. * @param fillAlpha The alpha of the wireframe fill. * @param width The texture's width. * @param height The texture's height. * @return A BitmapData containing the texture underneath the wireframe. * Draws the actual lines. * WireframeMapGenerator is a utility class to generate a wireframe texture for uniquely mapped meshes. CubicPathSegment instances in the path.]]> IPathSegment instances which make up this path.]]> CubicPathSegment at the specified index * @param index The index of the segment * @return A CubicPathSegment instance]]> CubicPathSegment to the end of the path * @param segment]]> { join : false } CubicPathSegment to be removed * @param join Determines if the segments on either side of the removed segment should be adjusted so there is no gap.]]> * Disposes the path and all the segments * Discretizes the segment into a set of sample points. * * @param numSegments The amount of segments to split the sampling in. The amount of points returned is numSegments + 1 { target : null } * Gets a point on the curve * @param t The phase for which to get the point. A number between 0 and 1. * @param target An optional parameter to store the calculation, to avoid creating a new Vector3D object * @return The point on the curve for the given phase <_pointsPerSegment> <_segments> * The number of segments in the Path * returns a given PathSegment from the path (PathSegment holds 3 Vector3D's) * * @param indice uint. the indice of a given PathSegment * @return given PathSegment from the path { join : false } * removes a segment in the path according to id. * * @param index int. The index in path of the to be removed curvesegment * @param join Boolean. If true previous and next segments coordinates are reconnected * Stitches two segments together based on a segment between them. This is an abstract method used by the template method removeSegment and must be overridden by concrete subclasses! * @param start The section of which the end points must be connected with "end" * @param middle The section that was removed and forms the position hint * @param end The section of which the start points must be connected with "start" { target : null } { data : null } { data : null } pointData]]> CubicPathSegment which being quadratic, has one control point. * @see away3d.animators.CubicPathAnimator * @see away3d.paths.CubicPathSegment]]> * Destroys the segment { target : null } * Calculates the position of the curve on this segment. * * @param phase The ratio between the start and end point. * @param target An optional target to store the calculation, to prevent creating a new Vector3D object. * @return * The first anchor point. * The first control point. * The second control point. * The last anchor point. { target : null } * * @param start The first anchor point. * @param control1 The first control point. * @param control2 The second control point. * @param end The last anchor point. * Defines a single segment of a cubic path * @see away3d.paths.CubicPath * returns true if the smoothPath handler is being used. * returns true if the averagePath handler is being used. <_averaged> <_smoothed> * handler will smooth the path using anchors as control vector of the PathSegments * note that this is not dynamic, the PathSegments values are overwrited * handler will average the path using averages of the PathSegments * note that this is not dynamic, the path values are overwrited { closed : false } { data : null } Path object. * * @param aVectors [optional] An array of a series of Vector3D's organized in the following fashion. [a,b,c,a,b,c etc...] a = pEnd, b=pControl (control point), c = v2]]> * Holds information about a single Path definition. * DEBUG OPTION OUT AT THIS TIME OF DEV * Defines the first vector of the PathSegment * Defines the control vector of the PathSegment * Defines the control vector of the PathSegment * nulls the 3 vectors { target : null } * Creates a curved line segment definition required for the Path class. <_geomDirty expr="true"> true <_uvDirty expr="true"> true <_subGeometry> * @inheritDoc * @inheritDoc * @inheritDoc { scaleV : 1, scaleU : 1 } * @inheritDoc * @inheritDoc * Builds the primitive's geometry when invalid. This method should not be called directly. The calling should * be triggered by the invalidateGeometry method (and in turn by updateGeometry). * Builds the primitive's uv coordinates when invalid. This method should not be called directly. The calling * should be triggered by the invalidateUVs method (and in turn by updateUVs). * Invalidates the primitive's geometry, causing it to be updated when requested. * Invalidates the primitive's uv coordinates, causing them to be updated when requested. * Updates the geometry when invalid. * Updates the uv coordinates when invalid. * Creates a new PrimitiveBase object. * @param material The material with which to render the object * PrimitiveBase is an abstract base class for mesh primitives, which are prebuilt simple meshes. <_radius> <_height> <_segmentsW> <_segmentsH> <_yUp> * @inheritDoc * @inheritDoc * The radius of the capsule. * The height of the capsule. * Defines the number of horizontal segments that make up the capsule. Defaults to 16. * Defines the number of vertical segments that make up the capsule. Defaults to 15. Must be uneven. * Defines whether the capsule poles should lay on the Y-axis (true) or on the Z-axis (false). { yUp : true, segmentsH : 15, segmentsW : 16, height : 100, radius : 50 } * Creates a new Capsule object. * @param radius The radius of the capsule. * @param height The height of the capsule. * @param segmentsW Defines the number of horizontal segments that make up the capsule. Defaults to 16. * @param segmentsH Defines the number of vertical segments that make up the capsule. Defaults to 15. Must be uneven value. * @param yUp Defines whether the capsule poles should lay on the Y-axis (true) or on the Z-axis (false). * A Capsule primitive mesh. <_topRadius> <_bottomRadius> <_height> <_segmentsW> <_segmentsH> <_topClosed> <_bottomClosed> <_surfaceClosed> <_yUp> <_rawData> <_rawIndices> <_nextVertexIndex> <_currentIndex> <_currentTriangleIndex> <_numVertices> <_stride> <_vertexOffset> * @inheritDoc * @inheritDoc * The radius of the top end of the cylinder. * The radius of the bottom end of the cylinder. * The radius of the top end of the cylinder. * Defines the number of horizontal segments that make up the cylinder. Defaults to 16. * Defines the number of vertical segments that make up the cylinder. Defaults to 1. * Defines whether the top end of the cylinder is closed (true) or open. * Defines whether the bottom end of the cylinder is closed (true) or open. * Defines whether the cylinder poles should lay on the Y-axis (true) or on the Z-axis (false). { yUp : true, surfaceClosed : true, bottomClosed : true, topClosed : true, segmentsH : 1, segmentsW : 16, height : 100, bottomRadius : 50, topRadius : 50 } * Creates a new Cylinder object. * @param topRadius The radius of the top end of the cylinder. * @param bottomRadius The radius of the bottom end of the cylinder * @param height The radius of the bottom end of the cylinder * @param segmentsW Defines the number of horizontal segments that make up the cylinder. Defaults to 16. * @param segmentsH Defines the number of vertical segments that make up the cylinder. Defaults to 1. * @param topClosed Defines whether the top end of the cylinder is closed (true) or open. * @param bottomClosed Defines whether the bottom end of the cylinder is closed (true) or open. * @param yUp Defines whether the cone poles should lay on the Y-axis (true) or on the Z-axis (false). * A Cylinder primitive mesh. * The radius of the bottom end of the cone. { yUp : true, closed : true, segmentsH : 1, segmentsW : 16, height : 100, radius : 50 } * Creates a new Cone object. * @param radius The radius of the bottom end of the cone * @param height The height of the cone * @param segmentsW Defines the number of horizontal segments that make up the cone. Defaults to 16. * @param segmentsH Defines the number of vertical segments that make up the cone. Defaults to 1. * @param yUp Defines whether the cone poles should lay on the Y-axis (true) or on the Z-axis (false). * A UV Cone primitive mesh. <_width> <_height> <_depth> <_tile6> <_segmentsW> <_segmentsH> <_segmentsD> * The size of the cube along its X-axis. * The size of the cube along its Y-axis. * The size of the cube along its Z-axis. * The type of uv mapping to use. When false, the entire image is mapped on each face. * When true, a texture will be subdivided in a 3x2 grid, each used for a single face. * Reading the tiles from left to right, top to bottom they represent the faces of the * cube in the following order: bottom, top, back, left, front, right. This creates * several shared edges (between the top, front, left and right faces) which simplifies * texture painting. * The number of segments that make up the cube along the X-axis. Defaults to 1. * The number of segments that make up the cube along the Y-axis. Defaults to 1. * The number of segments that make up the cube along the Z-axis. Defaults to 1. * @inheritDoc * @inheritDoc { tile6 : true, segmentsD : 1, segmentsH : 1, segmentsW : 1, depth : 100, height : 100, width : 100 } * Creates a new Cube object. * @param width The size of the cube along its X-axis. * @param height The size of the cube along its Y-axis. * @param depth The size of the cube along its Z-axis. * @param segmentsW The number of segments that make up the cube along the X-axis. * @param segmentsH The number of segments that make up the cube along the Y-axis. * @param segmentsD The number of segments that make up the cube along the Z-axis. * @param tile6 The type of uv mapping to use. When true, a texture will be subdivided in a 2x3 grid, each used for a single face. When false, the entire image is mapped on each face. * A Cube primitive mesh. <_segmentsBase public="1"> <_thickness public="1"> <_start public="1"> <_end public="1"> <_startR public="1"> <_startG public="1"> <_startB public="1"> <_endR public="1"> <_endG public="1"> <_endB public="1"> <_index public="1" expr="-1"> -1 <_subSetIndex public="1" expr="-1"> -1 <_startColor public="1"> <_endColor public="1"> { thickness : 1, colorEnd : 0x333333, colorStart : 0x333333 } * Defines the starting vertex. * Defines the ending vertex. * Defines the ending vertex. * Defines the startColor * Defines the endColor { thickness : 1, colorEnd : 0x333333, colorStart : 0x333333 } "line" { thickness : 1, color1 : 0x333333, color0 : 0x333333 } * Create a line segment * @param v0 Start position of the line segment * @param v1 Ending position of the line segment * @param color0 Starting color of the line segment * @param color1 Ending colour of the line segment * @param thickness Thickness of the line * A Line Segment primitive. <_controlNet> <_uOrder> <_vOrder> <_numVContolPoints> <_numUContolPoints> <_uSegments> <_vSegments> <_uKnotSequence> <_vKnotSequence> <_mbasis expr="new Vector<Float>()"> ()]]> <_nbasis expr="new Vector<Float>()"> ()]]> <_nplusc> <_mplusc> <_uRange> <_vRange> <_autoGenKnotSeq expr="true"> true <_invert> <_tmpPM expr="new Vector3D()"> new Vector3D() <_tmpP1 expr="new Vector3D()"> new Vector3D() <_tmpP2 expr="new Vector3D()"> new Vector3D() <_tmpN1 expr="new Vector3D()"> new Vector3D() <_tmpN2 expr="new Vector3D()"> new Vector3D() <_rebuildUVs> * Defines the control point net to describe the NURBS surface * Defines the number of control points along the U splines that influence any given point on the curve * Defines the number of control points along the V splines that influence any given point on the curve * Defines the number of control points along the U splines * Defines the number of control points along the V splines * Defines the knot sequence in the U direction that determines where and how the control points * affect the NURBS curve. * Defines the knot sequence in the V direction that determines where and how the control points * affect the NURBS curve. * Defines the number segments (triangle pair) the final curve will be divided into in the U direction * Defines the number segments (triangle pair) the final curve will be divided into in the V direction { target : null } away3d @private { vTol : 0.01, uTol : 0.01, scale : 1, vecOffset : 0 } * Return a 3d point representing the surface point at the required U(0-1) and V(0-1) across the * NURBS curved surface. * * @param uS U position on the surface * @param vS V position on the surface * @param vecOffset Offset the point on the surface by this vector * @param scale Scale of the surface point - should match the Mesh scaling * @param uTol U tolerance for adjacent surface sample to calculate normal * @param vTol V tolerance for adjacent surface sample to calculate normal * @return The offset surface point being returned * away3d @private away3d @private away3d @private * Rebuild the mesh as there is significant change to the structural parameters * * Rebuild the UV coordinates as there is significant change to the structural parameters * * Refresh the mesh without reconstructing all the supporting data. This should be used only * when the control point positions change. * { vKnot : null, uKnot : null, vSegments : 10, uSegments : 10, vOrder : 4, uOrder : 4 } * NURBS primitive generates a segmented mesh that fits the curved surface defined by the specified * control points based on weighting, order influence and knot sequence * * @param cNet Array of control points (WeightedVertex array) * @param uCtrlPnts Number of control points in the U direction * @param vCtrlPnts Number of control points in the V direction * @param init Init object for the mesh * * A NURBS primitive geometry. <_segmentsW> <_segmentsH> <_yUp> <_width> <_height> <_doubleSided> * The number of segments that make up the plane along the X-axis. Defaults to 1. * The number of segments that make up the plane along the Y or Z-axis, depending on whether yUp is true or * false, respectively. Defaults to 1. * Defines whether the normal vector of the plane should point along the Y-axis (true) or Z-axis (false). Defaults to true. * Defines whether the plane will be visible from both sides, with correct vertex normals (as opposed to bothSides on Material). Defaults to false. * The width of the plane. * The height of the plane. * @inheritDoc * @inheritDoc { doubleSided : false, yUp : true, segmentsH : 1, segmentsW : 1, height : 100, width : 100 } * Creates a new Plane object. * @param width The width of the plane. * @param height The height of the plane. * @param segmentsW The number of segments that make up the plane along the X-axis. * @param segmentsH The number of segments that make up the plane along the Y or Z-axis. * @param yUp Defines whether the normal vector of the plane should point along the Y-axis (true) or Z-axis (false). * @param doubleSided Defines whether the plane will be visible from both sides, with correct vertex normals. * A Plane primitive mesh. * The radius of the regular polygon. * The number of sides of the regular polygon. * The number of subdivisions from the edge to the center of the regular polygon. { yUp : true, sides : 16, radius : 100 } * Creates a new RegularPolygon disc object. * @param radius The radius of the regular polygon * @param sides Defines the number of sides of the regular polygon. * @param yUp Defines whether the regular polygon should lay on the Y-axis (true) or on the Z-axis (false). * A UV RegularPolygon primitive mesh. <_geometry> <_material> <_uvTransform expr="new Matrix()"> new Matrix() <_uvTransform2 expr="new Matrix()"> new Matrix() <_animator> * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * The amount of triangles that comprise the SkyBox geometry. * The entity that that initially provided the IRenderable to the render pipeline. * The material with which to render the object. * @inheritDoc * @inheritDoc * @inheritDoc * Builds the geometry that forms the SkyBox * Create a new SkyBox object. * @param cubeMap The CubeMap to use for the sky box's texture. * A SkyBox class is used to render a sky in the scene. It's always considered static and 'at infinity', and as * such it's always centered at the camera's position and sized to exactly fit within the camera's frustum, ensuring * the sky box is always as large as possible without being clipped. <_radius> <_segmentsW> <_segmentsH> <_yUp> * @inheritDoc * @inheritDoc * The radius of the sphere. * Defines the number of horizontal segments that make up the sphere. Defaults to 16. * Defines the number of vertical segments that make up the sphere. Defaults to 12. * Defines whether the sphere poles should lay on the Y-axis (true) or on the Z-axis (false). { yUp : true, segmentsH : 12, segmentsW : 16, radius : 50 } * Creates a new Sphere object. * @param radius The radius of the sphere. * @param segmentsW Defines the number of horizontal segments that make up the sphere. * @param segmentsH Defines the number of vertical segments that make up the sphere. * @param yUp Defines whether the sphere poles should lay on the Y-axis (true) or on the Z-axis (false). * A UV Sphere primitive mesh. <_radius> <_tubeRadius> <_segmentsR> <_segmentsT> <_yUp> <_rawVertexData> <_rawIndices> <_nextVertexIndex> <_currentIndex> <_currentTriangleIndex> <_numVertices> <_vertexStride> <_vertexOffset> * @inheritDoc * @inheritDoc * The radius of the torus. * The radius of the inner tube of the torus. * Defines the number of horizontal segments that make up the torus. Defaults to 16. * Defines the number of vertical segments that make up the torus. Defaults to 8. * Defines whether the torus poles should lay on the Y-axis (true) or on the Z-axis (false). { yUp : true, segmentsT : 8, segmentsR : 16, tubeRadius : 50, radius : 50 } Torus object. * @param radius The radius of the torus. * @param tuebRadius The radius of the inner tube of the torus. * @param segmentsR Defines the number of horizontal segments that make up the torus. * @param segmentsT Defines the number of vertical segments that make up the torus. * @param yUp Defines whether the torus poles should lay on the Y-axis (true) or on the Z-axis (false).]]> * A UV Cylinder primitive mesh. <_geomDirty expr="true"> true <_color> <_thickness> { thickness : 1, color : 0xffffff } <_width> <_height> <_depth> * The size of the cube along its X-axis. * The size of the cube along its Y-axis. * The size of the cube along its Z-axis. * @inheritDoc { thickness : 1, color : 0xFFFFFF, depth : 100, height : 100, width : 100 } * Creates a new WireframeCube object. * @param width The size of the cube along its X-axis. * @param height The size of the cube along its Y-axis. * @param depth The size of the cube along its Z-axis. * @param color The colour of the wireframe lines * @param thickness The thickness of the wireframe lines * A WirefameCube primitive mesh. 2 * Math.PI <_topRadius> <_bottomRadius> <_height> <_segmentsW> <_segmentsH> * Top radius of the cylinder * Bottom radius of the cylinder * The height of the cylinder { thickness : 1, color : 0xFFFFFF, segmentsH : 1, segmentsW : 16, height : 100, bottomRadius : 50, topRadius : 50 } * Creates a new WireframeCylinder instance * @param topRadius Top radius of the cylinder * @param bottomRadius Bottom radius of the cylinder * @param height The height of the cylinder * @param segmentsW Number of radial segments * @param segmentsH Number of vertical segments * @param color The color of the wireframe lines * @param thickness The thickness of the wireframe lines * Generates a wireframd cylinder primitive. "yz" "xy" "xz" <_width> <_height> <_segmentsW> <_segmentsH> <_orientation> * The orientaion in which the plane lies. * The size of the cube along its X-axis. * The size of the cube along its Y-axis. * The number of segments that make up the plane along the X-axis. * The number of segments that make up the plane along the Y-axis. * @inheritDoc { orientation : "yz", thickness : 1, color : 0xFFFFFF, segmentsH : 10, segmentsW : 10 } * Creates a new WireframePlane object. * @param width The size of the cube along its X-axis. * @param height The size of the cube along its Y-axis. * @param segmentsW The number of segments that make up the cube along the X-axis. * @param segmentsH The number of segments that make up the cube along the Y-axis. * @param color The colour of the wireframe lines * @param thickness The thickness of the wireframe lines * @param orientation The orientaion in which the plane lies. * A WireframePlane primitive mesh. "yz" "xy" "xz" <_radius> <_sides> <_orientation> * The orientaion in which the polygon lies. * The radius of the regular polygon. * The number of sides to the regular polygon. * @inheritDoc { orientation : "yz", thickness : 1, color : 0xFFFFFF } * Creates a new WireframeRegularPolygon object. * @param radius The radius of the polygon. * @param sides The number of sides on the polygon. * @param color The colour of the wireframe lines * @param thickness The thickness of the wireframe lines * @param orientation The orientaion in which the plane lies. * A WireframeRegularPolygon primitive mesh. <_segmentsW> <_segmentsH> <_radius> * @inheritDoc { thickness : 1, color : 0xFFFFFF, segmentsH : 12, segmentsW : 16, radius : 50 } * Creates a new WireframeSphere object. * @param radius The radius of the sphere. * @param segmentsW Defines the number of horizontal segments that make up the sphere. * @param segmentsH Defines the number of vertical segments that make up the sphere. * @param color The colour of the wireframe lines * @param thickness The thickness of the wireframe lines * A WireframeSphere primitive mesh "yz" "xy" "xz" <_width> <_height> <_orientation> * The orientation in which the plane lies * The size of the tetrahedron bottom. * The size of the tetrahedron height. * @inheritDoc { orientation : "yz", thickness : 1, color : 0xffffff } * Creates a new WireframeTetrahedron object. * @param width The size of the tetrahedron buttom size. * @param height The size of the tetranhedron height. * @param color The color of the wireframe lines. * @param thickness The thickness of the wireframe lines. * A WireframeTetrahedron primitive mesh <_w> { w : 1, z : 0, y : 0, x : 0 } Vertex object. * * @param x [optional] The local x position of the vertex. Defaults to 0. * @param y [optional] The local y position of the vertex. Defaults to 0. * @param z [optional] The local z position of the vertex. Defaults to 0. * @param w [optional] The local w weight of the vertex. Defaults to 1.]]> * A nurbvertex that simply extends vertex with a w weight property. * Properties x, y, z and w represent a 3d point in space with nurb weighting. <_leftCam> <_rightCam> <_offset> <_focus> <_focusPoint> <_focusInfinity> <_leftCamDirty expr="true"> true <_rightCamDirty expr="true"> true <_focusPointDirty expr="true"> true { lens : null } <_leftTexture> <_rightTexture> <_rttManager> <_program3D> <_method> <_program3DInvalid expr="true"> true <_leftTextureInvalid expr="true"> true <_rightTextureInvalid expr="true"> true { renderMethod : null } <_stereoCam> <_stereoRenderer> <_stereoEnabled> { stereoRenderMethod : null, renderer : null, camera : null, scene : null } openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() <_textureSizeInvalid expr="true"> true <_filterData> <_shaderData> <_sbsData> Adds kerning information relative to a specific other character ID. Retrieve kerning information relative to the given character ID. The unicode ID of the char. The number of points to move the char in x direction on character arrangement. The number of points to move the char in y direction on character arrangement. The number of points the cursor has to be moved to the right for the next char. The width of the character in points. The height of the character in points. Creates a char with a texture and its properties. You don't have to use this class directly in most cases. * The TextField class contains methods that handle bitmap fonts for you.]]> -1 fontSize property of the TextField class to * render the bitmap font in exactly the size it was created.]]> "mini" The font name of the embedded minimal bitmap font. Use this e.g. for debug output. 32 9 10 13 >()]]> Helper objects. Disposes the texture of the bitmap font! Returns a single bitmap char with a certain character ID. Adds a bitmap char with a certain character ID. { result : null } Returns a vector containing all the character IDs that are contained in this font. Checks whether a provided string can be displayed with the font. { letterSpacing : 0, kerning : true, autoScale : true, vAlign : "center", hAlign : "center", fontSize : -1 } Draws text into a Geometry. { letterSpacing : 0, kerning : true, autoScale : true, vAlign : "center", hAlign : "center", fontSize : -1 } Arranges the characters of a text inside a rectangle, adhering to the given settings. * Returns a Vector of CharLocations. The name of the font as it was parsed from the font file. The native size of the font. The height of one line in points. The baseline of the font. This property does not affect text rendering; * it's just an information that may be useful for exact text placement. An offset that moves any generated text along the x-axis (in points). * Useful to make up for incorrect font data. @default 0. An offset that moves any generated text along the y-axis (in points). * Useful to make up for incorrect font data. @default 0. The underlying texture that contains all the chars. { fontXml : null, texture : null } Creates a bitmap font by parsing an Xml file and uses the specified texture. * If you don't pass any data, the "mini" font will be created. AngelCode Bitmap Font Generator or * the Glyph Designer. * This is what the file format looks like: * *
     
     *  <font>
     *	<info face="BranchingMouse" size="40" />
     *	<common lineHeight="40" />
     *	<pages>  <!-- currently, only one page is supported -->
     *	  <page id="0" file="texture.png" />
     *	</pages>
     *	<chars>
     *	  <char id="32" x="60" y="29" width="1" height="1" xoffset="0" yoffset="27" xadvance="8" />
     *	  <char id="33" x="155" y="144" width="9" height="21" xoffset="0" yoffset="6" xadvance="9" />
     *	</chars>
     *	<kernings> <!-- Kerning is optional -->
     *	  <kerning first="83" second="83" amount="-4"/>
     *	</kernings>
     *  </font>
     *  
    * * Pass an instance of this class to the method registerBitmapFont of the * TextField class. Then, set the fontName property of the text field to the * name value of the bitmap font. This will make the text field use the bitmap * font.]]>
    ()]]> ()]]> ()]]> ()]]> * ... * @author P.J.Shand here. * * @param str String to clean * @return The input string, but with a master string only one character larger than it. * @author Jackson Dunstan, JacksonDunstan.com]]> "left" Left alignment.
    "center" Centered alignement.
    "right" Right alignment. Indicates whether the given alignment string is valid. away3d @private A class that provides constant values for horizontal alignment of objects.
    "haxe.ds.StringMap.*" See `Map.set` See `Map.get` See `Map.exists` See `Map.remove` See `Map.keys` (cs, java) Implementation detail: Do not `set()` any new value while iterating, as it may cause a resize, which will break iteration. See `Map.iterator` (cs, java) Implementation detail: Do not `set()` any new value while iterating, as it may cause a resize, which will break iteration. See `Map.keyValueIterator` See `Map.copy` See `Map.toString` See `Map.clear` Creates a new StringMap. StringMap allows mapping of String keys to arbitrary values. See `Map` for documentation details. @see https://haxe.org/manual/std-Map.html \r\n inline void set(String key, const ::cpp::Struct &value) {__string_hash_set(HX_MAP_THIS,key,value); }\r\n template\r\n inline void set(String key, const ::cpp::Function &value) {__string_hash_set(HX_MAP_THIS,key,(Dynamic)value ); }\r\n template\r\n inline void set(String key, const ::cpp::Pointer &value) {__string_hash_set(HX_MAP_THIS,key,(Dynamic)value ); }\r\n\r\n template\r\n inline void set(Dynamic &key, const VALUE &value) { set( (String)key, value ); }\r\n\r\n inline bool get_bool(String key) { return __string_hash_get_bool(h,key); }\r\n inline int get_int(String key) { return __string_hash_get_int(h,key); }\r\n inline Float get_float(String key) { return __string_hash_get_float(h,key); }\r\n inline String get_string(String key) { return __string_hash_get_string(h,key); }\r\n"]]> "); h.set("amp", "&"); h.set("quot", "\""); h.set("apos", "'"); h; }]]> { strict : false } Parses the String into an XML Document. Set strict parsing to true in order to enable a strict check of XML attributes and entities. @throws haxe.xml.XmlParserException { p : 0 } the XML parsing error message the line number at which the XML parsing error occurred the character position in the reported line at which the parsing error occurred the character position in the XML string at which the parsing error occurred the invalid XML string 128 64 [0x78daed5d, 0xcb6edb40, 0xc0c8aa2, 0x871e8a1e, 0xfabffe34, 0xff842ffd, 0x1f0d03, 0xbee56027, 0x150a0182, 0xb04bce0c, 0xb9969290, 0x80a18492, 0x578ab924, 0x872fe7e5, 0xa5a8e83f, 0x7d3b1c0e, 0xcba3ca7f, 0xfb47eb6b, 0xd6b4bc06, 0x3ddf7b0f, 0x732dfb9e, 0xbdadd33b, 0xb7fcdd3a, 0x67c9fefe, 0x783ce6a3, 0xca5fdfcb, 0x3aa7c8b3, 0xb5c69fdb, 0xed96b55f, 0x3ee23aad, 0x6badf7b7, 0x6896d352, 0x5e0a7f0b, 0x42ffc6a2, 0xe7c9c1da, 0x93f3cf33, 0xadd788f2, 0xdf1aa4f0, 0x339f07b5, 0x650a9f79, 0x8f253bf4, 0xb991eb3d, 0x9bf4f37c, 0x3ecfaf11, 0x7cc64e58, 0xfc11cf93, 0x2167cf97, 0x32f2b79e, 0x9b951f2a, 0xff0cfd44, 0xf93dbb80, 0xf047eaad, 0x22ff0826, 0x40747ffd, 0x395a47c6, 0x2eb4d67d, 0xd6e7f799, 0xf47f94fc, 0x113ce9fd, 0x9d110c9f, 0xcddf93ff, 0xcfe46f25, 0x7f16bf79, 0xbca2a2a2, 0xfdc66f88, 0x2de8e9fa, 0x89f67d9, 0x2a261fc2, 0xaee7e52f, 0x33ee91bd, 0x1e9337f4, 0x30309b7b, 0x1cb91f99, 0xb888f191, 0xd67aadfc, 0x65f63d46, 0xad17c5bf, 0x685ec08b, 0x2394fc42, 0x514c6f2c, 0x1bc3c839, 0x12cf2ccf, 0xffbe5eaf, 0xf38bc197, 0xab654f2, 0x846cfc3a, 0xeaf9945c, 0x5a8f87e4, 0xc43cdfc6, 0xea73561e, 0xc58aad55, 0xdeb24e14, 0xe53de399, 0x23f267f4, 0x9f951b6b, 0xbf27fe8f, 0xd3e934bf, 0xb6927fcb, 0xb6a9bcbd, 0xcb5fa993, 0x295823e2, 0xff23759d, 0x2d795e4d, 0x6b6b9fa5, 0xe0ffa28a, 0xfb99b802, 0x39dfaa23, 0x2136818d, 0x7d99b818, 0xd133a606, 0xcada0134, 0xfe433f73, 0x358f82c8, 0x3b12a37b, 0x7cab86a0, 0xc6c3bdd8, 0x25c3f77a, 0xfb7579cd, 0x84157b78, 0x31c31ea3, 0x7e3e438e, 0x5139a3b9, 0xe155b3c, 0x4bfe1e76, 0x56f27196, 0x2f8fea65, 0xc40fcc78, 0x7d642ddc, 0xeb396073, 0x9f887f89, 0x60cdde9e, 0x44f6536f, 0xbde91a24, 0x8660ecff, 0x47d17f34, 0x4e55634e, 0xc51e2238, 0xa85707f7, 0xe4dfb34f, 0x7b957f14, 0x6fa8bd19, 0x688f0eea, 0x5b19fbe9, 0x6138b40e, 0x86e6cc11, 0xfb8fac97, 0xd1fb17c5, 0xd90afe2f, 0x2a2ada5f, 0xcdc8eb93, 0x52e3b1ac, 0x9c328211, 0x3d3bcaac, 0xcbd43a94, 0xda48a427, 0x2da3af62, 0xe2fdba5c, 0x2edf8fc7, 0xe3f4427d, 0x2a8319d0, 0xfe06c48f, 0xcef1756b, 0xee07dd8f, 0x564e1f8d, 0x535a6b21, 0x7218d5ab, 0x8ef86455, 0xf7bd3dc0, 0xe608d7c7, 0xbff7fb9d, 0xc90fb0fa, 0xbde6f762, 0x4e6f4d04, 0xa77af241, 0xeeedadaf, 0xf4b6aab1, 0x5f566d84, 0xd1713637, 0x3452ff23, 0xfa3c5aff, 0xd9789bcd, 0xa928fbdb, 0xc20c6cce, 0x92f5bdd9, 0xfe1fed31, 0x1fe1ff51, 0xac36a21e, 0x50f4b5b0, 0x3fbb7732, 0xe6abacbd, 0x9cb1c747, 0xcd8da03e, 0x1a5d9f8d, 0x3d143e62, 0xef51db1d, 0xc1c44c4f, 0x5a34079d, 0x918f547c, 0x73e65c5a, 0x2bd6b1f8, 0x197359ea, 0xfc5f54ff, 0x47c83f2b, 0xc68af441, 0x8ef87c18, 0xfb98153b, 0x66cc5d47, 0xe2906c3d, 0xcffaee96, 0xe83e63f5, 0xdc5ac7eb, 0xa918edff, 0xd9f59539, 0xc7a8bd60, 0xe31e569f, 0xd9dad668, 0xff5f98bf, 0x88c9ffab, 0xfacc600c, 0x264f9185, 0x93a3bd87, 0x8a3f89fa, 0x22269fc7, 0xe47a959c, 0x398395d0, 0x7c12b35f, 0xd4ef63b0, 0x7a8fd8d9, 0x744f8668, 0x7f29dbe7, 0xa5ec53f4, 0x1e91b911, 0x366f88e0, 0x64063778, 0xcfef7daf, 0xc91a6fa1, 0x98c43ad7, 0xda839ead, 0x633134da, 0x73d8dbff, 0x2cbe6567, 0x933f49f, 0x99475cea, 0x32d27b68, 0xf5692176, 0x7584fc55, 0xf928b9ec, 0x48de68b4, 0xff57f03f, 0xabb36adc, 0xa1f866a4, 0x4616ed79, 0x44fb552b, 0x1e286271, 0x9cda1f88, 0xda39e688, 0xd61691d9, 0x9c68ff65, 0x74263c7b, 0xd657994f, 0x4463bf56, 0xf4e0f47, 0x45f34b6c, 0x8cc89c5f, 0xfafcdeac, 0xb797d38c, 0xce84abba, 0xe3c9d0f3, 0x5756bc13, 0xa9f1a331, 0xbb5a6f60, 0xe21756fe, 0xc8cc504f, 0xfeca4c78, 0xcf0e45e4, 0xcfe015b4, 0x2e14ed1b, 0x607a6b94, 0x9931c6be, 0x7bb1c833, 0x67c2959e, 0x11346657, 0x6d8782d9, 0x23f98c68, 0xbdb1a8a8, 0x281ffb5b, 0xb81ab13d, 0xacad8ac4, 0xbe4bfe34, 0xabfabafa, 0x3f0419d8, 0x42a9ff79, 0xf9462f7f, 0xb965ed07, 0xc57b4abe, 0x8cb9ce8a, 0x2bd6ebcd, 0xb25fee81, 0x8cb8ea2b, 0xf99d489f, 0x10a3ff68, 0x5e8ed923, 0x45f9f267, 0xf22c4545, 0x45454545, 0x45454545, 0x45454545, 0x45454545, 0x45fba577, 0x2eecdb70] \n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t")]]> The font is based on "uni05_53.ttf" from Craig Kroeger (http://www.miniml.com) and was * converted to a Bitmap Font with "GlyphDesigner" from 71squared (http://www.71squared.com). *

    ]]>
    hide
    <_format expr="BGRA"> BGRA <_hasMipmaps expr="true"> true <_textures> <_dirty> <_width> <_height> * @inheritDoc <_bitmapData> ()]]> ()]]> "" 0 true <_boundsRect expr="new Rectangle()"> new Rectangle() <_textHeight> <_textWidth> <_subGeometry> Indicates whether the text is bold. @default false Indicates whether the text is italicized. @default false Indicates whether the text is underlined. @default false Indicates whether kerning is enabled. @default true A number representing the amount of space that is uniformly distributed between all characters. * The value specifies the number of pixels that are added to the advance after each character. * The default value is null, which means that 0 pixels of letter spacing is used. * You can use decimal values such as 1.75. @default 0 Indicates whether the font size is scaled down so that the complete text fits * into the text field. @default false Specifies the type of auto-sizing the TextField will do. * Note that any auto-sizing will make auto-scaling useless. Furthermore, it has * implications on alignment: horizontally auto-sized text will always be left-, * vertically auto-sized text will always be top-aligned. @default "none" { _hAlign : "left", bold : false, color : 0x0, fontSize : 12 } "top" Top alignment.
    "center" Centered alignment.
    "bottom" Bottom alignment. Indicates whether the given alignment string is valid. away3d @private A class that provides constant values for vertical alignment of objects.
    ()]]> ()]]> ()]]> { mipmap : true, cacheMaterial : false } * * @param type * @param cacheMaterial - When true performance will improve but text using the same font will all use the samer material. * meaning that color transforms will affect all of them. * @return { mipmap : true, cacheMaterial : false } { cacheMaterial : false } * ... * @author P.J.Shand * @author Thomas Byrne ()]]> * ... * @author P.J.Shand * @author Thomas Byrne { searchClass : true } * ... * @author P.J.Shand * @author Thomas Byrne <_atfData> 0x0 0x1 Create a new instance by parsing the given byte array. <_atfData> cast 0 cast 1 cast 2 cast 3 cast 4 cast 0 cast 1 cast 2 cast 3 cast 4 <_bitmapDatas> * The texture on the cube's right face. * The texture on the cube's left face. * The texture on the cube's top face. * The texture on the cube's bottom face. * The texture on the cube's far face. * The texture on the cube's near face. <_mipMaps expr="[]" line="16" static="1"> [] <_mipMapUses expr="[]" line="17" static="1"> [] <_bitmapData> <_mipMapHolder> <_generateMipmaps> { generateMipmaps : true } <_instance static="1"> <_textures> <_usages> * DEPRECRATED along with BitmapMaterial. Will be removed along with BitmapMaterial <_mockTexture> <_mockBitmapData> <_renderer> <_entityCollector> <_cameras> <_lenses> <_nearPlaneDistance expr=".01"> .01 <_farPlaneDistance expr="2000"> 2000 <_position> <_isRendering> * @inheritDoc * The origin where the environment map will be rendered. This is usually in the centre of the reflective object. * The near plane used by the camera lens. * The far plane of the camera lens. Can be used to cut off objects that are too far to be of interest in reflections * Renders the scene in the given view for reflections. * @param view The view containing the scene to render. * The renderer to use. * @inheritDoc * Creates a new CubeReflectionTexture object * @param size The size of the cube texture * CubeReflectionTexture provides a cube map texture for real-time reflections, used for any method that uses environment maps, * such as EnvMapMethod. * * @see away3d.materials.methods.EnvMapMethod <_mockTexture> <_mockBitmapData> <_renderer> <_scale expr="1"> 1 <_isRendering> <_entityCollector> <_camera> <_plane> <_matrix> <_vector> <_scissorRect> <_lens> <_viewWidth> <_viewHeight> * The plane to reflect with. * Sets the plane to match a given matrix. This is used to easily match a Mesh using a PlaneGeometry and yUp = false. * @param matrix The transformation matrix to rotate the plane with. * @inheritDoc * The renderer to use. * A scale factor to reduce the quality of the reflection. Default value is 1 (same quality as the View) * Renders the scene in the given view for reflections. * @param view The view containing the Scene to render. * @inheritDoc { result : null } * Creates a new PlanarReflectionTexture object. * PlanarReflectionTexture is a Texture that can be used for material-based planar reflections, as provided by PlanarReflectionMethod, FresnelPlanarReflectionMethod. * * @see away3d.materials.methods.PlanarReflectionMethod <_specularMap> <_glossMap> { glossMap : null, specularMap : null } * A convenience texture that encodes a specular map in the red channel, and the gloss map in the green channel, as expected by BasicSpecularMapMethod <_broadcaster> <_autoPlay> <_autoUpdate> <_materialWidth> <_materialHeight> <_player> <_clippingRect> * Draws the video and updates the bitmap texture * If autoUpdate is false and this function is not called the bitmap texture will not update! * Indicates whether the video will start playing on initialisation. * If false, only the first frame is displayed. * Indicates whether the material will redraw onEnterFrame { player : null, autoPlay : false, loop : true, materialHeight : 256, materialWidth : 256 } "x" "y" "z" "+" "-" "av" <_axis static="1"> <_condition static="1"> { condition : POSITIVE } * Aligns a series of meshes to their bounds along a given axis. * * @param meshes A Vector of Mesh objects * @param axis Represent the axis to align on. * @param condition Can be POSITIVE ('+') or NEGATIVE ('-'), Default is POSITIVE ('+') * Place one or more meshes at y 0 using their min bounds { condition : "" } * Applies to array elements the alignment according to axis, x, y or z and a condition. * each element must have public x,y and z properties. In case elements are meshes only their positions is affected. Method doesn't take in account their respective bounds * String condition: * "+" align to highest value on a given axis * "-" align to lowest value on a given axis * "" align to a given axis on 0; This is the default. * "av" align to average of all values on a given axis * * @param aObjs Array. An array with elements with x,y and z public properties such as Mesh, Object3D, ObjectContainer3D,Vector3D or Vertex * @param axis String. Represent the axis to align on. * @param condition [optional]. String. Can be '+", "-", "av" or "", Default is "", aligns to given axis at 0. * Applies to array elements a distributed alignment according to axis, x,y or z. In case elements are meshes only their positions is affected. Method doesn't take in account their respective bounds * each element must have public x,y and z properties * @param aObjs Array. An array with elements with x,y and z public properties such as Mesh, Object3D, ObjectContainer3D,Vector3D or Vertex * @param axis String. Represent the axis to align on. Align]]> <_keepNormals> { keepNormals : true } * Apply the explode code to a given ObjectContainer3D. * @param object ObjectContainer3D. The target Object3d object. * @param keepNormals Boolean. If the vertexNormals of the object are preserved. Default is true. { keepNormals : true } * recursive parsing of a container. Explode]]> <_objectSpace> <_keepMaterial> <_disposeSources> <_geomVOs> <_toDispose> * Determines if the mesh and geometry source(s) used for the merging are disposed. Defaults to false. * Determines if the material source(s) used for the merging are disposed. Defaults to false. * Determines if source mesh(es) is/are merged using objectSpace or worldspace. Defaults to false. * Merges all the children of a container into a single Mesh. If no Mesh object is found, method returns the receiver without modification. * * @param receiver The Mesh to receive the merged contents of the container. * @param objectContainer The ObjectContainer3D holding the meshes to be mergd. * * @return The merged Mesh instance. * Merges 2 meshes into one. It is recommand to use apply when 2 meshes are to be merged. If more need to be merged, use either applyToMeshes or applyToContainer methods. * * @param receiver The Mesh to receive the merged contents of both meshes. * @param mesh The Mesh to be merged with the receiver mesh { objectSpace : false, disposeSources : false, keepMaterial : false } * @param keepMaterial [optional] Determines if the merged object uses the recevier mesh material information or keeps its source material(s). Defaults to false. * If false and receiver object has multiple materials, the last material found in receiver submeshes is applied to the merged submesh(es). * @param disposeSources [optional] Determines if the mesh and geometry source(s) used for the merging are disposed. Defaults to false. * If true, only receiver geometry and resulting mesh are kept in memory. * @param objectSpace [optional] Determines if source mesh(es) is/are merged using objectSpace or worldspace. Defaults to false. Merge]]> 1 2 4 "min" "max"
    "center"
    <_recenter> <_duplicate> <_axis> <_offset> <_additionalOffset> <_scaleTransform> <_fullTransform> <_centerTransform> <_flipWinding> { additionalOffset : 0, offset : CENTER } * Clones a Mesh and mirrors the cloned mesh. returns the cloned (and mirrored) mesh. * @param mesh the mesh to clone and mirror. * @param axis the axis to mirror the mesh. * @param offset can be MIN_BOUND, MAX_BOUND or CENTER. * @param additionalOffset if MIN_BOUND or MAX_BOUND is selected as offset, this addional offset can be added. { additionalOffset : 0, offset : CENTER } * Clones a ObjectContainer3D and all its children and mirrors the cloned Objects. returns the cloned (and mirrored) ObjectContainer3D. * @param mesh the ObjectContainer3D to clone and mirror. * @param axis the axis to mirror the ObjectContainer3D. * @param offset can be MIN_BOUND, MAX_BOUND or CENTER. * @param additionalOffset if MIN_BOUND or MAX_BOUND is selected as offset, this additional offset can be added. { additionalOffset : 0, offset : CENTER } * Mirror a Mesh along a given Axis. * @param mesh the mesh to mirror. * @param axis the axis to mirror the mesh. * @param offset can be MIN_BOUND, MAX_BOUND or CENTER. * @param additionalOffset if MIN_BOUND or MAX_BOUND is selected as offset, this addional offset can be added. { additionalOffset : 0, offset : CENTER } * Mirror a ObjectContainer3d, and all its children along a given Axis. * @param ctr the ObjectContainer3d to mirror. * @param axis the axis to mirror the ObjectContainer3d. * @param offset can be MIN_BOUND, MAX_BOUND or CENTER. * @param additionalOffset if MIN_BOUND or MAX_BOUND is selected as offset, this addional offset can be added. { keepOld : false } { duplicate : true, recenter : false }
    1 2 <_weight> <_radius expr="0"> 0 <_radiusMode> { radius : 100, radiusMode : RADIUS, weight : 1 } * Apply the SphereMaker code to a given ObjectContainer3D. * @param container Mesh. The target ObjectContainer3D. * @param weight Number. The Strength of the effect between 0 and 1. Default is 1. * @param radiusMode int. Defines which radius will be used. Can be RADIUS or USE_BOUNDS_MAX. Default is RADIUS * @param radius Number. The Radius to use if radiusMode is RADIUS. Default is 100. { radius : 100, radiusMode : RADIUS, weight : 1 } * Apply the SphereMaker code to a given Mesh. * @param mesh Mesh. The target Mesh object. * @param weight Number. The Strength of the effect between 0 and 1. Default is 1. * @param radiusMode int. Defines which radius will be used. Can be RADIUS or USE_BOUNDS_MAX. Default is RADIUS * @param radius Number. The Radius to use if radiusMode is RADIUS. Default is 100. SphereMaker]]> "UseVertexNormals" "UseFaceNormals" <_keepUvs> <_normalThreshold> <_useNormalMode> <_smoothNormals> <_vertCnt> { smoothNormals : true, useNormalMode : USE_FACENORMALS, normalAngleDegree : 180, keepUvs : true } * Perfoms a weld operation on a specified mesh geometry. * * @param mesh The mesh to weld * @param keepUVs If the uvs should be kept as defined. Default is true. * @param normalAngleDegree Threshold to compair the normals. Default is 180. * @param useNormalMode If the face normals or vertex normals are used for comparison. VERTEXNORMALS keeps intact the original data. Default uses USE_FACENORMALS. * @param smoothNormals Smooth. Default is true. { smoothNormals : true, useNormalMode : USE_FACENORMALS, normalAngleDegree : 180, keepUVs : true } * Perfoms a weld operation on all children Mesh object geometries of the specified ObjectContainer3D. * * @param obj The ObjectContainer3D to weld * @param keepUVs If the uvs should be kept as defined. Default is true. * @param normalAngleDegree Threshold to compair the normals. Default is 180. * @param useNormalMode If the face normals or vertex normals are used for comparison. VERTEXNORMALS keeps intact the original data. Default uses USE_FACENORMALS. * @param smoothNormals Smooth. Default is true. * returns howmany vertices were deleted during the welding operation. * returns howmany vertices were added during the welding operation. * Class Weld removes the vertices that can be shared from one or more meshes (smoothes the mesh surface when lighted). 196605 2 3 4 <_n expr="new Vertex()" line="23" static="1"> new Vertex() <_t expr="new Vertex()" line="24" static="1"> new Vertex() * Remove a face from a mesh * @param mesh Mesh. The mesh to remove a face from * @param index uint. Index of the face in vertices. The value represents the position in indices vector divided by 3. * For instance, to edit face [1], the parameter indice will be 1. The x value of the v0 at position 3 in vertice vector is then extracted from vertices[indices[indice]] * @param subGeomIndice uint. Index of vertex 1 of the face * Remove a series of faces from a mesh. Indices and geomIndices must have the same length. * Meshes with less that 20k faces and single material, will generally only have one single subgeometry. * The geomIndices vector will then contain only zeros. * IMPORTANT: the code considers the indices as location in the mesh subgemeometry indices vector, not the value at the pointer location. * * @param mesh Mesh. The mesh to remove a face from * @param indices A vector with a series of uints indices: the indices of the faces to be removed. * @param subGeomIndices A vector with a series of uints indices representing the subgeometries of the faces to be removed. * Adds a series of faces from a mesh. All vectors must have the same length. * @param mesh Mesh. The mesh to remove a face from * @param v0s A vector with a series of Vertex Objects representing the v0 of a face. * @param v1s A vector with a series of Vertex Objects representing the v1 of a face. * @param v2s A vector with a series of Vertex Objects representing the v2 of a face. * @param uv0s A vector with a series of UV Objects representing the uv0 of a face. * @param uv1s A vector with a series of UV Objects representing the uv1 of a face. * @param uv2s A vector with a series of UV Objects representing the uv2 of a face. { side : 0 } * Divides a face into 2 faces. * @param mesh The mesh holding the face to split in 2 * @param indice The face index. The value represents the position in indices vector divided by 3. * For instance, to edit face [1], the parameter indice will be 1. The x value of the v0 at position 9 in vertices vector is then extracted from vertices[indices[indice*3]] * @param subGeomIndice The index of the subgeometry holder this face. * @param side [optional] The side of the face to split in two. 0 , 1 or 2. (clockwize). * Divides a face into 3 faces. * @param mesh The mesh holding the face to split in 3. * @param indice The face index. The value represents the position in indices vector divided by 3. * For instance, to edit face [1], the parameter indice will be 1. The x value of the v0 at position 9 in vertices vector is then extracted from vertices[indices[indice*3]] * @param subGeomIndice The index of the subgeometry holder this face. * Divides a face into 4 faces. * @param mesh The mesh holding the face to split in 4. * @param indice The face index. The value represents the position in indices vector divided by 3. * For instance, to edit face [1], the parameter indice will be 1. The x value of the v0 at position 9 in vertices vector is then extracted from vertices[indices[indice*3]] * @param subGeomIndice The index of the subgeometry holder this face. * Divides all the faces of a mesh in 2 faces. * @param mesh The mesh holding the faces to split in 2 * @param face The face index. The value represents the position in indices vector divided by 3. * @param side The side of the face to split in two. 0 , 1 or 2. (clockwize). * At this time of dev, splitFaces method will abort if a subgeometry reaches max buffer limit of 65k * Divides all the faces of a mesh in 3 faces. * @param mesh The mesh holding the faces to split in 3 * At this time of dev, triFaces method will abort if a subgeometry reaches max buffer limit of 65k * Divides all the faces of a mesh in 4 faces. * @param mesh The mesh holding the faces to split in 4 * At this time of dev, quarterFaces method will abort if a subgeometry reaches max buffer limit of 65k { out : null } { out : null, uvScaleV : 1 } { value : 0 } { tangents : null, normals : null } FaceHelper]]> <_lightsArray static="1"> <_light static="1"> <_state static="1"> * Adds one light to all materials found into an objectcontainer and its children. * The lights eventually set previously on a material are kept unchanged. The new light is added to the lights array of the materials found during parsing. * @param objectContainer3D ObjectContainer3D. The target ObjectContainer3D object to be inspected. * @param light LightBase. The light to add to all materials found during the parsing of the target ObjectContainer3D. * Removes a given light from all materials found into an objectcontainer and its children. * @param objectContainer3D ObjectContainer3D. The target ObjectContainer3D object to be inspected. * @param light LightBase. The light to be removed from all materials found during the parsing of the target ObjectContainer3D. LightsHelper * A series of methods to ease work with LightBase objects]]> <_meshesData expr="new Vector<MeshDebugData>()"> ()]]> <_colorNormals expr="0xFF3399"> 0xFF3399 <_colorVertexNormals expr="0x66CCFF"> 0x66CCFF <_colorTangents expr="0xFFCC00"> 0xFFCC00 <_lengthNormals expr="50"> 50 <_lengthTangents expr="50"> 50 <_lengthVertexNormals expr="50"> 50 <_dirty> { displayTangents : false, displayVertexNormals : false, displayNormals : true } { displayTangents : false, displayVertexNormals : false, displayNormals : true } MeshDebugger * Displays the normals, tangents and vertexNormals of a given mesh.]]> 196605 * Returns the boundingRadius of an Entity of a Mesh. * @param mesh Mesh. The mesh to get the boundingRadius from. * Returns the boundingRadius of a ObjectContainer3D * @param container ObjectContainer3D. The ObjectContainer3D and its children to get the boundingRadius from. { keepPosition : true } * Recenter geometry * @param mesh Mesh. The Mesh to recenter in its own objectspace * @param keepPosition Boolean. KeepPosition applys the offset to the object position. Object is "visually" at same position. { keepPosition : true } * Recenter geometry of all meshes found into container * @param mesh Mesh. The Mesh to recenter in its own objectspace * @param keepPosition Boolean. KeepPosition applys the offset to the object position. Object is "visually" at same position. * Applys the rotation values of a mesh in object space and resets rotations to zero. * @param mesh Mesh. The Mesh to alter * Applys the rotation values of each mesh found into an ObjectContainer3D * @param obj ObjectContainer3D. The ObjectContainer3D to alter { parent : null } * Applys the scaleX, scaleY and scaleZ scale factors to the mesh vertices. Resets the mesh scaleX, scaleY and scaleZ properties to 1; * @param mesh Mesh. The Mesh to rescale * @param scaleX Number. The scale factor to apply on all vertices x values. * @param scaleY Number. The scale factor to apply on all vertices y values. * @param scaleZ Number. The scale factor to apply on all vertices z values. * @param parent ObjectContainer3D. If a parent is set, the position of children is also scaled { parent : null } * Applys the scale properties values of each mesh found into an ObjectContainer3D * @param obj ObjectContainer3D. The ObjectContainer3D to alter * @param scaleX Number. The scale factor to apply on all vertices x values. * @param scaleY Number. The scale factor to apply on all vertices y values. * @param scaleZ Number. The scale factor to apply on all vertices z values. * Applys an offset to a mesh at vertices level * @param mesh Mesh. The Mesh to offset * @param dx Number. The offset along the x axis * @param dy Number. The offset along the y axis * @param dz Number. The offset along the z axis { newName : "" } * Clones a Mesh * @param mesh Mesh. The mesh to clone * @param newname [optional] String. new name for the duplicated mesh. Default = ""; * * @ returns Mesh * Inverts the faces of all the Meshes into an ObjectContainer3D * @param obj ObjectContainer3D. The ObjectContainer3D to invert. { invertU : false } * Inverts the faces of a Mesh * @param mesh Mesh. The Mesh to invert. * @param invertUV Boolean. If the uvs are inverted too. Default is false; { useCompactSubGeometry : true, useDefaultMap : true, shareVertices : true, material : null, name : "", uvs : null } { disposeSource : false } { disposeSource : false } MeshHelper * A series of methods usually usefull for mesh manipulations]]> 65535 { transforms : null } * ... { backgroundColor : 0, transparent : false } { __to : 0, __from : 0, mapCount : 1 } * Returns a SpriteSheetClipNode to pass to animator from animation id , cols and rows. * @param animID String:The name of the animation * @param cols uint: Howmany cells along the u axis. * @param rows uint: Howmany cells along the v axis. * @param mapCount uint: If the same animation is spread over more bitmapDatas. Howmany bimapDatas. Default is 1. * @param from uint: The offset start if the animation first frame isn't in first cell top left on the map. zero based. Default is 0. * @param to uint: The last cell if the animation last frame cell isn't located down right on the map. zero based. Default is 0. * * @return SpriteSheetClipNode SpriteSheetClipNode: The SpriteSheetClipNode filled with the data * SpriteSheetHelper, a class to ease sprite sheet animation data generation <_normal expr="new Vector3D()"> new Vector3D() 1 2 { length : 30, color : 0xFF3399 } { length : 30, color : 0x66CCFF } { length : 30, color : 0xFFCC00 } { length : 30, color : 0x66CCFF } * MeshDebug, holds the data for the MeshDebugger class <_defaultVertexTransform> <_defaultInvVertexTransform> <_defaultUVTransform> * ... 2 * Begin object serialization. Output className and instanceName. * @param className name of class being serialized * @param instanceName name of instance being serialized * Serialize int * @param name name of value being serialized * @param value value being serialized * Serialize uint * @param name name of value being serialized * @param value value being serialized * Serialize Boolean * @param name name of value being serialized * @param value value being serialized * Serialize String * @param name name of value being serialized * @param value value being serialized * Serialize Vector3D * @param name name of value being serialized * @param value value being serialized * Serialize Quaternion * @param name name of value being serialized * @param value value being serialized * End object serialization * Creates a new SerializerBase object. * SerializerBase is the abstract class for all Serializers. It provides an interface for basic data type writing. * It is not intended for reading. * * @see away3d.tools.serialize.Serialize <_indent expr="0"> 0 ": " 2 * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc * @inheritDoc <_indentString set="method" line="148"> * Creates a new TraceSerializer object. * TraceSerializer is a concrete Serializer that will output its results to trace(). It has user settable tabSize and separator vars. * * @see away3d.tools.serialize.Serialize <_minX static="1"> <_minY static="1"> <_minZ static="1"> <_maxX static="1"> <_maxY static="1"> <_maxZ static="1"> <_defaultPosition expr="new Vector3D(0.0, 0.0, 0.0)" line="33" static="1"> new Vector3D(0.0, 0.0, 0.0) <_containers static="1"> * Calculate the bounds of a Mesh object * @param mesh Mesh. The Mesh to get the bounds from. * Use the getters of this class to retrieve the results { worldBased : true } * Calculate the bounds of an ObjectContainer3D object * @param container ObjectContainer3D. The ObjectContainer3D to get the bounds from. * Use the getters of this class to retrieve the results { outCenter : null } * @param outCenter Vector3D. Optional Vector3D, if provided the same Vector3D is returned with the bounds center. * @return the center of the bound * @return the smalest x value * @return the smalest y value * @return the smalest z value * @return the biggest x value * @return the biggest y value * @return the biggest z value * @return the width value from the bounds * @return the height value from the bounds * @return the depth value from the bounds { parentTransform : null } { resetBounds : false, parentTransform : null } Bounds]]> <_colorMap> <_colorObjects> <_scaleX> <_scaleY> <_offsetX> <_offsetY> * If at the given coordinates a color is found that matches a defined color event, the color event will be triggered. * * @param x X coordinate on the source bmd * @param y Y coordinate on the source bmd * returns the color at x,y coordinates. * This method is made to test if the color is indeed the expected one, (the one you set for an event), as due to compression * for instance using the Flash IDE library, compression might have altered the color values. * * @param x X coordinate on the source bitmapData * @param y Y coordinate on the source bitmapData * * @return A uint, the color value at coordinates x, y * @see plotAt { color : 0xFF0000 } * Another method for debug, if you addChild your bitmapdata on screen, this method will colour a pixel at the coordinates * helping you to visualize if your scale factors or entered coordinates are correct. * @param x X coordinate on the source bitmapData * @param y Y coordinate on the source bitmapData * Defines a color event for this class. * If read method is called, and the target pixel color has the same value as a previously set listener, an event is triggered. * * @param color A color Number * @param eventID A string to identify that event * @param listener The function that must be triggered * removes a color event by its id * * @param eventID The Event id * The offsetX, offsetY * by default offsetX and offsetY represent the center of the map. * defines the scaleX and scaleY. Defines the ratio map to the 3d world * The source bitmapdata uses for colour readings { scaleY : 1, scaleX : 1 } ColorHitMap * * @param bitmapData The bitmapdata with color regions to act as trigger. * @param scaleX [optional] A factor scale along the X axis. Default is 1. * @param scaleY [optional] A factor scale along the Y axis. Default is 1. * * Note that by default the class is considered as centered, like a plane at 0,0,0. * Also by default coordinates offset are set. If a map of 256x256 is set, and no custom offsets are set. * The read method using the camera position -128 x and -128 z would return the color value found at 0,0 on the map.]]> "xz" "xy" "zy" 0.000001 <_view> <_debug> <_object3d> <_planeXZ> <_planeXY> <_planeZY> <_red> <_green> <_blue> <_planesContainer> <_np expr="new Vector3D(0.0, 0.0, 0.0)"> new Vector3D(0.0, 0.0, 0.0) <_intersect expr="new Vector3D(0.0, 0.0, 0.0)"> new Vector3D(0.0, 0.0, 0.0) <_rotations> <_baserotations> <_offsetCenter expr="new Vector3D(0.0, 0.0, 0.0)"> new Vector3D(0.0, 0.0, 0.0) <_bSetOffset> <_a expr="0"> 0 <_b expr="0"> 0 <_c expr="0"> 0 <_d expr="1"> 1 <_planeid> <_useRotations> * Defines if the target object3d plane will be aligned to object rotations or not * * @param b Boolean. Defines if the target object3d planes will be aligned to object rotations or not. Default is false. * Defines an offset for the drag from center mesh to mouse position. * object3d must have been set previously for this setter. if not an error is triggered * Since the offset is set from center to mouse projection, its usually a good practice to set it during firt mouse down * prior to drag. * getIntersect method returns the 3d point in space (Vector3D) where mouse hits the given plane. *@return Vector3D the difference mouse mouse hit to object center * Displays the planes for debug/visual aid purposes * * @param b Boolean. Display the planes of the dragged object3d. Default is false; * Changes the plane the object will be considered on. * If class debug is set to true. It display the selected plane for debug/visual aid purposes with a brighter color. * @param planeid String. Plane to drag the object3d on. * Possible strings are Drag3D.PLANE_XZ ("xz"), Drag3D.PLANE_XY ("xy") or Drag3D.PLANE_ZY ("zy"). Default is Drag3D.PLANE_XZ; * Returns the Vector3D where mouse to scene ray hits the plane set for the class. * * @return Vector3D The intersection Vector3D * If both x and y params are NaN, the class will return the hit from mouse coordinates * @param x [optional] Number. x coordinate. * @param y [optional] Number. y coordinate. * if an ObjectContainer3D is set this handler will calculate the mouse intersection on given plane and will update position * and rotations of the ObjectContainer3D set accordingly * Sets the target ObjectContainer3D to the class. The ObjectContainer3D that will be dragged * * @param object3d ObjectContainer3D. The ObjectContainer3D that will be dragged. Default is null. When null planes will be considered at 0,0,0 world * Defines planes as the position of a given ObjectContainer3D * * @param object3d ObjectContainer3D. The object3d that will be used to define the planes * Defines planes position by a postion Vector3D * * @param pos Vector3D. The Vector3D that will be used to define the planes position { obj : null } { plane : PLANE_XZ, object3d : null } Drag3D * @param view View3D. The view3d where the object to drag is or will be addChilded. * @param object3d [optional] ObjectContainer3D. The object3D to drag. * @param plane [optional] String. The plane to drag on.]]> * Class Drag3D allows free dragging of an ObjectContainer3D onto a given plane. * * locks on world planes * locks on ObjectContainer3D planes * locks on ObjectContainer3D rotations planes 3 * 0xffff 15 * 0xffff { triangleOffset : 0 } * Build a list of sub-geometries from raw data vectors, splitting them up in * such a way that they won't exceed buffer length limits. * Build a sub-geometry from data vectors. { suvs : null, uvs : null, tangents : null, normals : null, vertices : null } <_unit> <_objectSpace> { dovert : false } * Apply the grid code to a given object3D. If type ObjectContainer3D, all children Mesh vertices will be affected. * @param object3d Object3D. The Object3d to snap to grid. * @param dovert [optional]. If the vertices must be handled or not. When false only object position is snapped to grid. Default is false. * Apply the grid code to a single mesh * @param mesh Mesh. The mesh to snap to grid. Vertices are affected by default. Mesh position is snapped if grid.objectSpace is true; * Defines if the grid unit. * Defines if the grid unit is applied in objectspace or worldspace. In worldspace, objects positions are affected. { dovert : true } { objectSpace : false, unit : 1 } * Grid snaps vertexes according to a given grid unit * @param unit [optional] Number. The grid unit. Default is 1. * @param objectSpace [optional] Boolean. Apply only to vertexes in geometry objectspace when Object3D are considered. Default is false. Grid]]> "front" "back" "top" "bottom" "left" "right" "cylindricalx" "cylindricaly" "cylindricalz" "spherical" <_width static="1"> <_height static="1"> <_depth static="1"> <_offsetW static="1"> <_offsetH static="1"> <_offsetD static="1"> <_orientation static="1"> <_center static="1"> <_vn static="1"> <_ve static="1"> <_vp static="1"> <_dir static="1"> <_radius static="1"> <_uv static="1"> Math.PI Math.PI * 2 * Class remaps the uv data of a mesh * * @param orientation String. Defines the projection direction and methods. * Note: As we use triangles, cylindrical and spherical projections might require correction, * as some faces, may have vertices pointing at other side of the map, causing some faces to be rendered as a whole reverted map. * * @param obj ObjectContainer3D. The ObjectContainer3D to remap. <_orig expr="new Vector3D(0.0, 0.0, 0.0)"> new Vector3D(0.0, 0.0, 0.0) <_dir expr="new Vector3D(0.0, 0.0, 0.0)"> new Vector3D(0.0, 0.0, 0.0) <_tu expr="new Vector3D(0.0, 0.0, 0.0)"> new Vector3D(0.0, 0.0, 0.0) <_tv expr="new Vector3D(0.0, 0.0, 0.0)"> new Vector3D(0.0, 0.0, 0.0) <_w expr="new Vector3D(0.0, 0.0, 0.0)"> new Vector3D(0.0, 0.0, 0.0) <_pn expr="new Vector3D(0.0, 0.0, 0.0)"> new Vector3D(0.0, 0.0, 0.0) <_npn expr="new Vector3D(0.0, 0.0, 0.0)"> new Vector3D(0.0, 0.0, 0.0) <_a> <_b> <_c> <_d> * Defines the origin point of the Ray object * @return Vector3D The origin point of the Ray object * Defines the directional vector of the Ray object * @return Vector3D The directional vector * Defines the directional normal of the Ray object * @return Vector3D The normal of the plane * Checks if a ray intersects a sphere. *@param pOrig Vector3D. The origin vector of the ray. *@param dir Vector3D. The normalized direction vector of the ray. *@param sPos Vector3D. The position of the sphere. *@param radius Number. The radius of the sphere. * * @return Boolean If the ray intersects the sphere { outVector3D : null, bNormal : false, bNearest : true } * Returns a Vector3D where the ray intersects a sphere. Return null if the ray misses the sphere * *@param pOrig Vector3D. The origin of the ray. *@param dir Vector3D. The direction of the ray. *@param sPos Vector3D. The position of the sphere. *@param radius Number. The radius of the sphere. *@param bNearest [optional] Boolean. If the ray traverses the sphere and if true the returned hit is the nearest to ray origin. Default is true. *@param bNormal [optional] Boolean. If the returned vector is the normal of the hitpoint. Default is false. * * @return Vector3D The intersection vector3D or the normal vector3D of the hitpoint. Default is false. * * example of a ray triggered from mouse var pMouse:Vector3D = _view.unproject(_view.mouseX, _view.mouseY, 1); var cam:Vector3D = _view.camera.position; var dir:Vector3D = new Vector3D( pMouse.x-cam.x, pMouse.y-cam.y, pMouse.z-cam.z); dir.normalize(); var spherePosition:Vector3D = new Vector3D(200, 200, 200); //hittest trace("Ray intersects sphere :"+ _ray.intersectsSphere(pMouse, dir, spherePosition, 500) ); var sintersect:Vector3D = _ray.getRayToSphereIntersection(pMouse, dir, spherePosition, 500, true, false); if sintersect == null no hit, else sintersect = intersection vector3d or the normal of the intersection { outVector3D : null } * Returns a Vector3D where the ray intersects a plane inside a triangle * Returns null if no hit is found. * *@param p0 Vector3D. The origin of the ray. *@param p1 Vector3D. The end of the ray. *@param v0 Vector3D. The first scenespace vertex of the face. *@param v1 Vector3D. The second scenespace vertex of the face. *@param v2 Vector3D. The third scenespace vertex of the face. *@param outVector3D Vector3D. Optional user defined Vector3D returned with result values * * example: fire a ray from camera position to 0,0,0 and test if it hits the triangle. view.camera.x = 100; view.camera.y = 100; view.camera.z = 500; var v0:Vector3D = new Vector3D(-200, 100, 60); var v1:Vector3D = new Vector3D(200, 100, 60); var v2:Vector3D = new Vector3D(0, -200, 60); var dest: Vector3D = new Vector3D(0, 0, 0); var intersect:Vector3D = _ray.getRayToTriangleIntersection(_view.camera.position, dest, v0, v1, v2 ); trace("intersect ray: "+intersect); * * @return Vector3D The intersection point 4096 <_colorNames static="1"> <_hexChars expr=""0123456789abcdefABCDEF"" line="19" static="1"> "0123456789abcdefABCDEF" <_notClasses expr="new Map<String,Bool>()" line="21" static="1"> ()]]> <_classes expr="new Map<String,Dynamic>()" line="22" static="1"> ()]]> Helper class for casting assets to usable objects on cpp.]]> <_new public="1" get="inline" set="null" line="37" static="1"> <_new public="1" get="inline" set="null" line="37" static="1"> <_new public="1" get="inline" set="null" line="26" static="1"> <_new public="1" get="inline" set="null" line="26" static="1"> "::cpp::Pointer_obj::fromRaw" "cpp/Pointer.h" "cpp.Pointer" variable <_hx_getIndex public="1" set="method"> <_hx_getTag public="1" set="method"> <_hx_getParamCount public="1" set="method"> <_hx_getParamI public="1" set="method"> <_hx_getParameters public="1" set="method"> "hx.EnumBase" "HX_INVALID_CAST" "HX_INDEX_OUT_OF_BOUNDS" "HX_INVALID_OBJECT" "HX_INVALID_ARG_COUNT" "HX_NULL_FUNCTION_POINTER" "cpp/Pointer.h" <_new public="1" get="inline" set="null" line="30" static="1"> <_new public="1" get="inline" set="null" line="30" static="1"> Load and return a Cpp primitive from a DLL library. Unloaded all dynamic libraries in reverse order of loading. Returns the number of libraries unloaded. <_loadPrime public="1" set="method" line="50" static="1"> { quietFail : false } Tries to load, and always returns a valid function, but the function may throw if called. Returns bytes referencing the content of a string. Use with extreme caution - changing constant strings will crash. Changing one string can cause others to change unexpectedly. Only really safe if you are using it read-only or if it comes from stringReference above Print the specified value on the default output. This function is used to make porting from neko to cpp easy. It does not need to do anything because the c-code can work with any Dynamic This function is used to make porting from neko to cpp easy. It does not need to do anything because the c-code can work with any Dynamic Print the specified value on the default output followed by a newline character. Platform-specific Cpp Library. Provides some platform-specific functions for the C++ target, such as conversion from Haxe types to native types and vice-versa. "_hx_create_array_length"
    "_hx_reslove_virtual_array" "_hx_array_unsafe_get" "_hx_array_unsafe_set" "_hx_array_set_size_exact"
    "]]> "__hxcpp_gc_mem_info" "_hx_allocate_extended" "_hx_add_finalizable" "::hx::InternalNew" "_hx_std_process_run" "_hx_std_process_run" "_hx_std_process_stdout_read" "_hx_std_process_stderr_read" "_hx_std_process_stdin_write" "_hx_std_process_stdin_close" "_hx_std_process_exit" "_hx_std_process_pid" "_hx_std_process_kill" "_hx_std_process_close" "]]> "_hx_std_socket_init" "_hx_std_socket_new" "_hx_std_socket_new" "_hx_std_socket_close" "_hx_std_socket_bind" "_hx_std_socket_bind_ipv6" "_hx_std_socket_send_char" "_hx_std_socket_send" "_hx_std_socket_recv" "_hx_std_socket_recv_char" "_hx_std_socket_write" "_hx_std_socket_read" "_hx_std_host_resolve_ipv6" "_hx_std_host_resolve" "_hx_std_host_to_string" "_hx_std_host_to_string_ipv6" "_hx_std_host_reverse" "_hx_std_host_reverse_ipv6" "_hx_std_host_local" "_hx_std_socket_connect" "_hx_std_socket_connect_ipv6" "_hx_std_socket_listen" "_hx_std_socket_select" "_hx_std_socket_fast_select" "_hx_std_socket_accept" "_hx_std_socket_peer" "_hx_std_socket_host" "_hx_std_socket_set_timeout" "_hx_std_socket_shutdown" "_hx_std_socket_set_blocking" "_hx_std_socket_set_fast_send" "_hx_std_socket_set_broadcast" "_hx_std_socket_poll_alloc" "_hx_std_socket_poll_prepare" "_hx_std_socket_poll_events" "_hx_std_socket_poll" "_hx_std_socket_send_to" "_hx_std_socket_recv_from" "]]> "_hx_ssl_debug_set" "_hx_ssl_new" "_hx_ssl_close" "_hx_ssl_handshake" "_hx_ssl_set_socket" "_hx_ssl_set_hostname" "_hx_ssl_get_peer_certificate" "_hx_ssl_get_verify_result" "_hx_ssl_send_char" "_hx_ssl_send" "_hx_ssl_write" "_hx_ssl_recv_char" "_hx_ssl_recv" "_hx_ssl_read" "_hx_ssl_conf_new" "_hx_ssl_conf_close" "_hx_ssl_conf_set_ca" "_hx_ssl_conf_set_verify" "_hx_ssl_conf_set_cert" "_hx_ssl_conf_set_servername_callback" "_hx_ssl_cert_load_defaults" "_hx_ssl_cert_load_file" "_hx_ssl_cert_load_path" "_hx_ssl_cert_get_subject" "_hx_ssl_cert_get_issuer" "_hx_ssl_cert_get_altnames" "_hx_ssl_cert_get_notbefore" "_hx_ssl_cert_get_notafter" "_hx_ssl_cert_get_next" "_hx_ssl_cert_add_pem" "_hx_ssl_cert_add_der" "_hx_ssl_key_from_der" "_hx_ssl_key_from_pem" "_hx_ssl_dgst_make" "_hx_ssl_dgst_sign" "_hx_ssl_dgst_verify" "_hx_ssl_init" "]]> "__hxcpp_parse_float" "__hxcpp_parse_substr_float" "__hxcpp_parse_substr_int" "__hxcpp_parse_substr_int" "_hx_string_compare" "_hx_utf8_char_code_at" "_hx_utf8_length" "_hx_utf8_is_valid" "_hx_utf8_sub" "_hx_string_create" "_hx_utf8_decode_advance" "__hxcpp_print" "__hxcpp_println" "]]> -1 0xff 0 1 2 3 4 5 6 7 8 9 0x100 "::cpp::Pointer_obj::fromRaw" "::cpp::Pointer_obj::fromHandle" "::cpp::Pointer_obj::arrayElem" "::cpp::Pointer_obj::ofArray" variable "::hx::AddressOf" "::hx::AddressOf" Allows haxe to type result correctly, and hxcpp can recognise this and prevent unwanted casting. reference Allows haxe to type result correctly, and hxcpp can recognise this use the correct type. "void" 0 1 2 3 Introduced hxcpp_api_level 310 Returns stats on memory usage: - `MEM_INFO_USAGE` - estimate of how much is needed by program (at last collect) - `MEM_INFO_RESERVED` - memory allocated for possible use - `MEM_INFO_CURRENT` - memory in use, includes uncollected garbage. This will generally saw-tooth between USAGE and RESERVED - `MEM_INFO_LARGE` - Size of separate pool used for large allocs. Included in all the above. { printInstances : true } <_onRequest set="method" line="159" static="1"> <_onSpectate set="method" line="158" static="1"> <_onJoin set="method" line="156" static="1"> <_onError set="method" line="154" static="1"> <_onDisconnected set="method" line="152" static="1"> <_onReady set="method" line="150" static="1"> * Called once Discord has connected and is ready to start. * Called when discord has disconnected the program. * Int is the error code, String is the error message. * Called when an error occured. * Int is the error code, String is the error message. * Called when the user has joined a game through discord. * String is the join secret. * Called when the user has spectated a game through discord. * String is the spectate secret. * Called when the user has recieved a join request. * JoinRequest contains the userID, username, and avatar of the user. * Attempts to connect to discord and initialize itself. * @param _options - Anonymouse structure containin the start options. * Call this to process any callbacks. * Respond to a join request. * @param _userID - The userID of the user who requested to join. * @param _response - The reply to the request. * Set the rich presence for discord. * @param _options - All of the rich presence options. * Stops rich presence content from showing. <_init set="method" static="1"> "linc::discord_rpc::init" "linc::discord_rpc::process" "linc::discord_rpc::respond" "linc::discord_rpc::update_presence" "linc::discord_rpc::shutdown" <_onReady get="inline" set="null" line="150" static="1"> <_onDisconnected get="inline" set="null" line="152" static="1"> <_onError get="inline" set="null" line="154" static="1"> <_onJoin get="inline" set="null" line="156" static="1"> <_onSpectate get="inline" set="null" line="158" static="1"> <_onRequest get="inline" set="null" line="159" static="1"> <__touch get="inline" set="null" expr=""1.680366002e+012"" line="22" static="1"> "1.680366002e+012" \n"]]> "linc_discord_rpc.h" linc.Linc.touch() linc.Linc.xml("discord_rpc") "linc_discord_rpc.h" "DiscordJoinRequest"
    cast 0 cast 1 cast 2 cast 0 cast 1 cast 2 0 idEnumerator++ * A unique ID starting from 0 and increasing by 1 for each subsequent `FlxBasic` that is created. true * Controls whether `update()` is automatically called by `FlxState`/`FlxGroup`. true * Controls whether `draw()` is automatically called by `FlxState`/`FlxGroup`. true * Useful state for many game objects - "dead" (`!alive`) vs `alive`. `kill()` and * `revive()` both flip this switch (along with `exists`, but you can override that). true * Controls whether `update()` and `draw()` are automatically called by `FlxState`/`FlxGroup`. * Gets or sets the first camera of this object. * This determines on which `FlxCamera`s this object will be drawn. If it is `null` / has not been * set, it uses the list of default draw targets, which is controlled via `FlxG.camera.setDefaultDrawTarget` * as well as the `DefaultDrawTarget` argument of `FlxG.camera.add`. NONE * Enum that informs the collision system which type of object this is (to avoid expensive type casting). <_cameras> * **WARNING:** A destroyed `FlxBasic` can't be used anymore. * It may even cause crashes if it is still part of a group or state. * You may want to use `kill()` instead if you want to disable the object temporarily only and `revive()` it later. * * This function is usually not called manually (Flixel calls it automatically during state switches for all `add()`ed objects). * * Override this function to `null` out variables manually or call `destroy()` on class members if necessary. * Don't forget to call `super.destroy()`! * Handy function for "killing" game objects. Use `reset()` to revive them. * Default behavior is to flag them as nonexistent AND dead. * However, if you want the "corpse" to remain in the game, like to animate an effect or whatever, * you should `override` this, setting only `alive` to `false`, and leaving `exists` `true`. * Handy function for bringing game objects "back to life". Just sets `alive` and `exists` back to `true`. * In practice, this function is most often called by `FlxObject#reset()`. * Override this function to update your class's position and appearance. * This is where most of your game rules and behavioral code will go. * Override this function to control how the object is drawn. * Doing so is rarely necessary, but can be very useful. * This is a useful "generic" Flixel object. Both `FlxObject` and * `FlxGroup` extend this class. Has no size, position or graphical data. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Types of flixel objects - mainly for collisions. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() cast 0 cast 1 cast 2 cast 3 cast 4 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() cast 0 cast 1 cast 2 cast 3 cast 4 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() cast (0, flixel.FlxType) cast (1, flixel.FlxType) cast (2, flixel.FlxType) cast (3, flixel.FlxType) cast (4, flixel.FlxType) hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * **WARNING:** A destroyed `FlxBasic` can't be used anymore. * It may even cause crashes if it is still part of a group or state. * You may want to use `kill()` instead if you want to disable the object temporarily only and `revive()` it later. * * This function is usually not called manually (Flixel calls it automatically during state switches for all `add()`ed objects). * * Override this function to `null` out variables manually or call `destroy()` on class members if necessary. * Don't forget to call `super.destroy()`! <_HX_SUPER__destroy public="1" set="method" line="31"> * Handy function for "killing" game objects. Use `reset()` to revive them. * Default behavior is to flag them as nonexistent AND dead. * However, if you want the "corpse" to remain in the game, like to animate an effect or whatever, * you should `override` this, setting only `alive` to `false`, and leaving `exists` `true`. <_HX_SUPER__kill public="1" set="method" line="31"> * Handy function for bringing game objects "back to life". Just sets `alive` and `exists` back to `true`. * In practice, this function is most often called by `FlxObject#reset()`. <_HX_SUPER__revive public="1" set="method" line="31"> * Override this function to update your class's position and appearance. * This is where most of your game rules and behavioral code will go. <_HX_SUPER__update public="1" set="method" line="31"> * Override this function to control how the object is drawn. * Doing so is rarely necessary, but can be very useful. <_HX_SUPER__draw public="1" set="method" line="31"> <_HX_SUPER__toString public="1" set="method" line="148"> <_HX_SUPER__set_visible set="method" line="148"> <_HX_SUPER__set_active set="method" line="148"> <_HX_SUPER__set_exists set="method" line="148"> <_HX_SUPER__set_alive set="method" line="148"> <_HX_SUPER__get_camera set="method" line="148"> <_HX_SUPER__set_camera set="method" line="148"> <_HX_SUPER__get_cameras set="method" line="148"> <_HX_SUPER__set_cameras set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.FlxBasic flixel.FlxBasic.FlxType flixel.FlxBasic.FlxType flixel.FlxBasic.IFlxBasic hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_pool expr="new FlxPool<FlxRect>(FlxRect)" line="15" static="1"> (FlxRect)]]> { Height : 0, Width : 0, Y : 0, X : 0 } * Recycle or create new FlxRect. * Be sure to put() them back into the pool after you're done with them! { Height : 0, Width : 0, Y : 0, X : 0 } * Recycle or create a new FlxRect which will automatically be released * to the pool when passed into a flixel function. * The x coordinate of the left side of the rectangle. * The x coordinate of the right side of the rectangle. * The y coordinate of the top of the rectangle. * The y coordinate of the bottom of the rectangle. * Whether width or height of this rectangle is equal to zero or not. <_weak expr="false"> false <_inPool expr="false"> false * Add this FlxRect to the recycling pool. * Add this FlxPoint to the recycling pool if it's a weak reference (allocated via weak()). * Shortcut for setting both width and Height. * * @param Width The new sprite width. * @param Height The new sprite height. * Shortcut for setting both x and y. { Height : 0, Width : 0, Y : 0, X : 0 } * Fill this rectangle with the data provided. * * @param X The X-coordinate of the point in space. * @param Y The Y-coordinate of the point in space. * @param Width Desired width of the rectangle. * @param Height Desired height of the rectangle. * @return A reference to itself. * Helper function, just copies the values from the specified rectangle. * * @param Rect Any FlxRect. * @return A reference to itself. * Helper function, just copies the values from this rectangle to the specified rectangle. * * @param Point Any FlxRect. * @return A reference to the altered rectangle parameter. * Helper function, just copies the values from the specified Flash rectangle. * * @param FlashRect Any Rectangle. * @return A reference to itself. * Helper function, just copies the values from this rectangle to the specified Flash rectangle. * * @param Point Any Rectangle. * @return A reference to the altered rectangle parameter. * Checks to see if some FlxRect object overlaps this FlxRect object. * * @param Rect The rectangle being tested. * @return Whether or not the two rectangles overlap. * Returns true if this FlxRect contains the FlxPoint * * @param Point The FlxPoint to check * @return True if the FlxPoint is within this FlxRect, otherwise false * Add another rectangle to this one by filling in the * horizontal and vertical space between the two rectangles. * * @param Rect The second FlxRect to add to this one * @return The changed FlxRect * Rounds x, y, width and height using Math.floor() * Rounds x, y, width and height using Math.ceil() * Rounds x, y, width and height using Math.round() * Calculation of bounding box for two points * * @param point1 first point to calculate bounding box * @param point2 second point to calculate bounding box * @return this rectangle filled with the position and size of bounding box for two specified points * Add another point to this rectangle one by filling in the * horizontal and vertical space between the point and this rectangle. * * @param Point point to add to this one * @return The changed FlxRect * Calculates the globally aligned bounding box of a `FlxRect` with the given angle and origin. * @param degrees The rotation, in degrees of the rect. * @param origin The relative pivot point, or the point that the rectangle rotates around. * if `null` , the top-left (or 0,0) is used. * @param newRect Optional output `FlxRect`, if `null`, a new one is created. Note: If you like, you can * pass in the input rect to manipulate it. ex: `rect.calcRotatedBounds(angle, null, rect)` * @return A globally aligned `FlxRect` that fully contains the input rectangle. * @since 4.11.0 * Necessary for IFlxDestroyable. * Checks if this rectangle's properties are equal to properties of provided rect. * * @param rect Rectangle to check equality to. * @return Whether both rectangles are equal. * Returns the area of intersection with specified rectangle. * If the rectangles do not intersect, this method returns an empty rectangle. * * @param rect Rectangle to check intersection against. * @return The area of intersection of two rectangles. * Convert object to readable string name. Useful for debugging, save games, etc. { Height : 0, Width : 0, Y : 0, X : 0 } * Stores a rectangle. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * While you can alter the zoom of each camera after the fact, * this variable determines what value the camera will start at when created. "`FlxCamera.defaultCameras` is deprecated, use `FlxG.cameras.setDefaultDrawTarget` instead" * Used behind-the-scenes during the draw phase so that members use the same default * cameras as their parent. * * Prior to 4.9.0 it was useful to change this value, but that feature is deprecated. * Instead use the `defaultDrawTarget` argument in `FlxG.cameras.add `. * or`FlxG.cameras.setDefaultDrawTarget` . * @see FlxG.cameras.setDefaultDrawTarget <_defaultCameras static="1"> flixel.FlxBasic.get_cameras flixel.FlxBasic.get_camera flixel.system.frontEnds.CameraFrontEnd flixel.group.FlxTypedGroup.draw * Used behind-the-scenes during the draw phase so that members use the same default * cameras as their parent. * * This is the non-deprecated list that the public `defaultCameras` proxies. Allows flixel classes * to use it without warning. <_storageTilesHead static="1"> * Draw tiles stack items that can be reused <_storageTrianglesHead static="1"> * Draw triangles stack items that can be reused ()]]> * Internal variable, used for visibility checks to minimize `drawTriangles()` calls. new Sprite() * Internal variable, used in blit render mode to render triangles (`drawTriangles()`) on camera's buffer. FlxPoint.get() * Internal variables, used in blit render mode to draw trianglesSprite on camera's buffer. * Added for less garbage creation. FlxRect.get() "`FlxCamera.defaultCameras` is deprecated, use `FlxG.cameras.setDefaultDrawTarget` instead" "`FlxCamera.defaultCameras` is deprecated, use `FlxG.cameras.setDefaultDrawTarget` instead" null * Whenever the camera should be widescreen or not. * If null, will use the `FlxG.widescreen` variable. new FlxPoint(0, 0) * Widescreen dimensions multipliers * For example, if the camera is in widescreen mode and the game is in 1920x720 while the camera is in 1280x720, * the value will be equal to `new FlxPoint(1.5, 1);`. true * Whenever the camera follow is active. Used for pause. true * Whenever the fix for black bars when the camera rotates should be enabled. Defaults to `true`. 0 * The X position of this camera's display. `zoom` does NOT affect this number. * Measured in pixels from the left side of the window. * You might be interested in using camera's `scroll.x` instead. 0 * The Y position of this camera's display. `zoom` does NOT affect this number. * Measured in pixels from the top of the window. * You might be interested in using camera's `scroll.y` instead. 0 * The scaling on horizontal axis for this camera. * Setting `scaleX` changes `scaleX` and x coordinate of camera's internal display objects. 0 * The scaling on vertical axis for this camera. * Setting `scaleY` changes `scaleY` and y coordinate of camera's internal display objects. * Product of camera's `scaleX` and game's scale mode `scale.x` multiplication. * Product of camera's scaleY and game's scale mode scale.y multiplication. * Tells the camera to follow this FlxObject object around. FlxPoint.get() * Offset the camera target. 1 * Used to smoothly track the camera as it follows: * The percent of the distance to the follow `target` the camera moves per 1/60 sec. * Values are bounded between `0.0` and `1.0`. * `elapsed` is used during `update` calls for consistency across framerates. * The maximum value means no camera easing. A value of `0` means the camera does not move. * You can assign a "dead zone" to the camera in order to better control its movement. * The camera will always keep the focus object inside the dead zone, unless it is bumping up against * the camera bounds. The `deadzone`'s coordinates are measured from the camera's upper left corner in game pixels. * For rapid prototyping, you can use the preset deadzones (e.g. `PLATFORMER`) with `follow()`. * Lower bound of the camera's `scroll` on the x axis. * Upper bound of the camera's `scroll` on the x axis. * Lower bound of the camera's `scroll` on the y axis. * Upper bound of the camera's `scroll` on the y axis. FlxPoint.get() * Stores the basic parallax scrolling values. * This is basically the camera's top-left corner position in world coordinates. * There is also `focusOn(point:FlxPoint)` which you can use to * make the camera look at specified point in world coordinates. * The actual `BitmapData` of the camera display itself. * Used in blit render mode, where you can manipulate its pixels for achieving some visual effects. * The natural background color of the camera, in `AARRGGBB` format. Defaults to `FlxG.cameras.bgColor`. * On Flash, transparent backgrounds can be used in conjunction with `useBgAlphaBlending`. * Sometimes it's easier to just work with a `FlxSprite` than it is to work directly with the `BitmapData` buffer. * This sprite reference will allow you to do exactly that. * Basically this sprite's `pixels` property is camera's `BitmapData` buffer. * NOTE: This variable is used only in blit render mode. * * The FlxBloom demo shows how you can use this variable in blit render mode. * @see http://haxeflixel.com/demos/FlxBloom/ false * Whether to use alpha blending for camera's background fill or not. * If `true` then previously drawn graphics won't be erased, * and if camera's `bgColor` is transparent/semitransparent then you * will be able to see graphics of the previous frame. * Useful for blit render mode (and works only in this mode). Default value is `false`. * * Usage example can be seen in FlxBloom demo. * @see http://haxeflixel.com/demos/FlxBloom/ new Sprite() * Used to render buffer to screen space. * NOTE: We don't recommend modifying this directly unless you are fairly experienced. * Uses include 3D projection, advanced display list modification, and more. * This is container for everything else that is used by camera and rendered to the camera. * * Its position is modified by `updateFlashSpritePosition()` which is called every frame. * Whether the positions of the objects rendered on this camera are rounded. * If set on individual objects, they ignore the global camera setting. * Defaults to `false` with `FlxG.renderTile` and to `true` with `FlxG.renderBlit`. * WARNING: setting this to `false` on blitting targets is very expensive. 0 * How wide the camera display is, in game pixels. 0 * How tall the camera display is, in game pixels. * The zoom level of this camera. `1` = 1:1, `2` = 2x zoom, etc. * Indicates how far the camera is zoomed in. 0 * Difference between native size of camera and zoomed size, divided in half * Needed to do occlusion of objects when zoom != initialZoom 0 0 * The size of the camera plus view offset. * These variables are used for object visibility checks. 0 0 * Dimensions of area visible at current camera zoom. 0 <_blitMatrix expr="new FlxMatrix()"> new FlxMatrix() * Helper matrix object. Used in blit render mode when camera's zoom is less than initialZoom * (it is applied to all objects rendered on the camera at such circumstances). <_useBlitMatrix expr="false"> false * Logical flag for tracking whether to apply _blitMatrix transformation to objects or not. 1 * The alpha value of this camera display (a number between `0.0` and `1.0`). 0 * The angle of the camera display (in degrees). FlxColor.WHITE * The color tint of the camera display. false * Whether the camera display is smooth and filtered, or chunky and pixelated. * Default behavior is chunky-style. FlxPoint.get() * Used to force the camera to look ahead of the target. true * Enables or disables the filters set via `setFilters()`. <_flashRect> * Internal, used in blit render mode in camera's `fill()` method for less garbage creation. * It represents the size of buffer `BitmapData` * (the area of camera's buffer which should be filled with `bgColor`). * Do not modify it unless you know what are you doing. <_flashPoint expr="new Point()"> new Point() * Internal, used in blit render mode in camera's `fill()` method for less garbage creation: * Its coordinates are always `(0,0)`, where camera's buffer filling should start. * Do not modify it unless you know what are you doing. <_flashOffset expr="FlxPoint.get()"> FlxPoint.get() * Internal, used for positioning camera's `flashSprite` on screen. * Basically it represents position of camera's center point in game sprite. * It's recalculated every time you resize game or camera. * Its value depends on camera's size (`width` and `height`), game's `scale` and camera's initial zoom factor. * Do not modify it unless you know what are you doing. <_fxFlashColor expr="FlxColor.TRANSPARENT"> FlxColor.TRANSPARENT * Internal, represents the color of `flash()` special effect. <_fxFlashDuration expr="0"> 0 * Internal, stores `flash()` special effect duration. <_fxFlashComplete expr="null"> null * Internal, camera's `flash()` complete callback. <_fxFlashAlpha expr="0"> 0 * Internal, used to control the `flash()` special effect. <_fxFadeColor expr="FlxColor.TRANSPARENT"> FlxColor.TRANSPARENT * Internal, color of fading special effect. <_lastTargetPosition> * Used to calculate the following target current velocity. <_scrollTarget expr="FlxPoint.get()"> FlxPoint.get() * Helper to calculate follow target current scroll. <_fxFadeDuration expr="0"> 0 * Internal, `fade()` special effect duration. <_fxFadeIn expr="false"> false * Internal, "direction" of the `fade()` effect. * `true` means that camera fades from a color, `false` - camera fades to it. <_fxFadeComplete expr="null"> null * Internal, used to control the `fade()` special effect complete callback. <_fxFadeAlpha expr="0"> 0 * Internal, alpha component of fade color. * Changes from 0 to 1 or from 1 to 0 as the effect continues. <_fxShakeIntensity expr="0"> 0 * Internal, percentage of screen size representing the maximum distance that the screen can move while shaking. <_fxShakeDuration expr="0"> 0 * Internal, duration of the `shake()` effect. <_fxShakeComplete> * Internal, `shake()` effect complete callback. <_fxShakeAxes expr="XY"> XY * Internal, defines on what axes to `shake()`. Default value is `XY` / both. <_point expr="FlxPoint.get()"> FlxPoint.get() * Internal, used for repetitive calculations and added to help avoid costly allocations. <_filters> * Internal, the filters array to be applied to the camera. 1 * Camera's initial zoom value. Used for camera's scale handling. <_fill> * Internal helper variable for doing better wipes/fills between renders. * Used it blit render mode only (in `fill()` method). <_flashBitmap> * Internal, used to render buffer to screen space. Used it blit render mode only. * This Bitmap used for rendering camera's buffer (`_flashBitmap.bitmapData = buffer;`) * Its position is modified by `updateInternalSpritePositions()`, which is called on camera's resize and scale events. * It is a child of the `_scrollRect` `Sprite`. <_scrollRect expr="new Sprite()"> new Sprite() * Internal sprite, used for correct trimming of camera viewport. * It is a child of `flashSprite`. * Its position is modified by `updateScrollRect()` method, which is called on camera's resize and scale events. <_bounds expr="FlxRect.get()"> FlxRect.get() * Helper rect for `drawTriangles()` visibility checks * Sprite used for actual rendering in tile render mode (instead of `_flashBitmap` for blitting). * Its graphics is used as a drawing surface for `drawTriangles()` and `drawTiles()` methods. * It is a child of `_scrollRect` `Sprite` (which trims graphics that should be invisible). * Its position is modified by `updateInternalSpritePositions()`, which is called on camera's resize and scale events. <_helperMatrix expr="new FlxMatrix()"> new FlxMatrix() <_helperPoint expr="new Point()"> new Point() <_currentDrawItem> * Currently used draw stack item <_headOfDrawStack> * Pointer to head of stack with draw items <_headTiles> * Last draw tiles item <_headTriangles> * Last draw triangles item * Scroll Rect (non affected by widescreen) { smooth : false, hasColorOffsets : false } { isColored : false, smoothing : false } { isColored : false, smoothing : false } flixel.system.frontEnds.CameraFrontEnd flixel.system.frontEnds.CameraFrontEnd { smoothing : false } false false { smoothing : false } { smoothing : false, repeat : false } * Helper method preparing debug rectangle for rendering in blit render mode * @param rect rectangle to prepare for rendering * @return transformed rectangle with respect to camera's zoom factor * Helper method preparing debug point for rendering in blit render mode (for debug path rendering, for example) * @param point point to prepare for rendering * @return transformed point with respect to camera's zoom factor * Helper method preparing debug vectors (relative positions) for rendering in blit render mode * @param vector relative position to prepare for rendering * @return transformed vector with respect to camera's zoom factor * Helper method for applying transformations (scaling and offsets) * to specified display objects which has been added to the camera display list. * For example, debug sprite for nape debug rendering. * @param object display object to apply transformations to. * @return transformed object. * Clean up memory. * Updates the camera scroll as well as special effects like screen-shake or fades. * Updates (bounds) the camera scroll. * Called every frame by camera's `update()` method. * Updates camera's scroll. * Called every frame by camera's `update()` method (if camera's `target` isn't `null`). * Recalculates `flashSprite` position. * Called every frame by camera's `update()` method and every time you change camera's position. * Recalculates `_flashOffset` point, which is used for positioning flashSprite in the game. * It's called every time you resize the camera or the game. * Updates `_scrollRect` sprite to crop graphics of the camera: * 1) `scrollRect` property of this sprite * 2) position of this sprite inside `flashSprite` * * It takes camera's size and game's scale into account. * It's called every time you resize the camera or the game. * Modifies position of `_flashBitmap` in blit render mode and `canvas` and `debugSprite` * in tile render mode (these objects are children of `_scrollRect` sprite). * It takes camera's size and game's scale into account. * It's called every time you resize the camera or the game. * Tells this camera object what `FlxObject` to track. * * @param Target The object you want the camera to track. Set to `null` to not follow anything. * @param Style Leverage one of the existing "deadzone" presets. Default is `LOCKON`. * If you use a custom deadzone, ignore this parameter and * manually specify the deadzone after calling `follow()`. * @param Lerp How much lag the camera should have (can help smooth out the camera movement). * Snaps the camera to the current `target`. Useful to move the camera without * any easing when the `target` position changes and there is a `followLerp`. * Move the camera focus to this location instantly. * * @param Point Where you want the camera to focus. { Force : false, Duration : 1, Color : FlxColor.WHITE } * The screen is filled with this color and gradually returns to normal. * * @param Color The color you want to use. * @param Duration How long it takes for the flash to fade. * @param OnComplete A function you want to run when the flash finishes. * @param Force Force the effect to reset. { Force : false, FadeIn : false, Duration : 1, Color : FlxColor.BLACK } * The screen is gradually filled with this color. * * @param Color The color you want to use. * @param Duration How long it takes for the fade to finish. * @param FadeIn `true` fades from a color, `false` fades to it. * @param OnComplete A function you want to run when the fade finishes. * @param Force Force the effect to reset. { Force : true, Duration : 0.5, Intensity : 0.05 } * A simple screen-shake effect. * * @param Intensity Percentage of screen size representing the maximum distance * that the screen can move while shaking. * @param Duration The length in seconds that the shaking effect should last. * @param OnComplete A function you want to run when the shake effect finishes. * @param Force Force the effect to reset (default = `true`, unlike `flash()` and `fade()`!). * @param Axes On what axes to shake. Default value is `FlxAxes.XY` / both. * Just turns off all the camera effects instantly. * Sets the filter array to be applied to the camera. * Copy the bounds, focus object, and `deadzone` info from an existing camera. * * @param Camera The camera you want to copy from. * @return A reference to this `FlxCamera` object. { FxAlpha : 1.0, BlendAlpha : true } * Fill the camera with the specified color. * * @param Color The color to fill with in `0xAARRGGBB` hex format. * @param BlendAlpha Whether to blend the alpha value or just wipe the previous contents. Default is `true`. flixel.system.frontEnds.CameraFrontEnd * Internal helper function, handles the actual drawing of all the special effects. flixel.system.frontEnds.CameraFrontEnd * Shortcut for setting both `width` and `height`. * * @param Width The new camera width. * @param Height The new camera height. { Y : 0, X : 0 } * Helper function to set the coordinates of this camera. * Handy since it only requires one line of code. * * @param X The new x position. * @param Y The new y position. { UpdateWorld : false, Height : 0, Width : 0, Y : 0, X : 0 } * Specify the bounding rectangle of where the camera is allowed to move. * * @param X The smallest X value of your level (usually `0`). * @param Y The smallest Y value of your level (usually `0`). * @param Width The largest X value of your level (usually the level width). * @param Height The largest Y value of your level (usually the level height). * @param UpdateWorld Whether the global quad-tree's dimensions should be updated to match (default: `false`). * Specify the bounds of where the camera is allowed to move. * Set the boundary of a side to `null` to leave that side unbounded. * * @param MinX The minimum X value the camera can scroll to * @param MaxX The maximum X value the camera can scroll to * @param MinY The minimum Y value the camera can scroll to * @param MaxY The maximum Y value the camera can scroll to * Helper function to set the scale of this camera. * Handy since it only requires one line of code. * * @param X The new scale on x axis * @param Y The new scale of y axis * Called by camera front end every time you resize the game. * It triggers reposition of camera's internal display objects. * The size and position of this camera's screen * @since 4.11.0 { height : 0, width : 0 } * Checks whether this camera contains a given point or rectangle, in * screen coordinates. * @since 4.3.0 * Checks whether this camera contains a given rectangle, in screen coordinates. * @since 4.11.0 { Zoom : 0, Height : 0, Width : 0, Y : 0, X : 0 } * Instantiates a new camera at the specified location, with the specified size and zoom level. * * @param X X location of the camera's display in pixels. Uses native, 1:1 resolution, ignores zoom. * @param Y Y location of the camera's display in pixels. Uses native, 1:1 resolution, ignores zoom. * @param Width The width of the camera display in pixels. * @param Height The height of the camera display in pixels. * @param Zoom The initial zoom level of the camera. * A zoom level of 2 will make all pixels display at 2x resolution. `_scrollRect:Sprite` (which is used for cropping camera's graphic, mostly in tile render mode) * |-> `_flashBitmap:Bitmap` (its bitmapData property is buffer BitmapData, this var is used in blit render mode. * Everything is rendered on buffer in blit render mode) * |-> `canvas:Sprite` (its graphics is used for rendering objects in tile render mode) * |-> `debugLayer:Sprite` (this sprite is used in tile render mode for rendering debug info, like bounding boxes)]]> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Camera has no deadzone, just tracks the focus object directly. * Camera's deadzone is narrow but tall. * Camera's deadzone is a medium-size square around the focus object. * Camera's deadzone is a small square around the focus object. * Camera will move screenwise. * Camera has no deadzone, just tracks the focus object directly and centers it. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__addShader public="1" set="method" line="148"> <_HX_SUPER__removeShader public="1" set="method" line="148"> <_HX_SUPER__set_widescreen set="method" line="148"> { smooth : false, hasColorOffsets : false } <_HX_SUPER__startQuadBatch public="1" set="method" line="148"> { smooth : false, hasColorOffsets : false } { isColored : false, smoothing : false } <_HX_SUPER__startTrianglesBatch public="1" set="method" line="148"> { isColored : false, smoothing : false } { isColored : false, smoothing : false } <_HX_SUPER__getNewDrawTrianglesItem public="1" set="method" line="148"> { isColored : false, smoothing : false } flixel.system.frontEnds.CameraFrontEnd <_HX_SUPER__clearDrawStack set="method" line="31"> flixel.system.frontEnds.CameraFrontEnd <_HX_SUPER__render set="method" line="31"> { smoothing : false } <_HX_SUPER__drawPixels public="1" set="method" line="31"> { smoothing : false } { smoothing : false } <_HX_SUPER__copyPixels public="1" set="method" line="31"> { smoothing : false } { smoothing : false, repeat : false } <_HX_SUPER__drawTriangles public="1" set="method" line="31"> { smoothing : false, repeat : false } * Helper method preparing debug rectangle for rendering in blit render mode * @param rect rectangle to prepare for rendering * @return transformed rectangle with respect to camera's zoom factor <_HX_SUPER__transformRect set="method" line="148"> * Helper method preparing debug point for rendering in blit render mode (for debug path rendering, for example) * @param point point to prepare for rendering * @return transformed point with respect to camera's zoom factor <_HX_SUPER__transformPoint set="method" line="148"> * Helper method for applying transformations (scaling and offsets) * to specified display objects which has been added to the camera display list. * For example, debug sprite for nape debug rendering. * @param object display object to apply transformations to. * @return transformed object. <_HX_SUPER__transformObject set="method" line="148"> * Clean up memory. <_HX_SUPER__destroy public="1" set="method" line="31"> * Updates the camera scroll as well as special effects like screen-shake or fades. <_HX_SUPER__update public="1" set="method" line="31"> * Updates (bounds) the camera scroll. * Called every frame by camera's `update()` method. <_HX_SUPER__updateScroll public="1" set="method" line="31"> * Updates camera's scroll. * Called every frame by camera's `update()` method (if camera's `target` isn't `null`). <_HX_SUPER__updateFollow public="1" set="method" line="31"> <_HX_SUPER__updateFlash set="method" line="31"> <_HX_SUPER__updateFade set="method" line="31"> <_HX_SUPER__completeFade set="method" line="148"> <_HX_SUPER__updateShake set="method" line="31"> * Recalculates `flashSprite` position. * Called every frame by camera's `update()` method and every time you change camera's position. <_HX_SUPER__updateFlashSpritePosition set="method" line="31"> * Recalculates `_flashOffset` point, which is used for positioning flashSprite in the game. * It's called every time you resize the camera or the game. <_HX_SUPER__updateFlashOffset set="method" line="31"> * Updates `_scrollRect` sprite to crop graphics of the camera: * 1) `scrollRect` property of this sprite * 2) position of this sprite inside `flashSprite` * * It takes camera's size and game's scale into account. * It's called every time you resize the camera or the game. <_HX_SUPER__updateScrollRect set="method" line="31"> <_HX_SUPER__calculateScrollRect set="method" line="148"> * Modifies position of `_flashBitmap` in blit render mode and `canvas` and `debugSprite` * in tile render mode (these objects are children of `_scrollRect` sprite). * It takes camera's size and game's scale into account. * It's called every time you resize the camera or the game. <_HX_SUPER__updateInternalSpritePositions set="method" line="31"> * Tells this camera object what `FlxObject` to track. * * @param Target The object you want the camera to track. Set to `null` to not follow anything. * @param Style Leverage one of the existing "deadzone" presets. Default is `LOCKON`. * If you use a custom deadzone, ignore this parameter and * manually specify the deadzone after calling `follow()`. * @param Lerp How much lag the camera should have (can help smooth out the camera movement). <_HX_SUPER__follow public="1" set="method" line="31"> * Snaps the camera to the current `target`. Useful to move the camera without * any easing when the `target` position changes and there is a `followLerp`. <_HX_SUPER__snapToTarget public="1" set="method" line="31"> { Force : false, Duration : 1, Color : FlxColor.WHITE } * The screen is filled with this color and gradually returns to normal. * * @param Color The color you want to use. * @param Duration How long it takes for the flash to fade. * @param OnComplete A function you want to run when the flash finishes. * @param Force Force the effect to reset. <_HX_SUPER__flash public="1" set="method" line="31"> { Force : false, Duration : 1, Color : FlxColor.WHITE } { Force : false, FadeIn : false, Duration : 1, Color : FlxColor.BLACK } * The screen is gradually filled with this color. * * @param Color The color you want to use. * @param Duration How long it takes for the fade to finish. * @param FadeIn `true` fades from a color, `false` fades to it. * @param OnComplete A function you want to run when the fade finishes. * @param Force Force the effect to reset. <_HX_SUPER__fade public="1" set="method" line="31"> { Force : false, FadeIn : false, Duration : 1, Color : FlxColor.BLACK } { Force : true, Duration : 0.5, Intensity : 0.05 } * A simple screen-shake effect. * * @param Intensity Percentage of screen size representing the maximum distance * that the screen can move while shaking. * @param Duration The length in seconds that the shaking effect should last. * @param OnComplete A function you want to run when the shake effect finishes. * @param Force Force the effect to reset (default = `true`, unlike `flash()` and `fade()`!). * @param Axes On what axes to shake. Default value is `FlxAxes.XY` / both. <_HX_SUPER__shake public="1" set="method" line="31"> { Force : true, Duration : 0.5, Intensity : 0.05 } * Just turns off all the camera effects instantly. <_HX_SUPER__stopFX public="1" set="method" line="31"> * Sets the filter array to be applied to the camera. <_HX_SUPER__setFilters public="1" set="method" line="31"> * Copy the bounds, focus object, and `deadzone` info from an existing camera. * * @param Camera The camera you want to copy from. * @return A reference to this `FlxCamera` object. <_HX_SUPER__copyFrom public="1" set="method" line="148"> { FxAlpha : 1.0, BlendAlpha : true } * Fill the camera with the specified color. * * @param Color The color to fill with in `0xAARRGGBB` hex format. * @param BlendAlpha Whether to blend the alpha value or just wipe the previous contents. Default is `true`. <_HX_SUPER__fill public="1" set="method" line="31"> { FxAlpha : 1.0, BlendAlpha : true } flixel.system.frontEnds.CameraFrontEnd * Internal helper function, handles the actual drawing of all the special effects. <_HX_SUPER__drawFX set="method" line="31"> flixel.system.frontEnds.CameraFrontEnd <_HX_SUPER__checkResize set="method" line="31"> { UpdateWorld : false, Height : 0, Width : 0, Y : 0, X : 0 } * Specify the bounding rectangle of where the camera is allowed to move. * * @param X The smallest X value of your level (usually `0`). * @param Y The smallest Y value of your level (usually `0`). * @param Width The largest X value of your level (usually the level width). * @param Height The largest Y value of your level (usually the level height). * @param UpdateWorld Whether the global quad-tree's dimensions should be updated to match (default: `false`). <_HX_SUPER__setScrollBoundsRect public="1" set="method" line="31"> { UpdateWorld : false, Height : 0, Width : 0, Y : 0, X : 0 } * Specify the bounds of where the camera is allowed to move. * Set the boundary of a side to `null` to leave that side unbounded. * * @param MinX The minimum X value the camera can scroll to * @param MaxX The maximum X value the camera can scroll to * @param MinY The minimum Y value the camera can scroll to * @param MaxY The maximum Y value the camera can scroll to <_HX_SUPER__setScrollBounds public="1" set="method" line="31"> * Helper function to set the scale of this camera. * Handy since it only requires one line of code. * * @param X The new scale on x axis * @param Y The new scale of y axis <_HX_SUPER__setScale public="1" set="method" line="31"> * Called by camera front end every time you resize the game. * It triggers reposition of camera's internal display objects. <_HX_SUPER__onResize public="1" set="method" line="31"> * The size and position of this camera's screen * @since 4.11.0 <_HX_SUPER__getViewRect public="1" set="method" line="148"> <_HX_SUPER__set_followLerp set="method" line="148"> <_HX_SUPER__set_width set="method" line="148"> <_HX_SUPER__set_height set="method" line="148"> <_HX_SUPER__set_zoom set="method" line="148"> <_HX_SUPER__set_alpha set="method" line="148"> <_HX_SUPER__set_angle set="method" line="148"> <_HX_SUPER__set_color set="method" line="148"> <_HX_SUPER__set_antialiasing set="method" line="148"> <_HX_SUPER__set_x set="method" line="148"> <_HX_SUPER__set_y set="method" line="148"> <_HX_SUPER__set_visible set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.FlxCamera.FlxDrawItem flixel.FlxCamera flixel.FlxCamera.FlxCameraFollowStyle "" * Formats the version in the format "HaxeFlixel MAJOR.MINOR.PATCH-COMMIT_SHA", * e.g. HaxeFlixel 3.0.4. * If this is a dev version, the git sha is included. * Helper object for semantic versioning. * @see http://semver.org/ hscript.UsingHandler.build() hscript.ClassExtendMacro.build() flixel.system.macros.FlxGitSHA.buildGitSHA("flixel") * Gets max texture size for native targets * Helper FlxFrame object. Containing only one frame. * Useful for drawing colored rectangles of all sizes in FlxG.renderTile mode. <_cache> flixel.system.frontEnds.BitmapLogFrontEnd <_whitePixel> <_lastUniqueKeyIndex expr="0"> 0 * New context handler. * Regenerates tilesheets for all dumped graphics objects in the cache. * Dumps bits of all graphics in the cache. This frees some memory, but you can't read/write pixels on those graphics anymore. * You can call undump() method for each FlxGraphic (or undumpCache()) object which will restore it again. * Restores graphics of all dumped objects in the cache. * Check the local bitmap cache to see if a bitmap with this key has been loaded already. * * @param Key The string key identifying the bitmap. * @return Whether or not this file can be found in the cache. { Unique : false } * Generates a new BitmapData object (a colored rectangle) and caches it. * * @param Width How wide the rectangle should be. * @param Height How high the rectangle should be. * @param Color What color the rectangle should be (0xAARRGGBB) * @param Unique Ensures that the bitmap data uses a new slot in the cache. * @param Key Force the cache to use a specific Key to index the bitmap. * @return The BitmapData we just created. { Unique : false } * Loads a bitmap from a file, clones it if necessary and caches it. * @param Graphic Optional FlxGraphics object to create FlxGraphic from. * @param Frames Optional FlxFramesCollection object to create FlxGraphic from. * @param Bitmap Optional BitmapData object to create FlxGraphic from. * @param BitmapClass Optional Class for BitmapData to create FlxGraphic from. * @param Str Optional String key to use for FlxGraphic instantiation. * @param Unique Ensures that the bitmap data uses a new slot in the cache. * @param Key Force the cache to use a specific Key to index the bitmap. * @return The FlxGraphic we just created. * Caches specified FlxGraphic object. * * @param graphic FlxGraphic to store in the cache. * @return cached FlxGraphic object. * Gets FlxGraphic object from this storage by specified key. * @param key Key for FlxGraphic object (its name) * @return FlxGraphic with the key name, or null if there is no such object * Gets key from bitmap cache for specified BitmapData * * @param bmd BitmapData to find in cache * @return BitmapData's key or null if there isn't such BitmapData in cache * Helper method for getting cache key for FlxGraphic objects created from the class. * * @param source BitmapData source class. * @return Full name for provided class. { unique : false } * Creates string key for further caching. * * @param systemKey The first string key to use as a base for a new key. It's usually a key from openfl.Assets ("assets/image.png"). * @param userKey The second string key to use as a base for a new key. It's usually a key provided by the user * @param unique Whether generated key should be unique or not. * @return Created key. * Gets unique key for bitmap cache * * @param baseKey key's prefix * @return unique key * Generates key from provided base key and information about tile size and offsets in spritesheet * and the region of image to use as spritesheet graphics source. * * @param baseKey Beginning of the key. Usually it is the key for original spritesheet graphics (like "assets/tile.png") * @param frameSize the size of tile in spritesheet * @param frameSpacing offsets between tiles in offsets * @param region region of image to use as spritesheet graphics source * @return Generated key for spritesheet with inserted spaces between tiles * Totally removes specified FlxGraphic object. * @param FlxGraphic object you want to remove and destroy. * Totally removes FlxGraphic object with specified key. * @param key the key for cached FlxGraphic object. <__doNotDelete expr="false"> false flixel.graphics.FlxGraphic <__countCache expr="[]"> [] <__cacheCopy expr="[]"> [] * Clears image cache (and destroys those images). * Graphics object will be removed and destroyed only if it shouldn't persist in the cache and its useCount is 0. * Maps the entire cache as destroyable, aka must be cleared. * Completely resets bitmap cache, which means destroying ALL of the cached FlxGraphic objects. * Removes all unused graphics from cache, * but skips graphics which should persist in cache and shouldn't be destroyed on no use. * Internal storage system to prevent graphics from being used repeatedly in memory. * * Accessed via `FlxG.bitmap`. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() { Name : "" } * Clears all bitmaps { Index : -1 } * Clear one bitmap object from the log -- the last one, by default * @param Index * Clears the bitmapLog window and adds the entire cache to it. flixel.FlxG * Accessed via `FlxG.bitmapLog`. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() [] * An array listing FlxCamera objects that are used to draw stuff. * By default flixel creates one camera the size of the screen. * Do not edit directly, use `add` and `remove` instead. [] * Array listing all cameras marked as default draw targets, `FlxBasics` with no *`cameras` set will render to them. * The current (global, applies to all cameras) bgColor. ()]]> @since 4.2.0 ()]]> @since 4.2.0 ()]]> @since 4.2.0 ()]]> @since 4.2.0 ()]]> @since 4.2.0 false * Allows you to possibly slightly optimize the rendering process IF * you are not doing any pre-processing in your game state's draw() call. <_cameraRect expr="new Rectangle()"> new Rectangle() * Internal helper variable for clearing the cameras each frame. { DefaultDrawTarget : true } * Add a new camera object to the game. * Handy for PiP, split-screen, etc. * @see flixel.FlxBasic.cameras * * @param NewCamera The camera you want to add. * @param DefaultDrawTarget Whether to add the camera to the list of default draw targets. If false, * `FlxBasics` will not render to it unless you add it to their `cameras` list. * @return This FlxCamera instance. { Destroy : true } * Remove a camera from the game. * * @param Camera The camera you want to remove. * @param Destroy Whether to call destroy() on the camera, default value is true. * If set to true, the camera is listed as a default draw target, meaning `FlxBasics` * render to the specified camera if the `FlxBasic` has a null `cameras` value. * @see flixel.FlxBasic.cameras * * @param camera The camera you wish to change. * @param value If false, FlxBasics will not render to it unless you add it to their `cameras` list. * @since 4.9.0 * Dumps all the current cameras and resets to just one camera. * Handy for doing split-screen especially. * * @param NewCamera Optional; specify a specific camera object to be the new main camera. { Force : false, Duration : 1, Color : FlxColor.WHITE } * All screens are filled with this color and gradually return to normal. * * @param Color The color you want to use. * @param Duration How long it takes for the flash to fade. * @param OnComplete A function you want to run when the flash finishes. * @param Force Force the effect to reset. { Force : false, FadeIn : false, Duration : 1, Color : FlxColor.BLACK } * The screen is gradually filled with this color. * * @param Color The color you want to use. * @param Duration How long it takes for the fade to finish. * @param FadeIn True fades from a color, false fades to it. * @param OnComplete A function you want to run when the fade finishes. * @param Force Force the effect to reset. { Force : true, Duration : 0.5, Intensity : 0.05 } * A simple screen-shake effect. * * @param Intensity Percentage of screen size representing the maximum distance that the screen can move while shaking. * @param Duration The length in seconds that the shaking effect should last. * @param OnComplete A function you want to run when the shake effect finishes. * @param Force Force the effect to reset (default = true, unlike flash() and fade()!). * @param Axes On what axes to shake. Default value is XY / both. flixel.FlxGame * Called by the game object to lock all the camera buffers and clear them for the next draw pass. flixel.FlxGame flixel.FlxGame * Called by the game object to draw the special FX and unlock all the camera buffers. flixel.FlxGame * Called by the game object to update the cameras and their tracking/special effects logic. flixel.FlxGame * Resizes and moves cameras when the game resizes (onResize signal). flixel.FlxG * Accessed via `FlxG.cameras`. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() true * Whether the console should auto-pause or not when it's focused. true * Whether the console should `step()` the game after a command is entered. * Setting this to `false` allows inputting multiple console commands within the same frame. * Use the `step()` command to step the game from the console. * @since 4.2.0 * Register a new function to use in any command. * * @param FunctionAlias The name with which you want to access the function. * @param Function The function to register. * Register a new object to use in any command. * * @param ObjectAlias The name with which you want to access the object. * @param AnyObject The object to register. * Register a new class to use in any command. * * @param cl The class to register. * Register a new enum to use in any command. * * @param e The enum to register. * @since 4.4.0 flixel.FlxG * Accessed via `FlxG.console`. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() 3 * The amount of decimals Floats are rounded to in the debugger. [F2, GRAVEACCENT, BACKSLASH] * The key codes used to toggle the debugger (see FlxG.keys for the keys available). * Default keys: F2, ` and \. Set to null to deactivate. false * Whether to draw the hitboxes of FlxObjects. new FlxSignal() * Dispatched when `drawDebug` is changed. new FlxSignal() * Dispatched when `visible` is changed. * @since 4.1.0 false * Change the way the debugger's windows are laid out. * * @param Layout The layout codes can be found in FlxDebugger, for example FlxDebugger.MICRO * Just resets the debugger windows to whatever the last selected layout was (STANDARD by default). { UpdateLayout : true, ToggleMode : false } * Create and add a new debugger button. * * @param Position Either LEFT, CENTER or RIGHT. * @param Icon The icon to use for the button * @param UpHandler The function to be called when the button is pressed. * @param ToggleMode Whether this is a toggle button or not. * @param UpdateLayout Whether to update the button layout. * @return The added button. * Creates a new tracker window if there exists a tracking profile for the class / class of the object. * By default, flixel classes like FlxBasic, FlxRect and FlxPoint are supported. * * @param ObjectOrClass The object or class to track * @param WindowTitle Title of the tracker window, uses the class name by default * Adds a new TrackerProfile for track(). This also overrides existing profiles. * * @param Profile The TrackerProfile { UpdateLayout : true } * Removes and destroys a button from the debugger. * * @param Button The FlxSystemButton instance to remove. * @param UpdateLayout Whether to update the button layout. flixel.FlxGame.onFocus flixel.FlxG * Accessed via `FlxG.debugger`. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() [] * A read-only list of all inputs. true * Whether inputs are reset on state switches. * Disable if you need persistent input states across states. flixel.FlxGame flixel.FlxGame flixel.FlxGame flixel.FlxGame flixel.FlxState.resetSubState flixel.FlxG * Accessed via `FlxG.inputs`. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() false * Whether everything you trace() is being redirected into the log window. <_standardTraceFunction> { FireOnce : false } * Add an advanced log message to the debugger by also specifying a LogStyle. Backend to FlxG.log.add(), FlxG.log.warn(), FlxG.log.error() and FlxG.log.notice(). * * @param Data Any Data to log. * @param Style The LogStyle to use, for example LogStyle.WARNING. You can also create your own by importing the LogStyle class. * @param FireOnce Whether you only want to log the Data in case it hasn't been added already * Clears the log output. * Internal function used as a interface between trace() and add(). * * @param Data The data that has been traced * @param Inf Information about the position at which trace() was called flixel.FlxG * Accessed via `FlxG.log`. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() Outputs `v` in a platform-dependent way. The second parameter `infos` is injected by the compiler and contains information about the position where the `trace()` call was made. This method can be rebound to a custom function: var oldTrace = haxe.Log.trace; // store old function haxe.Log.trace = function(v, ?infos) { // handle trace } ... haxe.Log.trace = oldTrace; If it is bound to null, subsequent calls to `trace()` will cause an exception. Format the output of `trace` before printing it. Log primarily provides the `trace()` method, which is invoked upon a call to `trace()` in Haxe code. * Internal shared function to ensure an arbitrary value is in the valid range of seed values. <_arrayFloatHelper expr="null" line="448" static="1"> null * Internal shared helper variable. Used by getObject(). 48271.0 * Constants used in the pseudorandom number generation equation. * These are the constants suggested by the revised MINSTD pseudorandom number generator, * and they use the full range of possible integer values. * * @see http://en.wikipedia.org/wiki/Linear_congruential_generator * @see Stephen K. Park and Keith W. Miller and Paul K. Stockmeyer (1988). * "Technical Correspondence". Communications of the ACM 36 (7): 105–110. FlxMath.MAX_VALUE_INT 1 * The global base random number generator seed (for deterministic behavior in recordings and saves). * If you want, you can set the seed with an integer between 1 and 2,147,483,647 inclusive. * Altering this yourself may break recording functionality! * Current seed used to generate new random numbers. You can retrieve this value if, * for example, you want to store the seed that was used to randomly generate a level. * Function to easily set the global seed to a new random number. * Please note that this function is not deterministic! * If you call it in your game, recording may not function as expected. * * @return The new initial seed. { Max : FlxMath.MAX_VALUE_INT, Min : 0 } * Returns a pseudorandom integer between Min and Max, inclusive. * Will not return a number in the Excludes array, if provided. * Please note that large Excludes arrays can slow calculations. * * @param Min The minimum value that should be returned. 0 by default. * @param Max The maximum value that should be returned. 2,147,483,647 by default. * @param Excludes Optional array of values that should not be returned. { Max : 1, Min : 0 } * Returns a pseudorandom float value between Min (inclusive) and Max (exclusive). * Will not return a number in the Excludes array, if provided. * Please note that large Excludes arrays can slow calculations. * * @param Min The minimum value that should be returned. 0 by default. * @param Max The maximum value that should be returned. 1 by default. * @param Excludes Optional array of values that should not be returned. <_hasFloatNormalSpare expr="false"> false <_floatNormalRand1 expr="0"> 0 <_floatNormalRand2 expr="0"> 0 <_twoPI expr="Math.PI * 2"> Math.PI * 2 <_floatNormalRho expr="0"> 0 { StdDev : 1, Mean : 0 } * Returns a pseudorandom float value in a statistical normal distribution centered on Mean with a standard deviation size of StdDev. * (This uses the Box-Muller transform algorithm for gaussian pseudorandom numbers) * * Normal distribution: 68% values are within 1 standard deviation, 95% are in 2 StdDevs, 99% in 3 StdDevs. * See this image: https://github.com/HaxeFlixel/flixel-demos/blob/dev/Performance/FlxRandom/normaldistribution.png * * @param Mean The Mean around which the normal distribution is centered * @param StdDev Size of the standard deviation { Chance : 50 } * Returns true or false based on the chance value (default 50%). * For example if you wanted a player to have a 30.5% chance of getting a bonus, * call bool(30.5) - true means the chance passed, false means it failed. * * @param Chance The chance of receiving the value. * Should be given as a number between 0 and 100 (effectively 0% to 100%) * @return Whether the roll passed or not. { Chance : 50 } * Returns either a 1 or -1. * * @param Chance The chance of receiving a positive value. * Should be given as a number between 0 and 100 (effectively 0% to 100%) * @return 1 or -1 * Pseudorandomly select from an array of weighted options. For example, if you passed in an array of [50, 30, 20] * there would be a 50% chance of returning a 0, a 30% chance of returning a 1, and a 20% chance of returning a 2. * Note that the values in the array do not have to add to 100 or any other number. * The percent chance will be equal to a given value in the array divided by the total of all values in the array. * * @param WeightsArray An array of weights. * @return A value between 0 and (SelectionArray.length - 1), with a probability equivalent to the values in SelectionArray. { GreyScale : false } * Returns a random color. * * @param Min An optional FlxColor representing the lower bounds for the generated color. * @param Max An optional FlxColor representing the upper bounds for the generated color. * @param Alpha An optional value for the alpha channel of the generated color. * @param GreyScale Whether or not to create a color that is strictly a shade of grey. False by default. * @return A color value as a FlxColor. * Internal method to quickly generate a pseudorandom number. Used only by other functions of this class. * Also updates the internal seed, which will then be used to generate the next pseudorandom number. * * @return A new pseudorandom number. 1 * The actual internal seed. Stored as a Float value to prevent inaccuracies due to * integer overflow in the generate() equation. * Internal function to update the current seed whenever the initial seed is reset, * and keep the initial seed's value in range. * Returns the internal seed as an integer. * Sets the internal seed to an integer value. * Create a new FlxRandom object. * * @param InitialSeed The first seed of this FlxRandom object. If ignored, a random seed will be generated. * A class containing a set of functions for random generation. Should be accessed via `FlxG.random`. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() ?#]+/]]> ?#` or space characters]]> flixel.FlxG.initSave * Converts invalid characters to "-", producing a valid string for a FlxSave's name and path * Converts invalid characters to "-", and logs a warning in debug mode * Allows you to directly access the data container in the local shared object. * The name of the local shared object. * The path of the local shared object. * @since 4.6.0 EMPTY * The current status of the save. * @since 5.0.0 * Wether the save was successfully bound. * @since 5.0.0 <_sharedObject> * The local shared object itself. * Clean up memory. ? #` * @param path The full or partial path to the file that created the shared object. * Mainly used to differentiate from other FlxSaves. If you do not specify * this parameter, the company name specified in your Project.xml is used. * @return Whether or not you successfully connected to the save data.]]> { minFileSize : 0, eraseSave : true, overwrite : false } * Creates a new FlxSave and copies the data from old to new, * flushes the new save (if changed) and then optionally erases the old save. * * @param name The name of the save. * @param path The full or partial path to the file that created the save. * @param overwrite Whether the data should overwrite, should the 2 saves share data fields. defaults to false. * @param eraseSave Whether to erase the save after successfully migrating the data. defaults to true. * @param minFileSize If you need X amount of space for your save, specify it here. * @return Whether or not you successfully found, merged and flushed data. { minFileSize : 0, overwrite : false } * Copies the given data over to this save and flushes (if changed). * * @param sourceData The data to merge * @param overwrite Whether the data should overwrite, should the 2 saves share data fields. defaults to false. * @param minFileSize If you need X amount of space for your save, specify it here. * @return Whether or not you successfully saved the data. { minFileSize : 0 } * A way to safely call flush() and destroy() on your save file. * Will correctly handle storage size popups and all that good stuff. * If you don't want to save your changes first, just call destroy() instead. * * @param minFileSize If you need X amount of space for your save, specify it here. * @return The result of result of the flush() call (see below for more details). { minFileSize : 0 } * Writes the local shared object to disk immediately. Leaves the object open in memory. * * @param minFileSize If you need X amount of space for your save, specify it here. * @return Whether or not the data was written immediately. False could be an error OR a storage request popup. * Erases everything stored in the local shared object. * Data is immediately erased and the object is saved that way, * so use with caution! * * @return Returns false if the save object is not bound yet. * Handy utility function for checking and warning if the shared object is bound yet or not. * * @return Whether the shared object was bound yet. * Scans the data for any properties. * @since 5.0.0 \AppData\Roaming\\.sol"``` * - Mac: ```"/Users//Library/Application Support//.sol"``` * - Chrome: In the developer tools, go to the Application tab, and under * `Storage->Local Storage->https://.com` with the key:`:"` * * ## 5.0.0 Migration * In older version of flixel, a null path on html5 would use the current url. FlxSaves with a * null path will now look for that path, if the new default path is not found. If data is found * at the legacy, it is loaded, but `flush` calls will save to the new default path. The old save * is not deleted. * * Prior to 5.0.0, FlxG.save's default save name was `"flixel"`, now it uses the project name as * defined in Project.xml. FlxG.save will automatically look for the old default save if the new * one is not found, and any flush call will save to the new path and id. * * Previously, on desktop targets, saves were added to subfolders based on the project's name and * company, eg: `"////.sol"`. This prevent separate * projects from referencing each others saves (this was OpenFL attempting to mirror Flash's * SharedObject behaviour). To allow cross-save referencing, the new location is simply: * `'//.sol'`. If no data is found in this location, `FlxSave` will look in the * old location, any `flush` call will save to the new location. For example, a save named with the * old default name `"flixel"` may be saved at `"<...>/FooBarGames/PorbsAdventure/flixel.sol"`. * The new default save name "PorbsAdventure" would be at `"<...>/FooBarGames/PorbsAdventure.sol"`. * @see [Flixel 5.0.0 Migration guide](https://github.com/HaxeFlixel/flixel/wiki/Flixel-5.0.0-Migration-guide)]]> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() flixel.util.FlxSharedObject CENTER CENTER * The base class from which all other scale modes extend from. * You can implement your own scale mode by extending this class and overriding the appropriate methods. * * The default behavior of `BaseScaleMode` matches that of `FillScaleMode`. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() { fillScreen : false } * @param fillScreen Whether to cut the excess side to fill the * screen or always display everything. * `RatioScaleMode` is a scaling mode which maintains the game's aspect ratio. * When you shrink or grow the window, the width and height of the game will adjust, * either scaling the game or adding black bars as needed. * * This is the default scaling mode used by HaxeFlixel. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() new FlxSignal() * Gets dispatched when a state change occurs. * @since 4.6.0 new FlxSignal() * @since 4.6.0 "Use preStateSwitch instead of stateSwitched" ()]]> Int>()]]> * Gets dispatched when the game is resized. * Passes the new window width and height to callback functions. new FlxSignal() new FlxSignal() new FlxSignal() * Gets dispatched just before the game is started (before the first state after the splash screen is created) * @since 4.6.0 new FlxSignal() * Gets dispatched when the game is started (first state after the splash screen). * @since 4.6.0 "Use postGameStart instead of gameStarted" new FlxSignal() new FlxSignal() new FlxSignal() new FlxSignal() new FlxSignal() new FlxSignal() "Use preStateSwitch instead of stateSwitched" "Use postGameStart instead of gameStarted" flixel.FlxG * Accessed via `FlxG.signals`. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Add a variable to the watch list in the debugger. * This lets you see the value of the variable all the time. * * @param object A reference to any object in your game, e.g. Player or Robot or this. * @param field The name of the variable you want to watch, in quotes, as a string: e.g. "speed" or "health". * @param displayName Optional, display your own string instead of the class name + variable name: e.g. "enemy count". * Remove a variable from the watch list in the debugger. * * @param object A reference to any object in your game, e.g. Player or Robot or this. * @param field The name of the variable you want to watch, in quotes, as a string: e.g. "speed" or "health". * Add or update a quickWatch entry to the watch list in the debugger. * Extremely useful when called in update() functions when there * doesn't exist a variable for a value you want to watch - so you won't have to create one. * * @param displayName The name of the quickWatch entry, for example `"mousePressed"`. * @param value The new value for this entry, for example `FlxG.mouse.pressed`. * Remove a quickWatch entry from the watch list of the debugger. * * @param displayName The name of the quickWatch entry you want to remove. * Add an expression to the watch list in the debugger. * The expression gets evaluated with hscript, and you can see its current value all the time. * * @param expression A Haxe expression written as a string that will be evaluated and watched. * @param displayName Optional, display your own string instead of the expression string: e.g. "enemy count". * @since 4.1.0 * Remove an expression from the watch list in the debugger. * * @param displayName The display name of the registered expression, if you supplied one, or the Haxe expression that you want to remove, in string form. * @since 4.1.0 * Add the mouse coords to the watch window. Useful for quickly * getting coordinates for object placement during prototyping! * Removes the mouse coords from the watch window. * Accessed via `FlxG.watch`. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() false * Whenever black bars for cameras shouldn't show up. false * Whenever antialiasing should be forced off, even if the `antialiasing` property of the sprite is set to `true`. true * Whether the game should be paused when focus is lost or not. Use `-D FLX_NO_FOCUS_LOST_SCREEN` * if you only want to get rid of the default pause screen. * Override `onFocus()` and `onFocusLost()` for your own behaviour in your state. true * WARNING: Changing this can lead to issues with physics and the recording system. Setting this to * `false` might lead to smoother animations (even at lower fps) at the cost of physics accuracy. 1 * How fast or slow time should pass in the game; default is `1.0`. 6 * How many times the quad tree should divide the world on each axis. * Generally, sparse collisions can have fewer divisons, * while denser collision activity usually profits from more. Default value is `6`. <_camera static="1"> * By default this just refers to the first entry in the `FlxG.cameras.list` * array but you can do what you like with it. * By default this just refers to the first entry in the `FlxG.cameras.list` * array but you can do what you like with it. new FlxVersion(5, 0, 2) * The HaxeFlixel version, in semantic versioning syntax. Use `Std.string()` * on it to get a `String` formatted like this: `"HaxeFlixel MAJOR.MINOR.PATCH-COMMIT_SHA"`. * Internal tracker for game object. * The Flash stage object (required for event listeners). * Will be `null` if it's not safe/useful yet. * Access the current game state from anywhere. Consider using `addChildBelowMouse()` * if you want to add a `DisplayObject` to the stage instead of directly adding it here! * How many times you want your game to update each second. * More updates usually means better collisions and smoother motion. * NOTE: This is NOT the same thing as the draw framerate! * How many times you want your game to step each second. More steps usually means greater responsiveness, * but it can also slowdown your game if the stage can't keep up with the update routine. * NOTE: This is NOT the same thing as the update framerate! * Whether the game is running on a mobile device. * If on HTML5, it returns `FlxG.html5.onMobile`. * Otherwise, it checks whether the `mobile` haxedef is defined. * @since 4.2.0 0 flixel.FlxGame.updateElapsed * Represents the amount of time in seconds that passed since last frame. 0.1 * Useful when the timestep is NOT fixed (i.e. variable), * to prevent jerky movement or erratic behavior at very low fps. * Essentially locks the framerate to a minimum value - any slower and you'll get * slowdown instead of frameskip; default is 1/10th of a second. flixel.system.scaleModes * The width of the screen in game pixels. Read-only, use `resizeGame()` to change. flixel.system.scaleModes * The height of the screen in game pixels. Read-only, use `resizeGame()` to change. new RatioScaleMode() * The scale mode the game should use. * HaxeFlixel includes several available scale modes, which are located in `flixel.system.scaleModes`. * However, you may also create a class which extends `BaseScaleMode`, and override its behavior according to your needs. * Use this to toggle between fullscreen and normal mode. Works on CPP, Neko and Flash. * You can easily toggle fullscreen with e.g.: `FlxG.fullscreen = !FlxG.fullscreen;` FlxRect.get() * The dimensions of the game world, used by the quad tree for collisions and overlap checks. * Use `.set()` instead of creating a new object! new FlxSave() * A `FlxSave` used internally by flixel to save sound preferences and * the history of the console window, but no reason you can't use it for your own stuff too! new FlxRandom() * A `FlxRandom` object which can be used to generate random numbers. * Also used by Flixel internally. * Used for mouse input. e.g.: check if the left mouse button * is pressed with `if (FlxG.mouse.pressed) { })` in `update()`. * Useful for devices with multitouch support. [] * Contains all "swipes" from both mouse and touch input that have just ended. * Used for keyboard input e.g.: check if the left arrow key is * pressed with `if (FlxG.keys.pressed.LEFT) { }` in `update()`. * Allows accessing the available gamepads. new InputFrontEnd() * Mostly used internally, but you can use it too to reset inputs and create input classes of your own. new ConsoleFrontEnd() * Used to register functions and objects or add new commands to the console window. new LogFrontEnd() * Used to add messages to the log window or enable `trace()` redirection. new BitmapLogFrontEnd() * Used to add images to the bitmap log window. new WatchFrontEnd() * Used to add or remove things to / from the watch window. new DebuggerFrontEnd() * Used it to show / hide the debugger, change its layout, * activate debug drawing or change the key used to toggle it. * Contains all the functions needed for recording and replaying. new BitmapFrontEnd() * Contains things related to bitmaps, for example regarding the `BitmapData` cache and the cache itself. new CameraFrontEnd() * Contains things related to cameras, a list of all cameras and several effects like `flash()` or `fade()`. * Contains a list of all plugins and the functions required to `add()`, `remove()` them etc. 0 0 0 * Contains a list of all sounds and other things to manage or `play()` sounds. new SignalFrontEnd() * Contains system-wide signals like `gameResized` or `preStateSwitch`. * Resizes the game within the window by reapplying the current scale mode. * Resizes the window. Only works on desktop targets (Neko, Windows, Linux, Mac). * Like hitting the reset button a game console, this will re-launch the game as if it just started. * Attempts to switch from the current game state to `nextState`. * The state switch is successful if `switchTo()` of the current `state` returns `true`. * Request a reset of the current game state. * Calls `switchState()` with a new instance of the current `state`. * Call this function to see if one `FlxObject` overlaps another within `FlxG.worldBounds`. * Can be called with one object and one group, or two groups, or two objects, * whatever floats your boat! For maximum performance try bundling a lot of objects * together using a `FlxGroup` (or even bundling groups together!). * * NOTE: does NOT take objects' `scrollFactor` into account, all overlaps are checked in world space. * * NOTE: this takes the entire area of `FlxTilemap`s into account (including "empty" tiles). * Use `FlxTilemap#overlaps()` if you don't want that. * * @param ObjectOrGroup1 The first object or group you want to check. * @param ObjectOrGroup2 The second object or group you want to check. If it is the same as the first, * Flixel knows to just do a comparison within that group. * @param NotifyCallback A function with two `FlxObject` parameters - * e.g. `onOverlap(object1:FlxObject, object2:FlxObject)` - * that is called if those two objects overlap. * @param ProcessCallback A function with two `FlxObject` parameters - * e.g. `onOverlap(object1:FlxObject, object2:FlxObject)` - * that is called if those two objects overlap. * If a `ProcessCallback` is provided, then `NotifyCallback` * will only be called if `ProcessCallback` returns true for those objects! * @return Whether any overlaps were detected. { AlphaTolerance : 255 } * A pixel perfect collision check between two `FlxSprite` objects. * It will do a bounds check first, and if that passes it will run a * pixel perfect match on the intersecting area. Works with rotated and animated sprites. * May be slow, so use it sparingly. * * @param Sprite1 The first `FlxSprite` to test against. * @param Sprite2 The second `FlxSprite` to test again, sprite order is irrelevant. * @param AlphaTolerance The tolerance value above which alpha pixels are included. * Default to `255` (must be fully opaque for collision). * @param Camera If the collision is taking place in a camera other than * `FlxG.camera` (the default/current) then pass it here. * @return Whether the sprites collide * Call this function to see if one `FlxObject` collides with another within `FlxG.worldBounds`. * Can be called with one object and one group, or two groups, or two objects, * whatever floats your boat! For maximum performance try bundling a lot of objects * together using a FlxGroup (or even bundling groups together!). * * This function just calls `FlxG.overlap` and presets the `ProcessCallback` parameter to `FlxObject.separate`. * To create your own collision logic, write your own `ProcessCallback` and use `FlxG.overlap` to set it up. * NOTE: does NOT take objects' `scrollFactor` into account, all overlaps are checked in world space. * * @param ObjectOrGroup1 The first object or group you want to check. * @param ObjectOrGroup2 The second object or group you want to check. If it is the same as the first, * Flixel knows to just do a comparison within that group. * @param NotifyCallback A function with two `FlxObject` parameters - * e.g. `onOverlap(object1:FlxObject, object2:FlxObject)` - * that is called if those two objects overlap. * @return Whether any objects were successfully collided/separated. { IndexModifier : 0 } * Regular `DisplayObject`s are normally displayed over the Flixel cursor and the Flixel debugger if simply * added to `stage`. This function simplifies things by adding a `DisplayObject` directly below mouse level. * * @param Child The `DisplayObject` to add * @param IndexModifier Amount to add to the index - makes sure the index stays within bounds. * @return The added `DisplayObject` * Removes a child from the Flixel display list, if it is part of it. * * @param Child The `DisplayObject` to add * @return The removed `DisplayObject` { Target : "_blank" } * Opens a web page, by default a new tab or window. If the URL does not * already start with `"http://"` or `"https://"`, it gets added automatically. * * @param URL The address of the web page. * @param Target `"_blank"`, `"_self"`, `"_parent"` or `"_top"` flixel.FlxGame.new * Called by `FlxGame` to set up `FlxG` during `FlxGame`'s constructor. flixel.FlxGame * Called whenever the game is reset, doesn't have to do quite as much work as the basic initialization stuff. * Global helper class for audio, input, the camera system, the debugger and other global properties. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.FlxG flixel.FlxG.FlxRenderMethod 10 * Framerate to use on focus lost. Default is `10`. * The sound tray display container. 0 * Time in milliseconds that has passed (amount of "ticks" passed) since the game has started. true * Enables or disables the filters set via `setFilters()`. <_gameJustStarted expr="false"> false flixel.system.FlxSplash * A flag for triggering the `preGameStart` and `postGameStart` "events". <_initialState> * Class type of the initial/first game state for the game, usually `MenuState` or something like that. <_state> * Current game state. <_total expr="0"> 0 * Total number of milliseconds elapsed since game start. <_startTime expr="0"> 0 * Time stamp of game startup. Needed on JS where `Lib.getTimer()` * returns time stamp of current date, not the time passed since app start. <_accumulator> * Total number of milliseconds elapsed since last update loop. * Counts down as we step through the game loop. <_elapsedMS> * Milliseconds of time since last step. <_stepMS> * Milliseconds of time per step of the game loop. e.g. 60 fps = 16ms. <_stepSeconds> * Optimization so we don't have to divide step by 1000 to get its value in seconds every frame. <_maxAccumulation> * Max allowable accumulation (see `_accumulator`). * Should always (and automatically) be set to roughly 2x the stage framerate. <_lostFocus expr="false"> false * Whether the game lost focus. <_filters> * The filters array to be applied to the game. <_inputContainer> flixel.FlxG flixel.system.frontEnds.CameraFrontEnd * Mouse cursor. <_customSoundTray expr="FlxSoundTray"> FlxSoundTray * Change this after calling `super()` in the `FlxGame` constructor * to use a customized sound tray based on `FlxSoundTray`. <_skipSplash expr="false"> false * Whether the splash screen should be skipped. <_startFullscreen expr="false"> false * Should we start fullscreen or not? This is useful if you want to load fullscreen settings from a * `FlxSave` and set it when the game starts, instead of having it hard-set in your `Project.xml`. <_requestedState> * If a state change was requested, the new state object is stored here until we switch to it. <_resetGame expr="false"> false * A flag for keeping track of whether a game reset was requested or not. * Sets the filter array to be applied to the game. * Used to instantiate the guts of the flixel game object once we have a valid reference to the root. flixel.FlxG * Handles the `onEnterFrame` call and figures out how many updates and draw calls to do. * Internal method to create a new instance of `_initialState` and reset the game. * This gets called when the game is created, as well as when a new state is requested. false <__firstSwitch expr="true"> true * If there is a state change requested during the update loop, * this function handles actual destroying the old state and related processes, * and calls creates on the new state and plugs it into the game object. * This is the main game update logic section. * The `onEnterFrame()` handler is in charge of calling this * the appropriate number of times each frame. * This block handles state changes, replays, all that good stuff. * This function is called by `step()` and updates the actual game state. * May be called multiple times per "frame" or draw call. * Goes through the game state and draws all the game objects and special effects. { StartFullscreen : false, SkipSplash : false, DrawFramerate : 60, UpdateFramerate : 60, Zoom : 1, GameHeight : 0, GameWidth : 0 } * Instantiate a new game object. * * @param GameWidth The width of your game in game pixels, not necessarily final display pixels (see `Zoom`). * If equal to `0`, the window width specified in the `Project.xml` is used. * @param GameHeight The height of your game in game pixels, not necessarily final display pixels (see `Zoom`). * If equal to `0`, the window height specified in the `Project.xml` is used. * @param InitialState The class name of the state you want to create and switch to first (e.g. `MenuState`). * @param Zoom The default level of zoom for the game's cameras (e.g. `2` = all pixels are now drawn at 2x). * @param UpdateFramerate How frequently the game should update (default is `60` times per second). * @param DrawFramerate Sets the actual display / draw framerate for the game (default is `60` times per second). * @param SkipSplash Whether you want to skip the flixel splash screen with `FLX_NO_DEBUG`. * @param StartFullscreen Whether to start the game in fullscreen mode (desktop targets only). * `FlxGame` is the heart of all Flixel games, and contains a bunch of basic game loops and things. * It is a long and sloppy file that you shouldn't have to worry about too much! * It is basically only used to create your game object in the first place, * after that `FlxG` and `FlxState` have all the useful stuff you actually need. openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() flixel.FlxG <_HX_SUPER__addShader public="1" set="method" line="148"> * Sets the filter array to be applied to the game. <_HX_SUPER__setFilters public="1" set="method" line="31"> * Used to instantiate the guts of the flixel game object once we have a valid reference to the root. <_HX_SUPER__create set="method" line="31"> <_HX_SUPER__onFocus set="method" line="31"> <_HX_SUPER__onFocusLost set="method" line="31"> flixel.FlxG <_HX_SUPER__onResize set="method" line="31"> <_HX_SUPER__resizeGame set="method" line="31"> * Handles the `onEnterFrame` call and figures out how many updates and draw calls to do. <_HX_SUPER__onEnterFrame set="method" line="31"> * If there is a state change requested during the update loop, * this function handles actual destroying the old state and related processes, * and calls creates on the new state and plugs it into the game object. <_HX_SUPER__switchState set="method" line="31"> <_HX_SUPER__gameStart set="method" line="31"> * This is the main game update logic section. * The `onEnterFrame()` handler is in charge of calling this * the appropriate number of times each frame. * This block handles state changes, replays, all that good stuff. <_HX_SUPER__step set="method" line="31"> <_HX_SUPER__handleReplayRequests set="method" line="31"> * This function is called by `step()` and updates the actual game state. * May be called multiple times per "frame" or draw call. <_HX_SUPER__update set="method" line="31"> <_HX_SUPER__updateElapsed set="method" line="31"> <_HX_SUPER__updateInput set="method" line="31"> * Goes through the game state and draws all the game objects and special effects. <_HX_SUPER__draw set="method" line="31"> <__interp> openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.FlxGame false * Default value for `FlxObject`'s `pixelPerfectPosition` var. 4 * This value dictates the maximum number of pixels two objects have to intersect * before collision stops trying to separate them. * Don't modify this unless your objects are passing through each other. FlxDirectionFlags.LEFT "Use LEFT or FlxDirectionFlags.LEFT instead" * Generic value for "left". Used by `facing`, `allowCollisions`, and `touching`. * Note: This exists for backwards compatibility, prefer using `FlxDirectionFlags.LEFT` directly. FlxDirectionFlags.RIGHT "Use RIGHT or FlxDirectionFlags.RIGHT instead" * Generic value for "right". Used by `facing`, `allowCollisions`, and `touching`. * Note: This exists for backwards compatibility, prefer using `FlxDirectionFlags.RIGHT` directly. FlxDirectionFlags.UP "Use UP or FlxDirectionFlags.UP instead" * Generic value for "up". Used by `facing`, `allowCollisions`, and `touching`. * Note: This exists for backwards compatibility, prefer using `FlxDirectionFlags.UP` directly. FlxDirectionFlags.DOWN "Use DOWN or FlxDirectionFlags.DOWN instead" * Generic value for "down". Used by `facing`, `allowCollisions`, and `touching`. * Note: This exists for backwards compatibility, prefer using `FlxDirectionFlags.DOWN` directly. FlxDirectionFlags.NONE "Use NONE or FlxDirectionFlags.NONE instead" * Special-case constant meaning no collisions, used mainly by `allowCollisions` and `touching`. * Note: This exists for backwards compatibility, prefer using `FlxDirectionFlags.NONE` directly. FlxDirectionFlags.CEILING "Use CEILING or FlxDirectionFlags.CEILING instead" * Special-case constant meaning up, used mainly by `allowCollisions` and `touching`. * Note: This exists for backwards compatibility, prefer using `FlxDirectionFlags.CEILING` directly. FlxDirectionFlags.FLOOR "Use FLOOR or FlxDirectionFlags.FLOOR instead" * Special-case constant meaning down, used mainly by `allowCollisions` and `touching`. * Note: This exists for backwards compatibility, prefer using `FlxDirectionFlags.FLOOR` directly. FlxDirectionFlags.WALL "Use WALL or FlxDirectionFlags.WALL instead" * Special-case constant meaning only the left and right sides, used mainly by `allowCollisions` and `touching`. * Note: This exists for backwards compatibility, prefer using `FlxDirectionFlags.WALL` directly. FlxDirectionFlags.ANY "Use ANY or FlxDirectionFlags.ANY instead" * Special-case constant meaning any direction, used mainly by `allowCollisions` and `touching`. * Note: This exists for backwards compatibility, prefer using `FlxDirectionFlags.ANY` directly. <_firstSeparateFlxRect expr="FlxRect.get()" line="162" static="1"> FlxRect.get() <_secondSeparateFlxRect expr="FlxRect.get()" line="164" static="1"> FlxRect.get() * The main collision resolution function in Flixel. * * @param Object1 Any `FlxObject`. * @param Object2 Any other `FlxObject`. * @return Whether the objects in fact touched and were separated. * Similar to `separate()`, but only checks whether any overlap is found and updates * the `touching` flags of the input objects, but no separation is performed. * * @param Object1 Any `FlxObject`. * @param Object2 Any other `FlxObject`. * @return Whether the objects in fact touched. { checkMaxOverlap : true } * Internal function that computes overlap among two objects on the X axis. It also updates the `touching` variable. * `checkMaxOverlap` is used to determine whether we want to exclude (therefore check) overlaps which are * greater than a certain maximum (linked to `SEPARATE_BIAS`). Default is `true`, handy for `separateX` code. * The X-axis component of the object separation process. * * @param object1 Any `FlxObject`. * @param object2 Any other `FlxObject`. * @return Whether the objects in fact touched and were separated along the X axis. * Checking overlap and updating `touching` variables, X-axis part used by `updateTouchingFlags`. * * @param object1 Any `FlxObject`. * @param object2 Any other `FlxObject`. * @return Whether the objects in fact touched along the X axis. { checkMaxOverlap : true } * Internal function that computes overlap among two objects on the Y axis. It also updates the `touching` variable. * `checkMaxOverlap` is used to determine whether we want to exclude (therefore check) overlaps which are * greater than a certain maximum (linked to `SEPARATE_BIAS`). Default is `true`, handy for `separateY` code. * The Y-axis component of the object separation process. * * @param object1 Any `FlxObject`. * @param object2 Any other `FlxObject`. * @return Whether the objects in fact touched and were separated along the Y axis. * Checking overlap and updating touching variables, Y-axis part used by `updateTouchingFlags`. * * @param object1 Any `FlxObject`. * @param object2 Any other `FlxObject`. * @return Whether the objects in fact touched along the Y axis. 0 * X position of the upper left corner of this object in world space. 0 * Y position of the upper left corner of this object in world space. * The width of this object's hitbox. For sprites, use `offset` to control the hitbox position. * The height of this object's hitbox. For sprites, use `offset` to control the hitbox position. * Whether or not the coordinates should be rounded during rendering. * Does not affect `copyPixels()`, which can only render on whole pixels. * Defaults to the camera's global `pixelPerfectRender` value, * but overrides that value if not equal to `null`. true * Whether or not the position of this object should be rounded before any `draw()` or collision checking. 0 * Set the angle (in degrees) of a sprite to rotate it. WARNING: rotating sprites * decreases their rendering performance by a factor of ~10x when using blitting! true * Set this to `false` if you want to skip the automatic motion/movement stuff (see `updateMotion()`). * `FlxObject` and `FlxSprite` default to `true`. `FlxText`, `FlxTileblock` and `FlxTilemap` default to `false`. false * Whether an object will move/alter position after a collision. * Whether the object collides or not. For more control over what directions the object will collide from, * use collision constants (like `LEFT`, `FLOOR`, etc) to set the value of `allowCollisions` directly. * Controls how much this object is affected by camera scrolling. `0` = no movement (e.g. a background layer), * `1` = same movement speed as the foreground. Default value is `(1,1)`, * except for UI elements like `FlxButton` where it's `(0,0)`. * The basic speed of this object (in pixels per second). * How fast the speed of this object is changing (in pixels per second). * Useful for smooth movement and gravity. * This isn't drag exactly, more like deceleration that is only applied * when `acceleration` is not affecting the sprite. * If you are using `acceleration`, you can use `maxVelocity` with it * to cap the speed automatically (very useful!). * Important variable for collision processing. * By default this value is set automatically during at the start of `update()`. 1 * The virtual mass of the object. Default value is 1. Currently only used with elasticity * during collision resolution. Change at your own risk; effects seem crazy unpredictable so far! 0 * The bounciness of this object. Only affects collisions. Default value is 0, or "not bouncy at all." 0 * This is how fast you want this sprite to spin (in degrees per second). 0 * How fast the spin speed should change (in degrees per second). 0 * Like drag but for spinning. 10000 * Use in conjunction with angularAcceleration for fluid spin speed control. 1 * Handy for storing health percentage or armor points or whatever. FlxDirectionFlags.NONE * Bit field of flags (use with UP, DOWN, LEFT, RIGHT, etc) indicating surface contacts. Use bitwise operators to check the values * stored here, or use isTouching(), justTouched(), etc. You can even use them broadly as boolean values if you're feeling saucy! FlxDirectionFlags.NONE * Bit field of flags (use with UP, DOWN, LEFT, RIGHT, etc) indicating surface contacts from the previous game loop step. Use bitwise operators to check the values * stored here, or use isTouching(), justTouched(), etc. You can even use them broadly as boolean values if you're feeling saucy! FlxDirectionFlags.ANY * Bit field of flags (use with UP, DOWN, LEFT, RIGHT, etc) indicating collision directions. Use bitwise operators to check the values stored here. * Useful for things like one-way platforms (e.g. allowCollisions = UP;). The accessor "solid" just flips this variable between NONE and ANY. "Use `collisionXDrag`, instead. Note the corrected spelling: `collis(i)onXDrag" DEPRECATED * Whether this sprite is dragged along with the horizontal movement of objects it collides with * (makes sense for horizontally-moving platforms in platformers for example). * * Apart from having a weird typo, this has been deprecated for collisionXDrag, which allows more options. IMMOVABLE * Whether this sprite is dragged along with the horizontal movement of objects it collides with * (makes sense for horizontally-moving platforms in platformers for example). Use values * IMMOVABLE, ALWAYS, HEAVIER or NEVER * @since 4.11.0 NEVER * Whether this sprite is dragged along with the vertical movement of objects it collides with * (for sticking to vertically-moving platforms in platformers for example). Use values * IMMOVABLE, ALWAYS, HEAVIER or NEVER * @since 4.11.0 null * The path this object follows. Not initialized by default. * Assign a `new FlxPath()` object and `start()` it if you want to this object to follow a path. * Set `path` to `null` again to stop following the path. * See `flixel.util.FlxPath` for more info and usage examples. <_point expr="FlxPoint.get()"> FlxPoint.get() <_rect expr="FlxRect.get()"> FlxRect.get() * Internal function for initialization of some object's variables. * Internal function for initialization of some variables that are used in `updateMotion()`. * **WARNING:** A destroyed `FlxBasic` can't be used anymore. * It may even cause crashes if it is still part of a group or state. * You may want to use `kill()` instead if you want to disable the object temporarily only and `revive()` it later. * * This function is usually not called manually (Flixel calls it automatically during state switches for all `add()`ed objects). * * Override this function to `null` out variables manually or call `destroy()` on class members if necessary. * Don't forget to call `super.destroy()`! * Override this function to update your class's position and appearance. * This is where most of your game rules and behavioral code will go. * Internal function for updating the position and speed of this object. * Useful for cases when you need to update this but are buried down in too many supers. * Does a slightly fancier-than-normal integration to help with higher fidelity framerate-independent motion. * Rarely called, and in this case just increments the visible objects count and calls `drawDebug()` if necessary. { inScreenSpace : false } flixel.group.FlxTypedGroup * Checks to see if some `FlxObject` overlaps this `FlxObject` or `FlxGroup`. * If the group has a LOT of things in it, it might be faster to use `FlxG.overlap()`. * WARNING: Currently tilemaps do NOT support screen space overlap checks! * * @param objectOrGroup The object or group being tested. * @param inScreenSpace Whether to take scroll factors into account when checking for overlap. * Default is `false`, or "only compare in world space." * @param camera Specify which game camera you want. * If `null`, it will just grab the first global camera. * @return Whether or not the two objects overlap. { inScreenSpace : false } flixel.group.FlxTypedGroup * Checks to see if this `FlxObject` were located at the given position, * would it overlap the `FlxObject` or `FlxGroup`? * This is distinct from `overlapsPoint()`, which just checks that point, * rather than taking the object's size into account. * WARNING: Currently tilemaps do NOT support screen space overlap checks! * * @param x The X position you want to check. * Pretends this object (the caller, not the parameter) is located here. * @param y The Y position you want to check. * Pretends this object (the caller, not the parameter) is located here. * @param objectOrGroup The object or group being tested. * @param inScreenSpace Whether to take scroll factors into account when checking for overlap. * Default is `false`, or "only compare in world space." * @param camera Specify which game camera you want. * If `null`, it will just grab the first global camera. * @return Whether or not the two objects overlap. { inScreenSpace : false } * Checks to see if a point in 2D world space overlaps this `FlxObject`. * * @param point The point in world space you want to check. * @param inScreenSpace Whether to take scroll factors into account when checking for overlap. * @param camera Specify which game camera you want. * If `null`, it will just grab the first global camera. * @return Whether or not the point overlaps this object. * Check and see if this object is currently within the world bounds - * useful for killing objects that get too far away. * * @return Whether the object is within the world bounds or not. * Returns the screen position of this object. * * @param result Optional arg for the returning point * @param camera The desired "screen" coordinate space. If `null`, `FlxG.camera` is used. * @return The screen position of this object. * Returns the world position of this object. * * @param result Optional arg for the returning point. * @return The world position of this object. * Retrieve the midpoint of this object in world coordinates. * * @param point Allows you to pass in an existing `FlxPoint` object if you're so inclined. * Otherwise a new one is created. * @return A `FlxPoint` object containing the midpoint of this object in world coordinates. * Handy function for reviving game objects. * Resets their existence flags and position. * * @param x The new X position of this object. * @param y The new Y position of this object. * Check and see if this object is currently on screen. * * @param camera Specify which game camera you want. * If `null`, it will just grab the first global camera. * @return Whether the object is on screen or not. * Check if object is rendered pixel perfect on a specific camera. * Handy function for checking if this object is touching a particular surface. * Be sure to check it before calling `super.update()`, as that will reset the flags. * * @param direction Any of the collision flags (e.g. `LEFT`, `FLOOR`, etc). * @return Whether the object is touching an object in (any of) the specified direction(s) this frame. * Handy function for checking if this object is just landed on a particular surface. * Be sure to check it before calling `super.update()`, as that will reset the flags. * * @param direction Any of the collision flags (e.g. `LEFT`, `FLOOR`, etc). * @return Whether the object just landed on (any of) the specified surface(s) this frame. * Reduces the `health` variable of this object by the amount specified in `Damage`. * Calls `kill()` if health drops to or below zero. * * @param Damage How much health to take away (use a negative number to give a health bonus). { axes : XY } * Centers this `FlxObject` on the screen, either by the x axis, y axis, or both. * * @param axes On what axes to center the object (e.g. `X`, `Y`, `XY`) - default is both. * @return This FlxObject for chaining { y : 0.0, x : 0.0 } * Helper function to set the coordinates of this object. * Handy since it only requires one line of code. * * @param x The new x position * @param y The new y position * Shortcut for setting both width and Height. * * @param width The new hitbox width. * @param height The new hitbox height. flixel.FlxCamera * Calculates the smallest globally aligned bounding box that encompasses this * object's width and height, at its current rotation. * Note, if called on a `FlxSprite`, the origin is used, but scale and offset are ignored. * Use `getScreenBounds` to use these properties. * @param newRect The optional output `FlxRect` to be returned, if `null`, a new one is created. * @return A globally aligned `FlxRect` that fully contains the input object's width and height. * @since 4.11.0 * Convert object to readable string name. Useful for debugging, save games, etc. "Use `collisionXDrag`, instead. Note the corrected spelling: `collis(i)onXDrag" "Use `collisionXDrag`, instead. Note the corrected spelling: `collis(i)onXDrag" { height : 0, width : 0, y : 0, x : 0 } * @param X The X-coordinate of the point in space. * @param Y The Y-coordinate of the point in space. * @param Width Desired width of the rectangle. * @param Height Desired height of the rectangle. * At their core `FlxObjects` are just boxes with positions that can move and collide with other * objects. Most games utilize `FlxObject's` features through [FlxSprite](https://api.haxeflixel.com/flixel/FlxSprite.html), * which extends `FlxObject` directly and adds graphical capabilities. * * ## Motion * Whenever `update` is called, objects with `move` set to true will update their positions based * on the following properties: * - `velocity`: The speed of the object in pixels per second. * - `acceleration`: The rate at which `velocity` will change in pixels per second. * - `drag`: When `acceleration` is 0, `velocity` will slow by this amount, in pixels per second. * When less than or equal to 0, no drag is applied. * - `maxVelocity`: The maximum `velocity` (or negative `velocity`) this object can have. * - `angle`: The orientation, in degrees, of this `object`. Does not affect collision, mainly * used for `FlxSprite` graphics. * - `angularVelocity`: The rotational speed of thiw object in degrees per second. * * ## Overlaps * If you're only checking an overlap between two objects you can use `player.overlaps(door)` * or `player.overlaps(spikeGroup)`. You can check if two objects or groups of object overlap * with [FlxG.overlap](https://api.haxeflixel.com/flixel/FlxG.html#overlap). * * Example: * ```haxe * if (FlxG.overlap(playerGroup, spikeGroup)) trace("overlap!"); * ``` * * You can also specify a callback to handle which specific objects collided: * ```haxe * FlxG.overlap(playerGroup, medKitGroup * function onOverlap(player, medKit) * { * player.health = 100; * medKit.kill(); * } * ); * ``` * * Additional resources: * - [Snippets - Simple Overlap](https://snippets.haxeflixel.com/overlap/simple-overlap/) * - [Snippets - Overlap Callbacks](https://snippets.haxeflixel.com/overlap/overlap-callbacks/) * * ## Collision * `FlxG.collide` is similar to `FlxG.overlap` except it resolves the overlap by separating their * positions before calling the callback. Typically collide is called on an update loop like so: * ```haxe * FlxG.collide(playerGroup, crateGroup); * ``` * This takes the player's and crate's momentum and previous and current position in consideration * when resolving overlaps between them. Like `overlap` collide will return true if any objects * were overlapping, and you can specify a callback. * * Additional resources: * - [Snippets - 1 to 1 Collision](https://snippets.haxeflixel.com/collision/1-to-1-collision/) * - [Demos - FlxCollisions](https://haxeflixel.com/demos/FlxCollisions/) * - [Demos - Collision and Grouping](https://haxeflixel.com/demos/CollisionAndGrouping/) * @see [Demos - EZPlatformer](https://haxeflixel.com/demos/EZPlatformer/) hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Determines when to apply collision drag to one object that collided with another. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() cast 0 Never drags on colliding objects. cast 1 Always drags on colliding objects. cast 2 Drags when colliding with immovable objects. cast 3 Drags when colliding with heavier objects. Immovable objects have infinite mass. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() cast 0 Never drags on colliding objects. cast 1 Always drags on colliding objects. cast 2 Drags when colliding with immovable objects. cast 3 Drags when colliding with heavier objects. Immovable objects have infinite mass. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() cast (0, flixel.CollisionDragType) Never drags on colliding objects. cast (1, flixel.CollisionDragType) Always drags on colliding objects. cast (2, flixel.CollisionDragType) Drags when colliding with immovable objects. cast (3, flixel.CollisionDragType) Drags when colliding with heavier objects. Immovable objects have infinite mass. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Internal function for initialization of some object's variables. <_HX_SUPER__initVars set="method" line="31"> * **WARNING:** A destroyed `FlxBasic` can't be used anymore. * It may even cause crashes if it is still part of a group or state. * You may want to use `kill()` instead if you want to disable the object temporarily only and `revive()` it later. * * This function is usually not called manually (Flixel calls it automatically during state switches for all `add()`ed objects). * * Override this function to `null` out variables manually or call `destroy()` on class members if necessary. * Don't forget to call `super.destroy()`! <_HX_SUPER__destroy public="1" set="method" line="31"> * Override this function to update your class's position and appearance. * This is where most of your game rules and behavioral code will go. <_HX_SUPER__update public="1" set="method" line="31"> * Internal function for updating the position and speed of this object. * Useful for cases when you need to update this but are buried down in too many supers. * Does a slightly fancier-than-normal integration to help with higher fidelity framerate-independent motion. <_HX_SUPER__updateMotion set="method" line="31"> * Rarely called, and in this case just increments the visible objects count and calls `drawDebug()` if necessary. <_HX_SUPER__draw public="1" set="method" line="31"> { inScreenSpace : false } flixel.group.FlxTypedGroup * Checks to see if some `FlxObject` overlaps this `FlxObject` or `FlxGroup`. * If the group has a LOT of things in it, it might be faster to use `FlxG.overlap()`. * WARNING: Currently tilemaps do NOT support screen space overlap checks! * * @param objectOrGroup The object or group being tested. * @param inScreenSpace Whether to take scroll factors into account when checking for overlap. * Default is `false`, or "only compare in world space." * @param camera Specify which game camera you want. * If `null`, it will just grab the first global camera. * @return Whether or not the two objects overlap. <_HX_SUPER__overlaps public="1" set="method" line="148"> { inScreenSpace : false } { inScreenSpace : false } flixel.group.FlxTypedGroup * Checks to see if this `FlxObject` were located at the given position, * would it overlap the `FlxObject` or `FlxGroup`? * This is distinct from `overlapsPoint()`, which just checks that point, * rather than taking the object's size into account. * WARNING: Currently tilemaps do NOT support screen space overlap checks! * * @param x The X position you want to check. * Pretends this object (the caller, not the parameter) is located here. * @param y The Y position you want to check. * Pretends this object (the caller, not the parameter) is located here. * @param objectOrGroup The object or group being tested. * @param inScreenSpace Whether to take scroll factors into account when checking for overlap. * Default is `false`, or "only compare in world space." * @param camera Specify which game camera you want. * If `null`, it will just grab the first global camera. * @return Whether or not the two objects overlap. <_HX_SUPER__overlapsAt public="1" set="method" line="148"> { inScreenSpace : false } { inScreenSpace : false } * Checks to see if a point in 2D world space overlaps this `FlxObject`. * * @param point The point in world space you want to check. * @param inScreenSpace Whether to take scroll factors into account when checking for overlap. * @param camera Specify which game camera you want. * If `null`, it will just grab the first global camera. * @return Whether or not the point overlaps this object. <_HX_SUPER__overlapsPoint public="1" set="method" line="148"> { inScreenSpace : false } * Returns the screen position of this object. * * @param result Optional arg for the returning point * @param camera The desired "screen" coordinate space. If `null`, `FlxG.camera` is used. * @return The screen position of this object. <_HX_SUPER__getScreenPosition public="1" set="method" line="148"> * Returns the world position of this object. * * @param result Optional arg for the returning point. * @return The world position of this object. <_HX_SUPER__getPosition public="1" set="method" line="148"> * Retrieve the midpoint of this object in world coordinates. * * @param point Allows you to pass in an existing `FlxPoint` object if you're so inclined. * Otherwise a new one is created. * @return A `FlxPoint` object containing the midpoint of this object in world coordinates. <_HX_SUPER__getMidpoint public="1" set="method" line="148"> <_HX_SUPER__getHitbox public="1" set="method" line="148"> * Handy function for reviving game objects. * Resets their existence flags and position. * * @param x The new X position of this object. * @param y The new Y position of this object. <_HX_SUPER__reset public="1" set="method" line="31"> * Check and see if this object is currently on screen. * * @param camera Specify which game camera you want. * If `null`, it will just grab the first global camera. * @return Whether the object is on screen or not. <_HX_SUPER__isOnScreen public="1" set="method" line="148"> * Check if object is rendered pixel perfect on a specific camera. <_HX_SUPER__isPixelPerfectRender public="1" set="method" line="148"> * Reduces the `health` variable of this object by the amount specified in `Damage`. * Calls `kill()` if health drops to or below zero. * * @param Damage How much health to take away (use a negative number to give a health bonus). <_HX_SUPER__hurt public="1" set="method" line="31"> { y : 0.0, x : 0.0 } * Helper function to set the coordinates of this object. * Handy since it only requires one line of code. * * @param x The new x position * @param y The new y position <_HX_SUPER__setPosition public="1" set="method" line="31"> { y : 0.0, x : 0.0 } * Shortcut for setting both width and Height. * * @param width The new hitbox width. * @param height The new hitbox height. <_HX_SUPER__setSize public="1" set="method" line="148"> flixel.FlxCamera <_HX_SUPER__getBoundingBox set="method" line="148"> * Calculates the smallest globally aligned bounding box that encompasses this * object's width and height, at its current rotation. * Note, if called on a `FlxSprite`, the origin is used, but scale and offset are ignored. * Use `getScreenBounds` to use these properties. * @param newRect The optional output `FlxRect` to be returned, if `null`, a new one is created. * @return A globally aligned `FlxRect` that fully contains the input object's width and height. * @since 4.11.0 <_HX_SUPER__getRotatedBounds public="1" set="method" line="148"> * Convert object to readable string name. Useful for debugging, save games, etc. <_HX_SUPER__toString public="1" set="method" line="148"> <_HX_SUPER__set_x set="method" line="148"> <_HX_SUPER__set_y set="method" line="148"> <_HX_SUPER__set_width set="method" line="148"> <_HX_SUPER__set_height set="method" line="148"> <_HX_SUPER__get_width set="method" line="148"> <_HX_SUPER__get_height set="method" line="148"> <_HX_SUPER__set_solid set="method" line="148"> <_HX_SUPER__set_angle set="method" line="148"> <_HX_SUPER__set_moves set="method" line="148"> <_HX_SUPER__set_immovable set="method" line="148"> <_HX_SUPER__set_pixelPerfectRender set="method" line="148"> <_HX_SUPER__set_allowCollisions set="method" line="148"> <_HX_SUPER__get_collisonXDrag set="method" line="148"> <_HX_SUPER__set_collisonXDrag set="method" line="148"> <_HX_SUPER__set_path set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.FlxObject flixel.FlxObject.CollisionDragType flixel.FlxObject.CollisionDragType false * The default value for `antialiasing` across all `FlxSprites`, * defaults to `false`. * @since 5.0.0 * Class that handles adding and playing animations on this sprite. * The current display state of the sprite including current animation frame, * tint, flip etc... may be `null` unless `useFramePixels` is `true`. true * Always `true` on `FlxG.renderBlit`. On `FlxG.renderTile` it determines whether * `framePixels` is used and defaults to `false` for performance reasons. defaultAntialiasing * Controls whether the object is smoothed when rotated, affects performance. true * Set this flag to true to force the sprite to update during the `draw()` call. * NOTE: Rarely if ever necessary, most sprite operations will flip this flag automatically. * This sprite's graphic / `BitmapData` object. * Automatically adjusts graphic size and render helpers if changed. * Link to current `FlxFrame` from loaded atlas 0 * The width of the actual graphic or image being displayed (not necessarily the game object/bounding box). 0 * The height of the actual graphic or image being displayed (not necessarily the game object/bounding box). 0 * The total number of frames in this image. * WARNING: assumes each row in the sprite sheet is full! * Rendering variables. 0 * The minimum angle (out of 360°) for which a new baked rotation exists. Example: `90` means there * are 4 baked rotations in the spritesheet. `0` if this sprite does not have any baked rotations. 1.0 * Set alpha to a number between `0` and `1` to change the opacity of the sprite. RIGHT * Can be set to `LEFT`, `RIGHT`, `UP`, and `DOWN` to take advantage * of flipped sprites and/or just track player orientation more easily. false * Whether this sprite is flipped on the X axis. false * Whether this sprite is flipped on the Y axis. * WARNING: The `origin` of the sprite will default to its center. If you change this, * the visuals and the collisions will likely be pretty out-of-sync if you do any rotation. * The position of the sprite's graphic relative to its hitbox. For example, `offset.x = 10;` will * show the graphic 10 pixels left of the hitbox. Likely needs to be adjusted after changing a sprite's * `width`, `height` or `scale`. false * Whenever it should render the offset as the rotOffset. Defaults to false * Rotation hitbox * Rotation hitbox angle * Change the size of your sprite's graphic. * NOTE: The hitbox is not automatically adjusted, use `updateHitbox()` for that (or `setGraphicSize()`). * WARNING: With `FlxG.renderBlit`, scaling sprites decreases rendering performance by a factor of about x10! * Blending modes, just like Photoshop or whatever, e.g. "multiply", "screen", etc. 0xffffff * Tints the whole sprite to a color (`0xRRGGBB` format) - similar to OpenGL vertex colors. You can use * `0xAARRGGBB` colors, but the alpha value will simply be ignored. To change the opacity use `alpha`. false * Whether or not to use a `ColorTransform` set via `setColorTransform()`. * Clipping rectangle for this sprite. * Changing the rect's properties directly doesn't have any effect, * reassign the property to update it (`sprite.clipRect = sprite.clipRect;`). * Set to `null` to discard graphic frame clipping. * GLSL shader for this sprite. Only works with OpenFL Next or WebGL. * Avoid changing it frequently as this is a costly operation. * @since 4.1.0 <_frame> * The actual frame used for sprite rendering <_frameGraphic> * Graphic of `_frame`. Used in tile render mode, when `useFramePixels` is `true`. <_facingHorizontalMult expr="1"> 1 <_facingVerticalMult expr="1"> 1 <_flashPoint> * Internal, reused frequently during drawing and animating. <_flashRect> * Internal, reused frequently during drawing and animating. <_flashRect2> * Internal, reused frequently during drawing and animating. <_flashPointZero> * Internal, reused frequently during drawing and animating. Always contains `(0,0)`. <_matrix> * Internal, helps with animation, caching and drawing. <_halfSize> * Rendering helper variable <_sinAngle expr="0"> 0 * These vars are being used for rendering in some of `FlxSprite` subclasses (`FlxTileblock`, `FlxBar`, * and `FlxBitmapText`) and for checks if the sprite is in camera's view. <_cosAngle expr="1"> 1 <_angleChanged expr="true"> true <_facingFlip expr="new Map<FlxDirectionFlags,{ var x : Bool; var y : Bool}>()"> ()]]> * Maps `FlxDirectionFlags` values to axis flips * **WARNING:** A destroyed `FlxBasic` can't be used anymore. * It may even cause crashes if it is still part of a group or state. * You may want to use `kill()` instead if you want to disable the object temporarily only and `revive()` it later. * * This function is usually not called manually (Flixel calls it automatically during state switches for all `add()`ed objects). * * Override this function to `null` out variables manually or call `destroy()` on class members if necessary. * Don't forget to call `super.destroy()`! * Load graphic from another `FlxSprite` and copy its tile sheet data. * This method can useful for non-flash targets. * * @param Sprite The `FlxSprite` from which you want to load graphic data. * @return This `FlxSprite` instance (nice for chaining stuff together, if you're into that). { Unique : false, Height : 0, Width : 0, Animated : false } * Load an image from an embedded graphic file. * * HaxeFlixel's graphic caching system keeps track of loaded image data. * When you load an identical copy of a previously used image, by default * HaxeFlixel copies the previous reference onto the `pixels` field instead * of creating another copy of the image data, to save memory. * * @param Graphic The image you want to use. * @param Animated Whether the `Graphic` parameter is a single sprite or a row / grid of sprites. * @param Width Specify the width of your sprite * (helps figure out what to do with non-square sprites or sprite sheets). * @param Height Specify the height of your sprite * (helps figure out what to do with non-square sprites or sprite sheets). * @param Unique Whether the graphic should be a unique instance in the graphics cache. * Set this to `true` if you want to modify the `pixels` field without changing * the `pixels` of other sprites with the same `BitmapData`. * @param Key Set this parameter if you're loading `BitmapData`. * @return This `FlxSprite` instance (nice for chaining stuff together, if you're into that). { AutoBuffer : false, AntiAliasing : false, Frame : -1, Rotations : 16 } * Create a pre-rotated sprite sheet from a simple sprite. * This can make a huge difference in graphical performance on blitting targets! * * @param Graphic The image you want to rotate and stamp. * @param Rotations The number of rotation frames the final sprite should have. * For small sprites this can be quite a large number (`360` even) without any problems. * @param Frame If the `Graphic` has a single row of square animation frames on it, * you can specify which of the frames you want to use here. * Default is `-1`, or "use whole graphic." * @param AntiAliasing Whether to use high quality rotations when creating the graphic. Default is `false`. * @param AutoBuffer Whether to automatically increase the image size to accommodate rotated corners. * Will create frames that are 150% larger on each axis than the original frame or graphic. * @param Key Optional, set this parameter if you're loading `BitmapData`. * @return This `FlxSprite` instance (nice for chaining stuff together, if you're into that). { AutoBuffer : false, AntiAliasing : false, Rotations : 16 } * Helper method which allows using `FlxFrame` as graphic source for sprite's `loadRotatedGraphic()` method. * * @param frame Frame to load into this sprite. * @param rotations The number of rotation frames the final sprite should have. * For small sprites this can be quite a large number (`360` even) without any problems. * @param antiAliasing Whether to use high quality rotations when creating the graphic. Default is `false`. * @param autoBuffer Whether to automatically increase the image size to accommodate rotated corners. * Will create frames that are 150% larger on each axis than the original frame or graphic. * @return this FlxSprite with loaded rotated graphic in it. { Unique : false, Color : FlxColor.WHITE } * This function creates a flat colored rectangular image dynamically. * * HaxeFlixel's graphic caching system keeps track of loaded image data. * When you make an identical copy of a previously used image, by default * HaxeFlixel copies the previous reference onto the pixels field instead * of creating another copy of the image data, to save memory. * * @param Width The width of the sprite you want to generate. * @param Height The height of the sprite you want to generate. * @param Color Specifies the color of the generated block (ARGB format). * @param Unique Whether the graphic should be a unique instance in the graphics cache. Default is `false`. * Set this to `true` if you want to modify the `pixels` field without changing the * `pixels` of other sprites with the same `BitmapData`. * @param Key An optional `String` key to identify this graphic in the cache. * If `null`, the key is determined by `Width`, `Height` and `Color`. * If `Unique` is `true` and a graphic with this `Key` already exists, * it is used as a prefix to find a new unique name like `"Key3"`. * @return This `FlxSprite` instance (nice for chaining stuff together, if you're into that). * Called whenever a new graphic is loaded for this sprite (after `loadGraphic()`, `makeGraphic()` etc). * Resets some internal variables used for frame `BitmapData` calculation. * Resets frame size to frame dimensions. * Resets sprite's size back to frame size. * Helper method just for convenience, so you don't need to type * `sprite.frame = sprite.frame;` * You may need this method in tile render mode, * when you want sprite to use its original graphic, not the graphic generated from its `framePixels`. { Height : 0, Width : 0 } * Updates the sprite's hitbox (`width`, `height`, `offset`) according to the current `scale`. * Also calls `centerOrigin()`. * Resets some important variables for sprite optimization and rendering. * This is separated out so it can be easily overridden. <__firstDraw expr="true"> true * Called by game loop, updates then blits or renders current frame of animation to the screen. <_flipX expr="false"> false <_flipY expr="false"> false * Made in case developer wanna finalize stuff with the matrix. { Y : 0, X : 0 } * Stamps / draws another `FlxSprite` onto this `FlxSprite`. * This function is NOT intended to replace `draw()`! * * @param Brush The sprite you want to use as a brush or stamp or pen or whatever. * @param X The X coordinate of the brush's top left corner on this sprite. * @param Y They Y coordinate of the brush's top left corner on this sprite. { Force : false } * Request (or force) that the sprite update the frame before rendering. * Useful if you are doing procedural generation or other weirdness! * * @param Force Force the frame to redraw, even if its not flagged as necessary. { AdjustPosition : false } * Helper function that adjusts the offset automatically to center the bounding box within the graphic. * * @param AdjustPosition Adjusts the actual X and Y position just once to match the offset change. * Sets the sprite's origin to its center - useful after adjusting * `scale` to make sure rotations work as expected. { FetchPositions : false } * Replaces all pixels with specified `Color` with `NewColor` pixels. * WARNING: very expensive (especially on big graphics) as it iterates over every single pixel. * * @param Color Color to replace * @param NewColor New color * @param FetchPositions Whether we need to store positions of pixels which colors were replaced. * @return `Array` with replaced pixels positions { alphaOffset : 0, blueOffset : 0, greenOffset : 0, redOffset : 0, alphaMultiplier : 1.0, blueMultiplier : 1.0, greenMultiplier : 1.0, redMultiplier : 1.0 } * Sets the sprite's color transformation with control over color offsets. * With `FlxG.renderTile`, offsets are only supported on OpenFL Next version 3.6.0 or higher. * * @param redMultiplier The value for the red multiplier, in the range from `0` to `1`. * @param greenMultiplier The value for the green multiplier, in the range from `0` to `1`. * @param blueMultiplier The value for the blue multiplier, in the range from `0` to `1`. * @param alphaMultiplier The value for the alpha transparency multiplier, in the range from `0` to `1`. * @param redOffset The offset value for the red color channel, in the range from `-255` to `255`. * @param greenOffset The offset value for the green color channel, in the range from `-255` to `255`. * @param blueOffset The offset for the blue color channel value, in the range from `-255` to `255`. * @param alphaOffset The offset for alpha transparency channel value, in the range from `-255` to `255`. { mask : 0xFF } * Checks to see if a point in 2D world space overlaps this `FlxSprite` object's * current displayed pixels. This check is ALWAYS made in screen space, and * factors in `scale`, `angle`, `offset`, `origin`, and `scrollFactor`. * * @param worldPoint point in world space you want to check. * @param mask Used in the pixel hit test to determine what counts as solid. * @param camera The desired "screen" coordinate space. If `null`, `FlxG.camera` is used. * @return Whether or not the point overlaps this object. * Determines which of this sprite's pixels are at the specified world coordinate, if any. * Factors in `scale`, `angle`, `offset`, `origin`, and `scrollFactor`. * * @param worldPoint The point in world space * @param camera The camera, used for `scrollFactor`. If `null`, `FlxG.camera` is used. * @return a `FlxColor`, if the point is in the sprite's graphic, otherwise `null` is returned. * @since 5.0.0 * Determines which of this sprite's pixels are at the specified screen coordinate, if any. * Factors in `scale`, `angle`, `offset`, `origin`, and `scrollFactor`. * * @param screenPoint The point in screen space * @param camera The desired "screen" coordinate space. If `null`, `FlxG.camera` is used. * @return a `FlxColor`, if the point is in the sprite's graphic, otherwise `null` is returned. * @since 5.0.0 * Converts the point from world coordinates to this sprite's pixel coordinates where (0,0) * is the top left of the graphic. * Factors in `scale`, `angle`, `offset`, `origin`, and `scrollFactor`. * * @param worldPoint The world coordinates. * @param camera The camera, used for `scrollFactor`. If `null`, `FlxG.camera` is used. * @param result Optional arg for the returning point * Converts the point from world coordinates to this sprite's pixel coordinates where (0,0) * is the top left of the graphic. Same as `worldToPixels` but never uses a camera, * therefore `scrollFactor` is ignored * * @param worldPoint The world coordinates. * @param result Optional arg for the returning point * Converts the point from screen coordinates to this sprite's pixel coordinates where (0,0) * is the top left of the graphic. * Factors in `scale`, `angle`, `offset`, `origin`, and `scrollFactor`. * * @param screenPoint The screen coordinates * @param camera The desired "screen" coordinate space. If `null`, `FlxG.camera` is used. * @param result Optional arg for the returning point { RunOnCpp : false } * Internal function to update the current animation frame. * * @param RunOnCpp Whether the frame should also be recalculated if we're on a non-flash target * Retrieves the `BitmapData` of the current `FlxFrame`. Updates `framePixels`. * Retrieve the midpoint of this sprite's graphic in world coordinates. * * @param point Allows you to pass in an existing `FlxPoint` if you're so inclined. * Otherwise a new one is created. * @return A `FlxPoint` containing the midpoint of this sprite's graphic in world coordinates. * Check and see if this object is currently on screen. Differs from `FlxObject`'s implementation * in that it takes the actual graphic into account, not just the hitbox or bounding box or whatever. * * @param Camera Specify which game camera you want. If `null`, `FlxG.camera` is used. * @return Whether the object is on screen or not. * Returns the result of `isSimpleRenderBlit()` if `FlxG.renderBlit` is * `true`, or `false` if `FlxG.renderTile` is `true`. * Determines the function used for rendering in blitting: * `copyPixels()` for simple sprites, `draw()` for complex ones. * Sprites are considered simple when they have an `angle` of `0`, a `scale` of `1`, * don't use `blend` and `pixelPerfectRender` is `true`. * * @param camera If a camera is passed its `pixelPerfectRender` flag is taken into account * Calculates the smallest globally aligned bounding box that encompasses this * sprite's width and height, at its current rotation. * Note, if called on a `FlxSprite`, the origin is used, but scale and offset are ignored. * Use `getScreenBounds` to use these properties. * @param newRect The optional output `FlxRect` to be returned, if `null`, a new one is created. * @return A globally aligned `FlxRect` that fully contains the input object's width and height. * @since 4.11.0 * Calculates the smallest globally aligned bounding box that encompasses this sprite's graphic as it * would be displayed. Honors scrollFactor, rotation, scale, offset and origin. * @param newRect Optional output `FlxRect`, if `null`, a new one is created. * @param camera Optional camera used for scrollFactor, if null `FlxG.camera` is used. * @return A globally aligned `FlxRect` that fully contains the input sprite. * @since 4.11.0 * Set how a sprite flips when facing in a particular direction. * * @param Direction Use constants `LEFT`, `RIGHT`, `UP`, and `DOWN`. * These may be combined with the bitwise OR operator. * E.g. To make a sprite flip horizontally when it is facing both `UP` and `LEFT`, * use `setFacingFlip(LEFT | UP, true, false);` * @param FlipX Whether to flip the sprite on the X axis. * @param FlipY Whether to flip the sprite on the Y axis. { saveAnimations : true } flixel.animation.FlxAnimationController * Sets frames and allows you to save animations in sprite's animation controller * * @param Frames Frames collection to set for this sprite. * @param saveAnimations Whether to save animations in animation controller or not. * @return This sprite with loaded frames * Internal function for setting graphic property for this object. * It changes graphics' `useCount` also for better memory tracking. * Frames setter. Used by `loadGraphic` methods, but you can load generated frames yourself * (this should be even faster since engine doesn't need to do bunch of additional stuff). * * @param Frames frames to load into this sprite. * @return loaded frames. { Y : 0, X : 0 } * Creates a `FlxSprite` at a specified position with a specified one-frame graphic. * If none is provided, a 16x16 image of the HaxeFlixel logo is used. * * @param X The initial X position of the sprite. * @param Y The initial Y position of the sprite. * @param SimpleGraphic The graphic you want to display * (OPTIONAL - for simple stuff only, do NOT use for animated images!). * The main "game object" class, the sprite is a `FlxObject` * with a bunch of graphics options and abilities, like animation and stamping. * * Load an image onto a sprite using the `loadGraphic*()` functions, * or create a base monochromatic rectangle using `makeGraphic()`. * The image `BitmapData` is stored in the `pixels` field. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() { Y : 0, X : 0 } hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__initVars set="method" line="31"> * **WARNING:** A destroyed `FlxBasic` can't be used anymore. * It may even cause crashes if it is still part of a group or state. * You may want to use `kill()` instead if you want to disable the object temporarily only and `revive()` it later. * * This function is usually not called manually (Flixel calls it automatically during state switches for all `add()`ed objects). * * Override this function to `null` out variables manually or call `destroy()` on class members if necessary. * Don't forget to call `super.destroy()`! <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__clone public="1" set="method" line="148"> * Load graphic from another `FlxSprite` and copy its tile sheet data. * This method can useful for non-flash targets. * * @param Sprite The `FlxSprite` from which you want to load graphic data. * @return This `FlxSprite` instance (nice for chaining stuff together, if you're into that). <_HX_SUPER__loadGraphicFromSprite public="1" set="method" line="148"> { Unique : false, Height : 0, Width : 0, Animated : false } * Load an image from an embedded graphic file. * * HaxeFlixel's graphic caching system keeps track of loaded image data. * When you load an identical copy of a previously used image, by default * HaxeFlixel copies the previous reference onto the `pixels` field instead * of creating another copy of the image data, to save memory. * * @param Graphic The image you want to use. * @param Animated Whether the `Graphic` parameter is a single sprite or a row / grid of sprites. * @param Width Specify the width of your sprite * (helps figure out what to do with non-square sprites or sprite sheets). * @param Height Specify the height of your sprite * (helps figure out what to do with non-square sprites or sprite sheets). * @param Unique Whether the graphic should be a unique instance in the graphics cache. * Set this to `true` if you want to modify the `pixels` field without changing * the `pixels` of other sprites with the same `BitmapData`. * @param Key Set this parameter if you're loading `BitmapData`. * @return This `FlxSprite` instance (nice for chaining stuff together, if you're into that). <_HX_SUPER__loadGraphic public="1" set="method" line="148"> { Unique : false, Height : 0, Width : 0, Animated : false } { AutoBuffer : false, AntiAliasing : false, Frame : -1, Rotations : 16 } * Create a pre-rotated sprite sheet from a simple sprite. * This can make a huge difference in graphical performance on blitting targets! * * @param Graphic The image you want to rotate and stamp. * @param Rotations The number of rotation frames the final sprite should have. * For small sprites this can be quite a large number (`360` even) without any problems. * @param Frame If the `Graphic` has a single row of square animation frames on it, * you can specify which of the frames you want to use here. * Default is `-1`, or "use whole graphic." * @param AntiAliasing Whether to use high quality rotations when creating the graphic. Default is `false`. * @param AutoBuffer Whether to automatically increase the image size to accommodate rotated corners. * Will create frames that are 150% larger on each axis than the original frame or graphic. * @param Key Optional, set this parameter if you're loading `BitmapData`. * @return This `FlxSprite` instance (nice for chaining stuff together, if you're into that). <_HX_SUPER__loadRotatedGraphic public="1" set="method" line="148"> { AutoBuffer : false, AntiAliasing : false, Frame : -1, Rotations : 16 } { AutoBuffer : false, AntiAliasing : false, Rotations : 16 } * Helper method which allows using `FlxFrame` as graphic source for sprite's `loadRotatedGraphic()` method. * * @param frame Frame to load into this sprite. * @param rotations The number of rotation frames the final sprite should have. * For small sprites this can be quite a large number (`360` even) without any problems. * @param antiAliasing Whether to use high quality rotations when creating the graphic. Default is `false`. * @param autoBuffer Whether to automatically increase the image size to accommodate rotated corners. * Will create frames that are 150% larger on each axis than the original frame or graphic. * @return this FlxSprite with loaded rotated graphic in it. <_HX_SUPER__loadRotatedFrame public="1" set="method" line="148"> { AutoBuffer : false, AntiAliasing : false, Rotations : 16 } { Unique : false, Color : FlxColor.WHITE } * This function creates a flat colored rectangular image dynamically. * * HaxeFlixel's graphic caching system keeps track of loaded image data. * When you make an identical copy of a previously used image, by default * HaxeFlixel copies the previous reference onto the pixels field instead * of creating another copy of the image data, to save memory. * * @param Width The width of the sprite you want to generate. * @param Height The height of the sprite you want to generate. * @param Color Specifies the color of the generated block (ARGB format). * @param Unique Whether the graphic should be a unique instance in the graphics cache. Default is `false`. * Set this to `true` if you want to modify the `pixels` field without changing the * `pixels` of other sprites with the same `BitmapData`. * @param Key An optional `String` key to identify this graphic in the cache. * If `null`, the key is determined by `Width`, `Height` and `Color`. * If `Unique` is `true` and a graphic with this `Key` already exists, * it is used as a prefix to find a new unique name like `"Key3"`. * @return This `FlxSprite` instance (nice for chaining stuff together, if you're into that). <_HX_SUPER__makeGraphic public="1" set="method" line="148"> { Unique : false, Color : FlxColor.WHITE } * Called whenever a new graphic is loaded for this sprite (after `loadGraphic()`, `makeGraphic()` etc). <_HX_SUPER__graphicLoaded public="1" set="method" line="31"> { Height : 0, Width : 0 } <_HX_SUPER__setGraphicSize public="1" set="method" line="31"> { Height : 0, Width : 0 } * Updates the sprite's hitbox (`width`, `height`, `offset`) according to the current `scale`. * Also calls `centerOrigin()`. <_HX_SUPER__updateHitbox public="1" set="method" line="31"> * Resets some important variables for sprite optimization and rendering. <_HX_SUPER__resetHelpers set="method" line="31"> <_HX_SUPER__update public="1" set="method" line="31"> * This is separated out so it can be easily overridden. <_HX_SUPER__updateAnimation set="method" line="31"> <_HX_SUPER__checkEmptyFrame set="method" line="148"> * Called by game loop, updates then blits or renders current frame of animation to the screen. <_HX_SUPER__draw public="1" set="method" line="31"> <_HX_SUPER__drawSimple set="method" line="31"> <_HX_SUPER__drawComplex set="method" line="31"> * Made in case developer wanna finalize stuff with the matrix. <_HX_SUPER__doAdditionalMatrixStuff public="1" set="method" line="148"> { Y : 0, X : 0 } * Stamps / draws another `FlxSprite` onto this `FlxSprite`. * This function is NOT intended to replace `draw()`! * * @param Brush The sprite you want to use as a brush or stamp or pen or whatever. * @param X The X coordinate of the brush's top left corner on this sprite. * @param Y They Y coordinate of the brush's top left corner on this sprite. <_HX_SUPER__stamp public="1" set="method" line="31"> { Y : 0, X : 0 } { Force : false } * Request (or force) that the sprite update the frame before rendering. * Useful if you are doing procedural generation or other weirdness! * * @param Force Force the frame to redraw, even if its not flagged as necessary. <_HX_SUPER__drawFrame public="1" set="method" line="31"> { Force : false } { AdjustPosition : false } * Helper function that adjusts the offset automatically to center the bounding box within the graphic. * * @param AdjustPosition Adjusts the actual X and Y position just once to match the offset change. <_HX_SUPER__centerOffsets public="1" set="method" line="31"> { AdjustPosition : false } { FetchPositions : false } * Replaces all pixels with specified `Color` with `NewColor` pixels. * WARNING: very expensive (especially on big graphics) as it iterates over every single pixel. * * @param Color Color to replace * @param NewColor New color * @param FetchPositions Whether we need to store positions of pixels which colors were replaced. * @return `Array` with replaced pixels positions <_HX_SUPER__replaceColor public="1" set="method" line="148"> { FetchPositions : false } { alphaOffset : 0, blueOffset : 0, greenOffset : 0, redOffset : 0, alphaMultiplier : 1.0, blueMultiplier : 1.0, greenMultiplier : 1.0, redMultiplier : 1.0 } * Sets the sprite's color transformation with control over color offsets. * With `FlxG.renderTile`, offsets are only supported on OpenFL Next version 3.6.0 or higher. * * @param redMultiplier The value for the red multiplier, in the range from `0` to `1`. * @param greenMultiplier The value for the green multiplier, in the range from `0` to `1`. * @param blueMultiplier The value for the blue multiplier, in the range from `0` to `1`. * @param alphaMultiplier The value for the alpha transparency multiplier, in the range from `0` to `1`. * @param redOffset The offset value for the red color channel, in the range from `-255` to `255`. * @param greenOffset The offset value for the green color channel, in the range from `-255` to `255`. * @param blueOffset The offset for the blue color channel value, in the range from `-255` to `255`. * @param alphaOffset The offset for alpha transparency channel value, in the range from `-255` to `255`. <_HX_SUPER__setColorTransform public="1" set="method" line="31"> { alphaOffset : 0, blueOffset : 0, greenOffset : 0, redOffset : 0, alphaMultiplier : 1.0, blueMultiplier : 1.0, greenMultiplier : 1.0, redMultiplier : 1.0 } <_HX_SUPER__updateColorTransform set="method" line="31"> { mask : 0xFF } * Checks to see if a point in 2D world space overlaps this `FlxSprite` object's * current displayed pixels. This check is ALWAYS made in screen space, and * factors in `scale`, `angle`, `offset`, `origin`, and `scrollFactor`. * * @param worldPoint point in world space you want to check. * @param mask Used in the pixel hit test to determine what counts as solid. * @param camera The desired "screen" coordinate space. If `null`, `FlxG.camera` is used. * @return Whether or not the point overlaps this object. <_HX_SUPER__pixelsOverlapPoint public="1" set="method" line="148"> { mask : 0xFF } * Determines which of this sprite's pixels are at the specified world coordinate, if any. * Factors in `scale`, `angle`, `offset`, `origin`, and `scrollFactor`. * * @param worldPoint The point in world space * @param camera The camera, used for `scrollFactor`. If `null`, `FlxG.camera` is used. * @return a `FlxColor`, if the point is in the sprite's graphic, otherwise `null` is returned. * @since 5.0.0 <_HX_SUPER__getPixelAt public="1" set="method" line="148"> * Determines which of this sprite's pixels are at the specified screen coordinate, if any. * Factors in `scale`, `angle`, `offset`, `origin`, and `scrollFactor`. * * @param screenPoint The point in screen space * @param camera The desired "screen" coordinate space. If `null`, `FlxG.camera` is used. * @return a `FlxColor`, if the point is in the sprite's graphic, otherwise `null` is returned. * @since 5.0.0 <_HX_SUPER__getPixelAtScreen public="1" set="method" line="148"> * Converts the point from world coordinates to this sprite's pixel coordinates where (0,0) * is the top left of the graphic. * Factors in `scale`, `angle`, `offset`, `origin`, and `scrollFactor`. * * @param worldPoint The world coordinates. * @param camera The camera, used for `scrollFactor`. If `null`, `FlxG.camera` is used. * @param result Optional arg for the returning point <_HX_SUPER__transformWorldToPixels public="1" set="method" line="148"> * Converts the point from world coordinates to this sprite's pixel coordinates where (0,0) * is the top left of the graphic. Same as `worldToPixels` but never uses a camera, * therefore `scrollFactor` is ignored * * @param worldPoint The world coordinates. * @param result Optional arg for the returning point <_HX_SUPER__transformWorldToPixelsSimple public="1" set="method" line="148"> * Converts the point from screen coordinates to this sprite's pixel coordinates where (0,0) * is the top left of the graphic. * Factors in `scale`, `angle`, `offset`, `origin`, and `scrollFactor`. * * @param screenPoint The screen coordinates * @param camera The desired "screen" coordinate space. If `null`, `FlxG.camera` is used. * @param result Optional arg for the returning point <_HX_SUPER__transformScreenToPixels public="1" set="method" line="148"> { RunOnCpp : false } * Internal function to update the current animation frame. * * @param RunOnCpp Whether the frame should also be recalculated if we're on a non-flash target <_HX_SUPER__calcFrame set="method" line="31"> { RunOnCpp : false } * Retrieves the `BitmapData` of the current `FlxFrame`. Updates `framePixels`. <_HX_SUPER__updateFramePixels public="1" set="method" line="148"> * Retrieve the midpoint of this sprite's graphic in world coordinates. * * @param point Allows you to pass in an existing `FlxPoint` if you're so inclined. * Otherwise a new one is created. * @return A `FlxPoint` containing the midpoint of this sprite's graphic in world coordinates. <_HX_SUPER__getGraphicMidpoint public="1" set="method" line="148"> * Check and see if this object is currently on screen. Differs from `FlxObject`'s implementation * in that it takes the actual graphic into account, not just the hitbox or bounding box or whatever. * * @param Camera Specify which game camera you want. If `null`, `FlxG.camera` is used. * @return Whether the object is on screen or not. <_HX_SUPER__isOnScreen public="1" set="method" line="148"> * Returns the result of `isSimpleRenderBlit()` if `FlxG.renderBlit` is * `true`, or `false` if `FlxG.renderTile` is `true`. <_HX_SUPER__isSimpleRender public="1" set="method" line="148"> * Determines the function used for rendering in blitting: * `copyPixels()` for simple sprites, `draw()` for complex ones. * Sprites are considered simple when they have an `angle` of `0`, a `scale` of `1`, * don't use `blend` and `pixelPerfectRender` is `true`. * * @param camera If a camera is passed its `pixelPerfectRender` flag is taken into account <_HX_SUPER__isSimpleRenderBlit public="1" set="method" line="148"> * Calculates the smallest globally aligned bounding box that encompasses this * sprite's width and height, at its current rotation. * Note, if called on a `FlxSprite`, the origin is used, but scale and offset are ignored. * Use `getScreenBounds` to use these properties. * @param newRect The optional output `FlxRect` to be returned, if `null`, a new one is created. * @return A globally aligned `FlxRect` that fully contains the input object's width and height. * @since 4.11.0 <_HX_SUPER__getRotatedBounds set="method" line="148"> * Calculates the smallest globally aligned bounding box that encompasses this sprite's graphic as it * would be displayed. Honors scrollFactor, rotation, scale, offset and origin. * @param newRect Optional output `FlxRect`, if `null`, a new one is created. * @param camera Optional camera used for scrollFactor, if null `FlxG.camera` is used. * @return A globally aligned `FlxRect` that fully contains the input sprite. * @since 4.11.0 <_HX_SUPER__getScreenBounds public="1" set="method" line="148"> { saveAnimations : true } flixel.animation.FlxAnimationController * Sets frames and allows you to save animations in sprite's animation controller * * @param Frames Frames collection to set for this sprite. * @param saveAnimations Whether to save animations in animation controller or not. * @return This sprite with loaded frames <_HX_SUPER__setFrames public="1" set="method" line="148"> { saveAnimations : true } <_HX_SUPER__get_pixels set="method" line="148"> <_HX_SUPER__set_pixels set="method" line="148"> <_HX_SUPER__set_frame set="method" line="148"> <_HX_SUPER__set_facing set="method" line="148"> <_HX_SUPER__set_alpha set="method" line="148"> <_HX_SUPER__set_color set="method" line="148"> <_HX_SUPER__set_angle set="method" line="148"> <_HX_SUPER__set_blend set="method" line="148"> * Internal function for setting graphic property for this object. * It changes graphics' `useCount` also for better memory tracking. <_HX_SUPER__set_graphic set="method" line="148"> <_HX_SUPER__set_clipRect set="method" line="148"> * Frames setter. Used by `loadGraphic` methods, but you can load generated frames yourself * (this should be even faster since engine doesn't need to do bunch of additional stuff). * * @param Frames frames to load into this sprite. * @return loaded frames. <_HX_SUPER__set_frames set="method" line="148"> <_HX_SUPER__set_flipX set="method" line="148"> <_HX_SUPER__set_flipY set="method" line="148"> <_HX_SUPER__set_antialiasing set="method" line="148"> <_HX_SUPER__set_useFramePixels set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.FlxSprite flixel.FlxSprite.IFlxSprite * Helper for overlap functions in `FlxObject` and `FlxTilemap`. * `Array` of all the members in this group. * The maximum capacity of this group. Default is `0`, meaning no max capacity, and the group can just grow. 0 * The number of entries in the members array. For performance and safety you should check this * variable instead of `members.length` unless you really know what you're doing! * A `FlxSignal` that dispatches when a child is added to this group. * @since 4.4.0 * A `FlxSignal` that dispatches when a child is removed from this group. * @since 4.4.0 <_memberAdded> * Internal variables for lazily creating `memberAdded` and `memberRemoved` signals when needed. <_memberRemoved> <_marker expr="0"> 0 * Internal helper variable for recycling objects a la `FlxEmitter`. * **WARNING:** A destroyed `FlxBasic` can't be used anymore. * It may even cause crashes if it is still part of a group or state. * You may want to use `kill()` instead if you want to disable the object temporarily only and `revive()` it later. * * This function is usually not called manually (Flixel calls it automatically during state switches for all `add()`ed objects). * * Override this function to `null` out variables manually or call `destroy()` on class members if necessary. * Don't forget to call `super.destroy()`! * Automatically goes through and calls update on everything you added. * Automatically goes through and calls render on everything you added. * Adds a new `FlxBasic` subclass (`FlxBasic`, `FlxSprite`, `Enemy`, etc) to the group. * `FlxGroup` will try to replace a `null` member of the array first. * Failing that, `FlxGroup` will add it to the end of the member array. * WARNING: If the group has a `maxSize` that has already been met, * the object will NOT be added to the group! * * @param Object The object you want to add to the group. * @return The same `FlxBasic` object that was passed in. * Inserts a new `FlxBasic` subclass (`FlxBasic`, `FlxSprite`, `Enemy`, etc) * into the group at the specified position. * `FlxGroup` will try to replace a `null` member at the specified position of the array first. * Failing that, `FlxGroup` will insert it at the position of the member array. * WARNING: If the group has a `maxSize` that has already been met, * the object will NOT be inserted to the group! * * @param Position The position in the group where you want to insert the object. * @param Object The object you want to insert into the group. * @return The same `FlxBasic` object that was passed in. { Revive : true, Force : false } 0` / "rotating-recycling" (used by `FlxEmitter`): * - at capacity: returns the next object in line, no matter its properties like `alive`, `exists` etc. * - otherwise: returns a new object. * * `maxSize == 0` / "grow-style-recycling" * - tries to find the first object with `exists == false` * - otherwise: adds a new object to the `members` array * * WARNING: If this function needs to create a new object, and no object class was provided, * it will return `null` instead of a valid object! * * @param ObjectClass The class type you want to recycle (e.g. `FlxSprite`, `EvilRobot`, etc). * @param ObjectFactory Optional factory function to create a new object * if there aren't any dead members to recycle. * If `null`, `Type.createInstance()` is used, * which requires the class to have no constructor parameters. * @param Force Force the object to be an `ObjectClass` and not a super class of `ObjectClass`. * @param Revive Whether recycled members should automatically be revived * (by calling `revive()` on them). * @return A reference to the object that was created.]]> { Splice : false } * Removes an object from the group. * * @param Object The `FlxBasic` you want to remove. * @param Splice Whether the object should be cut from the array entirely or not. * @return The removed object. * Replaces an existing `FlxBasic` with a new one. * Does not do anything and returns `null` if the old object is not part of the group. * * @param OldObject The object you want to replace. * @param NewObject The new object you want to use instead. * @return The new object. { Order : FlxSort.ASCENDING } * Call this function to sort the group according to a particular value and order. * For example, to sort game objects for Zelda-style overlaps you might call * `group.sort(FlxSort.byY, FlxSort.ASCENDING)` at the bottom of your `FlxState#update()` override. * * @param Function The sorting function to use - you can use one of the premade ones in * `FlxSort` or write your own using `FlxSort.byValues()` as a "backend". * @param Order A constant that defines the sort order. * Possible values are `FlxSort.ASCENDING` (default) and `FlxSort.DESCENDING`. { Force : false } * Call this function to retrieve the first object with `exists == false` in the group. * This is handy for recycling in general, e.g. respawning enemies. * * @param ObjectClass An optional parameter that lets you narrow the * results to instances of this particular class. * @param Force Force the object to be an `ObjectClass` and not a super class of `ObjectClass`. * @return A `FlxBasic` currently flagged as not existing. * Call this function to retrieve the first index set to `null`. * Returns `-1` if no index stores a `null` object. * * @return An `Int` indicating the first `null` slot in the group. * Call this function to retrieve the first object with `exists == true` in the group. * This is handy for checking if everything's wiped out, or choosing a squad leader, etc. * * @return A `FlxBasic` currently flagged as existing. * Call this function to retrieve the first object with `dead == false` in the group. * This is handy for checking if everything's wiped out, or choosing a squad leader, etc. * * @return A `FlxBasic` currently flagged as not dead. * Call this function to retrieve the first object with `dead == true` in the group. * This is handy for checking if everything's wiped out, or choosing a squad leader, etc. * * @return A `FlxBasic` currently flagged as dead. * Call this function to find out how many members of the group are not dead. * * @return The number of `FlxBasic`s flagged as not dead. Returns `-1` if group is empty. * Call this function to find out how many members of the group are dead. * * @return The number of `FlxBasic`s flagged as dead. Returns `-1` if group is empty. { Length : 0, StartIndex : 0 } * Returns a member at random from the group. * * @param StartIndex Optional offset off the front of the array. * Default value is `0`, or the beginning of the array. * @param Length Optional restriction on the number of values you want to randomly select from. * @return A `FlxBasic` from the `members` list. * Remove all instances of `FlxBasic` subclasses (`FlxSprite`, `FlxTileblock`, etc) from the list. * WARNING: does not `destroy()` or `kill()` any of these objects! * Calls `kill()` on the group's `members` and then on the group itself. * You can revive this group later via `revive()` after this. * Calls `revive()` on the group's members and then on the group itself. * Iterates through every member. { Recurse : false } * Applies a function to all members. * * @param Function A function that modifies one element at a time. * @param Recurse Whether or not to apply the function to members of subgroups as well. { Recurse : false } * Applies a function to all `alive` members. * * @param Function A function that modifies one element at a time. * @param Recurse Whether or not to apply the function to members of subgroups as well. { Recurse : false } * Applies a function to all dead members. * * @param Function A function that modifies one element at a time. * @param Recurse Whether or not to apply the function to members of subgroups as well. { Recurse : false } * Applies a function to all existing members. * * @param Function A function that modifies one element at a time. * @param Recurse Whether or not to apply the function to members of subgroups as well. { Recurse : false } `. * * @param ObjectClass A class that objects will be checked against before Function is applied, ex: `FlxSprite`. * @param Function A function that modifies one element at a time. * @param Recurse Whether or not to apply the function to members of subgroups as well.]]> { MaxSize : 0 } * @param MaxSize Maximum amount of members allowed. * This is an organizational class that can update and render a bunch of `FlxBasic`s. * NOTE: Although `FlxGroup` extends `FlxBasic`, it will not automatically * add itself to the global collisions quad tree, it will only add its members. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() false * Whenever the state already has been created. When create is called, this is set to true to prevent the state from being created twice when switching back to it. false false * Determines whether or not this state is updated even when it is not the active state. * For example, if you have your game state first, and then you push a menu state on top of it, * if this is set to `true`, the game state would continue to update in the background. * By default this is `false`, so background states will be "paused" when they are not active. true * Determines whether or not this state is updated even when it is not the active state. * For example, if you have your game state first, and then you push a menu state on top of it, * if this is set to `true`, the game state would continue to be drawn behind the pause state. * By default this is `true`, so background states will continue to be drawn behind the current state. * * If background states are not `visible` when you have a different state on top, * you should set this to `false` for improved performance. true * If substates get destroyed when they are closed, setting this to * `false` might reduce state creation time, at greater memory cost. * The natural background color the cameras default to. In `AARRGGBB` format. * Current substate. Substates also can be nested. <_requestedSubState> * If a state change was requested, the new state object is stored here until we switch to it. <_requestSubStateReset expr="false"> false * Whether to reset the substate (when it changes, or when it's closed). * A `FlxSignal` that dispatches when a sub state is opened from this state. * @since 4.9.0 * A `FlxSignal` that dispatches when a sub state is closed from this state. * @since 4.9.0 <_subStateOpened> * Internal variables for lazily creating `subStateOpened` and `subStateClosed` signals when needed. <_subStateClosed> * This function is called after the game engine successfully switches states. * Override this function, NOT the constructor, to initialize or set up your game state. * We do NOT recommend initializing any flixel objects or utilizing flixel features in * the constructor, unless you want some crazy unpredictable things to happen! * Closes the substate of this state, if one exists. * Load substate for this state * Called from `FlxG.switchState()`. If `false` is returned, the state * switch is cancelled - the default implementation returns `true`. * * Useful for customizing state switches, e.g. for transition effects. * This method is called after the game loses focus. * Can be useful for third party libraries, such as tweening engines. * This method is called after the game receives focus. * Can be useful for third party libraries, such as tweening engines. * This function is called whenever the window size has been changed. * * @param Width The new window width * @param Height The new window Height flixel.FlxGame * This is the basic game "state" object - e.g. in a simple game you might have a menu state and a play state. * It is for all intents and purpose a fancy `FlxGroup`. And really, it's not even that fancy. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * This function is called after the game engine successfully switches states. * Override this function, NOT the constructor, to initialize or set up your game state. * We do NOT recommend initializing any flixel objects or utilizing flixel features in * the constructor, unless you want some crazy unpredictable things to happen! <_HX_SUPER__create public="1" set="method" line="31"> <_HX_SUPER__createPost public="1" set="method" line="31"> <_HX_SUPER__draw public="1" set="method" line="31"> <_HX_SUPER__openSubState public="1" set="method" line="31"> * Closes the substate of this state, if one exists. <_HX_SUPER__closeSubState public="1" set="method" line="31"> * Load substate for this state <_HX_SUPER__resetSubState public="1" set="method" line="31"> <_HX_SUPER__destroy public="1" set="method" line="31"> * Called from `FlxG.switchState()`. If `false` is returned, the state * switch is cancelled - the default implementation returns `true`. * * Useful for customizing state switches, e.g. for transition effects. <_HX_SUPER__switchTo public="1" set="method" line="148"> * This method is called after the game loses focus. * Can be useful for third party libraries, such as tweening engines. <_HX_SUPER__onFocusLost public="1" set="method" line="31"> * This method is called after the game receives focus. * Can be useful for third party libraries, such as tweening engines. <_HX_SUPER__onFocus public="1" set="method" line="31"> * This function is called whenever the window size has been changed. * * @param Width The new window width * @param Height The new window Height <_HX_SUPER__onResize public="1" set="method" line="31"> flixel.FlxGame <_HX_SUPER__tryUpdate set="method" line="31"> <_HX_SUPER__get_bgColor set="method" line="148"> <_HX_SUPER__set_bgColor set="method" line="148"> <_HX_SUPER__get_subStateOpened set="method" line="148"> <_HX_SUPER__get_subStateClosed set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.FlxState ()]]> * A `Vector` of floats where each pair of numbers is treated as a coordinate location (an x, y pair). ()]]> * A `Vector` of integers or indexes, where every three indexes define a triangle. ()]]> * A `Vector` of normalized coordinates used to apply texture mapping. ()]]> false * A very basic rendering component which uses `drawTriangles()`. * You have access to `vertices`, `indices` and `uvtData` vectors which are used as data storages for rendering. * The whole `FlxGraphic` object is used as a texture for this sprite. * Use these links for more info about `drawTriangles()`: * @see http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/Graphics.html#drawTriangles%28%29 * @see http://help.adobe.com/en_US/as3/dev/WS84753F1C-5ABE-40b1-A2E4-07D7349976C4.html * @see http://www.flashandmath.com/advanced/p10triangles/index.html * * WARNING: This class is EXTREMELY slow on Flash! hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__draw public="1" set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.FlxStrip * Callback method for state open/resume event. * @since 4.3.0 * Callback method for state close event. <_bgSprite> * Helper sprite object for non-flash targets. Draws the background. <_parentState> flixel.FlxState.resetSubState * Helper var for `close()` so `closeSubState()` can be called on the parent. <_bgColor> * Closes this substate. { BGColor : FlxColor.TRANSPARENT } * @param BGColor background color for this substate * A `FlxSubState` can be opened inside of a `FlxState`. * By default, it also stops the parent state from updating, * making it convenient for pause screens or menus. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__draw public="1" set="method" line="31"> <_HX_SUPER__destroy public="1" set="method" line="31"> * Closes this substate. <_HX_SUPER__close public="1" set="method" line="31"> <_HX_SUPER__set_bgColor set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.FlxSubState 0 * Hash types for the cryptography function. Use this or HASH_SHA1 for encryptURL(). MD5 is used by default. 1 * Hash types for the cryptography function. Use this or HASH_MD5 for encryptURL(). MD5 is used by default. -1 * Trophy data return type, will return only non-unlocked trophies. As an alternative, can just pass in the ID of the trophy to see if it's unlocked. -2 * Trophy data return type, will return only unlocked trophies. As an alternative, can just pass in the ID of the trophy to see if it's unlocked. HASH_MD5 * The hash type to be used for private key encryption. Set to FlxGameJolt.HASH_MD5 or FlxGameJolt.HASH_SHA1. Default is MD5. See https://gamejolt.com/api/doc/game/ section "Signature". false * Whether or not to log the URL that is contacted and messages returned from GameJolt. * Useful if you're not getting the right data back. * Only works in debug mode. * Whether or not the API has been fully initialized by passing game id, private key, and authenticating user name and token. * Internal method to verify that init() has been called on this class. Called before running functions that require game ID or private key but not user data. * * @return True if game ID is set, false otherwise. * Internal method to verify that this user (and game) have been authenticated. Called before running functions which require authentication. * * @return True if authenticated, false otherwise. * The user's GameJolt user name. Only works if you've called authUser() and/or init(), otherwise will return "No user". * The user's GameJolt user token. Only works if you've called authUser() and/or init(), otherwise will return "No token". * Generally you should not need to mess with this. * An alternative to running authUser() and hoping for the best; this will tell you if your game was run via Quick Play, and user name and token is available. Does NOT authenticate the user data! * * @return True if this was run via Quick Play with user name and token available, false otherwise. * An alternative to running authUser() and hoping for the best; this will tell you if your game was run as an embedded Flash on GameJolt that has user name and token data already. Does NOT authenticate the user data! * * @return True if it's an embedded SWF with user name and token available, false otherwise. <_callBack static="1"> * Internal storage for a callback function, used when the URLLoader is complete. <_gameID expr="0" line="122" static="1"> 0 * Internal storage for this game's ID. <_privateKey expr="""" line="130" static="1"> "" * Internal storage for this game's private key. * Do NOT store your private key as a string literal in your game! * This can be found at https://gamejolt.com/dashboard/developer/games/achievements/GAME_ID/ where GAME_ID is your unique game ID number. * Each game has a unique private key; you cannot use one key for all of your games. <_userName static="1"> * Internal storage for this user's username. Can be retrieved automatically if Flash or QuickPlay. <_userToken static="1"> * Internal storage for this user's token. Can be retrieved automatically if Flash or QuickPlay. <_idURL static="1"> * Internal storage for the most common URL elements: the gameID, user name, and user token. <_initialized expr="false" line="150" static="1"> false * Set to true once game ID, user name, user token have been set and user name and token have been verified. <_verifyAuth expr="false" line="155" static="1"> false * Internal tracker for authenticating user data. <_getImage expr="false" line="160" static="1"> false * Internal tracker for getting bitmapdata for a trophy image. <_loader static="1"> * URLLoader object for sending URL requests. ()]]> * A string map that contains what is returned from GameJolt servers. "https://gamejolt.com/api/game/v1/" * Various common strings required by the API's https values. "?format=keypair" { AutoAuth : false } * Initialize this class by storing the GameID and private key. * You must call this function first for many of the other functions to work. * To enable user-specific functions, call authUser() afterward, or set AutoAuth to true. * * @param GameID The unique game ID associated with this game on GameJolt. You must create a game profile on GameJolt to get this number. * @param PrivateKey Your private key. You must have a developer account on GameJolt to have this number. Do NOT store this as plaintext in your game! * @param AutoAuth Call authUser after init() has run to authenticate user data. * @param UserName The username to authenticate, if AutoAuth is true. If you set AutoAuth to true but don't put a value here, FlxGameJolt will attempt to get the user data automatically, which will only work for Flash embedded on GameJolt, or games run via Quick Play. * @param UserToken The user token to authenticate, if AutoAuth is true. If you set AutoAuth to true but don't put a value here, FlxGameJolt will attempt to get the user data automatically, which will only work for Flash embedded on GameJolt, or games run via Quick Play. * @param Callback An optional callback function, which is only used if AutoAuth is set to true. Will return true if authentication was successful, false otherwise. whose keys and values are equivalent to the key-value pairs returned by GameJolt.]]> * Verify user data. Must be called before any user-specific functions, and after init(). Will set initialized to true if successful. * * @see https://gamejolt.com/api/doc/game/users/auth/ * @param UserName A user name. Leave null to automatically pull user data (only works for embedded Flash on GameJolt or Quick Play). Usernames can only have letters, numbers, hyphens (-) and underscores (_), and must be 3-30 characters long. * @param UserToken A user token. Players enter this instead of a password to enable highscores, trophies, etc. Leave null to automatically pull user data (only works for embedded Flash on GameJolt or Quick Play). User tokens can only have letters and numbers, and must be 4-30 characters long. * @param Callback An optional callback function. Will return true if authentication was successful, false otherwise. whose keys and values are equivalent to the key-value pairs returned by GameJolt.]]> { Active : true } whose keys and values are equivalent to the key-value pairs returned by GameJolt.]]> whose keys and values are equivalent to the key-value pairs returned by GameJolt.]]> { DataType : 0 } whose keys and values are equivalent to the key-value pairs returned by GameJolt.]]> / in the right-hand column. * @param Callback An optional callback function. Will return a Map whose keys and values are equivalent to the key-value pairs returned by GameJolt.]]> whose keys and values are equivalent to the key-value pairs returned by GameJolt.]]> { AllowGuest : false } whose keys and values are equivalent to the key-value pairs returned by GameJolt.]]> whose keys and values are equivalent to the key-value pairs returned by GameJolt.]]> { User : true } whose keys and values are equivalent to the key-value pairs returned by GameJolt.]]> { User : true } whose keys and values are equivalent to the key-value pairs returned by GameJolt.]]> { User : true } whose keys and values are equivalent to the key-value pairs returned by GameJolt.]]> { User : true } whose keys and values are equivalent to the key-value pairs returned by GameJolt.]]> { User : true } whose keys and values are equivalent to the key-value pairs returned by GameJolt.]]> * A generic internal function to setup and send a URLRequest. All of the functions that interact with the API use this. * * @param URLString The URL to send to. Usually formatted as the API url, section of the API (e.g. "trophies/") and then variables to pass (e.g. user name, trophy ID). * @param Callback A function to call when loading is done and data is parsed. when done. * However, if we're getting an image, a second URLRequest is called, and that will be done first. * Or, if we're authenticating the user, the verifyAuthentication function will be called instead. * * @param The URLLoader complete event.]]> * Internal function to evaluate whether or not a user was successfully authenticated and store the result in _initialized. If authentication failed, the tentative user name and token are nulled. * * @param ReturnMap The data received back from GameJolt. This should be {"success"="true"} if authenticated, or {"success"="false"} otherwise. * Function to authenticate a new user, to be used when a user has already been authenticated but you'd like to authenticate a new one. * If you just try to run authUser after a user has been authenticated, it will fail. * * @param UserName The user's name. * @param UserToken The user's token. * @param Callback An optional callback function. Will return true if authentication was successful, false otherwise. * An easy-to-use function that returns the image associated with a trophy as BitmapData. * All trophy images will be 75px by 75px. * * @param ID The ID of the trophy whose image you want to get. * @param Callback An optional callback function. Must take a BitmapData object as a parameter. * An easy-to-use function that returns the user's avatar image as BitmapData. * Requires that you've authenticated the user's data. * All user images will be 60px by 60px. * * @param Callback An optional callback function. Must take a BitmapData object as a parameter. * Internal function that uses the image_url or avatar_url element from GameJolt to start a Loader that will retrieve the desired image. * Internal function to send the image_url or avatar_url content to the callback function as BitmapData. Click on your game under "Manage Games" -> Click on "Achievements" in the menu. * FlxGameJolt.init(gameid, keystring); // Use this if your game is embedded as Flash on GameJolt's site, or run via Quick Play.]]> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.api.FlxGameJolt XY * The axes to repeat the backdrop, defaults to XY which covers the whole camera. new FlxPoint() * The gap between repeated tiles, defaults to (0, 0), or no gap. FlxG.renderBlit * If true, tiles are pre-rendered to a intermediary bitmap whenever `loadGraphic` is called * or the following properties are changed: camera size camera zoom, `scale.x`, `scale.y`, * `spacing.x`, `spacing.y`, `repeatAxes` or `angle`. If these properties change often, it is recommended to * set `drawBlit` to `false`. * * Note: blitting will disable animations and only show the first frame. AUTO * Decides the the size of the blit graphic. Leave as `AUTO` unless you know what you're doing. * * @see flixel.addons.display.FlxBackDrop.BackdropBlitMode <_blitOffset expr="FlxPoint.get()"> FlxPoint.get() <_blitGraphic expr="null"> null <_prevDrawParams expr="{ graphicKey : null, tilesX : -1, tilesY : -1, scaleX : 0.0, scaleY : 0.0, spacingX : 0.0, spacingY : 0.0, repeatAxes : XY, angle : 0.0 }"> { graphicKey : null, tilesX : -1, tilesY : -1, scaleX : 0.0, scaleY : 0.0, spacingX : 0.0, spacingY : 0.0, repeatAxes : XY, angle : 0.0 } { spacingY : 0, spacingX : 0, repeatAxes : XY } * Creates an instance of the FlxBackdrop class, used to create infinitely scrolling backgrounds. * * @param graphic The image you want to use for the backdrop. * @param repeatAxes If the backdrop should repeat on the X axis. * @param spacingX Amount of spacing between tiles on the X axis * @param spacingY Amount of spacing between tiles on the Y axis * Used for showing infinitely scrolling backgrounds. * @author George Kurelic (Original concept by Chevy Ray) hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Not implemented yet. * Blits a bitmap as big as the specified number of x and y tiles and repeats that. * Blits a bitmap as big as the specified number of tiles and repeats that. * Blits enough tiles to cover the screen in multiple draws, for example, if the camera is 10x8 * tiles big, SPLIT(2) will draw a blit target 5x4 tiles large and draw it 2x2 times to cover the * stage. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__destroy set="method" line="31"> <_HX_SUPER__draw set="method" line="148"> <_HX_SUPER__isOnScreen set="method" line="148"> <_HX_SUPER__drawToLargestCamera set="method" line="148"> <_HX_SUPER__isSimpleRenderBlit set="method" line="148"> <_HX_SUPER__drawSimple set="method" line="31"> <_HX_SUPER__drawComplex set="method" line="148"> <_HX_SUPER__getFrameScreenBounds set="method" line="148"> <_HX_SUPER__modMin set="method" line="148"> <_HX_SUPER__modMax set="method" line="148"> <_HX_SUPER__regenGraphic set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.display.FlxBackdrop flixel.addons.display.FlxBackdrop.BackdropBlitMode flixel.addons.display.FlxBackdrop.BackdropDrawParams * Used by FlxMouseControl when multiple sprites overlap and register clicks, and you need to determine which sprite has priority false * If the mouse currently pressed down on this sprite? false * Is this sprite allowed to be clicked? false * Is this sprite allowed to be thrown? * An FlxRect region of the game world within which the sprite is restricted during mouse drag * An FlxSprite the bounds of which this sprite is restricted during mouse drag false * Does this sprite have gravity applied to it? * The x axis gravity influence * The y axis gravity influence * Determines how quickly the Sprite come to rest on the walls if the sprite has x gravity enabled * Determines how quickly the Sprite come to rest on the ground if the sprite has y gravity enabled * If the velocity.x of this sprite falls between zero and this amount, then the sprite will come to a halt (have velocity.x set to zero) * If the velocity.y of this sprite falls between zero and this amount, then the sprite will come to a halt (have velocity.y set to zero) false * Is this sprite being dragged by the mouse or not? false * Is this sprite allowed to be dragged by the mouse? true = yes, false = no true * Will the Mouse Spring be active always (false) or only when pressed (true) * By default the spring attaches to the top left of the sprite. To change this location provide an x offset (in pixels) * By default the spring attaches to the top left of the sprite. To change this location provide a y offset (in pixels) * Function called when the mouse is pressed down on this sprite. Function is passed these parameters: obj:FlxExtendedSprite, x:int, y:int * Function called when the mouse is released from this sprite. Function is passed these parameters: obj:FlxExtendedSprite, x:int, y:int * The MouseSpring object which is used to tie this sprite to the mouse * Function called when the mouse starts to drag this sprite. Function is passed these parameters: obj:FlxExtendedSprite, x:int, y:int * Function called when the mouse stops dragging this sprite. Function is passed these parameters: obj:FlxExtendedSprite, x:int, y:int false * Is this sprite using a mouse spring? * The number of clicks this item has received. Usually you'd only set it to zero. * The spring x coordinate in game world space. Consists of sprite.x + springOffsetX * The spring y coordinate in game world space. Consists of sprite.y + springOffsetY * A FlxPoint consisting of this sprites world x/y coordinates * Returns a FlxRect consisting of the bounds of this Sprite. * Return true if the mouse is over this Sprite, otherwise false. Only takes the Sprites bounding box into consideration and does not check if there * are other sprites potentially on-top of this one. Check the value of this.isPressed if you need to know if the mouse is currently clicked on this sprite. * Returns how many horizontal pixels the mouse pointer is inside this sprite from the top left corner. Returns -1 if outside. * Returns how many vertical pixels the mouse pointer is inside this sprite from the top left corner. Returns -1 if outside. <_snapOnDrag expr="false"> false <_snapOnRelease expr="false"> false <_snapX> <_snapY> <_clickOnRelease expr="false"> false <_clickPixelPerfect expr="false"> false <_clickPixelPerfectAlpha> <_clickCounter expr="0"> 0 <_throwXFactor> <_throwYFactor> <_dragPixelPerfect expr="false"> false <_dragPixelPerfectAlpha> <_dragOffsetX> <_dragOffsetY> <_dragFromPoint> <_allowHorizontalDrag expr="true"> true <_allowVerticalDrag expr="true"> true { AlphaThreshold : 255, PixelPerfect : false } * Allow this Sprite to receive mouse clicks, the total number of times this sprite is clicked is stored in this.clicks * You can add callbacks via mousePressedCallback and mouseReleasedCallback * * @param OnRelease Register the click when the mouse is pressed down (false) or when it's released (true). Note that callbacks still fire regardless of this setting. * @param PixelPerfect If true it will use a pixel perfect test to see if you clicked the Sprite. False uses the bounding box. * @param AlphaThreshold If using pixel perfect collision this specifies the alpha level from 0 to 255 above which a collision is processed (default 255) * Stops this sprite from checking for mouse clicks and clears any set callbacks { AlphaThreshold : 255, PixelPerfect : false, LockCenter : false } * Make this Sprite draggable by the mouse. You can also optionally set mouseStartDragCallback and mouseStopDragCallback * * @param LockCenter If false the Sprite will drag from where you click it. If true it will center itself to the tip of the mouse pointer. * @param PixelPerfect If true it will use a pixel perfect test to see if you clicked the Sprite. False uses the bounding box. * @param AlphaThreshold If using pixel perfect collision this specifies the alpha level from 0 to 255 above which a collision is processed (default 255) * @param BoundsRect If you want to restrict the drag of this sprite to a specific FlxRect, pass the FlxRect here, otherwise it's free to drag anywhere * @param BoundsSprite If you want to restrict the drag of this sprite to within the bounding box of another sprite, pass it here * Stops this sprite from being able to be dragged. If it is currently the target of * an active drag it will be stopped immediately. Also disables any set callbacks. * Make this Sprite throwable by the mouse. The sprite is thrown only when the mouse button is released. * * @param FactorX The sprites velocity is set to FlxMouseControl.speedX * xFactor. Try a value around 50+ * @param FactorY The sprites velocity is set to FlxMouseControl.speedY * yFactor. Try a value around 50+ * Stops this sprite from being able to be thrown. If it currently has velocity this is NOT removed from it. { OnRelease : false, OnDrag : true } * Make this Sprite snap to the given grid either during drag or when it's released. * For example 16x16 as the snapX and snapY would make the sprite snap to every 16 pixels. * * @param SnapX The width of the grid cell in pixels * @param SnapY The height of the grid cell in pixels * @param OnDrag If true the sprite will snap to the grid while being dragged * @param OnRelease If true the sprite will snap to the grid when released * Stops the sprite from snapping to a grid during drag or release. { Gravity : 0, Friction : 0.95, Tension : 0.1, RetainVelocity : false, OnPressed : true } * Adds a simple spring between the mouse and this Sprite. The spring can be activated either when the mouse is pressed (default), or enabled all the time. * Note that nearly always the Spring will over-ride any other motion setting the sprite has (like velocity or gravity) * * @param OnPressed True if the spring should only be active when the mouse is pressed down on this sprite * @param RetainVelocity True to retain the velocity of the spring when the mouse is released, or false to clear it * @param Tension The tension of the spring, smaller numbers create springs closer to the mouse pointer * @param Friction The friction applied to the spring as it moves * @param Gravity The gravity controls how far "down" the spring hangs (use a negative value for it to hang up!) * @return The FlxMouseSpring object if you wish to perform further chaining on it. Also available via FlxExtendedSprite.mouseSpring * Stops the sprite to mouse spring from being active { AllowVerticalDrag : true, AllowHorizontalDrag : true } * Restricts this sprite to drag movement only on the given axis. Note: If both are set to false the sprite will never move! * * @param AllowHorizontalDrag To enable the sprite to be dragged horizontally set to true, otherwise false * @param AllowVerticalDrag To enable the sprite to be dragged vertically set to true, otherwise false * Core update loop * Called by update, applies friction if the sprite has gravity to stop jittery motion when slowing down * Updates the Mouse Drag on this Sprite. * Checks if the mouse is over this sprite and pressed, then does a pixel * perfect check if needed and adds it to the FlxMouseControl check stack. * Called by FlxMouseControl when this sprite is clicked. Should not usually be called directly. * Called by FlxMouseControl when this sprite is released from a click. Should not usually be called directly. * Called by FlxMouseControl when Mouse Drag starts on this Sprite. Should not usually be called directly. * Bounds Rect check for the sprite drag * Parent Sprite Bounds check for the sprite drag * Called by FlxMouseControl when Mouse Drag is stopped on this Sprite. Should not usually be called directly. { ToleranceY : 10, ToleranceX : 10, FrictionY : 500, FrictionX : 500 } * Gravity can be applied to the sprite, pulling it in any direction. Gravity is given in pixels per second and is applied as acceleration. * If you don't want gravity for a specific direction pass a value of zero. To cancel it entirely pass both values as zero. * * @param GravityX A positive value applies gravity dragging the sprite to the right. A negative value drags the sprite to the left. Zero disables horizontal gravity. * @param GravityY A positive value applies gravity dragging the sprite down. A negative value drags the sprite up. Zero disables vertical gravity. * @param FrictionX The amount of friction applied to the sprite if it hits a wall. Allows it to come to a stop without constantly jittering. * @param FrictionY The amount of friction applied to the sprite if it hits the floor/roof. Allows it to come to a stop without constantly jittering. * @param ToleranceX If the velocity.x of the sprite falls between 0 and +- this value, it is set to stop (velocity.x = 0) * @param ToleranceY If the velocity.y of the sprite falls between 0 and +- this value, it is set to stop (velocity.y = 0) * Switches the gravity applied to the sprite. If gravity was +400 Y (pulling them down) this will swap it to -400 Y (pulling them up) * To reset call flipGravity again { Y : 0, X : 0 } * Creates a white 8x8 square FlxExtendedSprite at the specified position. * Optionally can load a simple, one-frame graphic instead. * * @param X The initial X position of the sprite. * @param Y The initial Y position of the sprite. * @param SimpleGraphic The graphic you want to display (OPTIONAL - for simple stuff only, do NOT use for animated images!). * An enhanced FlxSprite that is capable of receiving mouse clicks, being dragged and thrown, mouse springs, gravity and other useful things * * @link http://www.photonstorm.com * @author Richard Davey / Photon Storm hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() { AlphaThreshold : 255, PixelPerfect : false } * Allow this Sprite to receive mouse clicks, the total number of times this sprite is clicked is stored in this.clicks * You can add callbacks via mousePressedCallback and mouseReleasedCallback * * @param OnRelease Register the click when the mouse is pressed down (false) or when it's released (true). Note that callbacks still fire regardless of this setting. * @param PixelPerfect If true it will use a pixel perfect test to see if you clicked the Sprite. False uses the bounding box. * @param AlphaThreshold If using pixel perfect collision this specifies the alpha level from 0 to 255 above which a collision is processed (default 255) <_HX_SUPER__enableMouseClicks public="1" set="method" line="31"> { AlphaThreshold : 255, PixelPerfect : false } { AlphaThreshold : 255, PixelPerfect : false, LockCenter : false } * Make this Sprite draggable by the mouse. You can also optionally set mouseStartDragCallback and mouseStopDragCallback * * @param LockCenter If false the Sprite will drag from where you click it. If true it will center itself to the tip of the mouse pointer. * @param PixelPerfect If true it will use a pixel perfect test to see if you clicked the Sprite. False uses the bounding box. * @param AlphaThreshold If using pixel perfect collision this specifies the alpha level from 0 to 255 above which a collision is processed (default 255) * @param BoundsRect If you want to restrict the drag of this sprite to a specific FlxRect, pass the FlxRect here, otherwise it's free to drag anywhere * @param BoundsSprite If you want to restrict the drag of this sprite to within the bounding box of another sprite, pass it here <_HX_SUPER__enableMouseDrag public="1" set="method" line="31"> { AlphaThreshold : 255, PixelPerfect : false, LockCenter : false } * Stops this sprite from being able to be dragged. If it is currently the target of * an active drag it will be stopped immediately. Also disables any set callbacks. <_HX_SUPER__disableMouseDrag public="1" set="method" line="31"> * Make this Sprite throwable by the mouse. The sprite is thrown only when the mouse button is released. * * @param FactorX The sprites velocity is set to FlxMouseControl.speedX * xFactor. Try a value around 50+ * @param FactorY The sprites velocity is set to FlxMouseControl.speedY * yFactor. Try a value around 50+ <_HX_SUPER__enableMouseThrow public="1" set="method" line="31"> * Stops this sprite from being able to be thrown. If it currently has velocity this is NOT removed from it. <_HX_SUPER__disableMouseThrow public="1" set="method" line="31"> { OnRelease : false, OnDrag : true } * Make this Sprite snap to the given grid either during drag or when it's released. * For example 16x16 as the snapX and snapY would make the sprite snap to every 16 pixels. * * @param SnapX The width of the grid cell in pixels * @param SnapY The height of the grid cell in pixels * @param OnDrag If true the sprite will snap to the grid while being dragged * @param OnRelease If true the sprite will snap to the grid when released <_HX_SUPER__enableMouseSnap public="1" set="method" line="31"> { OnRelease : false, OnDrag : true } * Stops the sprite from snapping to a grid during drag or release. <_HX_SUPER__disableMouseSnap public="1" set="method" line="31"> { Gravity : 0, Friction : 0.95, Tension : 0.1, RetainVelocity : false, OnPressed : true } * Adds a simple spring between the mouse and this Sprite. The spring can be activated either when the mouse is pressed (default), or enabled all the time. * Note that nearly always the Spring will over-ride any other motion setting the sprite has (like velocity or gravity) * * @param OnPressed True if the spring should only be active when the mouse is pressed down on this sprite * @param RetainVelocity True to retain the velocity of the spring when the mouse is released, or false to clear it * @param Tension The tension of the spring, smaller numbers create springs closer to the mouse pointer * @param Friction The friction applied to the spring as it moves * @param Gravity The gravity controls how far "down" the spring hangs (use a negative value for it to hang up!) * @return The FlxMouseSpring object if you wish to perform further chaining on it. Also available via FlxExtendedSprite.mouseSpring <_HX_SUPER__enableMouseSpring public="1" set="method" line="148"> { Gravity : 0, Friction : 0.95, Tension : 0.1, RetainVelocity : false, OnPressed : true } * Stops the sprite to mouse spring from being active <_HX_SUPER__disableMouseSpring public="1" set="method" line="31"> { AllowVerticalDrag : true, AllowHorizontalDrag : true } * Restricts this sprite to drag movement only on the given axis. Note: If both are set to false the sprite will never move! * * @param AllowHorizontalDrag To enable the sprite to be dragged horizontally set to true, otherwise false * @param AllowVerticalDrag To enable the sprite to be dragged vertically set to true, otherwise false <_HX_SUPER__setDragLock public="1" set="method" line="31"> { AllowVerticalDrag : true, AllowHorizontalDrag : true } * Core update loop <_HX_SUPER__update public="1" set="method" line="31"> * Called by update, applies friction if the sprite has gravity to stop jittery motion when slowing down <_HX_SUPER__updateGravity set="method" line="31"> * Updates the Mouse Drag on this Sprite. <_HX_SUPER__updateDrag set="method" line="31"> * Checks if the mouse is over this sprite and pressed, then does a pixel * perfect check if needed and adds it to the FlxMouseControl check stack. <_HX_SUPER__checkForClick set="method" line="31"> * Called by FlxMouseControl when this sprite is clicked. Should not usually be called directly. <_HX_SUPER__mousePressedHandler public="1" set="method" line="31"> * Called by FlxMouseControl when this sprite is released from a click. Should not usually be called directly. <_HX_SUPER__mouseReleasedHandler public="1" set="method" line="31"> * Called by FlxMouseControl when Mouse Drag starts on this Sprite. Should not usually be called directly. <_HX_SUPER__startDrag public="1" set="method" line="31"> * Bounds Rect check for the sprite drag <_HX_SUPER__checkBoundsRect set="method" line="31"> * Parent Sprite Bounds check for the sprite drag <_HX_SUPER__checkBoundsSprite set="method" line="31"> * Called by FlxMouseControl when Mouse Drag is stopped on this Sprite. Should not usually be called directly. <_HX_SUPER__stopDrag public="1" set="method" line="31"> { ToleranceY : 10, ToleranceX : 10, FrictionY : 500, FrictionX : 500 } * Gravity can be applied to the sprite, pulling it in any direction. Gravity is given in pixels per second and is applied as acceleration. * If you don't want gravity for a specific direction pass a value of zero. To cancel it entirely pass both values as zero. * * @param GravityX A positive value applies gravity dragging the sprite to the right. A negative value drags the sprite to the left. Zero disables horizontal gravity. * @param GravityY A positive value applies gravity dragging the sprite down. A negative value drags the sprite up. Zero disables vertical gravity. * @param FrictionX The amount of friction applied to the sprite if it hits a wall. Allows it to come to a stop without constantly jittering. * @param FrictionY The amount of friction applied to the sprite if it hits the floor/roof. Allows it to come to a stop without constantly jittering. * @param ToleranceX If the velocity.x of the sprite falls between 0 and +- this value, it is set to stop (velocity.x = 0) * @param ToleranceY If the velocity.y of the sprite falls between 0 and +- this value, it is set to stop (velocity.y = 0) <_HX_SUPER__setGravity public="1" set="method" line="31"> { ToleranceY : 10, ToleranceX : 10, FrictionY : 500, FrictionX : 500 } * Switches the gravity applied to the sprite. If gravity was +400 Y (pulling them down) this will swap it to -400 Y (pulling them up) * To reset call flipGravity again <_HX_SUPER__flipGravity public="1" set="method" line="31"> <_HX_SUPER__get_mouseOver set="method" line="148"> <_HX_SUPER__get_mouseX set="method" line="148"> <_HX_SUPER__get_mouseY set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.display.FlxExtendedSprite flixel.addons.display.FlxExtendedSprite.MouseCallback { Color2 : 0xffd9d5d5, Color1 : 0xffe7e6e6, Alternate : true, Height : -1, Width : -1 } * Creates a FlxSprite of the given width and height filled with a checkerboard pattern. * Each grid cell is the specified width and height, and alternates between two colors. * If alternate is true each row of the pattern will be offset, for a proper checkerboard style. * If false each row will be the same colour, creating a striped-pattern effect. * So to create an 8x8 grid you'd call create(8,8) * * @param CellWidth The grid cell width * @param CellHeight The grid cell height * @param Width The width of the FlxSprite. If -1 it will be the size of the game (FlxG.width) * @param Height The height of the FlxSprite. If -1 it will be the size of the game (FlxG.height) * @param Alternate Should the pattern alternate on each new row? Default true = checkerboard effect. False = vertical stripes * @param Color1 The first fill colour in 0xAARRGGBB format * @param Color2 The second fill colour in 0xAARRGGBB format * @return FlxSprite of given width/height { Color2 : 0x88d9d5d5, Color1 : 0x88e7e6e6, Alternate : true, Height : -1, Width : -1 } * Creates a checkerboard pattern of the given width/height and overlays it onto the given FlxSprite. * Each grid cell is the specified width and height, and alternates between two colors. * If alternate is true each row of the pattern will be offset, for a proper checkerboard style. * If false each row will be the same colour, creating a striped-pattern effect. * So to create an 8x8 grid you'd call create(8,8, * * @param Sprite The FlxSprite you wish to draw the grid on-top of. This updates its pixels value, not just the current frame (don't use animated sprites!) * @param CellWidth The grid cell width * @param CellHeight The grid cell height * @param Width The width of the FlxSprite. If -1 it will be the size of the game (FlxG.width) * @param Height The height of the FlxSprite. If -1 it will be the size of the game (FlxG.height) * @param Alternate Should the pattern alternate on each new row? Default true = checkerboard effect. False = vertical stripes * @param Color1 The first fill colour in 0xAARRGGBB format * @param Color2 The second fill colour in 0xAARRGGBB format * @return The modified source FlxSprite * FlxGridOverlay * * @link http://www.photonstorm.com * @author Richard Davey / Photon Storm hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.display.FlxGridOverlay * The tension of the spring, smaller numbers create springs closer to the mouse pointer * @default 0.1 * The friction applied to the spring as it moves * @default 0.95 * The gravity controls how far "down" the spring hangs (use a negative value for it to hang up!) * @default 0 <_retainVelocity> <_vx expr="0"> 0 <_vy expr="0"> 0 <_dx expr="0"> 0 <_dy expr="0"> 0 <_ax expr="0"> 0 <_ay expr="0"> 0 * Updates the spring physics and repositions the sprite * Resets the internal spring physics { Gravity : 0, Friction : 0.95, Tension : 0.1, RetainVelocity : false } * Adds a spring between the mouse and a FlxExtendedSprite. * * @param Sprite The FlxExtendedSprite to which this spring is attached * @param RetainVelocity True to retain the velocity of the spring when the mouse is released, or false to clear it * @param Tension The tension of the spring, smaller numbers create springs closer to the mouse pointer * @param Friction The friction applied to the spring as it moves * @param Gravity The gravity controls how far "down" the spring hangs (use a negative value for it to hang up!) hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Updates the spring physics and repositions the sprite <_HX_SUPER__update public="1" set="method" line="31"> * Resets the internal spring physics <_HX_SUPER__reset public="1" set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.display.FlxMouseSpring 0 * X position of this sprite relative to parent, 0 by default 0 * Y position of this sprite relative to parent, 0 by default 0 * Angle of this sprite relative to parent 0 * Angular velocity relative to parent sprite 0 * Angular acceleration relative to parent sprite 1 FlxPoint.get(1, 1) * Scale of this sprite relative to parent FlxPoint.get() * Velocity relative to parent sprite FlxPoint.get() * Acceleration relative to parent sprite [] * All FlxNestedSprites in this list. * Amount of Graphics in this list. <_parentRed expr="1"> 1 <_parentGreen expr="1"> 1 <_parentBlue expr="1"> 1 * WARNING: This will remove this sprite entirely. Use kill() if you * want to disable it temporarily only and reset() it later to revive it. * Used to clean up memory. * Adds the FlxNestedSprite to the children list. * * @param Child The FlxNestedSprite to add. * @return The added FlxNestedSprite. * Removes the FlxNestedSprite from the children list. * * @param Child The FlxNestedSprite to remove. * @return The removed FlxNestedSprite. { Index : 0 } * Removes the FlxNestedSprite from the position in the children list. * * @param Index Index to remove. * Removes all children sprites from this sprite. * Some sort of DisplayObjectContainer but very limited. * It can contain only other FlxNestedSprites. * @author Zaphod hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * WARNING: This will remove this sprite entirely. Use kill() if you * want to disable it temporarily only and reset() it later to revive it. * Used to clean up memory. <_HX_SUPER__destroy public="1" set="method" line="31"> * Adds the FlxNestedSprite to the children list. * * @param Child The FlxNestedSprite to add. * @return The added FlxNestedSprite. <_HX_SUPER__add public="1" set="method" line="148"> * Removes the FlxNestedSprite from the children list. * * @param Child The FlxNestedSprite to remove. * @return The removed FlxNestedSprite. <_HX_SUPER__remove public="1" set="method" line="148"> { Index : 0 } * Removes the FlxNestedSprite from the position in the children list. * * @param Index Index to remove. <_HX_SUPER__removeAt public="1" set="method" line="148"> { Index : 0 } * Removes all children sprites from this sprite. <_HX_SUPER__removeAll public="1" set="method" line="31"> <_HX_SUPER__preUpdate public="1" set="method" line="31"> <_HX_SUPER__update public="1" set="method" line="31"> <_HX_SUPER__postUpdate public="1" set="method" line="31"> <_HX_SUPER__draw public="1" set="method" line="31"> <_HX_SUPER__set_alpha set="method" line="148"> <_HX_SUPER__set_color set="method" line="148"> <_HX_SUPER__set_facing set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.display.FlxNestedSprite <_shadedScrollRect expr="new Sprite()"> new Sprite() * Internal sprite, duplicate of `_scrollRect` to which we apply a shader and mask. * It is a child of `flashSprite`. * Its position is also modified by the `updateScrollRect()` method. * All tile rendering is duplicated to this canvas, so that we have * another copy of the scene to which to apply the effect shader. * It is a child of `_shadedScrollRect` * Its position is modified by `updateInternalSpritePositions()` * Only the mask objects are rendered to this sprite, * which is both a child of and used as a mask for `_shadedScrollRect`. * This filter is applied to the area masked by maskCanvas <_maskGroup> * Collection of objects that will be rendered to the mask buffer rather than the main camera. * Add objects and groups to the mask. * The effect shader is applied to the area covered by objects added in this way. * The camera will `update()` objects added here, so you probably want to avoid * adding them to your scene as well. * * @return The same `FlxBasic` object that was passed in. * Remove objects and groups from the mask. * * @return The removed object. { FxAlpha : 1.0, BlendAlpha : true } { Zoom : 0, Height : 0, Width : 0, Y : 0, X : 0 } * Instantiates a new camera at the specified location, with the specified size and zoom level, * which will be shaded in areas by the specified shader. * * @param effectShader Shader to be applied to the masked area. * @param X X location of the camera's display in pixels. Uses native, 1:1 resolution, ignores zoom. * @param Y Y location of the camera's display in pixels. Uses native, 1:1 resolution, ignores zoom. * @param Width The width of the camera display in pixels. * @param Height The height of the camera display in pixels. * @param Zoom The initial zoom level of the camera. * A zoom level of 2 will make all pixels display at 2x resolution. `_scrollRect:Sprite` (which is used for cropping camera's graphic, mostly in tile render mode) * |-> `canvas:Sprite` (its graphics is used for rendering objects in tile render mode) * |-> `debugLayer:Sprite` (this sprite is used in tile render mode for rendering debug info, like bounding boxes) * |-> `_shadedScrollRect:Sprite` (the effect shader is applied to this sprite, which holds a copy of the scene and is masked by `maskCanvas`) * |-> `shaderCanvas:Sprite` (everything rendered to `canvas` will simultaneously render to this canvas) * |-> `maskCanvas:Sprite` (all mask objects are rendered to this sprite, which is then used to mask `_shadedScrollRect`) * * @since 2.9.0]]> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__update set="method" line="31"> <_HX_SUPER__render set="method" line="31"> * Add objects and groups to the mask. * The effect shader is applied to the area covered by objects added in this way. * The camera will `update()` objects added here, so you probably want to avoid * adding them to your scene as well. * * @return The same `FlxBasic` object that was passed in. <_HX_SUPER__addMaskObject public="1" set="method" line="148"> * Remove objects and groups from the mask. * * @return The removed object. <_HX_SUPER__removeMaskObject public="1" set="method" line="148"> <_HX_SUPER__destroy set="method" line="31"> <_HX_SUPER__updateInternalSpritePositions set="method" line="31"> { FxAlpha : 1.0, BlendAlpha : true } <_HX_SUPER__fill public="1" set="method" line="31"> { FxAlpha : 1.0, BlendAlpha : true } <_HX_SUPER__drawFX set="method" line="31"> <_HX_SUPER__set_alpha set="method" line="148"> <_HX_SUPER__set_color set="method" line="148"> <_HX_SUPER__updateScrollRect set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.display.FlxShaderMaskCamera 0 1 2 3
    4
    5 6 7 8 new FlxRect() new FlxPoint() new FlxPoint() new FlxPoint() false * Whether to adjust sprite's width to slice grid or not. false * Whether to adjust sprite's height to slice grid or not. false * Whether to use tiling or to stretch left border of the sprite. false * Whether to use tiling or to stretch top border of the sprite. false * Whether to use tiling or to stretch right border of the sprite. false * Whether to use tiling or to stretch bottom border of the sprite. false * Whether to use tiling or to stretch center part of the sprite. true * Whether to fill center part of sprite. * Rectangle that defines slice grid: * Rectangle that defines what part of source image to use as a texture for slicing. * Actual width of the sprite which will be visible. * Its calculation is based on snapWidth and sliceRect values. * Actual height of the sprite which will be visible. * Its calculation is based on snapHeight and sliceRect values. * Internal array of FlxRect objects for each element of slice grid. * Helper sprite, which does actual rendering in blit render mode. true true <_snappedWidth expr="-1"> -1 <_snappedHeight expr="-1"> -1 0 * Current number of vertices { Unique : false, Height : 0, Width : 0, Animated : false } * Sprite which can be used for various sorts of slicing (9-slice, 3 slice, tiled sprite but without scrolling). * Based on Kyle Pulver's NineSlice class for FlashPunk: http://kpulv.com/96/Flashpunk_NineSlice_Class__Updated__/ * @author kpulv * @author Zaphod * @since 2.1.0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build()
    <_HX_SUPER__destroy public="1" set="method" line="31"> { Unique : false, Height : 0, Width : 0, Animated : false } <_HX_SUPER__loadGraphic public="1" set="method" line="148"> { Unique : false, Height : 0, Width : 0, Animated : false } <_HX_SUPER__loadFrame public="1" set="method" line="148"> <_HX_SUPER__set_graphic set="method" line="148"> <_HX_SUPER__regenGraphic set="method" line="31"> <_HX_SUPER__stretchSlice set="method" line="148"> <_HX_SUPER__regenSliceRects set="method" line="31"> <_HX_SUPER__draw public="1" set="method" line="31"> <_HX_SUPER__updateColors set="method" line="31"> <_HX_SUPER__set_alpha set="method" line="148"> <_HX_SUPER__set_color set="method" line="148"> <_HX_SUPER__set_width set="method" line="148"> <_HX_SUPER__set_height set="method" line="148"> <_HX_SUPER__set_snapWidth set="method" line="148"> <_HX_SUPER__set_snapHeight set="method" line="148"> <_HX_SUPER__set_stretchLeft set="method" line="148"> <_HX_SUPER__set_stretchTop set="method" line="148"> <_HX_SUPER__set_stretchRight set="method" line="148"> <_HX_SUPER__set_stretchBottom set="method" line="148"> <_HX_SUPER__set_stretchCenter set="method" line="148"> <_HX_SUPER__set_fillCenter set="method" line="148"> <_HX_SUPER__set_sliceRect set="method" line="148"> <_HX_SUPER__set_sourceRect set="method" line="148"> <_HX_SUPER__get_snappedWidth set="method" line="148"> <_HX_SUPER__get_snappedHeight set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.display.FlxSliceSprite 0 -1 { RunOnCpp : false } { Y : 0, X : 0, Height : 0, Width : 0, Antialiasing : false, AutoBuffer : false, Rotations : 16 } * Constructor, which creates array of prerotated spritesheets for each frame in provided AnimatedGraphic. * * @param AnimatedGraphic The image you want to rotate and stamp. * @param Rotations The number of rotation frames the final sprite should have. For small sprites this can be quite a large number (360 even) without any problems. * @param AutoBuffer Whether to automatically increase the image size to accomodate rotated corners. Default is false. Will create frames that are 150% larger on each axis than the original frame or graphic. * @param Antialiasing Whether to use high quality rotations when creating the graphic. Default is false. * @param Width The width of frame in provided spritesheet. * @param Height The height of frame in provided spritesheet * @param X The x component of sprite's position. * @param Y The y component of sprite's position. * Creating animated and rotated sprite from an un-rotated animated image. * * @version 1.0 - November 8th 2011 * @link http://www.gameonaut.com * @author Simon Etienne Rozner / Gameonaut.com, ported to Haxe by Sam Batista * @author Slightly updated by Beeblerox. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__update public="1" set="method" line="31"> { RunOnCpp : false } <_HX_SUPER__calcFrame set="method" line="31"> { RunOnCpp : false } <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.display.FlxSpriteAniRot FlxColor.BLACK <_stars> <_depthColors> <_minSpeed> <_maxSpeed> { HighestColor : 0xffF4F4F4, LowestColor : 0xff85858 } * Change the number of layers (depth) and colors used for each layer of the starfield. * * @param Depth Number of depths (for a 2D starfield the default is 5) * @param LowestColor The color given to the slowest stars, typically the darker colour * @param HighestColor The color given to the fastest stars, typically the brighter colour hscript.UsingHandler.build() hscript.ClassExtendMacro.build() { StarAmount : 300, Height : 0, Width : 0, Y : 0, X : 0 } hscript.UsingHandler.build() hscript.ClassExtendMacro.build()
    { StarAmount : 300, Height : 0, Width : 0, Y : 0, X : 0 } hscript.UsingHandler.build() hscript.ClassExtendMacro.build()
    hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__draw public="1" set="method" line="31"> <_HX_SUPER__setStarSpeed public="1" set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.display.FlxStarField.FlxStarField2D flixel.addons.display.FlxStarField.FlxStarField3D flixel.addons.display.FlxStarField flixel.addons.display.FlxStarField.FlxStar <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__update public="1" set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.display.FlxStarField.FlxStarField2D flixel.addons.display.FlxStarField.FlxStarField3D flixel.addons.display.FlxStarField flixel.addons.display.FlxStarField.FlxStar <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__update public="1" set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.display.FlxStarField.FlxStarField2D flixel.addons.display.FlxStarField.FlxStarField3D flixel.addons.display.FlxStarField flixel.addons.display.FlxStarField.FlxStar <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.display.FlxStarField.FlxStarField2D flixel.addons.display.FlxStarField.FlxStarField3D flixel.addons.display.FlxStarField flixel.addons.display.FlxStarField.FlxStar 0 * The x-offset of the texture 0 * The y-offset of the texture. true * Repeat texture on x axis. Default is true true * Repeat texture on y axis. Default is true * Helper sprite, which does actual rendering in blit render mode. true true { Unique : false, Height : 0, Width : 0, Animated : false } { RepeatY : true, RepeatX : true } * Tiled sprite which displays repeated and clipped graphic. * @author Zaphod * @since 2.1.0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__destroy public="1" set="method" line="31"> { Unique : false, Height : 0, Width : 0, Animated : false } <_HX_SUPER__loadGraphic public="1" set="method" line="148"> { Unique : false, Height : 0, Width : 0, Animated : false } <_HX_SUPER__loadFrame public="1" set="method" line="148"> <_HX_SUPER__set_graphic set="method" line="148"> <_HX_SUPER__regenGraphic set="method" line="31"> <_HX_SUPER__draw public="1" set="method" line="31"> <_HX_SUPER__updateRenderSprite set="method" line="31"> <_HX_SUPER__updateVerticesData set="method" line="31"> <_HX_SUPER__set_width set="method" line="148"> <_HX_SUPER__set_height set="method" line="148"> <_HX_SUPER__set_scrollX set="method" line="148"> <_HX_SUPER__set_scrollY set="method" line="148"> <_HX_SUPER__set_repeatX set="method" line="148"> <_HX_SUPER__set_repeatY set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.display.FlxTiledSprite * Tell the camera to LERP here eventually 25 * This number is pretty arbitrary, make sure it's greater than zero! 0.25 * Determines how far to "look ahead" when the target is near the * edge of the camera's bounds - 0 = no effect, 1 = huge effect * Align the camera x and y to center on the target * that it's following when zoomed in * * This took many guesses! { Zoom : 0 } * FlxZoomCamera: A FlxCamera that centers its zoom on the target that it follows * * @link http://www.kwarp.com * @author greglieberman * @email greg@kwarp.com hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__update public="1" set="method" line="31"> * Align the camera x and y to center on the target * that it's following when zoomed in * * This took many guesses! <_HX_SUPER__alignCamera set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.display.FlxZoomCamera { scale : 1 } * This function will parse a *.pex file and return a new emitter. * There are some incompatibilities: * - It only supports the "Gravity" emitter type. * - Tangential and radial acceleration aren't supported. * - Blend functions aren't supported. The default blend mode is ADD. * @param data The data to be parsed. It has to be an ID to the assets file, a file embedded with @:file(), a string with the content of the file or a XML object. * @param particleGraphic The particle graphic * @param emitter (optional) A FlxEmitter. Most properties will be overwritten! * @param scale (optional) Used to scale the resulting emitter. Will scale both the texture size and positions of resulting particles. * @return A new emitter * Parser for particle files created with "Starling Particle Editor" or "Particle Designer". * * Starling Particle Editor: * @see http://onebyonedesign.com/flash/particleeditor/ * @see https://github.com/devon-o/Starling-Particle-Editor * * Particle Designer: * @see https://71squared.com/particledesigner * * @author MrCdK hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() cast 0 cast 1 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() cast 0 cast 1 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() cast (0, flixel.addons.editors.pex.PexEmitterType) cast (1, flixel.addons.editors.pex.PexEmitterType) hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.editors.pex.FlxPexParser flixel.addons.editors.pex.FlxPexParser.PexEmitterType flixel.addons.editors.pex.FlxPexParser.PexEmitterType flixel.addons.editors.pex.FlxPexParser.PexEmitterType_HSC @since 2.1.0 @since 2.1.0 * Base class for Tiled object and tile layers * * (original by Matt Tuttle based on Thomas Jahn's. Haxe port by Adrien Fischer) * This content is released under the MIT License. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() [] ()]]> * Copyright (c) 2013 by Samuel Batista * (original by Matt Tuttle based on Thomas Jahn's. Haxe port by Adrien Fischer) * This content is released under the MIT License. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__loadLayers set="method" line="31"> <_HX_SUPER__getLayer public="1" set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.editors.tiled.TiledGroupLayer = 0.15 uses offsetX]]> = 0.15 uses offsetY]]> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.editors.tiled.TiledImageLayer * Copyright (c) 2013 by Samuel Batista * (original by Matt Tuttle based on Thomas Jahn's. Haxe port by Adrien Fischer) * This content is released under the MIT License. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.editors.tiled.TiledImageTile hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__loadProperties set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.editors.tiled.TiledLayer flixel.addons.editors.tiled.TiledLayer.TiledLayerType new TiledPropertySet() ()]]> * Use to get a tileset by name [] * Use for iterating over tilesets, and for merging tilesets (because order is important) [] ()]]> ()]]> * works only after TiledTileSet has been initialized with an image... * @param data Either a string or XML object containing the Tiled map data * @param rootPath Path to use as root to resolve any internal file references * Copyright (c) 2013 by Samuel Batista * (original by Matt Tuttle based on Thomas Jahn's. Haxe port by Adrien Fischer) * This content is released under the MIT License. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__loadAttributes set="method" line="31"> <_HX_SUPER__loadProperties set="method" line="31"> <_HX_SUPER__loadTilesets set="method" line="31"> <_HX_SUPER__loadLayers set="method" line="31"> <_HX_SUPER__getTileSet public="1" set="method" line="148"> <_HX_SUPER__getLayer public="1" set="method" line="148"> * works only after TiledTileSet has been initialized with an image... <_HX_SUPER__getGidOwner public="1" set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.editors.tiled.TiledMap flixel.addons.editors.tiled.TiledMap.FlxTiledMapAsset 0x40000000 0; * sprite.facing = flipped ? LEFT : RIGHT; * ```]]> 0x80000000 0 1 2 3 4 * In degrees * Global identifier for this object * Custom properties that users can set on this object * If "type" is not defined, the parent layer's "defaultType" is used * Shared properties are tileset properties added on object tile * Information on the layer that contains this object * The type of the object (RECTANGLE, ELLIPSE, POLYGON, POLYLINE, TILE) * Whether the object is flipped horizontally. * Whether the object is flipped vertically. * An array with points if the object is a POLYGON or POLYLINE { parent : null } * (original by Matt Tuttle based on Thomas Jahn's. Haxe port by Adrien Fischer) * This content is released under the MIT License. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Copyright (c) 2013 by Samuel Batista * (original by Matt Tuttle based on Thomas Jahn's. Haxe port by Adrien Fischer) * This content is released under the MIT License. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__loadObjects set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.editors.tiled.TiledObjectLayer <_HX_SUPER__getPoints set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.editors.tiled.TiledObject * Copyright (c) 2013 by Samuel Batista * (original by Matt Tuttle based on Thomas Jahn's. Haxe port by Adrien Fischer) * This content is released under the MIT License. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__extend public="1" set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.editors.tiled.TiledPropertySet 0x80000000 0x40000000 0x20000000 0 1 2 * The original ID as described in the mapData * The ID of this tile in its tileset false * Set the tile to flip horizontally false * Set the tile to flip vertically * Set the rotation of the tile hscript.UsingHandler.build() hscript.ClassExtendMacro.build() "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__getByteArrayData set="method" line="148"> <_HX_SUPER__base64ToByteArray set="method" line="148"> <_HX_SUPER__resolveTile set="method" line="148"> <_HX_SUPER__get_encoding set="method" line="148"> <_HX_SUPER__get_csvData set="method" line="148"> <_HX_SUPER__get_tileArray set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.editors.tiled.TiledTileLayer @since 2.2.0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() @since 2.8.0 @since 2.8.0 @since 2.2.0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__addAnimationFrame public="1" set="method" line="31"> @since 2.8.0 <_HX_SUPER__addTileObject public="1" set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.editors.tiled.TiledTilePropertySet.TileAnimationData flixel.addons.editors.tiled.TiledTilePropertySet { rootPath : "" } * Copyright (c) 2013 by Samuel Batista * (original by Matt Tuttle based on Thomas Jahn's. Haxe port by Adrien Fischer) * This content is released under the MIT License. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__getPropertiesByGid public="1" set="method" line="148"> <_HX_SUPER__getImageSourceByGid public="1" set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.editors.tiled.TiledTileSet flixel.addons.editors.tiled.TiledTileSet.ValidByteArray flixel.addons.editors.tiled.TiledTileSet.FlxTiledTileAsset <_HX_SUPER__resolveFlipAndRotation set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.editors.tiled.TiledTile FlxPoint.get() * An extra velocity applied to mesh (in pixels per second). Use to simulate gravity or wind. FlxPoint.get(0.99, 0.99) * Determines how quickly the mesh points come to rest. FlxPoint.get(1, 1) * Change the size of the mesh related to the original frame. Need to call setMesh() to update. * Bit field of flags (use with UP, DOWN, LEFT, RIGHT, NONE, ANY, etc) indicating pinned side. Use bitwise operators to check the values stored here. 3 * How many iterations will do on constraints for each update. * Bigger number make constraint more strong and mesh more rigid. false * Adds two extra constraints crossing the squares to make the mesh more rigid. Need to call setMesh() to update. * Number of columns of the mesh. To set it you must use setMesh(). * Number of rows of the mesh. To set it you must use setMesh(). * The width of mesh squares. To set it you must use setMesh(). * The height of mesh squares. To set it you must use setMesh(). [] * An array containing all vertices of the mesh, they are indexed row by row. [] * An array containing all vertices conections. <_vertices> * Mesh arrays. Vertices, indices, uvtData and colors to drawTriangles(). <_indices> <_uvtData> <_drawOffset> * Use to offset the drawing position of the mesh. * The actual Flash BitmapData object representing the current display state of the modified framePixels. * WARNING: This will remove this sprite entirely. Use kill() if you want to disable it temporarily only and reset() it later to revive it. * Used to clean up memory. * Core update loop { pinned : null, meshPixelsHeight : 0, meshPixelsWidth : 0, rows : 0, columns : 0 } * Sets mesh points and constraints. * * @param columns Number of columns of the created mesh. * @param rows Number of rows of the created mesh. * @param meshPixelsWidth Optional, specify the width of the bitmapData where the mesh will be drawn. * It uses frameWidth by default, but when mesh state is bigger, a new BitmapData is created. * @param meshPixelsHeight Optional, specify the height of the bitmapData where the mesh will be drawn. * It uses frameHeight by default, but when mesh state is bigger, a new BitmapData is created. * @param pinned Indices of pinned points that are not affected by wind or velocity. * Called by update, applies meshVelocity, meshFriction and velocity for each point. * Called by update, applies velocity for each constraints points. * Called by draw, calculate triangles, drawOffset and bitmapData dimensions. * Called by draw, draw calculated triangles to meshPixels bitmapData. { CrossingConstraints : false, PinnedSide : UP, Rows : 0, Columns : 0, Y : 0, X : 0 } * Creates a FlxClothSprite at a specified position with a specified one-frame graphic. * If none is provided, a 16x16 image of the HaxeFlixel logo is used. * * @param X The initial X position of the sprite. * @param Y The initial Y position of the sprite. * @param SimpleGraphic The graphic you want to display (OPTIONAL - for simple stuff only, do NOT use for animated images!). * @param Columns Number of columns of the created mesh. * @param Rows Number of rows of the created mesh. * @param PinnedSide The pinned side that points are not affected by wind or velocity. Use UP, DOWN, LEFT, RIGHT, NONE, ANY, etc. * A FlxSprite that draw it's frame in a mesh and behave like a cloth. * * @author adrianulima hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * WARNING: This will remove this sprite entirely. Use kill() if you want to disable it temporarily only and reset() it later to revive it. * Used to clean up memory. <_HX_SUPER__destroy public="1" set="method" line="31"> * Core update loop <_HX_SUPER__update public="1" set="method" line="31"> <_HX_SUPER__drawSimple set="method" line="31"> <_HX_SUPER__drawComplex set="method" line="31"> { pinned : null, meshPixelsHeight : 0, meshPixelsWidth : 0, rows : 0, columns : 0 } * Sets mesh points and constraints. * * @param columns Number of columns of the created mesh. * @param rows Number of rows of the created mesh. * @param meshPixelsWidth Optional, specify the width of the bitmapData where the mesh will be drawn. * It uses frameWidth by default, but when mesh state is bigger, a new BitmapData is created. * @param meshPixelsHeight Optional, specify the height of the bitmapData where the mesh will be drawn. * It uses frameHeight by default, but when mesh state is bigger, a new BitmapData is created. * @param pinned Indices of pinned points that are not affected by wind or velocity. <_HX_SUPER__setMesh public="1" set="method" line="31"> { pinned : null, meshPixelsHeight : 0, meshPixelsWidth : 0, rows : 0, columns : 0 } * Called by update, applies meshVelocity, meshFriction and velocity for each point. <_HX_SUPER__updatePoints set="method" line="148"> * Called by update, applies velocity for each constraints points. <_HX_SUPER__updateConstraints set="method" line="148"> * Called by draw, calculate triangles, drawOffset and bitmapData dimensions. <_HX_SUPER__calcImage set="method" line="31"> * Called by draw, draw calculated triangles to meshPixels bitmapData. <_HX_SUPER__drawImage set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.effects.FlxClothSprite flixel.addons.effects.FlxClothSprite.FlxClothPoint flixel.addons.effects.FlxClothSprite.FlxClothConstraint FlxPoint.get() new Matrix() * Tranformation matrix for this sprite. * Used only when matrixExposed is set to true false * Bool flag showing whether transformMatrix is used for rendering or not. * False by default, which means that transformMatrix isn't used for rendering <_skewMatrix expr="new Matrix()"> new Matrix() * Internal helper matrix object. Used for rendering calculations when matrixExposed is set to false * WARNING: This will remove this sprite entirely. Use kill() if you * want to disable it temporarily only and reset() it later to revive it. * Used to clean up memory. * @author Zaphod hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * WARNING: This will remove this sprite entirely. Use kill() if you * want to disable it temporarily only and reset() it later to revive it. * Used to clean up memory. <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__drawComplex set="method" line="31"> <_HX_SUPER__updateSkewMatrix set="method" line="31"> <_HX_SUPER__isSimpleRender public="1" set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.effects.FlxSkewedSprite * The actual group which holds all sprites. * The link to a group's `members` array. * The number of entries in the members array. For performance and safety you should check this * variable instead of `members.length` unless you really know what you're doing! false * Whether to attempt to preserve the ratio of alpha values of group members, or set them directly through * the alpha property. Defaults to `false` (preservation). * @since 4.5.0 * The maximum capacity of this group. Default is `0`, meaning no max capacity, and the group can just grow. <_skipTransformChildren expr="false"> false * Optimization to allow setting position of group without transforming children twice. <_sprites> * Array of all the `FlxSprite`s that exist in this group for * optimization purposes / static typing on cpp targets. * This method is used for initialization of variables of complex types. * Don't forget to call `super.initVars()` if you'll override this method, * or you'll get `null` object error and app will crash. * **WARNING:** A destroyed `FlxBasic` can't be used anymore. * It may even cause crashes if it is still part of a group or state. * You may want to use `kill()` instead if you want to disable the object temporarily only and `revive()` it later. * * This function is usually not called manually (Flixel calls it automatically during state switches for all `add()`ed objects). * * Override this function to `null` out variables manually or call `destroy()` on class members if necessary. * Don't forget to call `super.destroy()`! * Recursive cloning method: it will create a copy of this group which will hold copies of all sprites * * @return copy of this sprite group * Check and see if any sprite in this group is currently on screen. * * @param Camera Specify which game camera you want. If `null`, it will just grab the first global camera. * @return Whether the object is on screen or not. { InScreenSpace : false } * Checks to see if a point in 2D world space overlaps any `FlxSprite` object from this group. * * @param Point The point in world space you want to check. * @param InScreenSpace Whether to take scroll factors into account when checking for overlap. * @param Camera Specify which game camera you want. If `null`, it will just grab the first global camera. * @return Whether or not the point overlaps this group. { Mask : 0xFF } * Checks to see if a point in 2D world space overlaps any of FlxSprite object's current displayed pixels. * This check is ALWAYS made in screen space, and always takes scroll factors into account. * * @param Point The point in world space you want to check. * @param Mask Used in the pixel hit test to determine what counts as solid. * @param Camera Specify which game camera you want. If `null`, it will just grab the first global camera. * @return Whether or not the point overlaps this object. { FetchPositions : false } * Replaces all pixels with specified `Color` with `NewColor` pixels. * WARNING: very expensive (especially on big graphics) as it iterates over every single pixel. * * @param Color Color to replace * @param NewColor New color * @param FetchPositions Whether we need to store positions of pixels which colors were replaced. * @return `Array` with replaced pixels positions * Adds a new `FlxSprite` subclass to the group. * * @param Sprite The sprite or sprite group you want to add to the group. * @return The same object that was passed in. * Inserts a new `FlxSprite` subclass to the group at the specified position. * * @param Position The position that the new sprite or sprite group should be inserted at. * @param Sprite The sprite or sprite group you want to insert into the group. * @return The same object that was passed in. * * @since 4.3.0 * Adjusts the position and other properties of the soon-to-be child of this sprite group. * Private helper to avoid duplicate code in `add()` and `insert()`. * * @param Sprite The sprite or sprite group that is about to be added or inserted into the group. { Revive : true, Force : false } 0` / "rotating-recycling" (used by `FlxEmitter`): * - at capacity: returns the next object in line, no matter its properties like `alive`, `exists` etc. * - otherwise: returns a new object. * * `maxSize == 0` / "grow-style-recycling" * - tries to find the first object with `exists == false` * - otherwise: adds a new object to the `members` array * * WARNING: If this function needs to create a new object, and no object class was provided, * it will return `null` instead of a valid object! * * @param ObjectClass The class type you want to recycle (e.g. `FlxSprite`, `EvilRobot`, etc). * @param ObjectFactory Optional factory function to create a new object * if there aren't any dead members to recycle. * If `null`, `Type.createInstance()` is used, * which requires the class to have no constructor parameters. * @param Force Force the object to be an `ObjectClass` and not a super class of `ObjectClass`. * @param Revive Whether recycled members should automatically be revived * (by calling `revive()` on them). * @return A reference to the object that was created.]]> { Splice : false } * Removes the specified sprite from the group. * * @param Sprite The `FlxSprite` you want to remove. * @param Splice Whether the object should be cut from the array entirely or not. * @return The removed sprite. * Replaces an existing `FlxSprite` with a new one. * * @param OldObject The sprite you want to replace. * @param NewObject The new object you want to use instead. * @return The new sprite. { Order : FlxSort.ASCENDING } * Call this function to sort the group according to a particular value and order. * For example, to sort game objects for Zelda-style overlaps you might call * `group.sort(FlxSort.byY, FlxSort.ASCENDING)` at the bottom of your `FlxState#update()` override. * * @param Function The sorting function to use - you can use one of the premade ones in * `FlxSort` or write your own using `FlxSort.byValues()` as a "backend". * @param Order A constant that defines the sort order. * Possible values are `FlxSort.ASCENDING` (default) and `FlxSort.DESCENDING`. { Force : false } * Call this function to retrieve the first object with `exists == false` in the group. * This is handy for recycling in general, e.g. respawning enemies. * * @param ObjectClass An optional parameter that lets you narrow the * results to instances of this particular class. * @param Force Force the object to be an `ObjectClass` and not a super class of `ObjectClass`. * @return A `FlxSprite` currently flagged as not existing. * Call this function to retrieve the first index set to `null`. * Returns `-1` if no index stores a `null` object. * * @return An `Int` indicating the first `null` slot in the group. * Call this function to retrieve the first object with `exists == true` in the group. * This is handy for checking if everything's wiped out, or choosing a squad leader, etc. * * @return A `FlxSprite` currently flagged as existing. * Call this function to retrieve the first object with `dead == false` in the group. * This is handy for checking if everything's wiped out, or choosing a squad leader, etc. * * @return A `FlxSprite` currently flagged as not dead. * Call this function to retrieve the first object with `dead == true` in the group. * This is handy for checking if everything's wiped out, or choosing a squad leader, etc. * * @return A `FlxSprite` currently flagged as dead. * Call this function to find out how many members of the group are not dead. * * @return The number of `FlxSprite`s flagged as not dead. Returns `-1` if group is empty. * Call this function to find out how many members of the group are dead. * * @return The number of `FlxSprite`s flagged as dead. Returns `-1` if group is empty. { Length : 0, StartIndex : 0 } * Returns a member at random from the group. * * @param StartIndex Optional offset off the front of the array. * Default value is `0`, or the beginning of the array. * @param Length Optional restriction on the number of values you want to randomly select from. * @return A `FlxSprite` from the `members` list. * Iterate through every member * * @return An iterator { Recurse : false } * Applies a function to all members. * * @param Function A function that modifies one element at a time. * @param Recurse Whether or not to apply the function to members of subgroups as well. { Recurse : false } * Applies a function to all `alive` members. * * @param Function A function that modifies one element at a time. * @param Recurse Whether or not to apply the function to members of subgroups as well. { Recurse : false } * Applies a function to all dead members. * * @param Function A function that modifies one element at a time. * @param Recurse Whether or not to apply the function to members of subgroups as well. { Recurse : false } * Applies a function to all existing members. * * @param Function A function that modifies one element at a time. * @param Recurse Whether or not to apply the function to members of subgroups as well. { Recurse : false } `. * * @param ObjectClass A class that objects will be checked against before Function is applied, ex: `FlxSprite`. * @param Function A function that modifies one element at a time. * @param Recurse Whether or not to apply the function to members of subgroups as well.]]> * Remove all instances of `FlxSprite` from the list. * WARNING: does not `destroy()` or `kill()` any of these objects! * Calls `kill()` on the group's members and then on the group itself. * You can revive this group later via `revive()` after this. * Revives the group. { Y : 0, X : 0 } * Helper function to set the coordinates of this object. * Handy since it only requires one line of code. * * @param X The new x position * @param Y The new y position * This functionality isn't supported in SpriteGroup * Returns the left-most position of the left-most member. * If there are no members, x is returned. * * @since 5.0.0 * Returns the right-most position of the right-most member. * If there are no members, x is returned. * * @since 5.0.0 * This functionality isn't supported in SpriteGroup * Returns the top-most position of the top-most member. * If there are no members, y is returned. * * @since 5.0.0 * Returns the top-most position of the top-most member. * If there are no members, y is returned. * * @since 5.0.0 * This functionality isn't supported in SpriteGroup * @return this sprite group { Unique : false, Height : 0, Width : 0, Animated : false } * This functionality isn't supported in SpriteGroup * @return this sprite group { AutoBuffer : false, AntiAliasing : false, Frame : -1, Rotations : 16 } * This functionality isn't supported in SpriteGroup * @return this sprite group { Unique : false, Color : FlxColor.WHITE } * This functionality isn't supported in SpriteGroup * @return this sprite group { RunOnCpp : false } * Internal function to update the current animation frame. * * @param RunOnCpp Whether the frame should also be recalculated if we're on a non-flash target * This functionality isn't supported in SpriteGroup { Y : 0, X : 0 } * This functionality isn't supported in SpriteGroup * This functionality isn't supported in SpriteGroup { MaxSize : 0, Y : 0, X : 0 } * @param X The initial X position of the group. * @param Y The initial Y position of the group. * @param MaxSize Maximum amount of members allowed. * `FlxSpriteGroup` is a special `FlxSprite` that can be treated like * a single sprite even if it's made up of several member sprites. * It shares the `FlxTypedGroup` API, but it doesn't inherit from it. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Stores the FlxSprite the trail is attached to. * How often to update the trail. true * Whether to check for X changes or not. true * Whether to check for Y changes or not. true * Whether to check for angle changes or not. true * Whether to check for scale changes or not. true * Whether to check for frame changes of the "parent" FlxSprite or not. <_counter expr="0"> 0 * Counts the frames passed. <_trailLength expr="0"> 0 * How long is the trail? <_graphic> * Stores the trailsprite image. <_transp expr="1"> 1 * The alpha value for the next trailsprite. <_difference> * How much lower the alpha value of the next trailsprite is. <_recentPositions expr="[]"> [] <_recentAngles expr="[]"> [] <_recentScales expr="[]"> [] <_recentFrames expr="[]"> [] <_recentFlipX expr="[]"> [] <_recentFlipY expr="[]"> [] <_recentAnimations expr="[]"> [] <_spriteOrigin> * Stores the sprite origin (rotation axis) * Updates positions and other values according to the delay that has been set. * A function to add a specific number of sprites to the trail to increase its length. * * @param Amount The amount of sprites to add to the trail. * In case you want to change the trailsprite image in runtime... * * @param Image The image the sprites should load { Scale : true, Y : true, X : true } * Handy little function to change which events affect the trail. * * @param Angle Whether the trail reacts to angle changes or not. * @param X Whether the trail reacts to x changes or not. * @param Y Whether the trail reacts to y changes or not. * @param Scale Wheater the trail reacts to scale changes or not. { Diff : 0.05, Alpha : 0.4, Delay : 3, Length : 10 } * Creates a new FlxTrail effect for a specific FlxSprite. * * @param Target The FlxSprite the trail is attached to. * @param Graphic The image to use for the trailsprites. Optional, uses the sprite's graphic if null. * @param Length The amount of trailsprites to create. * @param Delay How often to update the trail. 0 updates every frame. * @param Alpha The alpha value for the very first trailsprite. * @param Diff How much lower the alpha of the next trailsprite is. * Nothing too fancy, just a handy little class to attach a trail effect to a FlxSprite. * Inspired by the way "Buck" from the inofficial #flixel IRC channel * creates a trail effect for the character in his game. * Feel free to use this class and adjust it to your needs. * @author Gama11 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() 2 * How often the trail is updated, in frames. Default value is 2, or "every frame". false * If this is true, the render process ignores any color/scale/rotation manipulation of the sprites * with the advantage of being faster null * Specifies the blendMode for the trails. * Ignored in simple render mode. Only works on the flash target. * Stores all sprites that have a trail. 1 * The bitmap's red value is multiplied by this every update 1 * The bitmap's green value is multiplied by this every update 1 * The bitmap's blue value is multiplied by this every update * The bitmap's alpha value is multiplied by this every update 0 * The bitmap's red value is offsettet by this every update 0 * The bitmap's green value is offsettet by this every update 0 * The bitmap's blue value is offsettet by this every update 0 * The bitmap's alpha value is offsettet by this every update <_counter expr="0"> 0 * Counts the frames passed. <_width expr="1"> 1 * Internal width variable * Initialized to 1 to prevent invalid bitmapData during construction <_height expr="1"> 1 * Internal height variable * Initialized to 1 to prevent invalid bitmapData during construction <_areaPixels> * Internal helper var, linking to area's pixels * Sets the FlxTrailArea to a new size. Clears the area! * * @param Width The new width * @param Height The new height * Wipes the trail area * Adds a FlxSprite to the FlxTrailArea. Not an add() in the traditional sense, * this just enables the trail effect for the sprite. You still need to add it to your state for it to update! * * @param Sprite The sprite to enable the trail effect for * @return The FlxSprite, useful for chaining stuff together * Redirects width to _width * Setter for width, defaults to FlxG.width, creates new _rendeBitmap if neccessary * Redirects height to _height * Setter for height, defaults to FlxG.height, creates new _rendeBitmap if neccessary { Antialiasing : false, SimpleRender : false, Delay : 2, AlphaMultiplier : 0.8, Height : 0, Width : 0, Y : 0, X : 0 } * Creates a new FlxTrailArea, in which all added sprites get a trail effect. * * @param X x position of the trail area * @param Y y position of the trail area * @param Width The width of the area - defaults to FlxG.width * @param Height The height of the area - defaults to FlxG.height * @param AlphaMultiplier By what the area's alpha is multiplied per update * @param Delay How often to update the trail. 1 updates every frame * @param SimpleRender If simple rendering should be used. Ignores all sprite transformations * @param Antialiasing If sprites should be smoothed when drawn to the area. Ignored when simple rendering is on * @param TrailBlendMode The blend mode used for the area. Only works in flash * This provides an area in which the added sprites have a trail effect. Usage: Create the FlxTrailArea and * add it to the display. Then add all sprites that should have a trail effect via the add function. * @author KeyMaster hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Sets the FlxTrailArea to a new size. Clears the area! * * @param Width The new width * @param Height The new height <_HX_SUPER__setSize public="1" set="method" line="148"> <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__draw public="1" set="method" line="31"> * Setter for width, defaults to FlxG.width, creates new _rendeBitmap if neccessary <_HX_SUPER__set_width set="method" line="148"> * Setter for height, defaults to FlxG.height, creates new _rendeBitmap if neccessary <_HX_SUPER__set_height set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.effects.FlxTrailArea <_HX_SUPER__destroy public="1" set="method" line="31"> * Updates positions and other values according to the delay that has been set. <_HX_SUPER__update public="1" set="method" line="31"> <_HX_SUPER__resetTrail public="1" set="method" line="31"> * A function to add a specific number of sprites to the trail to increase its length. * * @param Amount The amount of sprites to add to the trail. <_HX_SUPER__increaseLength public="1" set="method" line="31"> * In case you want to change the trailsprite image in runtime... * * @param Image The image the sprites should load <_HX_SUPER__changeGraphic public="1" set="method" line="31"> { Scale : true, Y : true, X : true } * Handy little function to change which events affect the trail. * * @param Angle Whether the trail reacts to angle changes or not. * @param X Whether the trail reacts to x changes or not. * @param Y Whether the trail reacts to y changes or not. * @param Scale Wheater the trail reacts to scale changes or not. <_HX_SUPER__changeValuesEnabled public="1" set="method" line="31"> { Scale : true, Y : true, X : true } <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.effects.FlxTrail true * Enables and disables the effects update loop. * The target FlxSprite that is used to apply effects. true * Whether to call target's FlxSprite#updateAnimation() every FlxEffectSprite#update(). Set this false if the target is also added to state. * Effects applied to frames <_effectOffset> * Use to offset the drawing position of the bitmap. * WARNING: This will remove this sprite entirely. Use kill() if you want to disable it temporarily only and reset() it later to revive it. * Used to clean up memory. * Call this function to figure out the on-screen position of the object. * * @param Point Takes a FlxPoint object and assigns the post-scrolled X and Y values of this object to it. * @param Camera Specify which game camera you want. If null getScreenPosition() will just grab the first global camera. * @return The Point you passed in, or a new Point if you didn't pass one, containing the screen X and Y position of this object. * Core update loop, and updates each active effect. * Creates a FlxEffectSprite for a specific FlxSprite. * * @param Target The target FlxSprite that is used to apply effects. * @param Effects Effects to be applied to frames. * Use this class to chain bitmap effects to your target FlxSprite frame. * @author adrianulima hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * WARNING: This will remove this sprite entirely. Use kill() if you want to disable it temporarily only and reset() it later to revive it. * Used to clean up memory. <_HX_SUPER__destroy public="1" set="method" line="31"> * Call this function to figure out the on-screen position of the object. * * @param Point Takes a FlxPoint object and assigns the post-scrolled X and Y values of this object to it. * @param Camera Specify which game camera you want. If null getScreenPosition() will just grab the first global camera. * @return The Point you passed in, or a new Point if you didn't pass one, containing the screen X and Y position of this object. <_HX_SUPER__getScreenPosition public="1" set="method" line="148"> <_HX_SUPER__draw public="1" set="method" line="31"> * Core update loop, and updates each active effect. <_HX_SUPER__update public="1" set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.effects.chainable.FlxEffectSprite hscript.UsingHandler.build() hscript.ClassExtendMacro.build() true FlxPoint.get() 1 * How thick each glitch segment should be. 0.05 * Time, in seconds, between glitch updates * Which direction the glitch effect should be applied. 2 * How strong the glitch effect should be (how much it should move from the center) <_time expr="0"> 0 * Current time of the effect. <_flashPoint expr="new Point()"> new Point() * Internal, reused frequently during drawing and animating. <_flashRect expr="new Rectangle()"> new Rectangle() * Internal, reused frequently during drawing and animating. <_pixels> * The actual Flash BitmapData object representing the current effect state. { Delay : 0.05, Size : 1, Strength : 4 } * Creates a new FlxGlitchSprite, which applies a Glitch-distortion effect. * This effect is non-destructive to the target's pixels, and can be used on animated FlxSprites. * * @param Strength How strong you want the effect. * @param Size How 'thick' you want each piece of the glitch. * @param Delay How long (in seconds) between each glitch update. * @param Direction Which Direction you want the effect to be applied (HORIZONTAL or VERTICAL). * This is a modified version of FlxGlitchSprite by Tim Hely * * @author Tim Hely / tims-world.com * @author adrianulima hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__update public="1" set="method" line="31"> <_HX_SUPER__apply public="1" set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.effects.chainable.FlxGlitchEffect flixel.addons.effects.chainable.FlxGlitchEffect.FlxGlitchDirection true FlxPoint.get() true * Set this flag to true to force the effect to update during the apply() call. * This effect is too heavy, and must be called just when the main shape of sprite changes. * Which mode we're using for the effect * @since 2.1.0 * Color of the outline. * Stroke thickness in pixels of outline. * Set alpha sensitivity to a number between 0 and 1. * How many iterations do use when drawing the outline. 0: only 1 iteration, 1: one iteration for every pixel in thickness * A value of 1 will have the best quality for large border sizes, but might reduce performance. * NOTE: If the thickness is 1, quality of 0 or 1 will have the exact same effect (and performance). * @since 2.1.0 <_pixels> * The actual Flash BitmapData object representing the current effect state. <_borderPixels> * The actual Flash BitmapData object representing the colored border. <_flashPoint expr="new Point()"> new Point() * Internal, reused frequently during drawing and animating. <_matrix expr="new Matrix()"> new Matrix() { Quality : 1, Threshold : 0, Thickness : 1, Color : FlxColor.WHITE } * Creates an outline around the bitmapData with the specified color and thickness. To update, dirty need to be setted as true. * * @param Mode Which Mode you would like to use for the effect. FAST = Optimized using only 4 draw calls, NORMAL = Outline on all 8 sides, PIXEL_BY_PIXEL = Surround every pixel (can affect performance). * @param Color Color of the outline. * @param Thickness Outline thickness in pixels. * @param Quality Outline quality - # of iterations to use when drawing. 0:just 1, 1:equal number to Thickness. Not used with PIXEL_BY_PIXEL mode. * @param Threshold Alpha sensitivity, only used with PIXEL_BY_PIXEL mode. * This creates an outline around the bitmapData. This is a modified version of FlxOutline by red__hara, with some code get from FlxText's borders. * * @author red__hara * @author adrianulima hscript.UsingHandler.build() hscript.ClassExtendMacro.build() @since 2.1.0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__update public="1" set="method" line="31"> <_HX_SUPER__apply public="1" set="method" line="148"> <_HX_SUPER__drawPixelByPixel set="method" line="31"> <_HX_SUPER__drawNormal set="method" line="31"> <_HX_SUPER__drawFast set="method" line="31"> <_HX_SUPER__surroundPixel set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.effects.chainable.FlxOutlineEffect flixel.addons.effects.chainable.FlxOutlineEffect.FlxOutlineMode true 5 * How fast the hue should change each tick. 1 * Set alpha to a number between 0 and 1 to change the opacity of the effect. 1 * A number between 0 and 1, indicating how bright the color should be. 0 is black, 1 is full bright. <_hue expr="0"> 0 * The current hue of the effect <_time expr="0"> 0 * Used to adjust the hue using speed <_flashPoint expr="new Point()"> new Point() * Internal, reused frequently during drawing and animating. Always contains (0,0). <_pixels> * The actual Flash BitmapData object representing the current effect state. { StartHue : 0, Speed : 5, Brightness : 1, Alpha : 1 } * Creates a new FlxEffectRainbow, which applies a color-cycling effect, using the target's bitmap as a mask. * * @param Alpha A number between 0 and 1 to change the opacity of the effect. * @param Brightness A number between 0 and 1, indicating how bright the color should be. * @param Speed How fast the hue should change each tick. * @param StartHue The initial hue of the effect. * This is a modified version of FlxRainbowSprite by Tim Hely * * @author Tim Hely / tims-world.com * @author adrianulima hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__update public="1" set="method" line="31"> <_HX_SUPER__apply public="1" set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.effects.chainable.FlxRainbowEffect true FlxPoint.get() 0 * Value in pixels representing the maximum distance that the bitmapData can move while shaking. * A function you want to run when the shake finishes. XY * On what axes to shake. <_duration expr="0"> 0 * The length in seconds that the shaking effect should last. <_time expr="0"> 0 * Current time of the effect. { Force : false } * Reset and start the effect with the same parameters. * * @param Force Force the effect to reset. { Duration : 0.5, Intensity : 5 } * Reset the effect, need to set the parameters again. To use the same parameters call method start(). * * @param Intensity Value in pixels representing the maximum distance that the bitmapData can move while shaking. * @param Duration The length in seconds that the shaking effect should last. * @param OnComplete Optional completion callback function. * @param Axes On what axes to shake. Default value is XY / both. { Duration : 0.5, Intensity : 5 } * A shake effect. * * @param Intensity Value in pixels representing the maximum distance that the bitmapData can move while shaking. * @param Duration The length in seconds that the shaking effect should last. * @param OnComplete Optional completion callback function. * @param Axes On what axes to shake. Default value is XY / both. * This will shake the bitmapData. * * @author adrianulima hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__update public="1" set="method" line="31"> <_HX_SUPER__apply public="1" set="method" line="148"> { Force : false } * Reset and start the effect with the same parameters. * * @param Force Force the effect to reset. <_HX_SUPER__start public="1" set="method" line="31"> { Force : false } { Duration : 0.5, Intensity : 5 } * Reset the effect, need to set the parameters again. To use the same parameters call method start(). * * @param Intensity Value in pixels representing the maximum distance that the bitmapData can move while shaking. * @param Duration The length in seconds that the shaking effect should last. * @param OnComplete Optional completion callback function. * @param Axes On what axes to shake. Default value is XY / both. <_HX_SUPER__reset public="1" set="method" line="148"> { Duration : 0.5, Intensity : 5 } <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.effects.chainable.FlxShakeEffect true FlxPoint.get() * The target FlxEffectSprite that to apply the trail. * The amount of trail images to create. * The alpha value for the first trail. * Number of frames to wait until next updated. * Whether to cache current pixels bitmapData of the target for every trail position. <_recentPositions expr="[]"> [] * An array containing the 'length' last differences of the target positions. <_recentPixels expr="[]"> [] * An array containing the 'length' last pixels bitmapData of the target. Only used if cachePixels is enabled. <_currentFrames expr="0"> 0 * Current number of frames passed. <_pixels> * The actual Flash BitmapData object representing the current effect state. <_matrix expr="new Matrix()"> new Matrix() <_colorTransform expr="new ColorTransform()"> new ColorTransform() @since 2.1.0 { CachePixels : true, FramesDelay : 2, Alpha : 0.5, Length : 10 } * Creates a trail effect. * * @param Length The amount of trail images to create. * @param Alpha The alpha value for the first trailsprite. * @param FramesDelay How many frames wait until next trail updated. * @param CachePixels Whether to cache current pixels bitmapData of the target for every trail position. Disable if target never update graphics. * This creates a trail copying the bitmapData many times. * * @author adrianulima hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__update public="1" set="method" line="31"> <_HX_SUPER__updateRecents public="1" set="method" line="31"> <_HX_SUPER__apply public="1" set="method" line="148"> @since 2.1.0 <_HX_SUPER__clear public="1" set="method" line="31"> <_HX_SUPER__disposeCachedPixels set="method" line="148"> <_HX_SUPER__set_length set="method" line="148"> <_HX_SUPER__set_cachePixels set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.effects.chainable.FlxTrailEffect true FlxPoint.get() * Which mode we're using for the effect. * How fast should the wave effect be (higher = faster).
    * The 'center' of our sprite (where the wave effect should start/end). Ratio based on the bitmapData size.
    * Which direction the wave effect should be applied. * How long waves are. * How strong the wave effect should be. * The wave ratio to offset every odd line of the `BitmapData`. Must be a value between 0 and 1. * @since 2.1.0 <_time expr="0"> 0 * Current time of the effect. <_flashPoint expr="new Point()"> new Point() * Internal, reused frequently during drawing and animating. <_flashRect expr="new Rectangle()"> new Rectangle() * Internal, reused frequently during drawing and animating. <_pixels> * The actual Flash BitmapData object representing the current effect state. { InterlaceOffset : 0, Wavelength : 5, Speed : 3, Center : 0.5, Strength : 10 } * Creates a new FlxEffectWave, which applies a wave-distortion effect. * * @param Mode Which Mode you would like to use for the effect. ALL = applies a constant distortion throughout the image, END = makes the effect get stronger towards the bottom of the image, and START = the reverse of END. * @param Strength How strong you want the effect. * @param Center The 'center' of the effect when using END or START modes. Anything before(END)/after(START) this point on the image will have no distortion effect. Ratio based on the bitmapData size. * @param Speed How fast you want the effect to move. Higher values = faster. * @param Wavelength How long waves are. * @param Direction Which Direction you want the effect to be applied (HORIZONTAL or VERTICAL). * @param InterlaceOffset The wave ratio to offset every odd line of the bitmapData. Must be a value between 0 and 1; * This is a modified version of FlxWaveSprite by Tim Hely * * @author Tim Hely / tims-world.com * @author adrianulima hscript.UsingHandler.build() hscript.ClassExtendMacro.build()
    hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__update public="1" set="method" line="31"> <_HX_SUPER__apply public="1" set="method" line="148"> <_HX_SUPER__set_interlaceOffset set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.effects.chainable.FlxWaveEffect flixel.addons.effects.chainable.FlxWaveEffect.FlxWaveMode flixel.addons.effects.chainable.FlxWaveEffect.FlxWaveDirection -1 * Use with sort() to sort in ascending order. 1 * Use with sort() to sort in descending order. "y" * The value that the FlxExtendedSprites are sorted by before deciding which is "on-top" for click select ASCENDING * The sorting order. If the sortIndex is "y" and the order is ASCENDING then a sprite with a Y value of 200 would be "on-top" of one with a Y value of 100. false * Is the mouse currently dragging a sprite? If you have just clicked but NOT yet moved the mouse then this might return false. * The FlxExtendedSprite that is currently being dragged, if any. * The speed the mouse is moving on the X axis in pixels per frame * The speed the mouse is moving on the Y axis in pixels per frame * The mouse can be set to only be active within a specific FlxRect region of the game world. * If outside this FlxRect no clicks, drags or throws will be processed. * If the mouse leaves this region while still dragging then the sprite is automatically dropped and its release handler is called. * Set the FlxRect to null to disable the zone. false * Instead of using a mouseZone (which is calculated in world coordinates) you can limit the mouse to the FlxG.camera.deadzone area instead. * If set to true the mouse will use the camera deadzone. If false (or the deadzone is null) no check will take place. * Note that this takes priority over the mouseZone above. If the mouseZone and deadzone are set, the deadzone is used. <_clickStack expr="new Array<FlxExtendedSprite>()" line="80" static="1"> ()]]> * The FlxExtendedSprite that currently has the mouse button pressed on it <_clickCoords static="1"> <_hasClickTarget expr="false" line="83" static="1"> false <_oldX expr="0" line="85" static="1"> 0 <_oldY expr="0" line="86" static="1"> 0 * Adds the given FlxExtendedSprite to the stack of potential sprites that were clicked, the stack is then sorted and the final sprite is selected from that * * @param Item The FlxExtendedSprite that was clicked by the mouse * Removes all references to any click / drag targets and resets this class * Main Update Loop - checks mouse status and updates FlxExtendedSprites accordingly * Internal function used to release the click / drag targets and reset the mouse state * Once the clickStack is created this sorts it and then picks the sprite with the highest priority (based on sortIndex and sortOrder) * Helper function for the sort process. * * @param Item1 The first object being sorted. * @param Item2 The second object being sorted. * * @return An integer value: -1 (item1 before item2), 0 (same), or 1 (item1 after item2) * Runs when this plugin is destroyed * FlxMouseControl * * @link http://www.photonstorm.com * @author Richard Davey / Photon Storm hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Main Update Loop - checks mouse status and updates FlxExtendedSprites accordingly <_HX_SUPER__update public="1" set="method" line="31"> * Internal function used to release the click / drag targets and reset the mouse state <_HX_SUPER__releaseMouse set="method" line="31"> * Once the clickStack is created this sorts it and then picks the sprite with the highest priority (based on sortIndex and sortOrder) <_HX_SUPER__assignClickedSprite set="method" line="31"> * Helper function for the sort process. * * @param Item1 The first object being sorted. * @param Item2 The second object being sorted. * * @return An integer value: -1 (item1 before item2), 0 (same), or 1 (item1 after item2) <_HX_SUPER__sortHandler set="method" line="148"> * Runs when this plugin is destroyed <_HX_SUPER__destroy public="1" set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.plugin.FlxMouseControl <__pool expr="new ObjectPool<Point>(function() return new Point(), function(p) p.setTo(0, 0))" line="37" static="1"> (function() return new Point(), function(p) p.setTo(0, 0))]]> <__limeVector2 static="1"> Returns the distance between `pt1` and `pt2`. @param pt1 The first point. @param pt2 The second point. @return The distance between the first and second points. Determines a point between two specified points. The parameter `f` determines where the new interpolated point is located relative to the two end points specified by parameters `pt1` and `pt2`. The closer the value of the parameter `f` is to `1.0`, the closer the interpolated point is to the first point(parameter `pt1`). The closer the value of the parameter `f` is to 0, the closer the interpolated point is to the second point(parameter `pt2`). @param pt1 The first point. @param pt2 The second point. @param f The level of interpolation between the two points. Indicates where the new point will be, along the line between `pt1` and `pt2`. If `f`=1, `pt1` is returned; if `f`=0, `pt2` is returned. @return The new, interpolated point. Converts a pair of polar coordinates to a Cartesian point coordinate. @param len The length coordinate of the polar pair. @param angle The angle, in radians, of the polar pair. @return The Cartesian point. The length of the line segment from(0,0) to this point. The horizontal coordinate of the point. The default value is 0. The vertical coordinate of the point. The default value is 0. Adds the coordinates of another point to the coordinates of this point to create a new point. @param v The point to be added. @return The new point. Creates a copy of this Point object. @return The new Point object. Copies all of the point data from the source Point object into the calling Point object. @param sourcePoint The Point object from which to copy the data. Determines whether two points are equal. Two points are equal if they have the same _x_ and _y_ values. @param toCompare The point to be compared. @return A value of `true` if the object is equal to this Point object; `false` if it is not equal. Scales the line segment between(0,0) and the current point to a set length. @param thickness The scaling value. For example, if the current point is (0,5), and you normalize it to 1, the point returned is at(0,1). @return The normalized point. Offsets the Point object by the specified amount. The value of `dx` is added to the original value of _x_ to create the new _x_ value. The value of `dy` is added to the original value of _y_ to create the new _y_ value. @param dx The amount by which to offset the horizontal coordinate, _x_. @param dy The amount by which to offset the vertical coordinate, _y_. Sets the members of Point to the specified values @param xa the values to set the point to. @param ya Subtracts the coordinates of another point from the coordinates of this point to create a new point. @param v The point to be subtracted. @return The new point. Returns a string that contains the values of the _x_ and _y_ coordinates. The string has the form `"(x=_x_, y=_y_)"`, so calling the `toString()` method for a point at 23,17 would return `"(x=23, y=17)"`. @return The string representation of the coordinates. <__toLimeVector2 set="method" line="254"> { y : 0, x : 0 } Creates a new point. If you pass no parameters to this method, a point is created at(0,0). @param x The horizontal coordinate. @param y The vertical coordinate. The Point object represents a location in a two-dimensional coordinate system, where _x_ represents the horizontal axis and _y_ represents the vertical axis. The following code creates a point at(0,0): Methods and properties of the following classes use Point objects: * BitmapData * DisplayObject * DisplayObjectContainer * DisplacementMapFilter * NativeWindow * Matrix * Rectangle You can use the `new Point()` constructor to create a Point object. "tags=\"haxe,release\"" ()]]> new Point(0, 0) { loopOnWrap : true, onlyScrollOnscreen : true, text : null, steps : 0, pixels : 1 } * Adds an FlxBitmapTextField to the Scrolling Text Manager and returns an FlxSprite which contains the text scroller in it. * The FlxSprite will automatically update itself via this plugin, but can be treated as a normal FlxSprite in all other regards * re: positioning, collision, rotation, etc. * * @param bitmapText A pre-prepared FlxBitmapTextField object (see the Test Suite examples for details on how this works) * @param region A Rectangle that defines the size of the scrolling FlxSprite. The sprite will be placed at region.x/y and be region.width/height in size. * @param pixels The number of pixels to scroll per step. For a smooth (but slow) scroll use low values. Keep the value proportional to the font width, so if the font width is 16 use a value like 1, 2, 4 or 8. * @param steps How many steps should pass before the text is next scrolled? Default 0 means every step we scroll. Higher values slow things down. * @param text The default text for your scrolling message. Can be changed in real-time via the addText method. * @param onlyScrollOnscreen Only update the text scroller when this FlxSprite is visible on-screen? Default true. * @param loopOnWrap When the scroller reaches the end of the given "text" should it wrap to the start? Default true. If false it will clear the screen then set itself to not update. * * @return An FlxSprite of size region.width/height, positioned at region.x/y, that auto-updates its contents while this plugin runs { overwrite : false } * Adds or replaces the text in the given Text Scroller. * Can be called while the scroller is still active. * * @param source The FlxSprite Text Scroller you wish to update (must have been added to FlxScrollingText via a call to add() * @param text The text to add or update to the Scroller * @param overwrite If true the given text will fully replace the previous scroller text. If false it will be appended to the end (default) * Removes all FlxSprites * This is called automatically if the plugin is destroyed, but should be called manually by you if you change States * as all the FlxSprites will be destroyed by Flixel otherwise { source : null } * Starts scrolling on the given FlxSprite. If no FlxSprite is given it starts scrolling on all FlxSprites currently added. * Scrolling is enabled by default, but this can be used to re-start it if you have stopped it via stopScrolling. * * @param source The FlxSprite to start scrolling on. If left as null it will start scrolling on all sprites. { source : null } * Stops scrolling on the given FlxSprite. If no FlxSprite is given it stops scrolling on all FlxSprites currently added. * Scrolling is enabled by default, but this can be used to stop it. * * @param source The FlxSprite to stop scrolling on. If left as null it will stop scrolling on all sprites. * Checks to see if the given FlxSprite is a Scrolling Text, and is actively scrolling or not * Note: If the text is set to only scroll when on-screen, but if off-screen when this is called, it will still return true. * * @param source The FlxSprite to check for scrolling on. * @return Bool true is the FlxSprite was found and is scrolling, otherwise false * Removes an FlxSprite from the Text Scroller. Note that it doesn't restore the sprite bitmapData. * * @param source The FlxSprite to remove scrolling for. * @return Bool true if the FlxSprite was removed, otherwise false. * FlxScrollingText * -- Part of the Flixel Power Tools set * -- Works only FLX_BLIT_RENDER mode for now * * v1.0 First version released * * @version 1.0 - May 5th 2011 * @link http://www.photonstorm.com * @author Richard Davey / Photon Storm * @co-author Ungar Djordje / ArtBIT (Haxe port) hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__draw public="1" set="method" line="31"> <_HX_SUPER__destroy public="1" set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.plugin.FlxScrollingText flixel.addons.plugin.FlxScrollingText.ScrollingTextData <_HX_SUPER__destroy public="1" set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.plugin.FlxScrollingText flixel.addons.plugin.FlxScrollingText.ScrollingTextData <_members expr="new ObjectMap<FlxControlHandler,FlxControlHandler>()" line="23" static="1"> ()]]> { EnableArrowKeys : true, UpdateFacing : false, Player : 1 } * Creates a new FlxControlHandler. You can have as many FlxControlHandlers as you like, but you usually only have one per player. The first handler you make * will be assigned to the FlxControl.player1 var. The 2nd to FlxControl.player2 and so on for player3 and player4. Beyond this you need to keep a reference to the * handler yourself. * * @param Sprite The FlxSprite you want this class to control. It can only control one FlxSprite at once. * @param MovementType Set to either MOVEMENT_INSTANT or MOVEMENT_ACCELERATES * @param StoppingType Set to STOPPING_INSTANT, STOPPING_DECELERATES or STOPPING_NEVER * @param UpdateFacing If true it sets the FlxSprite.facing value to the direction pressed (default false) * @param EnableArrowKeys If true it will enable all arrow keys (default) - see setCursorControl for more fine-grained control * @return The new FlxControlHandler * Removes a FlxControlHandler * * @param ControlHandler The FlxControlHandler to delete * @return Boolean true if the FlxControlHandler was removed, otherwise false. * Removes all FlxControlHandlers. * This is called automatically if this plugin is ever destroyed. * Starts updating the given FlxControlHandler, enabling keyboard actions for it. If no FlxControlHandler is given it starts updating all FlxControlHandlers currently added. * Updating is enabled by default, but this can be used to re-start it if you have stopped it via stop(). * * @param ControlHandler The FlxControlHandler to start updating on. If left as null it will start updating all handlers. * Stops updating the given FlxControlHandler. If no FlxControlHandler is given it stops updating all FlxControlHandlers currently added. * Updating is enabled by default, but this can be used to stop it, for example if you paused your game (see start() to restart it again). * * @param ControlHandler The FlxControlHandler to stop updating. If left as null it will stop updating all handlers. * Runs update on all currently active FlxControlHandlers * Runs when this plugin is destroyed * FlxControl * * @link http://www.photonstorm.com * @author Richard Davey / Photon Storm hscript.UsingHandler.build() hscript.ClassExtendMacro.build() 0 * The "Instant" Movement Type means the sprite will move at maximum speed instantly, and will not "accelerate" (or speed-up) before reaching that speed. 1 * The "Accelerates" Movement Type means the sprite will accelerate until it reaches maximum speed. 0 * The "Instant" Stopping Type means the sprite will stop immediately when no direction keys are being pressed, there will be no deceleration. 1 * The "Decelerates" Stopping Type means the sprite will start decelerating when no direction keys are being pressed. Deceleration continues until the speed reaches zero. 2 * The "Never" Stopping Type means the sprite will never decelerate, any speed built up will be carried on and never reduce. 0 * The "Instant" Movement Type means the sprite will rotate at maximum speed instantly, and will not "accelerate" (or speed-up) before reaching that speed. 1 * The "Accelerates" Rotaton Type means the sprite will accelerate until it reaches maximum rotation speed. 0 * The "Instant" Stopping Type means the sprite will stop rotating immediately when no rotation keys are being pressed, there will be no deceleration. 1 * The "Decelerates" Stopping Type means the sprite will start decelerating when no rotation keys are being pressed. Deceleration continues until rotation speed reaches zero. 2 * The "Never" Stopping Type means the sprite will never decelerate, any speed built up will be carried on and never reduce. 0 * This keymode fires for as long as the key is held down 1 * This keyboard fires when the key has just been pressed down, and not again until it is released and re-pressed 2 * This keyboard fires only when the key has been pressed and then released again FlxMath.SQUARE_ROOT_OF_TWO * 0.5 false false false false false <_entity> <_bounds> <_up expr="false"> false <_down expr="false"> false <_left expr="false"> false <_right expr="false"> false <_fire> <_altFire> <_jump> <_altJump> <_xFacing> <_yFacing> <_rotateAntiClockwise> <_rotateClockwise> <_upMoveSpeed> <_downMoveSpeed> <_leftMoveSpeed> <_rightMoveSpeed> <_thrustSpeed> <_reverseSpeed> <_thrustEnabled expr="false"> false <_reverseEnabled> <_isRotating expr="false"> false <_antiClockwiseRotationSpeed> <_clockwiseRotationSpeed> <_enforceAngleLimits expr="false"> false <_minAngle> <_maxAngle> <_capAngularVelocity> <_xSpeedAdjust expr="0"> 0 <_ySpeedAdjust expr="0"> 0 <_gravityX expr="0"> 0 <_gravityY expr="0"> 0 <_fireRate> <_nextFireTime expr="0"> 0 <_lastFiredTime> <_fireKeyMode> <_fireCallback> <_jumpHeight> <_jumpRate> <_jumpKeyMode> <_nextJumpTime> <_lastJumpTime> <_jumpFromFallTime> <_extraSurfaceTime> <_jumpSurface> <_jumpCallback> <_movement> <_stopping> <_rotation> <_rotationStopping> <_capVelocity> <_hotkeys> <_upKey> <_downKey> <_leftKey> <_rightKey> <_fireKey> <_altFireKey> <_jumpKey> <_altJumpKey> <_antiClockwiseKey> <_clockwiseKey> <_thrustKey> <_reverseKey> @since 2.1.0 @since 2.1.0 <_jumpSound> <_fireSound> <_walkSound> <_thrustSound> { DecelerationY : 0, DecelerationX : 0 } * Set the speed at which the sprite will move when a direction key is pressed. * All values are given in pixels per second. So an xSpeed of 100 would move the sprite 100 pixels in 1 second (1000ms) * Due to the nature of the internal Flash timer this amount is not 100% accurate and will vary above/below the desired distance by a few pixels. * * If you need different speed values for left/right or up/down then use setAdvancedMovementSpeed * * @param SpeedX The speed in pixels per second in which the sprite will move/accelerate horizontally * @param SpeedY The speed in pixels per second in which the sprite will move/accelerate vertically * @param SpeedMaxX The maximum speed in pixels per second in which the sprite can move horizontally * @param SpeedMaxY The maximum speed in pixels per second in which the sprite can move vertically * @param DecelerationX A deceleration speed in pixels per second to apply to the sprites horizontal movement (default 0) * @param DecelerationY A deceleration speed in pixels per second to apply to the sprites vertical movement (default 0) { Acceleration : true } * If you know you need the same value for the acceleration, maximum speeds and (optionally) deceleration then this is a quick way to set them. * * @param Speed The speed in pixels per second in which the sprite will move/accelerate/decelerate * @param Acceleration If true it will set the speed value as the deceleration value (default) false will leave deceleration disabled { DecelerationY : 0, DecelerationX : 0 } * Set the speed at which the sprite will move when a direction key is pressed. * All values are given in pixels per second. So an xSpeed of 100 would move the sprite 100 pixels in 1 second (1000ms) * Due to the nature of the internal Flash timer this amount is not 100% accurate and will vary above/below the desired distance by a few pixels. * * If you don't need different speed values for every direction on its own then use setMovementSpeed * * @param LeftSpeed The speed in pixels per second in which the sprite will move/accelerate to the left * @param RightSpeed The speed in pixels per second in which the sprite will move/accelerate to the right * @param UpSpeed The speed in pixels per second in which the sprite will move/accelerate up * @param DownSpeed The speed in pixels per second in which the sprite will move/accelerate down * @param SpeedMaxX The maximum speed in pixels per second in which the sprite can move horizontally * @param SpeedMaxY The maximum speed in pixels per second in which the sprite can move vertically * @param DecelerationX Deceleration speed in pixels per second to apply to the sprites horizontal movement (default 0) * @param DecelerationY Deceleration speed in pixels per second to apply to the sprites vertical movement (default 0) * Set the speed at which the sprite will rotate when a direction key is pressed. * Use this in combination with setMovementSpeed to create a Thrust like movement system. * All values are given in pixels per second. So an xSpeed of 100 would rotate the sprite 100 pixels in 1 second (1000ms) * Due to the nature of the internal Flash timer this amount is not 100% accurate and will vary above/below the desired distance by a few pixels. * @param RotationType * @param StoppingType { LimitVelocity : true } * Sets the maximum speed (in pixels per second) that the FlxSprite can rotate. * When the FlxSprite is accelerating (movement type MOVEMENT_ACCELERATES) its speed won't increase above this value. * However Flixel allows the velocity of an FlxSprite to be set to anything. So if you'd like to check the value and restrain it, then enable "limitVelocity". * * @param Speed The maximum speed in pixels per second in which the sprite can rotate * @param LimitVelocity If true the angular velocity of the FlxSprite will be checked and kept within the limit. If false it can be set to anything. * Deceleration is a speed (in pixels per second) that is applied to the sprite if stopping type is "DECELERATES" and if no rotation is taking place. * The velocity of the sprite will be reduced until it reaches zero. * * @param Speed The speed in pixels per second at which the sprite will have its angular rotation speed decreased * Set minimum and maximum angle limits that the Sprite won't be able to rotate beyond. * Values must be between -180 and +180. 0 is pointing right, 90 down, 180 left, -90 up. * * @param MinimumAngle Minimum angle below which the sprite cannot rotate (must be -180 or above) * @param MaximumAngle Maximum angle above which the sprite cannot rotate (must be 180 or below) * Disables rotation limits set in place by setRotationLimits() { CustomClockwise : "", CustomAntiClockwise : "", UpDown : false, LeftRight : true } * Set which keys will rotate the sprite. The speed of rotation is set in setRotationSpeed. * * @param LeftRight Use the LEFT and RIGHT arrow keys for anti-clockwise and clockwise rotation respectively. * @param UpDown Use the UP and DOWN arrow keys for anti-clockwise and clockwise rotation respectively. * @param CustomAntiClockwise The String value of your own key to use for anti-clockwise rotation (as taken from flixel.system.input.Keyboard) * @param CustomClockwise The String value of your own key to use for clockwise rotation (as taken from flixel.system.input.Keyboard) { ReverseSpeed : 0 } * If you want to enable a Thrust like motion for your sprite use this to set the speed and keys. * This is usually used in conjunction with Rotation and it will over-ride anything already defined in setMovementSpeed. * * @param ThrustKey Specify the key String (as taken from flixel.system.input.Keyboard) to use for the Thrust action * @param ThrustSpeed The speed in pixels per second which the sprite will move. Acceleration or Instant movement is determined by the Movement Type. * @param ReverseKey If you want to be able to reverse, set the key string as taken from flixel.system.input.Keyboard (defaults to null). * @param ReverseSpeed The speed in pixels per second which the sprite will reverse. Acceleration or Instant movement is determined by the Movement Type. { LimitVelocity : true } * Sets the maximum speed (in pixels per second) that the FlxSprite can move. You can set the horizontal and vertical speeds independantly. * When the FlxSprite is accelerating (movement type MOVEMENT_ACCELERATES) its speed won't increase above this value. * However Flixel allows the velocity of an FlxSprite to be set to anything. So if you'd like to check the value and restrain it, then enable "limitVelocity". * * @param SpeedX The maximum speed in pixels per second in which the sprite can move horizontally * @param SpeedY The maximum speed in pixels per second in which the sprite can move vertically * @param LimitVelocity If true the velocity of the FlxSprite will be checked and kept within the limit. If false it can be set to anything. * Deceleration is a speed (in pixels per second) that is applied to the sprite if stopping type is "DECELERATES" and if no acceleration is taking place. * The velocity of the sprite will be reduced until it reaches zero, and can be configured separately per axis. * * @param SpeedX The speed in pixels per second at which the sprite will have its horizontal speed decreased * @param SpeedY The speed in pixels per second at which the sprite will have its vertical speed decreased * Gravity can be applied to the sprite, pulling it in any direction. * Gravity is given in pixels per second and is applied as acceleration. The speed the sprite reaches under gravity will never exceed the Maximum Movement Speeds set. * If you don't want gravity for a specific direction pass a value of zero. * * @param ForceX A positive value applies gravity dragging the sprite to the right. A negative value drags the sprite to the left. Zero disables horizontal gravity. * @param ForceY A positive value applies gravity dragging the sprite down. A negative value drags the sprite up. Zero disables vertical gravity. * Switches the gravity applied to the sprite. If gravity was +400 Y (pulling them down) this will swap it to -400 Y (pulling them up) * To reset call flipGravity again { ResetY : true, ResetX : true } * TODO * * @param ResetX * @param ResetY * Set sound effects for the movement events jumping, firing, walking and thrust. * * @param Jump The FlxSound to play when the user jumps * @param Fire The FlxSound to play when the user fires * @param Walk The FlxSound to play when the user walks * @param Thrust The FlxSound to play when the user thrusts { AltKey : "" } * Enable a fire button * * @param Key The key to use as the fire button (String from flixel.system.input.Keyboard, i.e. "SPACE", "CONTROL") * @param Keymode The FlxControlHandler KEYMODE value (KEYMODE_PRESSED, KEYMODE_JUST_DOWN, KEYMODE_RELEASED) * @param RepeatDelay Time delay in ms between which the fire action can repeat (0 means instant, 250 would allow it to fire approx. 4 times per second) * @param Callback A user defined function to call when it fires * @param AltKey Specify an alternative fire key that works AS WELL AS the primary fire key (TODO) { AltKey : "", JumpFromFall : 0, RepeatDelay : 250 } * Enable a jump button * * @param Key The key to use as the jump button (String from flixel.system.input.Keyboard, i.e. "SPACE", "CONTROL") * @param Keymode The FlxControlHandler KEYMODE value (KEYMODE_PRESSED, KEYMODE_JUST_DOWN, KEYMODE_RELEASED) * @param Height The height in pixels/sec that the Sprite will attempt to jump (gravity and acceleration can influence this actual height obtained) * @param Surface A bitwise combination of all valid surfaces the Sprite can jump off (such as FLOOR) * @param RepeatDelay Time delay in ms between which the jumping can repeat (250 would be 4 times per second) * @param JumpFromFall A time in ms that allows the Sprite to still jump even if it's just fallen off a platform, if still within ths time limit * @param Callback A user defined function to call when the Sprite jumps * @param AltKey Specify an alternative jump key that works AS WELL AS the primary jump key (TODO) * Limits the sprite to only be allowed within this rectangle. If its x/y coordinates go outside it will be repositioned back inside. * Coordinates should be given in GAME WORLD pixel values (not screen value, although often they are the two same things) * * @param X The x coordinate of the top left corner of the area (in game world pixels) * @param Y The y coordinate of the top left corner of the area (in game world pixels) * @param Width The width of the area (in pixels) * @param Height The height of the area (in pixels) * Clears any previously set sprite bounds * Called by the FlxControl plugin * Sets Custom Key controls. Useful if none of the pre-defined sets work. All String values should be taken from flixel.system.input.Keyboard * Pass a blank (empty) String to disable that key from being checked. * * @param CustomUpKey The String to use for the Up key. * @param CustomDownKey The String to use for the Down key. * @param CustomLeftKey The String to use for the Left key. * @param CustomRightKey The String to use for the Right key. { AllowRight : true, AllowLeft : true, AllowDown : true, AllowUp : true } * Enables Cursor/Arrow Key controls. Can be set on a per-key basis. Useful if you only want to allow a few keys. * For example in a Space Invaders game you'd only enable LEFT and RIGHT. * * @param AllowUp Enable the UP key * @param AllowDown Enable the DOWN key * @param AllowLeft Enable the LEFT key * @param AllowRight Enable the RIGHT key { AllowRight : true, AllowLeft : true, AllowDown : true, AllowUp : true } * Enables WASD controls. Can be set on a per-key basis. Useful if you only want to allow a few keys. * For example in a Space Invaders game you'd only enable LEFT and RIGHT. * * @param allowUp Enable the up (W) key * @param allowDown Enable the down (S) key * @param allowLeft Enable the left (A) key * @param allowRight Enable the right (D) key { AllowRight : true, AllowLeft : true, AllowDown : true, AllowUp : true } * Enables ESDF (home row) controls. Can be set on a per-key basis. Useful if you only want to allow a few keys. * For example in a Space Invaders game you'd only enable LEFT and RIGHT. * * @param AllowUp Enable the up (E) key * @param AllowDown Enable the down (D) key * @param AllowLeft Enable the left (S) key * @param AllowRight Enable the right (F) key { AllowRight : true, AllowLeft : true, AllowDown : true, AllowUp : true } * Enables IJKL (right-sided or secondary player) controls. Can be set on a per-key basis. Useful if you only want to allow a few keys. * For example in a Space Invaders game you'd only enable LEFT and RIGHT. * * @param AllowUp Enable the up (I) key * @param AllowDown Enable the down (K) key * @param AllowLeft Enable the left (J) key * @param AllowRight Enable the right (L) key { AllowRight : true, AllowLeft : true, AllowDown : true, AllowUp : true } * Enables HJKL (Rogue / Net-Hack) controls. Can be set on a per-key basis. Useful if you only want to allow a few keys. * For example in a Space Invaders game you'd only enable LEFT and RIGHT. * * @param AllowUp Enable the up (K) key * @param AllowDown Enable the down (J) key * @param AllowLeft Enable the left (H) key * @param AllowRight Enable the right (L) key { AllowRight : true, AllowLeft : true, AllowDown : true, AllowUp : true } * Enables ZQSD (Azerty keyboard) controls. Can be set on a per-key basis. Useful if you only want to allow a few keys. * For example in a Space Invaders game you'd only enable LEFT and RIGHT. * * @param AllowUp Enable the up (Z) key * @param AllowDown Enable the down (Q) key * @param AllowLeft Enable the left (S) key * @param AllowRight Enable the right (D) key { AllowRight : true, AllowLeft : true, AllowDown : true, AllowUp : true } * Enables Dvoark Simplified Controls. Can be set on a per-key basis. Useful if you only want to allow a few keys. * For example in a Space Invaders game you'd only enable LEFT and RIGHT. * * @param AllowUp Enable the up (COMMA) key * @param AllowDown Enable the down (A) key * @param AllowLeft Enable the left (O) key * @param AllowRight Enable the right (E) key { AllowRight : true, AllowLeft : true, AllowDown : true, AllowUp : true } * Enables Numpad (left-handed) Controls. Can be set on a per-key basis. Useful if you only want to allow a few keys. * For example in a Space Invaders game you'd only enable LEFT and RIGHT. * * @param AllowUp Enable the up (NUMPADEIGHT) key * @param AllowDown Enable the down (NUMPADTWO) key * @param AllowLeft Enable the left (NUMPADFOUR) key * @param AllowRight Enable the right (NUMPADSIX) key { EnableArrowKeys : true, UpdateFacing : false } * Sets the FlxSprite to be controlled by this class, and defines the initial movement and stopping types. * After creating an instance of this class you should call setMovementSpeed, and one of the enableXControl functions if you need more than basic cursors. * * @param Sprite The FlxSprite you want this class to control. It can only control one FlxSprite at once. * @param MovementType Set to either MOVEMENT_INSTANT or MOVEMENT_ACCELERATES * @param StoppingType Set to STOPPING_INSTANT, STOPPING_DECELERATES or STOPPING_NEVER * @param UpdateFacing If true it sets the FlxSprite.facing value to the direction pressed (default false) * @param EnableArrowKeys If true it will enable all arrow keys (default) - see setCursorControl for more fine-grained control * * Makes controlling an FlxSprite with the keyboard a LOT easier and quicker to set-up! * Sometimes it's hard to know what values to set, especially if you want gravity, jumping, sliding, etc. * This class helps sort that - and adds some cool extra functionality too :) * * TODO: Hot Keys * TODO: Binding of sound effects to keys (seperate from setSounds? as those are event based) * TODO: Specify animation frames to play based on velocity * TODO: Variable gravity (based on height, the higher the stronger the effect) * * @link http://www.photonstorm.com * @author Richard Davey / Photon Storm hscript.UsingHandler.build() hscript.ClassExtendMacro.build() { DecelerationY : 0, DecelerationX : 0 } * Set the speed at which the sprite will move when a direction key is pressed. * All values are given in pixels per second. So an xSpeed of 100 would move the sprite 100 pixels in 1 second (1000ms) * Due to the nature of the internal Flash timer this amount is not 100% accurate and will vary above/below the desired distance by a few pixels. * * If you need different speed values for left/right or up/down then use setAdvancedMovementSpeed * * @param SpeedX The speed in pixels per second in which the sprite will move/accelerate horizontally * @param SpeedY The speed in pixels per second in which the sprite will move/accelerate vertically * @param SpeedMaxX The maximum speed in pixels per second in which the sprite can move horizontally * @param SpeedMaxY The maximum speed in pixels per second in which the sprite can move vertically * @param DecelerationX A deceleration speed in pixels per second to apply to the sprites horizontal movement (default 0) * @param DecelerationY A deceleration speed in pixels per second to apply to the sprites vertical movement (default 0) <_HX_SUPER__setMovementSpeed public="1" set="method" line="31"> { DecelerationY : 0, DecelerationX : 0 } { Acceleration : true } * If you know you need the same value for the acceleration, maximum speeds and (optionally) deceleration then this is a quick way to set them. * * @param Speed The speed in pixels per second in which the sprite will move/accelerate/decelerate * @param Acceleration If true it will set the speed value as the deceleration value (default) false will leave deceleration disabled <_HX_SUPER__setStandardSpeed public="1" set="method" line="31"> { Acceleration : true } { DecelerationY : 0, DecelerationX : 0 } * Set the speed at which the sprite will move when a direction key is pressed. * All values are given in pixels per second. So an xSpeed of 100 would move the sprite 100 pixels in 1 second (1000ms) * Due to the nature of the internal Flash timer this amount is not 100% accurate and will vary above/below the desired distance by a few pixels. * * If you don't need different speed values for every direction on its own then use setMovementSpeed * * @param LeftSpeed The speed in pixels per second in which the sprite will move/accelerate to the left * @param RightSpeed The speed in pixels per second in which the sprite will move/accelerate to the right * @param UpSpeed The speed in pixels per second in which the sprite will move/accelerate up * @param DownSpeed The speed in pixels per second in which the sprite will move/accelerate down * @param SpeedMaxX The maximum speed in pixels per second in which the sprite can move horizontally * @param SpeedMaxY The maximum speed in pixels per second in which the sprite can move vertically * @param DecelerationX Deceleration speed in pixels per second to apply to the sprites horizontal movement (default 0) * @param DecelerationY Deceleration speed in pixels per second to apply to the sprites vertical movement (default 0) <_HX_SUPER__setAdvancedMovementSpeed public="1" set="method" line="31"> { DecelerationY : 0, DecelerationX : 0 } * Set the speed at which the sprite will rotate when a direction key is pressed. * Use this in combination with setMovementSpeed to create a Thrust like movement system. * All values are given in pixels per second. So an xSpeed of 100 would rotate the sprite 100 pixels in 1 second (1000ms) * Due to the nature of the internal Flash timer this amount is not 100% accurate and will vary above/below the desired distance by a few pixels. <_HX_SUPER__setRotationSpeed public="1" set="method" line="31"> * @param RotationType * @param StoppingType <_HX_SUPER__setRotationType public="1" set="method" line="31"> { LimitVelocity : true } * Sets the maximum speed (in pixels per second) that the FlxSprite can rotate. * When the FlxSprite is accelerating (movement type MOVEMENT_ACCELERATES) its speed won't increase above this value. * However Flixel allows the velocity of an FlxSprite to be set to anything. So if you'd like to check the value and restrain it, then enable "limitVelocity". * * @param Speed The maximum speed in pixels per second in which the sprite can rotate * @param LimitVelocity If true the angular velocity of the FlxSprite will be checked and kept within the limit. If false it can be set to anything. <_HX_SUPER__setMaximumRotationSpeed public="1" set="method" line="31"> { LimitVelocity : true } * Deceleration is a speed (in pixels per second) that is applied to the sprite if stopping type is "DECELERATES" and if no rotation is taking place. * The velocity of the sprite will be reduced until it reaches zero. * * @param Speed The speed in pixels per second at which the sprite will have its angular rotation speed decreased <_HX_SUPER__setRotationDeceleration public="1" set="method" line="31"> * Set minimum and maximum angle limits that the Sprite won't be able to rotate beyond. * Values must be between -180 and +180. 0 is pointing right, 90 down, 180 left, -90 up. * * @param MinimumAngle Minimum angle below which the sprite cannot rotate (must be -180 or above) * @param MaximumAngle Maximum angle above which the sprite cannot rotate (must be 180 or below) <_HX_SUPER__setRotationLimits public="1" set="method" line="31"> * Disables rotation limits set in place by setRotationLimits() <_HX_SUPER__disableRotationLimits public="1" set="method" line="31"> { CustomClockwise : "", CustomAntiClockwise : "", UpDown : false, LeftRight : true } * Set which keys will rotate the sprite. The speed of rotation is set in setRotationSpeed. * * @param LeftRight Use the LEFT and RIGHT arrow keys for anti-clockwise and clockwise rotation respectively. * @param UpDown Use the UP and DOWN arrow keys for anti-clockwise and clockwise rotation respectively. * @param CustomAntiClockwise The String value of your own key to use for anti-clockwise rotation (as taken from flixel.system.input.Keyboard) * @param CustomClockwise The String value of your own key to use for clockwise rotation (as taken from flixel.system.input.Keyboard) <_HX_SUPER__setRotationKeys public="1" set="method" line="31"> { CustomClockwise : "", CustomAntiClockwise : "", UpDown : false, LeftRight : true } { ReverseSpeed : 0 } * If you want to enable a Thrust like motion for your sprite use this to set the speed and keys. * This is usually used in conjunction with Rotation and it will over-ride anything already defined in setMovementSpeed. * * @param ThrustKey Specify the key String (as taken from flixel.system.input.Keyboard) to use for the Thrust action * @param ThrustSpeed The speed in pixels per second which the sprite will move. Acceleration or Instant movement is determined by the Movement Type. * @param ReverseKey If you want to be able to reverse, set the key string as taken from flixel.system.input.Keyboard (defaults to null). * @param ReverseSpeed The speed in pixels per second which the sprite will reverse. Acceleration or Instant movement is determined by the Movement Type. <_HX_SUPER__setThrust public="1" set="method" line="31"> { ReverseSpeed : 0 } { LimitVelocity : true } * Sets the maximum speed (in pixels per second) that the FlxSprite can move. You can set the horizontal and vertical speeds independantly. * When the FlxSprite is accelerating (movement type MOVEMENT_ACCELERATES) its speed won't increase above this value. * However Flixel allows the velocity of an FlxSprite to be set to anything. So if you'd like to check the value and restrain it, then enable "limitVelocity". * * @param SpeedX The maximum speed in pixels per second in which the sprite can move horizontally * @param SpeedY The maximum speed in pixels per second in which the sprite can move vertically * @param LimitVelocity If true the velocity of the FlxSprite will be checked and kept within the limit. If false it can be set to anything. <_HX_SUPER__setMaximumSpeed public="1" set="method" line="31"> { LimitVelocity : true } * Deceleration is a speed (in pixels per second) that is applied to the sprite if stopping type is "DECELERATES" and if no acceleration is taking place. * The velocity of the sprite will be reduced until it reaches zero, and can be configured separately per axis. * * @param SpeedX The speed in pixels per second at which the sprite will have its horizontal speed decreased * @param SpeedY The speed in pixels per second at which the sprite will have its vertical speed decreased <_HX_SUPER__setDeceleration public="1" set="method" line="31"> * Gravity can be applied to the sprite, pulling it in any direction. * Gravity is given in pixels per second and is applied as acceleration. The speed the sprite reaches under gravity will never exceed the Maximum Movement Speeds set. * If you don't want gravity for a specific direction pass a value of zero. * * @param ForceX A positive value applies gravity dragging the sprite to the right. A negative value drags the sprite to the left. Zero disables horizontal gravity. * @param ForceY A positive value applies gravity dragging the sprite down. A negative value drags the sprite up. Zero disables vertical gravity. <_HX_SUPER__setGravity public="1" set="method" line="31"> * Switches the gravity applied to the sprite. If gravity was +400 Y (pulling them down) this will swap it to -400 Y (pulling them up) * To reset call flipGravity again <_HX_SUPER__flipGravity public="1" set="method" line="31"> { ResetY : true, ResetX : true } * TODO * * @param ResetX * @param ResetY <_HX_SUPER__resetSpeeds public="1" set="method" line="31"> { ResetY : true, ResetX : true } * Set sound effects for the movement events jumping, firing, walking and thrust. * * @param Jump The FlxSound to play when the user jumps * @param Fire The FlxSound to play when the user fires * @param Walk The FlxSound to play when the user walks * @param Thrust The FlxSound to play when the user thrusts <_HX_SUPER__setSounds public="1" set="method" line="31"> { AltKey : "" } * Enable a fire button * * @param Key The key to use as the fire button (String from flixel.system.input.Keyboard, i.e. "SPACE", "CONTROL") * @param Keymode The FlxControlHandler KEYMODE value (KEYMODE_PRESSED, KEYMODE_JUST_DOWN, KEYMODE_RELEASED) * @param RepeatDelay Time delay in ms between which the fire action can repeat (0 means instant, 250 would allow it to fire approx. 4 times per second) * @param Callback A user defined function to call when it fires * @param AltKey Specify an alternative fire key that works AS WELL AS the primary fire key (TODO) <_HX_SUPER__setFireButton public="1" set="method" line="31"> { AltKey : "" } { AltKey : "", JumpFromFall : 0, RepeatDelay : 250 } * Enable a jump button * * @param Key The key to use as the jump button (String from flixel.system.input.Keyboard, i.e. "SPACE", "CONTROL") * @param Keymode The FlxControlHandler KEYMODE value (KEYMODE_PRESSED, KEYMODE_JUST_DOWN, KEYMODE_RELEASED) * @param Height The height in pixels/sec that the Sprite will attempt to jump (gravity and acceleration can influence this actual height obtained) * @param Surface A bitwise combination of all valid surfaces the Sprite can jump off (such as FLOOR) * @param RepeatDelay Time delay in ms between which the jumping can repeat (250 would be 4 times per second) * @param JumpFromFall A time in ms that allows the Sprite to still jump even if it's just fallen off a platform, if still within ths time limit * @param Callback A user defined function to call when the Sprite jumps * @param AltKey Specify an alternative jump key that works AS WELL AS the primary jump key (TODO) <_HX_SUPER__setJumpButton public="1" set="method" line="31"> { AltKey : "", JumpFromFall : 0, RepeatDelay : 250 } * Limits the sprite to only be allowed within this rectangle. If its x/y coordinates go outside it will be repositioned back inside. * Coordinates should be given in GAME WORLD pixel values (not screen value, although often they are the two same things) * * @param X The x coordinate of the top left corner of the area (in game world pixels) * @param Y The y coordinate of the top left corner of the area (in game world pixels) * @param Width The width of the area (in pixels) * @param Height The height of the area (in pixels) <_HX_SUPER__setBounds public="1" set="method" line="31"> * Clears any previously set sprite bounds <_HX_SUPER__removeBounds public="1" set="method" line="31"> <_HX_SUPER__moveUp set="method" line="148"> <_HX_SUPER__moveDown set="method" line="148"> <_HX_SUPER__moveLeft set="method" line="148"> <_HX_SUPER__moveRight set="method" line="148"> <_HX_SUPER__moveAntiClockwise set="method" line="148"> <_HX_SUPER__moveClockwise set="method" line="148"> <_HX_SUPER__moveThrust set="method" line="148"> <_HX_SUPER__moveReverse set="method" line="148"> <_HX_SUPER__runFire set="method" line="148"> <_HX_SUPER__runJump set="method" line="148"> * Called by the FlxControl plugin <_HX_SUPER__update public="1" set="method" line="31"> * Sets Custom Key controls. Useful if none of the pre-defined sets work. All String values should be taken from flixel.system.input.Keyboard * Pass a blank (empty) String to disable that key from being checked. * * @param CustomUpKey The String to use for the Up key. * @param CustomDownKey The String to use for the Down key. * @param CustomLeftKey The String to use for the Left key. * @param CustomRightKey The String to use for the Right key. <_HX_SUPER__setCustomKeys public="1" set="method" line="31"> { AllowRight : true, AllowLeft : true, AllowDown : true, AllowUp : true } * Enables Cursor/Arrow Key controls. Can be set on a per-key basis. Useful if you only want to allow a few keys. * For example in a Space Invaders game you'd only enable LEFT and RIGHT. * * @param AllowUp Enable the UP key * @param AllowDown Enable the DOWN key * @param AllowLeft Enable the LEFT key * @param AllowRight Enable the RIGHT key <_HX_SUPER__setCursorControl public="1" set="method" line="31"> { AllowRight : true, AllowLeft : true, AllowDown : true, AllowUp : true } { AllowRight : true, AllowLeft : true, AllowDown : true, AllowUp : true } * Enables WASD controls. Can be set on a per-key basis. Useful if you only want to allow a few keys. * For example in a Space Invaders game you'd only enable LEFT and RIGHT. * * @param allowUp Enable the up (W) key * @param allowDown Enable the down (S) key * @param allowLeft Enable the left (A) key * @param allowRight Enable the right (D) key <_HX_SUPER__setWASDControl public="1" set="method" line="31"> { AllowRight : true, AllowLeft : true, AllowDown : true, AllowUp : true } { AllowRight : true, AllowLeft : true, AllowDown : true, AllowUp : true } * Enables ESDF (home row) controls. Can be set on a per-key basis. Useful if you only want to allow a few keys. * For example in a Space Invaders game you'd only enable LEFT and RIGHT. * * @param AllowUp Enable the up (E) key * @param AllowDown Enable the down (D) key * @param AllowLeft Enable the left (S) key * @param AllowRight Enable the right (F) key <_HX_SUPER__setESDFControl public="1" set="method" line="31"> { AllowRight : true, AllowLeft : true, AllowDown : true, AllowUp : true } { AllowRight : true, AllowLeft : true, AllowDown : true, AllowUp : true } * Enables IJKL (right-sided or secondary player) controls. Can be set on a per-key basis. Useful if you only want to allow a few keys. * For example in a Space Invaders game you'd only enable LEFT and RIGHT. * * @param AllowUp Enable the up (I) key * @param AllowDown Enable the down (K) key * @param AllowLeft Enable the left (J) key * @param AllowRight Enable the right (L) key <_HX_SUPER__setIJKLControl public="1" set="method" line="31"> { AllowRight : true, AllowLeft : true, AllowDown : true, AllowUp : true } { AllowRight : true, AllowLeft : true, AllowDown : true, AllowUp : true } * Enables HJKL (Rogue / Net-Hack) controls. Can be set on a per-key basis. Useful if you only want to allow a few keys. * For example in a Space Invaders game you'd only enable LEFT and RIGHT. * * @param AllowUp Enable the up (K) key * @param AllowDown Enable the down (J) key * @param AllowLeft Enable the left (H) key * @param AllowRight Enable the right (L) key <_HX_SUPER__setHJKLControl public="1" set="method" line="31"> { AllowRight : true, AllowLeft : true, AllowDown : true, AllowUp : true } { AllowRight : true, AllowLeft : true, AllowDown : true, AllowUp : true } * Enables ZQSD (Azerty keyboard) controls. Can be set on a per-key basis. Useful if you only want to allow a few keys. * For example in a Space Invaders game you'd only enable LEFT and RIGHT. * * @param AllowUp Enable the up (Z) key * @param AllowDown Enable the down (Q) key * @param AllowLeft Enable the left (S) key * @param AllowRight Enable the right (D) key <_HX_SUPER__setZQSDControl public="1" set="method" line="31"> { AllowRight : true, AllowLeft : true, AllowDown : true, AllowUp : true } { AllowRight : true, AllowLeft : true, AllowDown : true, AllowUp : true } * Enables Dvoark Simplified Controls. Can be set on a per-key basis. Useful if you only want to allow a few keys. * For example in a Space Invaders game you'd only enable LEFT and RIGHT. * * @param AllowUp Enable the up (COMMA) key * @param AllowDown Enable the down (A) key * @param AllowLeft Enable the left (O) key * @param AllowRight Enable the right (E) key <_HX_SUPER__setDvorakSimplifiedControl public="1" set="method" line="31"> { AllowRight : true, AllowLeft : true, AllowDown : true, AllowUp : true } { AllowRight : true, AllowLeft : true, AllowDown : true, AllowUp : true } * Enables Numpad (left-handed) Controls. Can be set on a per-key basis. Useful if you only want to allow a few keys. * For example in a Space Invaders game you'd only enable LEFT and RIGHT. * * @param AllowUp Enable the up (NUMPADEIGHT) key * @param AllowDown Enable the down (NUMPADTWO) key * @param AllowLeft Enable the left (NUMPADFOUR) key * @param AllowRight Enable the right (NUMPADSIX) key <_HX_SUPER__setNumpadControl public="1" set="method" line="31"> { AllowRight : true, AllowLeft : true, AllowDown : true, AllowUp : true } <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.plugin.control.FlxControlHandler * Runs update on all currently active FlxControlHandlers <_HX_SUPER__update public="1" set="method" line="31"> * Runs when this plugin is destroyed <_HX_SUPER__destroy public="1" set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.plugin.control.FlxControl <_hotkeys static="1"> <_autoSave expr="false" line="33" static="1"> false <_autoHideMouse expr="false" line="34" static="1"> false <_region static="1"> 1 you need to account for this here. * * @param X The x coordinate (in Flash display space, not Flixel game world) * @param Y The y coordinate (in Flash display space, not Flixel game world) * @param Width The width of the grab region * @param Height The height of the grab region]]> * Clears a previously defined capture region { HideMouse : false, SaveToFile : false } * Specify which key will capture a screen shot. Use the String value of the key in the same way FlxG.keys does (so "F1" for example) * Optionally save the image to a file immediately. This uses the file systems "Save as" dialog window and pauses your game during the process. * * @param Key The key(s) you press to capture the screen (i.e. [F1, SPACE]) * @param SaveToFile If true it will immediately encodes the grab to a PNG and open a "Save As" dialog window when the hotkey is pressed * @param HideMouse If true the mouse will be hidden before capture and displayed afterwards when the hotkey is pressed * Clears all previously defined hotkeys { HideMouse : false, SaveToFile : false } * Takes a screen grab immediately of the given region or a previously defined region * * @param CaptureRegion A Rectangle area to capture. This over-rides that set by "defineCaptureRegion". If neither are set the full SWF size is used. * @param SaveToFile Boolean If set to true it will immediately encode the grab to a PNG and open a "Save As" dialog window * @param HideMouse Boolean If set to true the mouse will be hidden before capture and displayed again afterwards * @return Bitmap The screen grab as a Flash Bitmap image { Filename : "" } * Captures a screen grab of the game and stores it locally, optionally saving as a PNG. * * @link http://www.photonstorm.com * @author Richard Davey / Photon Storm hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__update public="1" set="method" line="31"> <_HX_SUPER__destroy public="1" set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.plugin.screengrab.FlxScreenGrab * Method-task to be executed * If true then the task will be deleted from the manager immediately after execution. * If true the task will be completed right after it's first call * Pointer to the next task. * Destroys the list. { Instant : false, IgnoreCycle : false } * Creates a new FlxTask * @author Anton Karlov * @since 08.22.2012 * @author Zaphod * @since 11.19.2012 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * This function will be called when all tasks in the task manager are completed 0 * Number of tasks in the list <_taskList> * The list of active tasks <_cycle expr="false"> false * Determines whether tasks are performed in a loop <_delay expr="0"> 0 * Used to calculate the current pause between tasks { IgnoreCycle : false } * Adds a task to the end of queue, the method will be executed while it returns false. * The task will be completed only when the method will return true. And manager will switch to the next task. * * @param Function Method-task to be executed in sequence. * @param IgnoreCycle If true then the task will be deleted from the manager immediately after execution. { IgnoreCycle : false } * Adds a task to the end of queue, the method will be executed only ONCE, after that we go to the next task. * * @param Function Method-task to be executed in sequence. * @param IgnoreCycle If true then the task will be deleted from the manager immediately after execution. { IgnoreCycle : false } * Adds a task to the top of the queue, the method will be executed while it returns false. * The task will be completed only when the method will return true, and the manager will move to the next task. * * @param Function Method-task to be executed in sequence. * @param IgnoreCycle If true then the task will be deleted from the manager immediately after execution. { IgnoreCycle : false } * Adds a task to the top of the queue, the method will be executed only ONCE, after that we go to the next task. * * @param Function Method-task to be executed in sequence. * @param IgnoreCycle If true then the task will be deleted from the manager immediately after execution. { IgnoreCycle : false } * Adds a pause between tasks * * @param Delay Pause duration * @param IgnoreCycle If true, the pause will be executed only once per cycle * Removes all the tasks from manager and stops it { IgnoreCycle : false } * Move to the next task * * @param IgnoreCycle Specifies whether to leave the previous problem in the manager * Current task processing * Method-task for a pause between tasks * * @param Delay Delay * @return Returns true when the task is completed * Adds the specified object to the end of the list * * @param Task The FlxTask to be added. * @return Returns a pointer to the added FlxTask. * Adds task to the top of task list * * @param Task The FlxTask to be added. * @return Returns a pointer to the added FlxTask * Removes first task * * @return The task that has been removed { Cycle : false } * The Task Manager is used to perform tasks (call methods) in specified order. * Allows you to quickly and easily program any action, such as the appearance of the buttons in the game menus. * Task Manager is started automatically when you add at least one task, and stops when all tasks are done. * * @author Anton Karlov * @since 08.22.2012 * @author Zaphod * @since 11.19.2012 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__destroy public="1" set="method" line="31"> { IgnoreCycle : false } * Adds a task to the end of queue, the method will be executed while it returns false. * The task will be completed only when the method will return true. And manager will switch to the next task. * * @param Function Method-task to be executed in sequence. * @param IgnoreCycle If true then the task will be deleted from the manager immediately after execution. <_HX_SUPER__addTask public="1" set="method" line="31"> { IgnoreCycle : false } { IgnoreCycle : false } * Adds a task to the end of queue, the method will be executed only ONCE, after that we go to the next task. * * @param Function Method-task to be executed in sequence. * @param IgnoreCycle If true then the task will be deleted from the manager immediately after execution. <_HX_SUPER__addInstantTask public="1" set="method" line="31"> { IgnoreCycle : false } { IgnoreCycle : false } * Adds a task to the top of the queue, the method will be executed while it returns false. * The task will be completed only when the method will return true, and the manager will move to the next task. * * @param Function Method-task to be executed in sequence. * @param IgnoreCycle If true then the task will be deleted from the manager immediately after execution. <_HX_SUPER__addUrgentTask public="1" set="method" line="31"> { IgnoreCycle : false } { IgnoreCycle : false } * Adds a task to the top of the queue, the method will be executed only ONCE, after that we go to the next task. * * @param Function Method-task to be executed in sequence. * @param IgnoreCycle If true then the task will be deleted from the manager immediately after execution. <_HX_SUPER__addUrgentInstantTask public="1" set="method" line="31"> { IgnoreCycle : false } { IgnoreCycle : false } * Adds a pause between tasks * * @param Delay Pause duration * @param IgnoreCycle If true, the pause will be executed only once per cycle <_HX_SUPER__addPause public="1" set="method" line="31"> { IgnoreCycle : false } * Removes all the tasks from manager and stops it <_HX_SUPER__clear public="1" set="method" line="31"> { IgnoreCycle : false } * Move to the next task * * @param IgnoreCycle Specifies whether to leave the previous problem in the manager <_HX_SUPER__nextTask public="1" set="method" line="31"> { IgnoreCycle : false } * Current task processing <_HX_SUPER__update public="1" set="method" line="31"> * Method-task for a pause between tasks * * @param Delay Delay * @return Returns true when the task is completed <_HX_SUPER__taskPause set="method" line="148"> * Adds the specified object to the end of the list * * @param Task The FlxTask to be added. * @return Returns a pointer to the added FlxTask. <_HX_SUPER__push set="method" line="148"> * Adds task to the top of task list * * @param Task The FlxTask to be added. * @return Returns a pointer to the added FlxTask <_HX_SUPER__unshift set="method" line="148"> * Removes first task * * @return The task that has been removed <_HX_SUPER__shift set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.plugin.taskManager.FlxTaskManager * Destroys the list. <_HX_SUPER__destroy public="1" set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.plugin.taskManager.FlxTask 4 * 2px gutter on both top and bottom "" * The text being displayed. * The size of the text being displayed in pixels. * The font used for this text (assuming that it's using embedded font). * Whether this text field uses an embedded font (by default) or not. * Read-only - use `systemFont` to specify a system font to use, which then automatically sets this to `false`. * The system font for this text (not embedded). Setting this sets `embedded` to `false`. * Passing an invalid font name (like `""` or `null`) causes a default font to be used. * Whether to use bold text or not (`false` by default). * Whether to use italic text or not (`false` by default). Only works on Flash. * Whether to use word wrapping and multiline or not (`true` by default). * The alignment of the font. Note: `autoSize` must be set to * `false` or `alignment` won't show any visual differences. NONE * The border style to use FlxColor.TRANSPARENT * The color of the border in `0xAARRGGBB` format 1 * The size of the border, in pixels. 1 * How many iterations do use when drawing the border. `0`: only 1 iteration, `1`: one iteration for every pixel in `borderSize` * A value of `1` will have the best quality for large border sizes, but might reduce performance when changing text. * NOTE: If the `borderSize` is `1`, `borderQuality` of `0` or `1` will have the exact same effect (and performance). * Reference to a `TextField` object used internally for rendering - * be sure to know what you're doing if messing with its properties! * Whether the `fieldWidth` should be determined automatically. Requires `wordWrap` to be `false`. * Offset that is applied to the shadow border style, if active. * `x` and `y` are multiplied by `borderSize`. Default is `(1, 1)`, or lower-right corner. <_defaultFormat> <_formatAdjusted> <_formatRanges expr="[]"> [] <_font> <_regen expr="true"> true * Helper boolean which tells whether to update graphic of this text object or not. <_borderPixels> * Helper vars to draw border styles with transparency. <_borderColorTransform> <_hasBorderAlpha expr="false"> false * Clean up memory. { Force : false } * Stamps text onto specified atlas object and loads graphic from this atlas. * WARNING: Changing text after stamping it on the atlas will break the atlas, so do it only for * static texts and only after making all the text customizing (like `size`, `alignment`, `color`, etc.) * * @param atlas atlas to stamp graphic to. * @return whether the graphic was stamped on the atlas successfully "); * text.applyMarkup("Hey @Buddy@, what is going @on?@", [yellow, green]); * ``` * * @param input The text you want to format * @param rules `FlxTextFormat`s to selectively apply, paired with marker strings]]> { End : -1, Start : -1 } * Adds another format to this `FlxText` * * @param Format The format to be added. * @param Start The start index of the string where the format will be applied. * @param End The end index of the string where the format will be applied. * Removes a specific `FlxTextFormat` from this text. * If a range is specified, this only removes the format when it touches that range. * Clears all the formats applied. { EmbeddedFont : true, BorderColor : FlxColor.TRANSPARENT, Color : FlxColor.WHITE, Size : 8 } * You can use this if you have a lot of text parameters to set instead of the individual properties. * * @param Font The name of the font face for the text display. * @param Size The size of the font (in pixels essentially). * @param Color The color of the text in `0xRRGGBB` format. * @param Alignment The desired alignment * @param BorderStyle Which border style to use * @param BorderColor Color for the border, `0xAARRGGBB` format * @param EmbeddedFont Whether this text field uses embedded fonts or not * @return This `FlxText` instance (nice for chaining stuff together, if you're into that). { Quality : 1, Size : 1, Color : 0 } * Set border's style (shadow, outline, etc), color, and size all in one go! * * @param Style outline style * @param Color outline color in `0xAARRGGBB` format * @param Size outline size in pixels * @param Quality outline quality - # of iterations to use when drawing. `0`: just 1, `1`: equal number to `Size` * Internal function to draw textField to a BitmapData, if flash it calculates every line x to avoid blurry lines. { RunOnCpp : false } * Internal function to update the current animation frame. * * @param RunOnCpp Whether the frame should also be recalculated if we're on a non-flash target * Helper function for `applyBorderStyle()` { UseBorderColor : false } { withAlign : true } * A helper function for updating the TextField that we use for rendering. * * @return A writable copy of `TextField.defaultTextFormat`. { EmbeddedFont : true, Size : 8, FieldWidth : 0, Y : 0, X : 0 } * Extends FlxSprite to support rendering text. Can tint, fade, rotate and scale just like a sprite. Doesn't really animate * though. Also does nice pixel-perfect centering on pixel fonts as long as they are only one-liners. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Clean up memory. { Y : 0, X : 0 } { Mask : 0xFF } flixel.FlxCamera * Called by game loop, updates then blits or renders current frame of animation to the screen { EmbeddedFont : true, Size : 8 } * Creates a new FlxText object at the specified position. * @param X The X position of the text. * @param Y The Y position of the text. * @param Width The width of the text object (height is determined automatically). * @param Text The actual text you would like to display initially. * @param EmbeddedFont Whether this text field uses embedded fonts or not * Extends FlxText for better support rendering text on cpp target. * Doesn't have multicamera support. * Displays over all other objects. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Clean up memory. <_HX_SUPER__destroy public="1" set="method" line="31"> { Y : 0, X : 0 } <_HX_SUPER__stamp public="1" set="method" line="31"> { Y : 0, X : 0 } { Mask : 0xFF } <_HX_SUPER__pixelsOverlapPoint public="1" set="method" line="148"> { Mask : 0xFF } <_HX_SUPER__isSimpleRender public="1" set="method" line="148"> <_HX_SUPER__get_pixels set="method" line="148"> <_HX_SUPER__set_pixels set="method" line="148"> <_HX_SUPER__set_alpha set="method" line="148"> <_HX_SUPER__set_height set="method" line="148"> <_HX_SUPER__set_visible set="method" line="148"> <_HX_SUPER__kill public="1" set="method" line="31"> <_HX_SUPER__revive public="1" set="method" line="31"> flixel.FlxCamera * Called by game loop, updates then blits or renders current frame of animation to the screen <_HX_SUPER__draw public="1" set="method" line="31"> <_HX_SUPER__get_camera set="method" line="148"> <_HX_SUPER__set_camera set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.text.FlxTextField Creates a new Sound from an AudioBuffer immediately. @param buffer An AudioBuffer instance @returns A new Sound Creates a new Sound from a file path synchronously. This means that the Sound will be returned immediately (if supported). HTML5 and Flash do not support creating Sound synchronously, so these targets always return `null`. In order to load files from a remote web address, use the `loadFromFile` method, which supports asynchronous loading. @param path A local file path containing a sound @returns A new Sound if successful, or `null` if unsuccessful Creates a new Sound from a file path or web address asynchronously. The file load will occur in the background. Progress, completion and error callbacks will be dispatched in the current thread using callbacks attached to a returned Future object. @param path A local file path or web address containing a sound @returns A Future Sound Creates a new Sound from a set of file paths or web addresses asynchronously. The audio backend will choose the first compatible file format, and will load the file it selects in the background. Progress, completion and error callbacks will be dispatched in the current thread using callbacks attached to a returned Future object. @param paths A set of local file paths or web addresses containing sound @returns A Future Sound Returns the currently available number of bytes in this sound object. This property is usually useful only for externally loaded files. Returns the total number of bytes in this sound object. Security.]]> Returns the buffering state of external MP3 files. If the value is `true`, any playback is currently suspended while the object waits for more data. The length of the current sound in milliseconds. The URL from which this sound was loaded. This property is applicable only to Sound objects that were loaded using the `Sound.load()` method. For Sound objects that are associated with a sound asset from a SWF file's library, the value of the `url` property is `null`. When you first call `Sound.load()`, the `url` property initially has a value of `null`, because the final URL is not yet known. The `url` property will have a non-null value as soon as an `open` event is dispatched from the Sound object. The `url` property contains the final, absolute URL from which a sound was loaded. The value of `url` is usually the same as the value passed to the `stream` parameter of `Sound.load()`. However, if you passed a relative URL to `Sound.load()` the value of the `url` property represents the absolute URL. Additionally, if the original URL request is redirected by an HTTP server, the value of the `url` property reflects the final URL from which the sound file was actually downloaded. This reporting of an absolute, final URL is equivalent to the behavior of `LoaderInfo.url`. In some cases, the value of the `url` property is truncated; see the `isURLInaccessible` property for details. <__buffer> Closes the stream, causing any download of data to cease. No data may be read from the stream after the `close()` method is called. @throws IOError The stream could not be closed, or the stream was not open. { context : null } Initiates loading of an external MP3 file from the specified URL. If you provide a valid URLRequest object to the Sound constructor, the constructor calls `Sound.load()` for you. You only need to call `Sound.load()` yourself if you don't pass a valid URLRequest object to the Sound constructor or you pass a `null` value. Once `load()` is called on a Sound object, you can't later load a different sound file into that Sound object. To load a different sound file, create a new Sound object. When using this method, consider the following security model: * Calling `Sound.load()` is not allowed if the calling file is in the local-with-file-system sandbox and the sound is in a network sandbox. * Access from the local-trusted or local-with-networking sandbox requires permission from a website through a URL policy file. * You cannot connect to commonly reserved ports. For a complete list of blocked ports, see "Restricting Networking APIs" in the _ActionScript 3.0 Developer's Guide_. * You can prevent a SWF file from using this method by setting the `allowNetworking` parameter of the `object` and `embed` tags in the HTML page that contains the SWF content. In Flash Player 10 and later, if you use a multipart Content-Type(for example "multipart/form-data") that contains an upload(indicated by a "filename" parameter in a "content-disposition" header within the POST body), the POST operation is subject to the security rules applied to uploads: * The POST operation must be performed in response to a user-initiated action, such as a mouse click or key press. * If the POST operation is cross-domain(the POST target is not on the same server as the SWF file that is sending the POST request), the target server must provide a URL policy file that permits cross-domain access. Also, for any multipart Content-Type, the syntax must be valid (according to the RFC2046 standards). If the syntax appears to be invalid, the POST operation is subject to the security rules applied to uploads. In Adobe AIR, content in the `application` security sandbox (content installed with the AIR application) are not restricted by these security limitations. For more information related to security, see the Flash Player Developer Center Topic: [Security](http://www.adobe.com/go/devnet_security_en). @param stream A URL that points to an external MP3 file. @param context An optional SoundLoader context object, which can define the buffer time(the minimum number of milliseconds of MP3 data to hold in the Sound object's buffer) and can specify whether the application should check for a cross-domain policy file prior to loading the sound. @throws IOError A network error caused the load to fail. @throws IOError The `digest` property of the `stream` object is not `null`. You should only set the `digest` property of a URLRequest object when calling the `URLLoader.load()` method when loading a SWZ file(an Adobe platform component). @throws SecurityError Local untrusted files may not communicate with the Internet. You can work around this by reclassifying this file as local-with-networking or trusted. @throws SecurityError You cannot connect to commonly reserved ports. For a complete list of blocked ports, see "Restricting Networking APIs" in the _ActionScript 3.0 Developer's Guide_. Load MP3 sound data from a ByteArray object into a Sound object. The data will be read from the current ByteArray position and will leave the ByteArray position at the end of the specified bytes length once finished. If the MP3 sound data contains ID3 data ID3 events will be dispatched during this function call. This function will throw an exception if the ByteArray object does not contain enough data. @param bytes @param bytesLength { sampleRate : 44100, stereo : true, format : "float" } = 21, this function throws an exception if the amount of audio data passed into this function is more than 1800 seconds. That is, samples / sampleRate should be less than or equal to 1800. For swf versions < 21, the runtime fails silently if the amount of audio data passed in is more than 12000 seconds. This is provided only for backward compatibility. This function throws an exception if the ByteArray object does not contain enough data. @param bytes @param samples @param format @param stereo @param sampleRate]]> 0 { sndTransform : null, loops : 0, startTime : 0.0 } Generates a new SoundChannel object to play back the sound. This method returns a SoundChannel object, which you access to stop the sound and to monitor volume.(To control the volume, panning, and balance, access the SoundTransform object assigned to the sound channel.) @param startTime The initial position in milliseconds at which playback should start. @param loops Defines the number of times a sound loops back to the `startTime` value before the sound channel stops playback. @param sndTransform The initial SoundTransform object assigned to the sound channel. @return A SoundChannel object, which you use to control the sound. This method returns `null` if you have no sound card or if you run out of available sound channels. The maximum number of sound channels available at once is 32. { context : null, stream : null } Creates a new Sound object. If you pass a valid URLRequest object to the Sound constructor, the constructor automatically calls the `load()` function for the Sound object. If you do not pass a valid URLRequest object to the Sound constructor, you must call the `load()` function for the Sound object yourself, or the stream will not load. Once `load()` is called on a Sound object, you can't later load a different sound file into that Sound object. To load a different sound file, create a new Sound object. In Flash Player 10 and later and AIR 1.5 and later, instead of using `load()`, you can use the `sampleData` event handler to load sound dynamically into the Sound object. @param stream The URL that points to an external MP3 file. @param context An optional SoundLoader context object, which can define the buffer time(the minimum number of milliseconds of MP3 data to hold in the Sound object's buffer) and can specify whether the application should check for a cross-domain policy file prior to loading the sound. The Sound class lets you work with sound in an application. The Sound class lets you create a Sound object, load and play an external MP3 file into that object, close the sound stream, and access data about the sound, such as information about the number of bytes in the stream and ID3 metadata. More detailed control of the sound is performed through the sound source - the SoundChannel or Microphone object for the sound - and through the properties in the SoundTransform class that control the output of the sound to the computer's speakers. In Flash Player 10 and later and AIR 1.5 and later, you can also use this class to work with sound that is generated dynamically. In this case, the Sound object uses the function you assign to a `sampleData` event handler to poll for sound data. The sound is played as it is retrieved from a ByteArray object that you populate with sound data. You can use `Sound.extract()` to extract sound data from a Sound object, after which you can manipulate it before writing it back to the stream for playback. To control sounds that are embedded in a SWF file, use the properties in the SoundMixer class. **Note**: The ActionScript 3.0 Sound API differs from ActionScript 2.0. In ActionScript 3.0, you cannot take sound objects and arrange them in a hierarchy to control their properties. When you use this class, consider the following security model: * Loading and playing a sound is not allowed if the calling file is in a network sandbox and the sound file to be loaded is local. * By default, loading and playing a sound is not allowed if the calling file is local and tries to load and play a remote sound. A user must grant explicit permission to allow this type of access. * Certain operations dealing with sound are restricted. The data in a loaded sound cannot be accessed by a file in a different domain unless you implement a cross-domain policy file. Sound-related APIs that fall under this restriction are `Sound.id3`, `SoundMixer.computeSpectrum()`, `SoundMixer.bufferTime`, and the `SoundTransform` class. However, in Adobe AIR, content in the `application` security sandbox(content installed with the AIR application) are not restricted by these security limitations. For more information related to security, see the Flash Player Developer Center Topic: [Security](http://www.adobe.com/go/devnet_security_en). @event complete Dispatched when data has loaded successfully. @event id3 Dispatched by a Sound object when ID3 data is available for an MP3 sound. @event ioError Dispatched when an input/output error occurs that causes a load operation to fail. @event open Dispatched when a load operation starts. @event progress Dispatched when data is received as a load operation progresses. @event sampleData Dispatched when the runtime requests new audio data. "tags=\"haxe,release\"" lime.media.AudioBuffer lime.utils.AssetLibrary openfl.media.SoundMixer openfl.media.SoundChannel.new openfl.utils._internal.AssetsMacro.embedSound() "__ASSET__:sound_flixel_addons_text_TypeSound" openfl.utils._internal.AssetsMacro.embedSound() openfl.utils._internal.AssetsMacro.embedSound() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() "assets/sounds/type.ogg" "" * Helper string to reduce garbage generation. 0.05 * The delay between each character, in seconds. 0.02 * The delay between each character erasure, in seconds. false * Set to true to show a blinking cursor at the end of the text. "|" * The character to blink at the end of the text. 0.5 * The speed at which the cursor should blink, if shown at all. "" * Text to add at the beginning, without animating. false * Whether or not to erase this message when it is complete. 1.0 * How long to pause after finishing the text before erasing it. Only used if autoErase is true. false * Whether or not to animate the text. Set to false by start() and erase(). * The sounds that are played when letters are added; optional. false * Whether or not to use the default typing sound. false * Whether typing sound effects should always be played in their entirety, or if it's ok to restart them on new letters. * For longer typing sounds, setting this to `true` usually makes more sense. * @since 2.4.0 [] * An array of keys (e.g. `[FlxKey.SPACE, FlxKey.L]`) that will advance the text. * This function is called when the message is done typing. * This function is called when the message is done erasing, if that is enabled. <_finalText expr=""""> "" * The text that will ultimately be displayed. <_timer expr="0.0"> 0.0 * This is incremented every frame by elapsed, and when greater than delay, adds the next letter. <_waitTimer expr="0.0"> 0.0 * A timer that is used while waiting between typing and erasing. <_length expr="0"> 0 * Internal tracker for current string length, not counting the prefix. <_typing expr="false"> false * Whether or not to type the text. Set to true by start() and false by pause(). <_erasing expr="false"> false * Whether or not to erase the text. Set to true by erase() and false by pause(). <_waiting expr="false"> false * Whether or not we're waiting between the type and erase phases. <_cursorTimer expr="0.0"> 0.0 * Internal tracker for cursor blink time. <_typingVariation expr="false"> false * Whether or not to add a "natural" uneven rhythm to the typing speed. <_typeVarPercent expr="0.5"> 0.5 * How much to vary typing speed, as a percent. So, at 0.5, each letter will be "typed" up to 50% sooner or later than the delay variable is set. <_sound> * Internal reference to the default sound object. { AutoErase : false, ForceRestart : false } * Start the text animation. * * @param Delay Optionally, set the delay between characters. Can also be set separately. * @param ForceRestart Whether or not to start this animation over if currently animating; false by default. * @param AutoErase Whether or not to begin the erase animation when the typing animation is complete. * Can also be set separately. * @param SkipKeys An array of keys as string values (e.g. `[FlxKey.SPACE, FlxKey.L]`) that will advance the text. * Can also be set separately. * @param Callback An optional callback function, to be called when the typing animation is complete. * Internal function that replace last space in a line for a line break. * To prevent a word start typing in a line and jump to next. { ForceRestart : false } * Begin an animated erase of this text. * * @param Delay Optionally, set the delay between characters. Can also be set separately. * @param ForceRestart Whether or not to start this animation over if currently animating; false by default. * @param SkipKeys An array of keys as string values (e.g. `[FlxKey.SPACE, FlxKey.L]`) that will advance the text. Can also be set separately. * @param Callback An optional callback function, to be called when the erasing animation is complete. * @param Params Optional parameters to pass to the callback function. * Reset the text with a new text string. Automatically cancels typing, and erasing. * * @param Text The text that will ultimately be displayed. { On : true, Amount : 0.5 } 0 and <1. * @param On Whether or not to add the random variation. True by default.]]> * Internal function that is called when typing is complete. * Immediately finishes the animation. Called if any of the skipKeys is pressed. * Handy for custom skipping behaviour (for example with different inputs like mouse or gamepad). { EmbeddedFont : true, Size : 8 } * Create a FlxTypeText object, which is very similar to FlxText except that the text is initially hidden and can be * animated one character at a time by calling start(). * * @param X The X position for this object. * @param Y The Y position for this object. * @param Width The width of this object. Text wraps automatically. * @param Text The text that will ultimately be displayed. * @param Size The size of the text. * @param EmbeddedFont Whether this text field uses embedded fonts or not. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> openfl.utils._internal.AssetsMacro.embedSound() openfl.utils._internal.AssetsMacro.embedSound() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.text.FlxTypeText.TypeSound flixel.addons.text.FlxTypeText { AutoErase : false, ForceRestart : false } * Start the text animation. * * @param Delay Optionally, set the delay between characters. Can also be set separately. * @param ForceRestart Whether or not to start this animation over if currently animating; false by default. * @param AutoErase Whether or not to begin the erase animation when the typing animation is complete. * Can also be set separately. * @param SkipKeys An array of keys as string values (e.g. `[FlxKey.SPACE, FlxKey.L]`) that will advance the text. * Can also be set separately. * @param Callback An optional callback function, to be called when the typing animation is complete. <_HX_SUPER__start public="1" set="method" line="31"> { AutoErase : false, ForceRestart : false } <_HX_SUPER__applyMarkup public="1" set="method" line="148"> * Internal function that replace last space in a line for a line break. * To prevent a word start typing in a line and jump to next. <_HX_SUPER__insertBreakLines set="method" line="148"> { ForceRestart : false } * Begin an animated erase of this text. * * @param Delay Optionally, set the delay between characters. Can also be set separately. * @param ForceRestart Whether or not to start this animation over if currently animating; false by default. * @param SkipKeys An array of keys as string values (e.g. `[FlxKey.SPACE, FlxKey.L]`) that will advance the text. Can also be set separately. * @param Callback An optional callback function, to be called when the erasing animation is complete. * @param Params Optional parameters to pass to the callback function. <_HX_SUPER__erase public="1" set="method" line="31"> { ForceRestart : false } * Reset the text with a new text string. Automatically cancels typing, and erasing. * * @param Text The text that will ultimately be displayed. <_HX_SUPER__resetText public="1" set="method" line="31"> { On : true, Amount : 0.5 } 0 and <1. * @param On Whether or not to add the random variation. True by default.]]> <_HX_SUPER__setTypingVariation public="1" set="method" line="31"> { On : true, Amount : 0.5 } * Internal function that is called when typing is complete. <_HX_SUPER__onComplete set="method" line="31"> <_HX_SUPER__onErased set="method" line="31"> <_HX_SUPER__update public="1" set="method" line="31"> * Immediately finishes the animation. Called if any of the skipKeys is pressed. * Handy for custom skipping behaviour (for example with different inputs like mouse or gamepad). <_HX_SUPER__skip public="1" set="method" line="31"> <_HX_SUPER__loadDefaultSound set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.text.FlxTypeText.TypeSound flixel.addons.text.FlxTypeText * Convert a matrix generated via generateCaveMatrix() into data * that is usable by FlxTilemap. * * @param Matrix A matrix of data * @return A string that is usuable for FlxTilemap.loadMap() { WallRatio : 0.5, SmoothingIterations : 6 } * Generate the matrix (2-dimensional array of Ints) for a cave. * * @param Columns Number of columns for the matrix * @param Rows Number of rows for the matrix * @param SmoothingIterations How many times do you want to "smooth" the caev - the higher the smoother, but slower * @param WallRatio Chance for a tile to become a wall - the closer the value is to 1.0, the more walls there are * @return Returns a matrix of a cave! { WallRatio : 0.5, SmoothingIterations : 6 } * Generates a new cave matrix via generateCaveMatrix() and returns it in a format * usable by FlxTilemap.load() via convertMatrixToString(). * * @param Columns Number of columns for the matrix * @param Rows Number of rows for the matrix * @param SmoothingIterations How many times do you want to "smooth" the caev - the higher the smoother, but slower * @param WallRatio Chance for a tile to become a wall - the closer the value is to 1.0, the more walls there are * @return A cave string that is usable by FlxTilemap.loadMap() * Creates a matrix (2-dimensional array of Ints) of an empty cave consisting of zeros only. * * @param Columns Number of columns for the matrix * @param Rows Number of rows for the matrix * @return Spits out a matrix that is columns * rows big, initiated with zeros { Distance : 1 } * @param Matrix Matrix of data (0 = empty, 1 = wall) * @param PosX Column we are examining * @param PosY Row we are exampining * @param Distance Radius of how far to check for neighbors * @return Number of walls around the target, including itself * Use the 4-5 rule to smooth cells * This class uses the cellular automata algorithm * to generate very sexy caves. * (Coded by Eddie Lee, October 16, 2010) hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.tile.FlxCaveGenerator * String name of the animation (e.g. "walk") * Seconds between frames (basically the framerate) * A list of frames stored as int objects * Whether or not the animation is looped * An array of dynamic elements that let you add arbritary data to each frame * Animation frameRate - the speed in frames per second that the animation should play at. * Clean up memory. { Looped : true, FrameRate : 0 } * @param Name What this animation should be called (e.g. "run") * @param Frames An array of numbers indicating what frames to play in what order (e.g. 1, 2, 3) * @param FrameRate The speed in frames per second that the animation should play at (e.g. 40) * @param Looped Whether or not the animation is looped or just plays once * @param FramesData An array of dynamic elements that let you add arbritary data to each frame hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Clean up memory. <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__set_frameRate set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.tile.FlxTileAnimation 0 1 2 false false 0 <_tmp_flipH> <_tmp_flipV> <_tmp_rot> <_matrix> <_currIndex expr="0"> 0 <_lastIndex expr="-1"> -1 <_currAnimParam> <_frameTimer expr="0.0"> 0.0 true { frameRate : 30 } * Add an animation to this special tile * @param tiles An array with the tilesetID of each frame * @param frameRate The speed of the animation in frames per second (Default: 30) * Creates tile animation and copies data from specified sprite animation (name, frame ids, framerate and looping); * @param anim Animation to copy data from * Calculates and return the matrix * @param width the tile width * @param height the tile height * @return The matrix calculated hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__update public="1" set="method" line="31"> <_HX_SUPER__paint public="1" set="method" line="31"> { frameRate : 30 } * Add an animation to this special tile * @param tiles An array with the tilesetID of each frame * @param frameRate The speed of the animation in frames per second (Default: 30) <_HX_SUPER__addAnimation public="1" set="method" line="31"> { frameRate : 30 } * Creates tile animation and copies data from specified sprite animation (name, frame ids, framerate and looping); * @param anim Animation to copy data from <_HX_SUPER__fromSpriteAnimation public="1" set="method" line="31"> * Calculates and return the matrix * @param width the tile width * @param height the tile height * @return The matrix calculated <_HX_SUPER__getMatrix public="1" set="method" line="148"> <_HX_SUPER__set_frames set="method" line="148"> <_HX_SUPER__set_currTileId set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.tile.FlxTileSpecial flixel.addons.tile.FlxTileSpecial.AnimParams Calculates the distance between two `Vector2` points @param pt1 A `Vector2` instance @param pt2 A second `Vector2` instance @return The distance between each `Vector2` { result : null } Interpolates between two points, given a specified percentage value @param pt1 A `Vector2` instance @param pt2 A second `Vector2` instance @param f A percentage value to interpolate @param result (Optional) A `Vector2` instance to use for the result @return A `Vector2` instance holding the interpolated value { result : null } Converts a polar coordinate to into a cartesian `Vector2` instance @param len The length of the polar value @param angle The angle of the polar value @param result (Optional) A `Vector2` instance to store the result @return A `Vector2` instance in cartesian coordinates Gets the length of this vector from (0, 0) to (x, y) Gets the square of the length of this vector, which avoids use of `Math.sqrt` for faster performance The x coodinate for this vector The y coodinate for this vector { result : null } Adds the current vector to a second `Vector2` instance and returns the result @param v A `Vector2` instance to add @param result (Optional) A `Vector2` instance to store the result @return A `Vector2` instance that combines both vector values Clones the current `Vector2` @return A new `Vector2` instance with the same values as the current one Whether this `Vector2` has the same values as another instance @param toCompare A `Vector2` instance to compare against @return Whether the values of each vector are equal Normalizes this vector between the current length and a set scale value @param thickness The scaling value. . For example, if the current vector is `(0, 5)` and you normalize it to 1, the normalized value will be `(0, 1)` Offsets the current value of this vector @param dx An offset x value @param dy An offset y value Sets this `Vector2` to new values @param xa An `x` value @param ya A `y` value { result : null } Subtracts the current vector from another `Vector2` instance @param v A `Vector2` instance to subtract from the current vector @param result (Optional) A `Vector2` instance to store the result @return A `Vector2` instance containing the subtracted values <__toFlashPoint set="method" line="181"> { y : 0, x : 0 } Creates a new `Vector` instance @param x (Optional) An initial `x` value (default is 0) @param y (Optional) An initial `y` value (default is 0) The `Vector2` class can be used for calculating math with basic (x, y) coordinates "tags=\"haxe,release\"" 14 <__supportsBGRA expr="null" line="127" static="1"> null <__textureFormat static="1"> <__textureInternalFormat static="1"> <__tempVector expr="new Vector2()" line="131" static="1"> new Vector2() Creates a new BitmapData instance from Base64-encoded data synchronously. This means that the BitmapData will be returned immediately (if supported). HTML5 and Flash do not support creating BitmapData synchronously, so these targets always return `null`. Other targets will return `null` if decoding was unsuccessful. @param base64 Base64-encoded data @param type The MIME-type for the encoded data ("image/jpeg", etc) @returns A new BitmapData if successful, or `null` if unsuccessful { rawAlpha : null } Creates a new BitmapData from bytes (a haxe.io.Bytes or openfl.utils.ByteArray) synchronously. This means that the BitmapData will be returned immediately (if supported). HTML5 and Flash do not support creating BitmapData synchronously, so these targets always return `null`. Other targets will return `null` if decoding was unsuccessful. The optional `rawAlpha` parameter makes it easier to process images that have alpha data stored separately. @param bytes A haxe.io.Bytes or openfl.utils.ByteArray instance @param rawAlpha An optional byte array with alpha data @returns A new BitmapData if successful, or `null` if unsuccessful Creates a new BitmapData from a file path synchronously. This means that the BitmapData will be returned immediately (if supported). HTML5 and Flash do not support creating BitmapData synchronously, so these targets always return `null`. In order to load files from a remote web address, use the `loadFromFile` method, which supports asynchronous loading. @param path A local file path containing an image @returns A new BitmapData if successful, or `null` if unsuccessful { transparent : true } Creates a new BitmapData using an existing Lime Image instance. @param image A Lime Image object @param transparent Whether the new BitmapData object should be considered transparent @returns A new BitmapData if the Image (and associated ImageBuffer) are not `null`, otherwise `null` will be returned **BETA** Creates a new BitmapData instance from a Stage3D rectangle texture. This method is not supported by the Flash target. @param texture A Texture or RectangleTexture instance @returns A new BitmapData if successful, or `null` if unsuccessful Creates a new BitmapData from Base64-encoded data asynchronously. The data and (if successful) decoding the data into an image occur in the background. Progress, completion and error callbacks will be dispatched in the current thread using callbacks attached to a returned Future object. @param base64 Base64-encoded data @param type The MIME-type for the encoded data ("image/jpeg", etc) @returns A Future BitmapData { rawAlpha : null } Creates a new BitmapData from haxe.io.Bytes or openfl.utils.ByteArray data asynchronously. The data and image decoding will occur in the background. Progress, completion and error callbacks will be dispatched in the current thread using callbacks attached to a returned Future object. The optional `rawAlpha` parameter makes it easier to process images that have alpha data stored separately. @param bytes A haxe.io.Bytes or openfl.utils.ByteArray instance @param rawAlpha An optional byte array with alpha data @returns A Future BitmapData Creates a new BitmapData from a file path or web address asynchronously. The file load and image decoding will occur in the background. Progress, completion and error callbacks will be dispatched in the current thread using callbacks attached to a returned Future object. @param path A local file path or web address containing an image @returns A Future BitmapData The height of the bitmap image in pixels. "checkstyle:Dynamic" The Lime image that holds the pixels for the current image. In Flash Player, this property is always `null`. Defines whether the bitmap image is readable. Hardware-only bitmap images do not support `getPixels`, `setPixels` and other BitmapData methods, though they can still be used inside a Bitmap object or other display objects that do not need to modify the pixels. As an exception to the rule, `bitmapData.draw` is supported for non-readable bitmap images. Since non-readable bitmap images do not have a software image buffer, they will need to be recreated if the current hardware rendering context is lost. The rectangle that defines the size and location of the bitmap image. The top and left of the rectangle are 0; the width and height are equal to the width and height in pixels of the BitmapData object. Defines whether the bitmap image supports per-pixel transparency. You can set this value only when you construct a BitmapData object by passing in `true` for the `transparent` parameter of the constructor. Then, after you create a BitmapData object, you can check whether it supports per-pixel transparency by determining if the value of the `transparent` property is `true`. The width of the bitmap image in pixels. <__blendMode> <__drawableType> <__framebuffer> <__framebufferContext> "checkstyle:Dynamic" <__indexBuffer> <__indexBufferContext> "checkstyle:Dynamic" <__indexBufferData> <__indexBufferGrid> <__isMask> <__isValid> <__mask> <__renderable> <__renderTransform> <__scrollRect> <__stencilBuffer> <__surface> "checkstyle:Dynamic" <__texture> <__textureContext> "checkstyle:Dynamic" <__textureHeight> <__textureVersion> <__textureWidth> <__transform> <__uvRect> <__vertexBuffer> <__vertexBufferContext> "checkstyle:Dynamic" <__vertexBufferData> <__vertexBufferGrid> <__vertexBufferHeight> <__vertexBufferScaleX> <__vertexBufferScaleY> <__vertexBufferWidth> <__worldAlpha> <__worldColorTransform> <__worldTransform> Takes a source image and a filter object and generates the filtered image. This method relies on the behavior of built-in filter objects, which determine the destination rectangle that is affected by an input source rectangle. After a filter is applied, the resulting image can be larger than the input image. For example, if you use a BlurFilter class to blur a source rectangle of(50,50,100,100) and a destination point of(10,10), the area that changes in the destination image is larger than(10,10,60,60) because of the blurring. This happens internally during the applyFilter() call. If the `sourceRect` parameter of the sourceBitmapData parameter is an interior region, such as(50,50,100,100) in a 200 x 200 image, the filter uses the source pixels outside the `sourceRect` parameter to generate the destination rectangle. If the BitmapData object and the object specified as the `sourceBitmapData` parameter are the same object, the application uses a temporary copy of the object to perform the filter. For best performance, avoid this situation. @param sourceBitmapData The input bitmap image to use. The source image can be a different BitmapData object or it can refer to the current BitmapData instance. @param sourceRect A rectangle that defines the area of the source image to use as input. @param destPoint The point within the destination image(the current BitmapData instance) that corresponds to the upper-left corner of the source rectangle. @param filter The filter object that you use to perform the filtering operation. Returns a new BitmapData object that is a clone of the original instance with an exact copy of the contained bitmap. @return A new BitmapData object that is identical to the original. Adjusts the color values in a specified area of a bitmap image by using a `ColorTransform` object. If the rectangle matches the boundaries of the bitmap image, this method transforms the color values of the entire image. @param rect A Rectangle object that defines the area of the image in which the ColorTransform object is applied. @param colorTransform A ColorTransform object that describes the color transformation values to apply. "checkstyle:Dynamic" Compares two BitmapData objects. If the two BitmapData objects have the same dimensions (width and height), the method returns a new BitmapData object, in which each pixel is the "difference" between the pixels in the two source objects: - If two pixels are equal, the difference pixel is 0x00000000. - If two pixels have different RGB values (ignoring the alpha value), the difference pixel is 0xFFRRGGBB where RR/GG/BB are the individual difference values between red, green, and blue channels. Alpha channel differences are ignored in this case. - If only the alpha channel value is different, the pixel value is 0xZZFFFFFF, where ZZ is the difference in the alpha value. @param otherBitmapData The BitmapData object to compare with the source BitmapData object. @return If the two BitmapData objects have the same dimensions (width and height), the method returns a new BitmapData object that has the difference between the two objects (see the main discussion).If the BitmapData objects are equivalent, the method returns the number 0. If no argument is passed or if the argument is not a BitmapData object, the method returns -1. If either BitmapData object has been disposed of, the method returns -2. If the widths of the BitmapData objects are not equal, the method returns the number -3. If the heights of the BitmapData objects are not equal, the method returns the number -4. Transfers data from one channel of another BitmapData object or the current BitmapData object into a channel of the current BitmapData object. All of the data in the other channels in the destination BitmapData object are preserved. The source channel value and destination channel value can be one of following values: * `BitmapDataChannel.RED` * `BitmapDataChannel.GREEN` * `BitmapDataChannel.BLUE` * `BitmapDataChannel.ALPHA` @param sourceBitmapData The input bitmap image to use. The source image can be a different BitmapData object or it can refer to the current BitmapData object. @param sourceRect The source Rectangle object. To copy only channel data from a smaller area within the bitmap, specify a source rectangle that is smaller than the overall size of the BitmapData object. @param destPoint The destination Point object that represents the upper-left corner of the rectangular area where the new channel data is placed. To copy only channel data from one area to a different area in the destination image, specify a point other than (0,0). @param sourceChannel The source channel. Use a value from the BitmapDataChannel class (`BitmapDataChannel.RED`, `BitmapDataChannel.BLUE`, `BitmapDataChannel.GREEN`, `BitmapDataChannel.ALPHA`). @param destChannel The destination channel. Use a value from the BitmapDataChannel class (`BitmapDataChannel.RED`, `BitmapDataChannel.BLUE`, `BitmapDataChannel.GREEN`, `BitmapDataChannel.ALPHA`). @throws TypeError The sourceBitmapData, sourceRect or destPoint are null. { mergeAlpha : false, alphaPoint : null, alphaBitmapData : null } Provides a fast routine to perform pixel manipulation between images with no stretching, rotation, or color effects. This method copies a rectangular area of a source image to a rectangular area of the same size at the destination point of the destination BitmapData object. If you include the `alphaBitmap` and `alphaPoint` parameters, you can use a secondary image as an alpha source for the source image. If the source image has alpha data, both sets of alpha data are used to composite pixels from the source image to the destination image. The `alphaPoint` parameter is the point in the alpha image that corresponds to the upper-left corner of the source rectangle. Any pixels outside the intersection of the source image and alpha image are not copied to the destination image. The `mergeAlpha` property controls whether or not the alpha channel is used when a transparent image is copied onto another transparent image. To copy pixels with the alpha channel data, set the `mergeAlpha` property to `true`. By default, the `mergeAlpha` property is `false`. @param sourceBitmapData The input bitmap image from which to copy pixels. The source image can be a different BitmapData instance, or it can refer to the current BitmapData instance. @param sourceRect A rectangle that defines the area of the source image to use as input. @param destPoint The destination point that represents the upper-left corner of the rectangular area where the new pixels are placed. @param alphaBitmapData A secondary, alpha BitmapData object source. @param alphaPoint The point in the alpha BitmapData object source that corresponds to the upper-left corner of the `sourceRect` parameter. @param mergeAlpha To use the alpha channel, set the value to `true`. To copy pixels with no alpha channel, set the value to `false`. @throws TypeError The sourceBitmapData, sourceRect, destPoint are null. Frees memory that is used to store the BitmapData object. When the `dispose()` method is called on an image, the width and height of the image are set to 0. All subsequent calls to methods or properties of this BitmapData instance fail, and an exception is thrown. `BitmapData.dispose()` releases the memory occupied by the actual bitmap data, immediately(a bitmap can consume up to 64 MB of memory). After using `BitmapData.dispose()`, the BitmapData object is no longer usable and an exception may be thrown if you call functions on the BitmapData object. However, `BitmapData.dispose()` does not garbage collect the BitmapData object(approximately 128 bytes); the memory occupied by the actual BitmapData object is released at the time the BitmapData object is collected by the garbage collector. Frees the backing Lime image buffer, if possible. When using a software renderer, such as Flash Player or desktop targets without OpenGL, the software buffer will be retained so that the BitmapData will work properly. When using a hardware renderer, the Lime image buffer will be available to garbage collection after a hardware texture has been created internally. `BitmapData.disposeImage()` will immediately change the value of the `readable` property to `false`. { smoothing : false, clipRect : null, blendMode : null, colorTransform : null, matrix : null } Draws the `source` display object onto the bitmap image, using the OpenFL software renderer. You can specify `matrix`, `colorTransform`, `blendMode`, and a destination `clipRect` parameter to control how the rendering performs. Optionally, you can specify whether the bitmap should be smoothed when scaled(this works only if the source object is a BitmapData object). The source display object does not use any of its applied transformations for this call. It is treated as it exists in the library or file, with no matrix transform, no color transform, and no blend mode. To draw a display object(such as a movie clip) by using its own transform properties, you can copy its `transform` property object to the `transform` property of the Bitmap object that uses the BitmapData object. @param source The display object or BitmapData object to draw to the BitmapData object.(The DisplayObject and BitmapData classes implement the IBitmapDrawable interface.) @param matrix A Matrix object used to scale, rotate, or translate the coordinates of the bitmap. If you do not want to apply a matrix transformation to the image, set this parameter to an identity matrix, created with the default `new Matrix()` constructor, or pass a `null` value. @param colorTransform A ColorTransform object that you use to adjust the color values of the bitmap. If no object is supplied, the bitmap image's colors are not transformed. If you must pass this parameter but you do not want to transform the image, set this parameter to a ColorTransform object created with the default `new ColorTransform()` constructor. @param blendMode A string value, from the openfl.display.BlendMode class, specifying the blend mode to be applied to the resulting bitmap. @param clipRect A Rectangle object that defines the area of the source object to draw. If you do not supply this value, no clipping occurs and the entire source object is drawn. @param smoothing A Boolean value that determines whether a BitmapData object is smoothed when scaled or rotated, due to a scaling or rotation in the `matrix` parameter. The `smoothing` parameter only applies if the `source` parameter is a BitmapData object. With `smoothing` set to `false`, the rotated or scaled BitmapData image can appear pixelated or jagged. For example, the following two images use the same BitmapData object for the `source` parameter, but the `smoothing` parameter is set to `true` on the left and `false` on the right: ![Two images: the left one with smoothing and the right one without smoothing.](/images/bitmapData_draw_smoothing.jpg) Drawing a bitmap with `smoothing` set to `true` takes longer than doing so with `smoothing` set to `false`. @throws ArgumentError The `source` parameter is not a BitmapData or DisplayObject object. @throws ArgumentError The source is null or not a valid IBitmapDrawable object. @throws SecurityError The `source` object and(in the case of a Sprite or MovieClip object) all of its child objects do not come from the same domain as the caller, or are not in a content that is accessible to the caller by having called the `Security.allowDomain()` method. This restriction does not apply to AIR content in the application security sandbox. { quality : null, smoothing : false, clipRect : null, blendMode : null, colorTransform : null, matrix : null } Draws the `source` display object onto the bitmap image, using the Flash runtime vector renderer. You can specify `matrix`, `colorTransform`, `blendMode`, and a destination `clipRect` parameter to control how the rendering performs. Optionally, you can specify whether the bitmap should be smoothed when scaled (this works only if the source object is a BitmapData object). **Note:** The `drawWithQuality()` method works exactly like the `draw()` method, but instead of using the `Stage.quality` property to determine the quality of vector rendering, you specify the `quality` parameter to the `drawWithQuality()` method. This method directly corresponds to how objects are drawn with the standard vector renderer for objects in the authoring tool interface. The source display object does not use any of its applied transformations for this call. It is treated as it exists in the library or file, with no matrix transform, no color transform, and no blend mode. To draw a display object (such as a movie clip) by using its own transform properties, you can copy its `transform` property object to the `transform` property of the Bitmap object that uses the BitmapData object. This method is supported over RTMP in Flash Player 9.0.115.0 and later and in Adobe AIR. You can control access to streams on Flash Media Server in a server-side script. For more information, see the `Client.audioSampleAccess` and `Client.videoSampleAccess` properties in Server-Side ActionScript Language Reference for Adobe Flash Media Server. If the source object and (in the case of a Sprite or MovieClip object) all of its child objects do not come from the same domain as the caller, or are not in a content that is accessible to the caller by having called the `Security.allowDomain()` method, a call to the `drawWithQuality()` throws a SecurityError exception. This restriction does not apply to AIR content in the application security sandbox. There are also restrictions on using a loaded bitmap image as the source. A call to the `drawWithQuality()` method is successful if the loaded image comes from the same domain as the caller. Also, a cross-domain policy file on the image's server can grant permission to the domain of the SWF content calling the `drawWithQuality()` method. In this case, you must set the `checkPolicyFile` property of a LoaderContext object, and use this object as the `context` parameter when calling the `load()` method of the Loader object used to load the image. These restrictions do not apply to AIR content in the application security sandbox. On Windows, the `drawWithQuality()` method cannot capture SWF content embedded in an HTML page in an HTMLLoader object in Adobe AIR. The `drawWithQuality()` method cannot capture PDF content in Adobe AIR. Nor can it capture or SWF content embedded in HTML in which the `wmode` attribute is set to `"window"` in Adobe AIR. @param source The display object or BitmapData object to draw to the BitmapData object. (The DisplayObject and BitmapData classes implement the IBitmapDrawable interface.) @param matrix A Matrix object used to scale, rotate, or translate the coordinates of the bitmap. If you do not want to apply a matrix transformation to the image, set this parameter to an identity matrix, created with the default `new Matrix()` constructor, or pass a `null` value. @param colorTransform A ColorTransform object that you use to adjust the color values of the bitmap. If no object is supplied, the bitmap image's colors are not transformed. If you must pass this parameter but you do not want to transform the image, set this parameter to a ColorTransform object created with the default `new ColorTransform()` constructor. @param blendMode A string value, from the flash.display.BlendMode class, specifying the blend mode to be applied to the resulting bitmap. @param clipRect A Rectangle object that defines the area of the source object to draw. If you do not supply this value, no clipping occurs and the entire source object is drawn. @param smoothing A Boolean value that determines whether a BitmapData object is smoothed when scaled or rotated, due to a scaling or rotation in the `matrix` parameter. The smoothing parameter only applies if the `source` parameter is a BitmapData object. With `smoothing` set to `false`, the rotated or scaled BitmapData image can appear pixelated or jagged. For example, the following two images use the same BitmapData object for the `source` parameter, but the `smoothing` parameter is set to `true` on the left and `false` on the right: ![Two images: the left one with smoothing and the right one without smoothing.](/images/bitmapData_draw_smoothing.jpg) Drawing a bitmap with `smoothing` set to `true` takes longer than doing so with `smoothing` set to `false`. @param quality Any of one of the StageQuality values. Selects the antialiasing quality to be used when drawing vectors graphics. @throws ArgumentError The source parameter is not a BitmapData or DisplayObject object. @throws SecurityError The source object and (in the case of a Sprite or MovieClip object) all of its child objects do not come from the same domain as the caller, or are not in a content that is accessible to the caller by having called the `Security.allowDomain()` method. This restriction does not apply to AIR content in the application security sandbox. @throws ArgumentError The source is `null` or not a valid IBitmapDrawable object. { byteArray : null } Compresses this BitmapData object using the selected compressor algorithm and returns a new ByteArray object. Optionally, writes the resulting data to the specified ByteArray. The `compressor` argument specifies the encoding algorithm, and can be PNGEncoderOptions, JPEGEncoderOptions, or JPEGXREncoderOptions. The following example compresses a BitmapData object using the JPEGEncoderOptions: ```haxe // Compress a BitmapData object as a JPEG file. var bitmapData:BitmapData = new BitmapData(640,480,false,0x00FF00); var byteArray:ByteArray = new ByteArray(); bitmapData.encode(new Rectangle(0,0,640,480), new openfl.display.JPEGEncoderOptions(), byteArray); ``` @param rect The area of the BitmapData object to compress. @param compressor The compressor type to use. Valid values are: flash.display.PNGEncoderOptions, flash.display.JPEGEncoderOptions, and flash.display.JPEGXREncoderOptions. @param byteArray The output ByteArray to hold the encoded image. @return A ByteArray containing the encoded image. Fills a rectangular area of pixels with a specified ARGB color. @param rect The rectangular area to fill. @param color The ARGB color value that fills the area. ARGB colors are often specified in hexadecimal format; for example, 0xFF336699. @throws TypeError The rect is null. Performs a flood fill operation on an image starting at an(_x_, _y_) coordinate and filling with a certain color. The `floodFill()` method is similar to the paint bucket tool in various paint programs. The color is an ARGB color that contains alpha information and color information. @param x The _x_ coordinate of the image. @param y The _y_ coordinate of the image. @param color The ARGB color to use as a fill. Determines the destination rectangle that the `applyFilter()` method call affects, given a BitmapData object, a source rectangle, and a filter object. For example, a blur filter normally affects an area larger than the size of the original image. A 100 x 200 pixel image that is being filtered by a default BlurFilter instance, where `blurX = blurY = 4` generates a destination rectangle of `(-2,-2,104,204)`. The `generateFilterRect()` method lets you find out the size of this destination rectangle in advance so that you can size the destination image appropriately before you perform a filter operation. Some filters clip their destination rectangle based on the source image size. For example, an inner `DropShadow` does not generate a larger result than its source image. In this API, the BitmapData object is used as the source bounds and not the source `rect` parameter. @param sourceRect A rectangle defining the area of the source image to use as input. @param filter A filter object that you use to calculate the destination rectangle. @return A destination rectangle computed by using an image, the `sourceRect` parameter, and a filter. @throws TypeError The sourceRect or filter are null. { scale9Grid : null } hide **BETA** Get the IndexBuffer3D object associated with this BitmapData object @param context A Stage3D context @returns An IndexBuffer3D object for use with rendering { targetObject : null, scale9Grid : null } hide **BETA** Get the VertexBuffer3D object associated with this BitmapData object @param context A Stage3D context @returns A VertexBuffer3D object for use with rendering { findColor : true } Returns an integer that represents an RGB pixel value from a BitmapData object at a specific point(_x_, _y_). The `getPixel()` method returns an unmultiplied pixel value. No alpha information is returned. All pixels in a BitmapData object are stored as premultiplied color values. A premultiplied image pixel has the red, green, and blue color channel values already multiplied by the alpha data. For example, if the alpha value is 0, the values for the RGB channels are also 0, independent of their unmultiplied values. This loss of data can cause some problems when you perform operations. All BitmapData methods take and return unmultiplied values. The internal pixel representation is converted from premultiplied to unmultiplied before it is returned as a value. During a set operation, the pixel value is premultiplied before the raw image pixel is set. @param x The _x_ position of the pixel. @param y The _y_ position of the pixel. @return A number that represents an RGB pixel value. If the(_x_, _y_) coordinates are outside the bounds of the image, the method returns 0. Returns an ARGB color value that contains alpha channel data and RGB data. This method is similar to the `getPixel()` method, which returns an RGB color without alpha channel data. All pixels in a BitmapData object are stored as premultiplied color values. A premultiplied image pixel has the red, green, and blue color channel values already multiplied by the alpha data. For example, if the alpha value is 0, the values for the RGB channels are also 0, independent of their unmultiplied values. This loss of data can cause some problems when you perform operations. All BitmapData methods take and return unmultiplied values. The internal pixel representation is converted from premultiplied to unmultiplied before it is returned as a value. During a set operation, the pixel value is premultiplied before the raw image pixel is set. @param x The _x_ position of the pixel. @param y The _y_ position of the pixel. @return A number representing an ARGB pixel value. If the(_x_, _y_) coordinates are outside the bounds of the image, 0 is returned. Generates a byte array from a rectangular region of pixel data. Writes an unsigned integer(a 32-bit unmultiplied pixel value) for each pixel into the byte array. @param rect A rectangular area in the current BitmapData object. @return A ByteArray representing the pixels in the given Rectangle. @throws TypeError The rect is null. "checkstyle:Dynamic" hide **BETA** Get the CairoImageSurface associated with this BitmapData object for use with Cairo software rendering @returns The associated CairoImageSurface hide **BETA** Get a hardware texture representing this BitmapData instance @param context A Context3D instance @returns A Texture or RectangleTexture instance Generates a vector array from a rectangular region of pixel data. Returns a Vector object of unsigned integers(a 32-bit unmultiplied pixel value) for the specified rectangle. @param rect A rectangular area in the current BitmapData object. @return A Vector representing the given Rectangle. @throws TypeError The rect is null. { hRect : null } instances (four Vector objects that contain Float objects). The four Vector instances represent the red, green, blue and alpha components in order. Each Vector instance contains 256 values that represent the population count of an individual component value, from 0 to 255. @param hRect The area of the BitmapData object to use.]]> { secondAlphaThreshold : 1, secondBitmapDataPoint : null } Performs pixel-level hit detection between one bitmap image and a point, rectangle, or other bitmap image. A hit is defined as an overlap of a point or rectangle over an opaque pixel, or two overlapping opaque pixels. No stretching, rotation, or other transformation of either object is considered when the hit test is performed. If an image is an opaque image, it is considered a fully opaque rectangle for this method. Both images must be transparent images to perform pixel-level hit testing that considers transparency. When you are testing two transparent images, the alpha threshold parameters control what alpha channel values, from 0 to 255, are considered opaque. @param firstPoint A position of the upper-left corner of the BitmapData image in an arbitrary coordinate space. The same coordinate space is used in defining the secondBitmapPoint parameter. @param firstAlphaThreshold The smallest alpha channel value that is considered opaque for this hit test. @param secondObject A Rectangle, Point, Bitmap, or BitmapData object. @param secondBitmapDataPoint A point that defines a pixel location in the second BitmapData object. Use this parameter only when the value of `secondObject` is a BitmapData object. @param secondAlphaThreshold The smallest alpha channel value that is considered opaque in the second BitmapData object. Use this parameter only when the value of `secondObject` is a BitmapData object and both BitmapData objects are transparent. @return A value of `true` if a hit occurs; otherwise, `false`. @throws ArgumentError The `secondObject` parameter is not a Point, Rectangle, Bitmap, or BitmapData object. @throws TypeError The `firstPoint` is `null`. Locks an image so that any objects that reference the BitmapData object, such as Bitmap objects, are not updated when this BitmapData object changes. To improve performance, use this method along with the `unlock()` method before and after numerous calls to the `setPixel()` or `setPixel32()` method. Performs per-channel blending from a source image to a destination image. For each channel and each pixel, a new value is computed based on the channel values of the source and destination pixels. For example, in the red channel, the new value is computed as follows (where `redSrc` is the red channel value for a pixel in the source image and `redDest` is the red channel value at the corresponding pixel of the destination image): ```haxe redDest = [(redSrc * redMultiplier) + (redDest * (256 - redMultiplier))] / 256; ``` The `redMultiplier`, `greenMultiplier`, `blueMultiplier`, and `alphaMultiplier` values are the multipliers used for each color channel. Use a hexadecimal value ranging from 0 to 0x100 (256) where 0 specifies the full value from the destination is used in the result, 0x100 specifies the full value from the source is used, and numbers in between specify a blend is used (such as 0x80 for 50%). @param sourceBitmapData The input bitmap image to use. The source image can be a different BitmapData object, or it can refer to the current BitmapData object. @param sourceRect A rectangle that defines the area of the source image to use as input. @param destPoint The point within the destination image (the current BitmapData instance) that corresponds to the upper-left corner of the source rectangle. @param redMultiplier A hexadecimal uint value by which to multiply the red channel value. @param greenMultiplier A hexadecimal uint value by which to multiply the green channel value. @param blueMultiplier A hexadecimal uint value by which to multiply the blue channel value. @param alphaMultiplier A hexadecimal uint value by which to multiply the alpha transparency value. @throws TypeError The `sourceBitmapData`, `sourceRect` or `destPoint` are `null`. { grayScale : false, channelOptions : 7, high : 255, low : 0 } Fills an image with pixels representing random noise. @param randomSeed The random seed number to use. If you keep all other parameters the same, you can generate different pseudo-random results by varying the random seed value. The noise function is a mapping function, not a true random-number generation function, so it creates the same results each time from the same random seed. @param low The lowest value to generate for each channel(0 to 255). @param high The highest value to generate for each channel(0 to 255). @param channelOptions A number that can be a combination of any of the four color channel values (`BitmapDataChannel.RED`, `BitmapDataChannel.BLUE`, `BitmapDataChannel.GREEN`, and `BitmapDataChannel.ALPHA`). You can use the logical OR operator(`|`) to combine channel values. @param grayScale A Boolean value. If the value is `true`, a grayscale image is created by setting all of the color channels to the same value. The alpha channel selection is not affected by setting this parameter to `true`. { alphaArray : null, blueArray : null, greenArray : null, redArray : null } Remaps the color channel values in an image that has up to four arrays of color palette data, one for each channel. Flash runtimes use the following steps to generate the resulting image: 1. After the red, green, blue, and alpha values are computed, they are added together using standard 32-bit-integer arithmetic. 2. The red, green, blue, and alpha channel values of each pixel are extracted into separate 0 to 255 values. These values are used to look up new color values in the appropriate array: `redArray`, `greenArray`, `blueArray`, and `alphaArray`. Each of these four arrays should contain 256 values. 3. After all four of the new channel values are retrieved, they are combined into a standard ARGB value that is applied to the pixel. Cross-channel effects can be supported with this method. Each input array can contain full 32-bit values, and no shifting occurs when the values are added together. This routine does not support per-channel clamping. If no array is specified for a channel, the color channel is copied from the source image to the destination image. You can use this method for a variety of effects such as general palette mapping (taking one channel and converting it to a false color image). You can also use this method for a variety of advanced color manipulation algorithms, such as gamma, curves, levels, and quantizing. @param sourceBitmapData The input bitmap image to use. The source image can be a different BitmapData object, or it can refer to the current BitmapData instance. @param sourceRect A rectangle that defines the area of the source image to use as input. @param destPoint The point within the destination image (the current BitmapData object) that corresponds to the upper-left corner of the source rectangle. @param redArray If `redArray` is not `null`, `red = redArray[source red value] else red = source rect value`. @param greenArray If `greenArray` is not `null`, `green = greenArray[source green value] else green = source green value`. @param blueArray If `blueArray` is not `null, `blue = blueArray[source blue value] else blue = source blue value`. @param alphaArray If `alphaArray` is not `null, `alpha = alphaArray[source alpha value] else alpha = source alpha value`. @throws TypeError The `sourceBitmapData`, `sourceRect` or `destPoint` are `null`. { offsets : null, grayScale : false, channelOptions : 7 } Generates a Perlin noise image. The Perlin noise generation algorithm interpolates and combines individual random noise functions(called octaves) into a single function that generates more natural-seeming random noise. Like musical octaves, each octave function is twice the frequency of the one before it. Perlin noise has been described as a "fractal sum of noise" because it combines multiple sets of noise data with different levels of detail. You can use Perlin noise functions to simulate natural phenomena and landscapes, such as wood grain, clouds, and mountain ranges. In most cases, the output of a Perlin noise function is not displayed directly but is used to enhance other images and give them pseudo-random variations. Simple digital random noise functions often produce images with harsh, contrasting points. This kind of harsh contrast is not often found in nature. The Perlin noise algorithm blends multiple noise functions that operate at different levels of detail. This algorithm results in smaller variations among neighboring pixel values. @param baseX Frequency to use in the _x_ direction. For example, to generate a noise that is sized for a 64 x 128 image, pass 64 for the `baseX` value. @param baseY Frequency to use in the _y_ direction. For example, to generate a noise that is sized for a 64 x 128 image, pass 128 for the `baseY` value. @param numOctaves Number of octaves or individual noise functions to combine to create this noise. Larger numbers of octaves create images with greater detail. Larger numbers of octaves also require more processing time. @param randomSeed The random seed number to use. If you keep all other parameters the same, you can generate different pseudo-random results by varying the random seed value. The Perlin noise function is a mapping function, not a true random-number generation function, so it creates the same results each time from the same random seed. @param stitch A Boolean value. If the value is `true`, the method attempts to smooth the transition edges of the image to create seamless textures for tiling as a bitmap fill. @param fractalNoise A Boolean value. If the value is `true`, the method generates fractal noise; otherwise, it generates turbulence. An image with turbulence has visible discontinuities in the gradient that can make it better approximate sharper visual effects like flames and ocean waves. @param channelOptions A number that can be a combination of any of the four color channel values (`BitmapDataChannel.RED`, `BitmapDataChannel.BLUE`, `BitmapDataChannel.GREEN`, and `BitmapDataChannel.ALPHA`). You can use the logical OR operator(`|`) to combine channel values. @param grayScale A Boolean value. If the value is `true`, a grayscale image is created by setting each of the red, green, and blue color channels to identical values. The alpha channel value is not affected if this value is set to `true`. Scrolls an image by a certain(_x_, _y_) pixel amount. Edge regions outside the scrolling area are left unchanged. @param x The amount by which to scroll horizontally. @param y The amount by which to scroll vertically. Sets a single pixel of a BitmapData object. The current alpha channel value of the image pixel is preserved during this operation. The value of the RGB color parameter is treated as an unmultiplied color value. **Note:** To increase performance, when you use the `setPixel()` or `setPixel32()` method repeatedly, call the `lock()` method before you call the `setPixel()` or `setPixel32()` method, and then call the `unlock()` method when you have made all pixel changes. This process prevents objects that reference this BitmapData instance from updating until you finish making the pixel changes. @param x The _x_ position of the pixel whose value changes. @param y The _y_ position of the pixel whose value changes. @param color The resulting RGB color for the pixel. Sets the color and alpha transparency values of a single pixel of a BitmapData object. This method is similar to the `setPixel()` method; the main difference is that the `setPixel32()` method takes an ARGB color value that contains alpha channel information. All pixels in a BitmapData object are stored as premultiplied color values. A premultiplied image pixel has the red, green, and blue color channel values already multiplied by the alpha data. For example, if the alpha value is 0, the values for the RGB channels are also 0, independent of their unmultiplied values. This loss of data can cause some problems when you perform operations. All BitmapData methods take and return unmultiplied values. The internal pixel representation is converted from premultiplied to unmultiplied before it is returned as a value. During a set operation, the pixel value is premultiplied before the raw image pixel is set. **Note:** To increase performance, when you use the `setPixel()` or `setPixel32()` method repeatedly, call the `lock()` method before you call the `setPixel()` or `setPixel32()` method, and then call the `unlock()` method when you have made all pixel changes. This process prevents objects that reference this BitmapData instance from updating until you finish making the pixel changes. @param x The _x_ position of the pixel whose value changes. @param y The _y_ position of the pixel whose value changes. @param color The resulting ARGB color for the pixel. If the bitmap is opaque(not transparent), the alpha transparency portion of this color value is ignored. Converts a byte array into a rectangular region of pixel data. For each pixel, the `ByteArray.readUnsignedInt()` method is called and the return value is written into the pixel. If the byte array ends before the full rectangle is written, the function returns. The data in the byte array is expected to be 32-bit ARGB pixel values. No seeking is performed on the byte array before or after the pixels are read. @param rect Specifies the rectangular region of the BitmapData object. @param inputByteArray A ByteArray object that consists of 32-bit unmultiplied pixel values to be used in the rectangular region. @throws EOFError The `inputByteArray` object does not include enough data to fill the area of the `rect` rectangle. The method fills as many pixels as possible before throwing the exception. @throws TypeError The rect or inputByteArray are null. Converts a Vector into a rectangular region of pixel data. For each pixel, a Vector element is read and written into the BitmapData pixel. The data in the Vector is expected to be 32-bit ARGB pixel values. @param rect Specifies the rectangular region of the BitmapData object. @throws RangeError The vector array is not large enough to read all the pixel data. { copySource : false, mask : 0xFFFFFFFF, color : 0x00000000 } ", ">=", "==", "!=" @param threshold The value that each pixel is tested against to see if it meets or exceeds the threshhold. @param color The color value that a pixel is set to if the threshold test succeeds. The default value is 0x00000000. @param mask The mask to use to isolate a color component. @param copySource If the value is `true`, pixel values from the source image are copied to the destination when the threshold test fails. If the value is `false`, the source image is not copied when the threshold test fails. @return The number of pixels that were changed. @throws ArgumentError The operation string is not a valid operation @throws TypeError The sourceBitmapData, sourceRect destPoint or operation are null.]]> { changeRect : null } Unlocks an image so that any objects that reference the BitmapData object, such as Bitmap objects, are updated when this BitmapData object changes. To improve performance, use this method along with the `lock()` method before and after numerous calls to the `setPixel()` or `setPixel32()` method. @param changeRect The area of the BitmapData object that has changed. If you do not specify a value for this parameter, the entire area of the BitmapData object is considered changed. <__applyAlpha set="method" line="3044"> <__drawCairo set="method" line="3061"> <__drawCanvas set="method" line="3084"> <__drawGL set="method" line="3102"> <__fillRect set="method" line="3125"> <__fromBase64 get="inline" set="null" line="3180"> <__fromBytes get="inline" set="null" line="3188"> { rawAlpha : null } <__fromFile set="method" line="3201"> <__fromImage set="method" line="3210"> "checkstyle:Dynamic" <__getBounds set="method" line="3235"> <__loadFromBase64 get="inline" set="null" line="3270"> <__loadFromBytes get="inline" set="null" line="3283"> { rawAlpha : null } <__loadFromFile set="method" line="3302"> <__resize set="method" line="3315"> <__setUVRect set="method" line="3326"> <__sync set="method" line="3359"> <__update set="method" line="3366"> <__updateTransforms set="method" line="3371"> { overrideTransform : null } { fillColor : 0xFFFFFFFF, transparent : true } Creates a BitmapData object with a specified width and height. If you specify a value for the `fillColor` parameter, every pixel in the bitmap is set to that color. By default, the bitmap is created as transparent, unless you pass the value `false` for the transparent parameter. After you create an opaque bitmap, you cannot change it to a transparent bitmap. Every pixel in an opaque bitmap uses only 24 bits of color channel information. If you define the bitmap as transparent, every pixel uses 32 bits of color channel information, including an alpha transparency channel. @param width The width of the bitmap image in pixels. @param height The height of the bitmap image in pixels. @param transparent Specifies whether the bitmap image supports per-pixel transparency. The default value is `true`(transparent). To create a fully transparent bitmap, set the value of the `transparent` parameter to `true` and the value of the `fillColor` parameter to 0x00000000(or to 0). Setting the `transparent` property to `false` can result in minor improvements in rendering performance. @param fillColor A 32-bit ARGB color value that you use to fill the bitmap image area. The default value is 0xFFFFFFFF(solid white). The BitmapData class lets you work with the data (pixels) of a Bitmap object. You can use the methods of the BitmapData class to create arbitrarily sized transparent or opaque bitmap images and manipulate them in various ways at runtime. You can also access the BitmapData for a bitmap image that you load with the `openfl.Assets` or `openfl.display.Loader` classes. This class lets you separate bitmap rendering operations from the internal display updating routines of OpenFL. By manipulating a BitmapData object directly, you can create complex images without incurring the per-frame overhead of constantly redrawing the content from vector data. The methods of the BitmapData class support effects that are not available through the filters available to non-bitmap display objects. A BitmapData object contains an array of pixel data. This data can represent either a fully opaque bitmap or a transparent bitmap that contains alpha channel data. Either type of BitmapData object is stored as a buffer of 32-bit integers. Each 32-bit integer determines the properties of a single pixel in the bitmap. Each 32-bit integer is a combination of four 8-bit channel values (from 0 to 255) that describe the alpha transparency and the red, green, and blue (ARGB) values of the pixel. (For ARGB values, the most significant byte represents the alpha channel value, followed by red, green, and blue.) The four channels (alpha, red, green, and blue) are represented as numbers when you use them with the `BitmapData.copyChannel()` method or the `DisplacementMapFilter.componentX` and `DisplacementMapFilter.componentY` properties, and these numbers are represented by the following constants in the BitmapDataChannel class: * `BitmapDataChannel.ALPHA` * `BitmapDataChannel.RED` * `BitmapDataChannel.GREEN` * `BitmapDataChannel.BLUE` You can attach BitmapData objects to a Bitmap object by using the `bitmapData` property of the Bitmap object. You can use a BitmapData object to fill a Graphics object by using the `Graphics.beginBitmapFill()` method. You can also use a BitmapData object to perform batch tile rendering using the `openfl.display.Tilemap` class. In Flash Player 10, the maximum size for a BitmapData object is 8,191 pixels in width or height, and the total number of pixels cannot exceed 16,777,215 pixels. (So, if a BitmapData object is 8,191 pixels wide, it can only be 2,048 pixels high.) In Flash Player 9 and earlier, the limitation is 2,880 pixels in height and 2,880 in width. lime.graphics.opengl.GL lime.graphics.Image lime.graphics.ImageBuffer lime.math.Rectangle openfl.display3D.textures.TextureBase openfl.display3D.Context3D openfl.display.DisplayObject openfl.display.DisplayObjectShader openfl.display.Graphics openfl.display.Shader openfl.filters.BitmapFilter openfl.geom.ColorTransform openfl.geom.Matrix openfl.geom.Point openfl.geom.Rectangle "tags=\"haxe,release\"" openfl.utils._internal.AssetsMacro.embedBitmap() "__ASSET__:bitmap_flixel_addons_transition_GraphicTransTileCircle" { fillRGBA : 0xFFFFFFFF, transparent : true } openfl.utils._internal.AssetsMacro.embedBitmap() openfl.utils._internal.AssetsMacro.embedBitmap() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() "assets/images/transitions/circle.png" "__ASSET__:bitmap_flixel_addons_transition_GraphicTransTileDiamond" { fillRGBA : 0xFFFFFFFF, transparent : true } openfl.utils._internal.AssetsMacro.embedBitmap() openfl.utils._internal.AssetsMacro.embedBitmap() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() "assets/images/transitions/diamond.png" "__ASSET__:bitmap_flixel_addons_transition_GraphicTransTileSquare" { fillRGBA : 0xFFFFFFFF, transparent : true } openfl.utils._internal.AssetsMacro.embedBitmap() openfl.utils._internal.AssetsMacro.embedBitmap() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() "assets/images/transitions/square.png" <_delay> <_count> <_starting expr="true"> true <_finished expr="false"> false IN <_newStatus expr="NULL"> NULL { FrameRate : 40, GraphicHeight : 32, GraphicWidth : 32, Graphic : null, Y : 0, X : 0 } * * @author Tim Hely hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() cast 0 cast 1 cast 2 cast 3 cast -1 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() cast 0 cast 1 cast 2 cast 3 cast -1 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() cast (0, flixel.addons.transition.TransitionStatus) cast (1, flixel.addons.transition.TransitionStatus) cast (2, flixel.addons.transition.TransitionStatus) cast (3, flixel.addons.transition.TransitionStatus) cast (-1, flixel.addons.transition.TransitionStatus) hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__start public="1" set="method" line="31"> <_HX_SUPER__startStatus set="method" line="31"> <_HX_SUPER__setStatus public="1" set="method" line="31"> <_HX_SUPER__onFinishAnim set="method" line="31"> <_HX_SUPER__update public="1" set="method" line="31"> <_HX_SUPER__onTime set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.transition.FlxTransitionSprite.GraphicTransTileCircle flixel.addons.transition.FlxTransitionSprite.GraphicTransTileDiamond flixel.addons.transition.FlxTransitionSprite.GraphicTransTileSquare flixel.addons.transition.FlxTransitionSprite flixel.addons.transition.FlxTransitionSprite.TransitionStatus flixel.addons.transition.FlxTransitionSprite.TransitionStatus flixel.addons.transition.FlxTransitionSprite.TransitionStatus_HSC null null false false * Starts the in-transition. Can be called manually at any time. * Starts the out-transition. Can be called manually at any time. false <_exiting expr="false"> false <_onExit> * Create a state with the ability to do visual transitions * @param TransIn Plays when the state begins * @param TransOut Plays when the state ends * A `FlxState` which can perform visual transitions * * Usage: * * First, extend `FlxTransitionableState` as ie, `FooState`. * * Method 1: * * ```haxe * var in:TransitionData = new TransitionData(...); // add your data where "..." is * var out:TransitionData = new TransitionData(...); * * FlxG.switchState(new FooState(in,out)); * ``` * * Method 2: * * ```haxe * FlxTransitionableState.defaultTransIn = new TransitionData(...); * FlxTransitionableState.defaultTransOut = new TransitionData(...); * * FlxG.switchState(new FooState()); * ``` hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__create public="1" set="method" line="31"> <_HX_SUPER__createPost public="1" set="method" line="31"> <_HX_SUPER__switchTo public="1" set="method" line="148"> <_HX_SUPER__transitionToState set="method" line="31"> * Starts the in-transition. Can be called manually at any time. <_HX_SUPER__transitionIn public="1" set="method" line="31"> * Starts the out-transition. Can be called manually at any time. <_HX_SUPER__transitionOut public="1" set="method" line="31"> <_HX_SUPER__get_hasTransIn set="method" line="148"> <_HX_SUPER__get_hasTransOut set="method" line="148"> <_HX_SUPER__createTransition set="method" line="148"> <_HX_SUPER__finishTransIn set="method" line="148"> <_HX_SUPER__finishTransOut set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.transition.FlxTransitionableState <_effect> * This substate is automatically created to play the actual transition visuals inside a FlxTransitionState. * To achieve a specific effect, you should use a sub-class of this such as TileTransition or FadeTransition * @author Tim Hely, larsiusprime hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() cast "none" cast "tiles" cast "fade" hscript.UsingHandler.build() hscript.ClassExtendMacro.build() cast "none" cast "tiles" cast "fade" hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() 1.0 { Duration : 1.0, Color : FlxColor.WHITE, TransType : FADE } * @author larsiusprime hscript.UsingHandler.build() hscript.ClassExtendMacro.build() cast ("none", flixel.addons.transition.TransitionType) cast ("tiles", flixel.addons.transition.TransitionType) cast ("fade", flixel.addons.transition.TransitionType) hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__destroy public="1" set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.transition.TransitionData.TransitionType flixel.addons.transition.TransitionData.TransitionType flixel.addons.transition.TransitionData.TransitionTileData flixel.addons.transition.TransitionData false <_started expr="false"> false <_endStatus> <_finalDelayTime expr="0.0"> 0.0 <_data> * @author larsiusprime hscript.UsingHandler.build() hscript.ClassExtendMacro.build() flixel.addons.transition.Transition <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__start public="1" set="method" line="31"> <_HX_SUPER__setStatus public="1" set="method" line="31"> <_HX_SUPER__delayThenFinish set="method" line="31"> <_HX_SUPER__onFinish set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.transition.TransitionEffect "__ASSET__:bitmap_flixel_addons_transition_GraphicDiagonalGradient" { fillRGBA : 0xFFFFFFFF, transparent : true } openfl.utils._internal.AssetsMacro.embedBitmap() openfl.utils._internal.AssetsMacro.embedBitmap() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() "assets/images/transitions/diagonal_gradient.png" "" "" 0 0 0 0 * * @author larsiusprime hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__start public="1" set="method" line="31"> <_HX_SUPER__setTweenValues set="method" line="31"> <_HX_SUPER__makeSprite set="method" line="148"> <_HX_SUPER__getGradient set="method" line="148"> <_HX_SUPER__finishTween set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.transition.TransitionFade.GraphicDiagonalGradient flixel.addons.transition.TransitionFade <_grpSprites> <_isCenter expr="false"> false * * @author larsiusprime hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__start public="1" set="method" line="31"> <_HX_SUPER__setStatus public="1" set="method" line="31"> <_HX_SUPER__update public="1" set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.transition.TransitionTiles <_HX_SUPER__update public="1" set="method" line="31"> <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__start public="1" set="method" line="31"> <_HX_SUPER__setStatus public="1" set="method" line="31"> <_HX_SUPER__createEffect set="method" line="148"> <_HX_SUPER__get_finishCallback set="method" line="148"> <_HX_SUPER__set_finishCallback set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.transition.Transition "left" "right" "top" "bottom"
    "center"
    "unknown" * A class that describes how some object should be positioned relative to another hscript.UsingHandler.build() hscript.ClassExtendMacro.build()
    0 Anchor.CENTER Anchor.CENTER hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.ui.AnchorPoint <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__anchorThing public="1" set="method" line="31"> <_HX_SUPER__getFlipped public="1" set="method" line="148"> <_HX_SUPER__clone public="1" set="method" line="148"> <_HX_SUPER__flipAnchorSide set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.ui.Anchor { Quality : 1, Size : 1 } hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__clone public="1" set="method" line="148"> <_HX_SUPER__apply public="1" set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.ui.BorderDef null null null null hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__apply public="1" set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.ui.ButtonLabelStyle * The code for the main input itself, ie, tab, or the A button * Any other inputs that must be pressed at the same time, ie, shift, alt, etc * Any other inputs, that if pressed at the same time, forbid the press. * (Forbidden is useful so you can distinguish a "TAB" from a "SHIFT+TAB" * -- you add "SHIFT" to the first one's forbidden list) * Was the main key JUST pressed, AND are all of the combo keys currently pressed? (and none of the forbiddens?) * Was the main key JUST released, AND are no forbidden keys currently pressed? (Ignore whether combos were just released) * Is the main key and all of the combo keys currently pressed? (and none of the forbiddens?) { forbiddenValue : false, comboValue : true } * Check Combo/Forbidden values. Default--are combos all pressed, AND are forbiddens all NOT pressed? * Makes it easier to check if, say, SHIFT+Tab is being pressed rather than just Tab by itself hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__checkJustPressed set="method" line="148"> <_HX_SUPER__checkJustReleased set="method" line="148"> <_HX_SUPER__checkPressed set="method" line="148"> * Was the main key JUST pressed, AND are all of the combo keys currently pressed? (and none of the forbiddens?) <_HX_SUPER__justPressed public="1" set="method" line="148"> * Was the main key JUST released, AND are no forbidden keys currently pressed? (Ignore whether combos were just released) <_HX_SUPER__justReleased public="1" set="method" line="148"> * Is the main key and all of the combo keys currently pressed? (and none of the forbiddens?) <_HX_SUPER__pressed public="1" set="method" line="148"> <_HX_SUPER__equals public="1" set="method" line="148"> { forbiddenValue : false, comboValue : true } * Check Combo/Forbidden values. Default--are combos all pressed, AND are forbiddens all NOT pressed? <_HX_SUPER__passCombosAndForbiddens set="method" line="148"> { forbiddenValue : false, comboValue : true } <_HX_SUPER__checkCombos set="method" line="148"> <_HX_SUPER__checkForbiddens set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.ui.FlxBaseMultiInput 0 1 2 FlxColor.WHITE * The 1px thick border color that is drawn around this button * The color gradient of the button in its in-active (not hovered over) state * The color gradient of the button in its hovered state * This function is called when the button is clicked. * This function is called when the button is hovered over * This function is called when the mouse leaves a hovered button (but didn't click) * If this button has text, set this to change the value <_status expr="NORMAL"> NORMAL * Shows the current state of the button. <_initialized expr="false"> false * Whether or not the button has initialized itself yet. * If you wish to replace the two buttons (normal and hovered-over) with FlxSprites, then pass them here. * Note: The pixel data is extract from the passed FlxSprites and assigned locally, it doesn't actually use the sprites * or keep a reference to them. * * @param Normal The FlxSprite to use when the button is in-active (not hovered over) * @param Highlight The FlxSprite to use when the button is hovered-over by the mouse * Called by the game loop automatically, handles mouseover and click detection. * Basic button update logic * WARNING: This will remove this object entirely. Use kill() if you * want to disable it temporarily only and reset() it later to revive it. * Called by the game state when state is changed (if this object belongs to the state) * Internal function for handling the actual callback call (for UI thread dependent calls like FlxStringUtil.openURL()). * If you want to change the color of this button in its in-active (not hovered over) state, then pass a new array of color values * If you want to change the color of this button in its active (hovered over) state, then pass a new array of color values { Height : 20, Width : 100, Y : 0, X : 0 } * Creates a new FlxButton object with a gray background * and a callback function on the UI thread. * * @param X The X position of the button. * @param Y The Y position of the button. * @param Callback The function to call whenever the button is clicked. * @param Label Text to display on the button * @param Width The width of the button. * @param Height The height of the button. * A simple button class that calls a function when clicked by the mouse. * * @link http://www.photonstorm.com * @author Richard Davey / Photon Storm hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * If you wish to replace the two buttons (normal and hovered-over) with FlxSprites, then pass them here. * Note: The pixel data is extract from the passed FlxSprites and assigned locally, it doesn't actually use the sprites * or keep a reference to them. * * @param Normal The FlxSprite to use when the button is in-active (not hovered over) * @param Highlight The FlxSprite to use when the button is hovered-over by the mouse <_HX_SUPER__loadButtonGraphic public="1" set="method" line="31"> * Called by the game loop automatically, handles mouseover and click detection. <_HX_SUPER__update public="1" set="method" line="31"> * Basic button update logic <_HX_SUPER__updateButton set="method" line="31"> * WARNING: This will remove this object entirely. Use kill() if you * want to disable it temporarily only and reset() it later to revive it. * Called by the game state when state is changed (if this object belongs to the state) <_HX_SUPER__destroy public="1" set="method" line="31"> * Internal function for handling the actual callback call (for UI thread dependent calls like FlxStringUtil.openURL()). <_HX_SUPER__onMouseUp set="method" line="31"> * If you want to change the color of this button in its in-active (not hovered over) state, then pass a new array of color values <_HX_SUPER__updateInactiveButtonColors public="1" set="method" line="31"> * If you want to change the color of this button in its active (hovered over) state, then pass a new array of color values <_HX_SUPER__updateActiveButtonColors public="1" set="method" line="31"> <_HX_SUPER__set_text set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.ui.FlxButtonPlus * Shows the current state of the button, either NORMAL, * HIGHLIGHT or PRESSED * This function is called when the button is released. * We recommend assigning your main button behavior to this function * via the FlxClickArea constructor. <_pressed> * Tracks whether or not the button is currently pressed. <_initialized> * Whether or not the button has initialized itself yet. * Called by the game state when state is changed (if this object belongs to the state) * Called by the game loop automatically, handles mouseover and click detection. * Basic button update logic * Updates status and handles the onDown and onOver logic (callback function). * Internal function for handling the actual callback call (for UI thread dependent calls like FlxStringUtil.openURL()). { Height : 20, Width : 80, Y : 0, X : 0 } * Creates a new FlxClickArea object * and a callback function on the UI thread. * * @param X The X position of the button. * @param Y The Y position of the button. * @param Width Width of the area * @param Height Height of the area * @param OnUp The function to call whenever the button is clicked. * Trimmed-down button, invisible click area, only responds to onUP hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Called by the game state when state is changed (if this object belongs to the state) <_HX_SUPER__destroy public="1" set="method" line="31"> * Called by the game loop automatically, handles mouseover and click detection. <_HX_SUPER__update public="1" set="method" line="31"> * Basic button update logic <_HX_SUPER__updateButton set="method" line="31"> * Updates status and handles the onDown and onOver logic (callback function). <_HX_SUPER__updateButtonStatus set="method" line="148"> * Internal function for handling the actual callback call (for UI thread dependent calls like FlxStringUtil.openURL()). <_HX_SUPER__onMouseUp set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.ui.FlxClickArea 0 1 2 3 4 0 1 2 "backspace" "delete" "enter" "input" true * This regular expression will filter out (remove) everything that matches. * Automatically sets filterMode = FlxInputText.CUSTOM_FILTER. * A function called whenever the value changes from user input, or enter is pressed false * Whether or not the textbox has a background * The caret's color. Has the same color as the text by default. 1 * Whether or not the textfield is a password textfield false * Whether or not the text box is the active object on the screen. 0 * The position of the selection cursor. An index of 0 means the carat is before the character at index 0. * callback that is triggered when this text field gets focus * @since 2.2.0 * callback that is triggered when this text field loses focus * @since 2.2.0 ALL_CASES * The Case that's being enforced. Either ALL_CASES, UPPER_CASE or LOWER_CASE. 0 * Set the maximum length for the field (e.g. "3" * for Arcade type hi-score initials). 0 means unlimited. * Change the amount of lines that are allowed. NO_FILTER * Defines what text to filter. It can be NO_FILTER, ONLY_ALPHA, ONLY_NUMERIC, ONLY_ALPHA_NUMERIC or CUSTOM_FILTER * (Remember to append "FlxInputText." as a prefix to those constants) FlxColor.BLACK * The color of the fieldBorders 1 * The thickness of the fieldBorders FlxColor.WHITE * The color of the background of the textbox. * A FlxSprite representing the background sprite <_caretTimer> * A timer for the flashing caret effect. * A FlxSprite representing the flashing caret when editing text. <_charBoundaries> * A FlxSprite representing the fieldBorders. * Stores last input text scroll. * Clean up memory * Draw the caret in addition to the text. * Helper function that makes sure sprites are drawn up even though they haven't been added. * @param Sprite The Sprite to be drawn. * Check for mouse input every tick. * Handles keypresses generated on the stage. * Inserts a substring into a string at a specific index * * @param Insert The string to have something inserted into * @param Insert The string to insert * @param Index The index to insert at * @return Returns the joined string for chaining. * Gets the index of the character in this box under the mouse cursor * @return The index of the character. * between 0 and the length of the text * Called every time the text is changed (for both flash/cpp) to update scrolling, etc { RunOnCpp : false } * Draws the frame of animation for the input text. * * @param RunOnCpp Whether the frame should also be recalculated if we're on a non-flash target * Turns the caret on/off for the caret flashing animation. * Checks an input string against the current * filter and returns a filtered string { EmbeddedFont : true, BackgroundColor : FlxColor.WHITE, TextColor : FlxColor.BLACK, size : 8, Width : 150, Y : 0, X : 0 } * @param X The X position of the text. * @param Y The Y position of the text. * @param Width The width of the text object (height is determined automatically). * @param Text The actual text you would like to display initially. * @param size Initial size of the font * @param TextColor The color of the text * @param BackgroundColor The color of the background (FlxColor.TRANSPARENT for no background color) * @param EmbeddedFont Whether this text field uses embedded fonts or not * FlxInputText v1.11, ported to Haxe * @author larsiusprime, (Lars Doucet) * @link http://github.com/haxeflixel/flixel-ui * * FlxInputText v1.10, Input text field extension for Flixel * @author Gama11, Mr_Walrus, nitram_cero (Martín Sebastián Wain) * @link http://forums.flixel.org/index.php/topic,272.0.html * * Copyright (c) 2009 Martín Sebastián Wain * License: Creative Commons Attribution 3.0 United States * @link http://creativecommons.org/licenses/by/3.0/us/ hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Clean up memory <_HX_SUPER__destroy public="1" set="method" line="31"> * Draw the caret in addition to the text. <_HX_SUPER__draw public="1" set="method" line="31"> * Check for mouse input every tick. <_HX_SUPER__update public="1" set="method" line="31"> * Handles keypresses generated on the stage. <_HX_SUPER__onKeyDown set="method" line="31"> <_HX_SUPER__onChange set="method" line="31"> * Inserts a substring into a string at a specific index * * @param Insert The string to have something inserted into * @param Insert The string to insert * @param Index The index to insert at * @return Returns the joined string for chaining. <_HX_SUPER__insertSubstring set="method" line="148"> * Gets the index of the character in this box under the mouse cursor * @return The index of the character. * between 0 and the length of the text <_HX_SUPER__getCaretIndex set="method" line="148"> <_HX_SUPER__getCharBoundaries set="method" line="148"> <_HX_SUPER__set_text set="method" line="148"> <_HX_SUPER__getCharIndexAtPoint set="method" line="148"> <_HX_SUPER__prepareCharBoundaries set="method" line="31"> * Called every time the text is changed (for both flash/cpp) to update scrolling, etc <_HX_SUPER__onSetTextCheck set="method" line="31"> { RunOnCpp : false } * Draws the frame of animation for the input text. * * @param RunOnCpp Whether the frame should also be recalculated if we're on a non-flash target <_HX_SUPER__calcFrame set="method" line="31"> { RunOnCpp : false } * Turns the caret on/off for the caret flashing animation. <_HX_SUPER__toggleCaret set="method" line="31"> * Checks an input string against the current * filter and returns a filtered string <_HX_SUPER__filter set="method" line="148"> <_HX_SUPER__set_params set="method" line="148"> <_HX_SUPER__set_x set="method" line="148"> <_HX_SUPER__set_y set="method" line="148"> <_HX_SUPER__set_hasFocus set="method" line="148"> <_HX_SUPER__getAlignStr set="method" line="148"> <_HX_SUPER__set_caretIndex set="method" line="148"> <_HX_SUPER__set_size set="method" line="148"> <_HX_SUPER__set_maxLength set="method" line="148"> <_HX_SUPER__set_lines set="method" line="148"> <_HX_SUPER__set_passwordMode set="method" line="148"> <_HX_SUPER__set_filterMode set="method" line="148"> <_HX_SUPER__set_fieldBorderColor set="method" line="148"> <_HX_SUPER__set_fieldBorderThickness set="method" line="148"> <_HX_SUPER__set_backgroundColor set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.ui.FlxInputText * ... * @author larsiusprime hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Given a string of the form "left_analog_stick_x_plus", returns a StickInput object with the corresponding values * @param str * @return * ... * @author larsiusprime hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__checkJustPressed set="method" line="148"> <_HX_SUPER__checkJustReleased set="method" line="148"> <_HX_SUPER__checkPressed set="method" line="148"> <_HX_SUPER__checkCombos set="method" line="148"> <_HX_SUPER__checkForbiddens set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.ui.FlxMultiGamepadAnalogStick flixel.addons.ui.FlxMultiGamepadAnalogStick.XY flixel.addons.ui.FlxMultiGamepadAnalogStick.StickInput <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__checkJustPressed set="method" line="148"> <_HX_SUPER__checkJustReleased set="method" line="148"> <_HX_SUPER__checkPressed set="method" line="148"> <_HX_SUPER__checkCombos set="method" line="148"> <_HX_SUPER__checkForbiddens set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.ui.FlxMultiGamepad * ... * @author larsiusprime hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__checkJustPressed set="method" line="148"> <_HX_SUPER__checkJustReleased set="method" line="148"> <_HX_SUPER__checkPressed set="method" line="148"> <_HX_SUPER__checkCombos set="method" line="148"> <_HX_SUPER__checkForbiddens set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.ui.FlxMultiKey * The horizontal line in the background. * The dragable handle - loadGraphic() to change its graphic. * The text under the left border - equals minValue by default. * The text under the right border - equals maxValue by default. * A text above the slider that displays its name. * A text under the slider that displays the current value. * Stores the current value of the variable - updated each frame. * Mininum value the variable can be changed to. * Maximum value the variable can be changed to. 0 * How many decimals the variable can have at max. Default is zero, * or "only whole numbers". * Sound that's played whenever the slider is clicked. * Sound that's played whenever the slider is hovered over. 0.5 * The alpha value the slider uses when it's hovered over. 1 to turn the effect off. null * A function to be called when the slider was used. * The current relativePos is passed as an argument. true * Whether the slider sets the variable it tracks. Can be useful to deactivate this in conjunction with callbacks. * The expected position of the handle based on the current variable value. * The position of the handle relative to the slider / max value. * Stores the variable the slider controls. <_bounds> * The dragable area for the handle. Is configured automatically. <_width> * The width of the slider. <_height> * The height of the slider - make sure to call createSlider() if you * want to change this. <_thickness> * The thickness of the slider - make sure to call createSlider() if you * want to change this. <_color> * The color of the slider - make sure to call createSlider() if you * want to change this. <_handleColor> * The color of the handle - make sure to call createSlider() if you * want to change this. <_object> * Stores a reference to parent object. <_lastPos> * Helper var for callbacks. <_justClicked expr="false"> false * Helper variable to avoid the clickSound playing every frame. <_justHovered expr="false"> false * Helper variable to avoid the hoverSound playing every frame. * Initially creates the slider with all its objects. * Function that is called whenever the slider is used to either update the variable tracked or call the Callback function. { Size : 8, Value : true } * Handy function for changing the textfields. * * @param Name Text of nameLabel - null to hide * @param Value Whether to show the valueText or not * @param Min Text of minLabel - null to hide * @param Max Text of maxLabel - null to hide * @param Size Size to use for the texts * Cleaning up memory. { HandleColor : 0xFF828282, Color : 0xFF000000, Thickness : 3, Height : 15, Width : 100, MaxValue : 10, MinValue : 0, Y : 0, X : 0 } * Creates a new FlxSlider. * * @param Object Reference to the parent object of the variable * @param VarString Variable that the slider controls * @param X x Position * @param Y y Position * @param MinValue Mininum value the variable can be changed to * @param MaxValue Maximum value the variable can be changed to * @param Width Width of the slider * @param Height Height of the slider * @param Thickness Thickness of the slider * @param Color Color of the slider background and all texts except for valueText showing the current value * @param HandleColor Color of the slider handle and the valueText showing the current value * A slider GUI element for float and integer manipulation. * @author Gama11 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Initially creates the slider with all its objects. <_HX_SUPER__createSlider set="method" line="31"> <_HX_SUPER__update public="1" set="method" line="31"> * Function that is called whenever the slider is used to either update the variable tracked or call the Callback function. <_HX_SUPER__updateValue set="method" line="31"> { Size : 8, Value : true } * Handy function for changing the textfields. * * @param Name Text of nameLabel - null to hide * @param Value Whether to show the valueText or not * @param Min Text of minLabel - null to hide * @param Max Text of maxLabel - null to hide * @param Size Size to use for the texts <_HX_SUPER__setTexts public="1" set="method" line="31"> { Size : 8, Value : true } * Cleaning up memory. <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__get_expectedPos set="method" line="148"> <_HX_SUPER__get_relativePos set="method" line="148"> <_HX_SUPER__set_varString set="method" line="148"> <_HX_SUPER__set_x set="method" line="148"> <_HX_SUPER__set_y set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.ui.FlxSlider * ... * @author Lars Doucet hscript.UsingHandler.build() hscript.ClassExtendMacro.build() *PUBLIC VARS* true true *PUBLIC GETTER/SETTERS* { Splice : false } { rect : null } * Calculates the bounds of the group and sets width/height * @param rect (optional) -- if supplied, populates this with the boundaries of the group * Floor the positions of all children { Y : 0, X : 0 } *PUBLIC FUNCTIONS* * A cheap extension of FlxUIGroup that lets you move all the children around * without having to call reset() * @author Lars Doucet hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() *EVENT HANDLING* { style : "" } * Given something like "verdana" and "bold" returns "assets/fonts/verdanab" * Also: checks Firetongue (if available) for font replacement rules * @param str * @param style * @since 2.1.0 { extension : ".ttf", style : "" } * Given something like "verdana", "bold", ".ttf", returns "assets/fonts/verdanab.ttf" * Also: checks Firetongue (if available) for font replacement rules * @param str * @param style * @param extension * @since 2.1.0 <__getTongue get="inline" set="null" line="226" static="1"> flixel.addons.ui.interfaces.IFlxUIState * Static-level function used to force giving a certain widget focus (useful for e.g. enforcing overlap logic) * @param b * @param thing * Drill down to the current state or sub-state, and ensure it is an IFlxUIState (FlxUIState or FlxUISubState) * @return * Broadcasts an event to the current FlxUIState/FlxUISubState, and expects data in return * @param name string identifier of the event -- each IFlxUIWidget has a set of string constants * @param sender the IFlxUIWidget that sent this event * @param data non-array data (boolean for a checkbox, string for a radiogroup, etc) * @param params (optional) user-specified array of arbitrary data * @return some sort of arbitrary data from the recipient <_delta get="inline" set="null" line="1578" static="1"> { Y : 0, X : 0 } * Adds to thing.x and/or thing.y with wrappers depending on type * @param thing * @param X * @param Y <_center get="inline" set="null" line="1589" static="1"> { Y : true, X : true } * Centers thing in x axis with wrappers depending on type * @param thing * @param amt { combineUniqueChildren : false } * Takes two XML files and combines them, with "data" overriding duplicate attributes found in "definition" * @param data the local data tag * @param definition the base definition you are extending * @param combineUniqueChildren if true, will combine child tags if they are unique. If false, inserts child tags as new ones. * @return <_loadBitmapRect get="inline" set="null" line="4324" static="1"> * Parses params out of xml and loads them in the correct type * @param data true 0.01 false 0 * Whether or not this UI is directly attached to the current top-most FlxState null null * * * ]]> <_ptr_tongue> <_data> <_tongueSet set="method" line="134"> * Make sure to recursively propogate the tongue pointer down to all my members { suppressed : true } * This causes FlxUI to respond to a specific widget losing focus * @param widget * Set a pointer to another FlxUI for the purposes of indexing * @param flxUI { Active : null } { Active : null } { destroy : true } * Removes an asset * @param key the asset to remove * @param destroy whether to destroy it * @return the asset, or null if destroy=true { recursive : false, group_name : "" } * Adds an asset to this UI, and optionally puts it in a group * @param asset the IFlxUIWidget asset you want to add * @param key unique key for this asset. If it already exists, this fails. * @param group_name string name of group inside this FlxUI you want to add it to. * @param recursive whether to recursively search through sub-ui's { destroy_old : true, center_y : true, center_x : true } * Remove all the references and pointers, then destroy everything Xml * Main setup function - pass in a Access(xml) object * to set up your FlxUI * @param data <_loadPointSize set="method" line="988"> <_loadSub set="method" line="1011"> { iteration : 0 } <_addTags set="method" line="1083"> <_loadGlobals set="method" line="1100"> <_postLoad set="method" line="1120"> <_sendTo set="method" line="1163"> { recursive : true } * Send an asset to the front of the member list that it's in * @param name string identifier of the asset * @param recursive whether to check superIndex if not found { recursive : true } * Send an asset to either the back of the member list that it's in * @param name string identifier of the asset * @param recursive whether to check superIndex if not found { target_name : "" } * Set a mode for this UI. This lets you show/hide stuff basically. * @param mode_name The mode you want, say, "empty" or "play" for a save slot * @param target_name UI element to target - "" for the UI itself, otherwise the name of an element that is itself a FlxUI { activeStatus : null, visibleStatus : true } { recursive : true } ****UTILITY FUNCTIONS******** { recursive : true } { recursive : true } { recursive : true } * Get the group that contains a given IFlxUIWidget * @param key the asset key of the IFlxUIWidget * @param thing the IFlxUIWidget itself * @return { recursive : true } { recursive : true } { recursive : true, op : "==" } { recursive : true } { recursive : true } <_postLoaded expr="false"> false FlxUI *PRIVATE* <_pointX expr="1"> 1 <_pointY expr="1"> 1 <_group_index> <_asset_index> <_tag_index> <_definition_index> <_variable_index> <_mode_index> <_curr_mode expr=""""> "" <_ptr> <_superIndexUI> <_safe_input_delay_elapsed expr="0.0"> 0.0 <_failure_checks> <_assetsToCleanUp expr="[]"> [] <_scaledAssets expr="[]"> [] { splice : false } * Replace an object in whatever group it is in * @param original the original object * @param replace the replacement object * @param splice if replace is null, whether to splice the entry **********LOADING FUNCTIONS************ * Make any necessary changes to data/definition xml objects (such as for locale or haxedef settings) * @param data Access xml data * @param nodeName name of the node, "locale", "haxedef", or "resolution" * Load an individual flixel-ui widget from a snippet of xml * @param type * @param data * @return <_loadThingGetInfo set="method" line="1817"> <_loadTooltip set="method" line="1854"> <_loadTooltipData set="method" line="1873"> <_loadTooltipStyle set="method" line="1941"> <_loadTooltipText set="method" line="1966"> <_loadAnchor set="method" line="2015"> <_loadThing set="method" line="2030"> <_loadX get="inline" set="null" line="2111"> { default_ : 0 } <_loadY get="inline" set="null" line="2116"> { default_ : 0 } <_loadScale set="method" line="2121"> { str : "scale", default_ : 1.0 } <_loadScaleX set="method" line="2126"> { default_ : 1.0 } <_loadScaleY set="method" line="2131"> { default_ : 1.0 } <_loadWidth set="method" line="2136"> { defaultRound : "", str : "width", default_ : 10 } <_loadHeight set="method" line="2143"> { defaultRound : "", str : "height", default_ : 10 } <_loadCompass set="method" line="2150"> { str : "resize_point" } <_changeParamsThing set="method" line="2187"> <_changeThing set="method" line="2205"> <_alignThing set="method" line="2276"> { suppressError : false } <_doAlign set="method" line="2369"> { allowShrink : true, allowGrow : true } <_checkFailure set="method" line="2492"> <_resizeThing set="method" line="2586"> <_postLoadThing set="method" line="2620"> <_loadTileTest set="method" line="2759"> <_loadString set="method" line="2836"> <_loadText set="method" line="2845"> <_loadInputText set="method" line="2904"> <_loadRadioGroup set="method" line="3069"> <_loadCheckBox set="method" line="3235"> <_loadDropDownMenu set="method" line="3319"> <_loadTest set="method" line="3455"> <_loadTestSub set="method" line="3505"> <_loadLayout set="method" line="3624"> <_loadTabMenu set="method" line="3669"> <_loadNumericStepper set="method" line="3813"> { setCallback : true } { defaultAxis : FlxUISprite.RESIZE_RATIO_Y } <_loadButton set="method" line="3907"> { load_code : "", isToggle : false, setCallback : true } flixel.addons.ui.FlxUITypedButton <_loadRegion set="method" line="4333"> <_load9SliceSprite set="method" line="4353"> { load_code : "" } { srcString : "src" } <_loadTileRule get="inline" set="null" line="4494"> <_loadBox set="method" line="4510"> <_loadLine set="method" line="4580"> <_loadBar set="method" line="4651"> <_loadSprite set="method" line="4762"> { tilesTall : 1, tilesWide : 1, scaleName : "scale", attName : "src" } * For grabbing a resolution-specific version of an image src and dynamically scaling (and caching) it as necessary * @param data the xml node in question * @return the unique key of the scaled bitmap <_getAnchorPos set="method" line="4999"> { defaultStr : "" } { height : null, width : null } <_getDataSize set="method" line="5201"> { default_ : 0 } <_getOperation set="method" line="5283"> * @return [:String,:String,:Float]]]> <_doOperation set="method" line="5350"> <_getStretch set="method" line="5368"> <_loadCursor set="method" line="5525"> <_loadPosition set="method" line="5554"> <_loadBorder set="method" line="5662"> <_loadColor set="method" line="5675"> { _default : 0xffffffff, colorName : "color" } <_loadFontDef set="method" line="5690"> <_loadFontFace set="method" line="5699"> <_onFinishLoad set="method" line="5711"> { code : "", safe : true, context : "data" } ********UTILITY FUNCTIONS********** { uiVars_ : null, liveFilePath_ : "", tongue_ : null, superIndex_ : null, ptr : null, data : null } * A simple xml-driven user interface * * Usage example: * _ui = new FlxUI(U.xml("save_slot"),this); * add(_ui); * * @author Lars Doucet hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * ... * @author Lars Doucet hscript.UsingHandler.build() hscript.ClassExtendMacro.build() 0 1 -1 true null false RESIZE_RATIO_Y { Unique : false, Height : 0, Width : 0, Animated : false } * Load an image from an embedded graphic file. * * @param Graphic The image you want to use. * @param Animated Whether the Graphic parameter is a single sprite or a row of sprites. * @param Width Optional, specify the width of your sprite (helps FlxSprite figure out what to do with non-square sprites or sprite sheets). * @param Height Optional, specify the height of your sprite (helps FlxSprite figure out what to do with non-square sprites or sprite sheets). * @param Unique Optional, whether the graphic should be a unique instance in the graphics cache. Default is false. * @param Key Optional, set this parameter if you're loading BitmapData. * @return This FlxSprite instance (nice for chaining stuff together, if you're into that). { Unique : false, Height : 0, Width : 0, Animated : false } <_originalKey expr=""""> "" { SimpleGraphic : null, Y : 0, X : 0 } * Cheap extension of FlxSprite * @author Lars Doucet hscript.UsingHandler.build() hscript.ClassExtendMacro.build() 0 true <_staticPoint expr="new Point()" line="47" static="1"> new Point() <_staticRect expr="new Rectangle()" line="48" static="1"> new Rectangle() <_staticRect2 expr="new Rectangle()" line="49" static="1"> new Rectangle() <_staticPointZero expr="new Point(0, 0)" line="51" static="1"> new Point(0, 0) <_staticMatrix expr="new Matrix()" line="52" static="1"> new Matrix() <_staticFlxRect expr="FlxRect.get()" line="54" static="1"> FlxRect.get() <_staticFlxRect2 expr="FlxRect.get()" line="55" static="1"> FlxRect.get() 0x00 0x11 0x10 0x01 <_staticRects static="1"> { smooth : false, tile : TILE_NONE } * Does the actual drawing for a 9-slice scaled graphic * @param g the graphics object for drawing to (ie, sprite.graphic) * @param assetID id of bitmapdata asset you are scaling * @param scale9 int array defining 2 points that define the grid as [x1,y1,x2,y2] (upper-interior-left, lower-interior-right) * @param rc rectangle object defining how big you want to scale it to * @param tile if a bit is false, scale those pieces, if true, tile them (default both false) * @param smooth whether to smooth when scaling or not (default false) * @param raw raw pixels supplied, if any * @return the new unique id { raw : null, smooth : false, tile : TILE_NONE } { raw : null, smooth : false, tile : TILE_NONE, srcData : null } { smooth_ : false, tile : TILE_NONE } <_bmpCanvas> "" <_slice9 expr="null"> null <_tile expr="TILE_NONE"> TILE_NONE <_smooth expr="false"> false <_asset_id expr=""""> "" <_raw_pixels> { Color : FlxColor.WHITE, DeferResize : false, Resize_axis : FlxUISprite.RESIZE_RATIO_Y, Resize_point : null, Ratio : -1, Id : "", Smooth : false, Tile : TILE_NONE, Slice9 : null } stretch) * @param smooth When stretching, whether to smooth middle pieces (default false) * @param id if Graphic is a BitmapData, manually specify its original source id, if any * @param ratio Resize ratio to force, if desired (W/H) * @param Resize_point Point for anchoring resizes * @param Resize_axis Whether resizing is based around the X or Y axis * @param Color Color to tint this graphic to. (White has no effect.)]]> * @author Lars Doucet hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__resize public="1" set="method" line="31"> <_HX_SUPER__noLongerUsingCachedID set="method" line="31"> <_HX_SUPER__purgeSections set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.ui.FlxUI9SliceSprite flixel.addons.ui.FlxUI9SliceSprite.SectionCounter "flixel/flixel-ui/img/button.png" "flixel/flixel-ui/img/button_arrow_down.png" "flixel/flixel-ui/img/button_arrow_left.png" "flixel/flixel-ui/img/button_arrow_right.png" "flixel/flixel-ui/img/button_arrow_up.png" "flixel/flixel-ui/img/button_thin.png" "flixel/flixel-ui/img/button_toggle.png" 18 "flixel/flixel-ui/img/check_mark.png" "flixel/flixel-ui/img/check_box.png" "flixel/flixel-ui/img/chrome.png" "flixel/flixel-ui/img/chrome_light.png" "flixel/flixel-ui/img/chrome_flat.png" "flixel/flixel-ui/img/chrome_inset.png" "flixel/flixel-ui/img/radio.png" "flixel/flixel-ui/img/radio_dot.png" "flixel/flixel-ui/img/tab.png" "flixel/flixel-ui/img/tab_back.png" "flixel/flixel-ui/img/box.png" "flixel/flixel-ui/img/dropdown_mark.png" "flixel/flixel-ui/img/plus_mark.png" "flixel/flixel-ui/img/minus_mark.png" "flixel/flixel-ui/img/hilight.png" "flixel/flixel-ui/img/invis.png" "flixel/flixel-ui/img/swatch.png" "flixel/flixel-ui/img/tooltip_arrow.png" "flixel/flixel-ui/img/finger_small.png" "flixel/flixel-ui/img/finger_big.png" "6,6,11,11" "2,2,15,15" "6,6,11,11" "6,6,11,11" "flixel/flixel-ui/xml/defaults" "flixel/flixel-ui/xml/default_popup" "flixel/flixel-ui/xml/default_loading_screen" null hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.ui.FlxUIAssets true * If false, the bar is tracking its parent * (the position is synchronized with the parent's position). * How many pixels = 1% of the bar (barWidth (or barHeight) / 100) * The positionOffset controls how far offset the FlxBar is from the parent sprite (if at all) false * If this FlxBar should be killed when its empty * The percentage of how full the bar is (a value between 0 and 100) * The percentage of how full the bar is (a value between 0 and 100) * The current value - must always be between min and max = max)]]> * How wide is the range of this bar? (max - min) * What 1% of the bar is equal to in terms of value (range / 100) 100 * Number of frames FlxBar will have. Default value is 100. * The bigger value you set then visual will change smoother. * @since 4.1.0 * This function will be called when value will hit it's minimum * This function will be called when value will hit it's maximum * Object to track value from/ * Property of parent object to track. * BarFrames which will be used for filled bar rendering. * It is recommended to use this property in tile render mode * (although it will work in blit render mode also). * The direction from which the health bar will fill-up. Default is from left to right. Change takes effect immediately. <_fillHorizontal> <_frontFrame> * FlxSprite which is used for rendering front graphics of bar (showing value) in tile render mode. <_filledFlxRect> <_emptyBar> <_emptyBarRect> <_filledBar> <_zeroOffset> <_filledBarRect> <_filledBarPoint> <_maxPercent expr="100"> 100 * Track the parent FlxSprites x/y coordinates. For example if you wanted your sprite to have a floating health-bar above their head. * If your health bar is 10px tall and you wanted it to appear above your sprite, then set offsetY to be -10 * If you wanted it to appear below your sprite, and your sprite was 32px tall, then set offsetY to be 32. Same applies to offsetX. * * @param offsetX The offset on X in relation to the origin x/y of the parent * @param offsetY The offset on Y in relation to the origin x/y of the parent * @see stopTrackingParent { offsetY : 0, offsetX : 0, track : false } * Sets a parent for this FlxBar. Instantly replaces any previously set parent and refreshes the bar. * * @param parentRef A reference to an object in your game that you wish the bar to track * @param variable The variable of the object that is used to determine the bar position. For example if the parent was an FlxSprite this could be "health" to track the health value * @param track If you wish the FlxBar to track the x/y coordinates of parent set to true (default false) * @param offsetX The offset on X in relation to the origin x/y of the parent * @param offsetY The offset on Y in relation to the origin x/y of the parent * Tells the health bar to stop following the parent sprite. The given posX and posY values are where it will remain on-screen. * * @param posX X coordinate of the health bar now it's no longer tracking the parent sprite * @param posY Y coordinate of the health bar now it's no longer tracking the parent sprite { killOnEmpty : false } * Sets callbacks which will be triggered when the value of this FlxBar reaches min or max. * Functions will only be called once and not again until the value changes. * Optionally the FlxBar can be killed if it reaches min, but if will fire the empty callback first (if set) * * @param onEmpty The function that is called if the value of this FlxBar reaches min * @param onFilled The function that is called if the value of this FlxBar reaches max * @param killOnEmpty If set it will call FlxBar.kill() if the value reaches min * Set the minimum and maximum allowed values for the FlxBar * * @param min The minimum value. I.e. for a progress bar this would be zero (nothing loaded yet) * @param max The maximum value the bar can reach. I.e. for a progress bar this would typically be 100. { border : FlxColor.WHITE, showBorder : false } * Creates a solid-colour filled health bar in the given colours, with optional 1px thick border. * All colour values are in 0xAARRGGBB format, so if you want a slightly transparent health bar give it lower AA values. * * @param empty The color of the bar when empty in 0xAARRGGBB format (the background colour) * @param fill The color of the bar when full in 0xAARRGGBB format (the foreground colour) * @param showBorder Should the bar be outlined with a 1px solid border? * @param border The border colour in 0xAARRGGBB format * @return This FlxBar object with generated images for front and background. { border : FlxColor.WHITE, showBorder : false } * Creates a solid-colour filled background for health bar in the given colour, with optional 1px thick border. * * @param empty The color of the bar when empty in 0xAARRGGBB format (the background colour) * @param showBorder Should the bar be outlined with a 1px solid border? * @param border The border colour in 0xAARRGGBB format * @return This FlxBar object with generated image for rendering health bar background. { border : FlxColor.WHITE, showBorder : false } * Creates a solid-colour filled foreground for health bar in the given colour, with optional 1px thick border. * @param fill The color of the bar when full in 0xAARRGGBB format (the foreground colour) * @param showBorder Should the bar be outlined with a 1px solid border? * @param border The border colour in 0xAARRGGBB format * @return This FlxBar object with generated image for rendering actual values. { border : FlxColor.WHITE, showBorder : false, rotation : 180, chunkSize : 1 } * Creates a gradient filled health bar using the given colour ranges, with optional 1px thick border. * All colour values are in 0xAARRGGBB format, so if you want a slightly transparent health bar give it lower AA values. * * @param empty Array of colour values used to create the gradient of the health bar when empty, each colour must be in 0xAARRGGBB format (the background colour) * @param fill Array of colour values used to create the gradient of the health bar when full, each colour must be in 0xAARRGGBB format (the foreground colour) * @param chunkSize If you want a more old-skool looking chunky gradient, increase this value! * @param rotation Angle of the gradient in degrees. 90 = top to bottom, 180 = left to right. Any angle is valid * @param showBorder Should the bar be outlined with a 1px solid border? * @param border The border colour in 0xAARRGGBB format * @return This FlxBar object with generated images for front and background. { border : FlxColor.WHITE, showBorder : false, rotation : 180, chunkSize : 1 } * Creates a gradient filled background for health bar using the given colour range, with optional 1px thick border. * * @param empty Array of colour values used to create the gradient of the health bar when empty, each colour must be in 0xAARRGGBB format (the background colour) * @param chunkSize If you want a more old-skool looking chunky gradient, increase this value! * @param rotation Angle of the gradient in degrees. 90 = top to bottom, 180 = left to right. Any angle is valid * @param showBorder Should the bar be outlined with a 1px solid border? * @param border The border colour in 0xAARRGGBB format * @return This FlxBar object with generated image for background rendering. { border : FlxColor.WHITE, showBorder : false, rotation : 180, chunkSize : 1 } * Creates a gradient filled foreground for health bar using the given colour range, with optional 1px thick border. * * @param fill Array of colour values used to create the gradient of the health bar when full, each colour must be in 0xAARRGGBB format (the foreground colour) * @param chunkSize If you want a more old-skool looking chunky gradient, increase this value! * @param rotation Angle of the gradient in degrees. 90 = top to bottom, 180 = left to right. Any angle is valid * @param showBorder Should the bar be outlined with a 1px solid border? * @param border The border colour in 0xAARRGGBB format * @return This FlxBar object with generated image for rendering actual values. { fillBackground : FlxColor.LIME, emptyBackground : FlxColor.BLACK } * Creates a health bar filled using the given bitmap images. * You can provide "empty" (background) and "fill" (foreground) images. either one or both images (empty / fill), and use the optional empty/fill colour values * All colour values are in 0xAARRGGBB format, so if you want a slightly transparent health bar give it lower AA values. * NOTE: This method doesn't check if the empty image doesn't have the same size as fill image. * * @param empty Bitmap image used as the background (empty part) of the health bar, if null the emptyBackground colour is used * @param fill Bitmap image used as the foreground (filled part) of the health bar, if null the fillBackground colour is used * @param emptyBackground If no background (empty) image is given, use this colour value instead. 0xAARRGGBB format * @param fillBackground If no foreground (fill) image is given, use this colour value instead. 0xAARRGGBB format * @return This FlxBar object with generated images for front and background. { emptyBackground : FlxColor.BLACK } * Loads given bitmap image for health bar background. * * @param empty Bitmap image used as the background (empty part) of the health bar, if null the emptyBackground colour is used * @param emptyBackground If no background (empty) image is given, use this colour value instead. 0xAARRGGBB format * @return This FlxBar object with generated image for background rendering. { fillBackground : FlxColor.LIME } * Loads given bitmap image for health bar foreground. * * @param fill Bitmap image used as the foreground (filled part) of the health bar, if null the fillBackground colour is used * @param fillBackground If no foreground (fill) image is given, use this colour value instead. 0xAARRGGBB format * @return This FlxBar object with generated image for rendering actual values. * Updates health bar view according its current value. * Called when the health bar detects a change in the health of the parent. * Stamps health bar background on its pixels * Stamps health bar foreground on its pixels { showBorder : false, max : 100, min : 0, variable : "", height : 10, width : 100, y : 0, x : 0 } * Create a new FlxBar Object * * @param x The x coordinate location of the resulting bar (in world pixels) * @param y The y coordinate location of the resulting bar (in world pixels) * @param direction The fill direction, LEFT_TO_RIGHT by default * @param width The width of the bar in pixels * @param height The height of the bar in pixels * @param parentRef A reference to an object in your game that you wish the bar to track * @param variable The variable of the object that is used to determine the bar position. For example if the parent was an FlxSprite this could be "health" to track the health value * @param min The minimum value. I.e. for a progress bar this would be zero (nothing loaded yet) * @param max The maximum value the bar can reach. I.e. for a progress bar this would typically be 100. * @param showBorder Include a 1px border around the bar? (if true it adds +2 to width and height to accommodate it) * FlxBar is a quick and easy way to create a graphical bar which can * be used as part of your UI/HUD, or positioned next to a sprite. * It could represent a loader, progress or health bar. * * @link http://www.photonstorm.com * @author Richard Davey / Photon Storm hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Applies a new style to this FlxBar and redraws it { showBorder : false, max : 100, min : 0, variable : "", height : 10, width : 100, y : 0, x : 0 } * Create a new FlxBar Object * * @param x The x coordinate location of the resulting bar (in world pixels) * @param y The y coordinate location of the resulting bar (in world pixels) * @param direction The fill direction, LEFT_TO_RIGHT by default * @param width The width of the bar in pixels * @param height The height of the bar in pixels * @param parentRef A reference to an object in your game that you wish the bar to track * @param variable The variable of the object that is used to determine the bar position. For example if the parent was an FlxSprite this could be "health" to track the health value * @param min The minimum value. I.e. for a progress bar this would be zero (nothing loaded yet) * @param max The maximum value the bar can reach. I.e. for a progress bar this would typically be 100. * @param showBorder Include a 1px border around the bar? (if true it adds +2 to width and height to accommodate it) * ... * @author larsiusprime hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__clone public="1" set="method" line="148"> * Applies a new style to this FlxBar and redraws it <_HX_SUPER__set_style public="1" set="method" line="148"> <_HX_SUPER__resize public="1" set="method" line="31"> <_HX_SUPER__set_params set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.ui.FlxUIBar flixel.addons.ui.FlxUIBar.FlxBarStyle hscript.UsingHandler.build() hscript.ClassExtendMacro.build() [FlxPoint.get(), FlxPoint.get(), FlxPoint.get(0, 1)] * What offsets the `label` should have for each status. [0.8, 1.0, 0.5] * What alpha value the label should have for each status. Default is `[0.8, 1.0, 0.5]`. * Multiplied with the button's `alpha`. ["normal", "highlight", "pressed"] * What animation should be played for each status. * Default is ["normal", "highlight", "pressed"]. true * Whether you can press the button simply by releasing the touch / mouse button over it (default). * If false, the input has to be pressed while hovering over the button. [FlxMouseButtonID.LEFT] * Which mouse buttons can trigger the button - by default only the left mouse button. Math.POSITIVE_INFINITY * Maximum distance a pointer can move to still trigger event handlers. * If it moves beyond this limit, onOut is triggered. * Defaults to `Math.POSITIVE_INFINITY` (i.e. no limit). * Shows the current state of the button, either `FlxButton.NORMAL`, * `FlxButton.HIGHLIGHT` or `FlxButton.PRESSED`. * The properties of this button's `onUp` event (callback function, sound). * The properties of this button's `onDown` event (callback function, sound). * The properties of this button's `onOver` event (callback function, sound). * The properties of this button's `onOut` event (callback function, sound). <_spriteLabel> * We cast label to a `FlxSprite` for internal operations to avoid Dynamic casts in C++ * We don't need an ID here, so let's just use `Int` as the type. * The input currently pressing this button, if none, it's `null`. Needed to check for its release. -1 * Called by the game state when state is changed (if this object belongs to the state) * Called by the game loop automatically, handles mouseover and click detection. * Just draws the button graphic and text label to the screen. * Stamps button's graphic and label onto specified atlas object and loads graphic from this atlas. * This method assumes that you're using whole image for button's graphic and image has no spaces between frames. * And it assumes that label is a single frame sprite. * * @param atlas Atlas to stamp graphic to. * @return Whether the button's graphic and label's graphic were stamped on the atlas successfully. * Basic button update logic - searches for overlaps with touches and * the mouse cursor and calls `updateStatus()`. * Updates the button status by calling the respective event handler function. * Using an event listener is necessary for security reasons on flash - * certain things like opening a new window are only allowed when they are user-initiated. * Internal function that handles the onUp event. * Internal function that handles the onDown event. * Internal function that handles the onOver event. * Internal function that handles the onOut event. { Y : 0, X : 0 } * Creates a new `FlxTypedButton` object with a gray background. * * @param X The x position of the button. * @param Y The y position of the button. * @param OnClick The function to call whenever the button is clicked. * A simple button class that calls a function when clicked by the mouse. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * The cursor can point to one of these * @author Lars Doucet hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() { frame_indeces : null, src_h : 0, src_w : 0, isToggle : false, Resize_Ratio : -1, Tile : FlxUI9SliceSprite.TILE_NONE, slice9 : null, H : 20, W : 80, assets : null } { Key : "" } { for_toggle : false } * This interface keeps me from having to use a Dynamic variable to point to a value holding a FlxUITypedButton * that could be either a FlxUIButton or a FlxUISpriteButton * @author larsiusprime hscript.UsingHandler.build() hscript.ClassExtendMacro.build() flixel.ui.FlxButton "click_button" "over_button" "down_button" "out_button" -1 FlxUISprite.RESIZE_RATIO_Y null FlxUI9SliceSprite.TILE_NONE false false true null null null null null null true true true true true true true false false flixel.addons.ui.FlxUITypedButton * Set all 3 sets of labelOffsets at once * Offset the statusAnimations-index by 3 when toggled. * Just draws the button graphic and text label to the screen. { Redraw : true } { Key : "" } * Provide a list of assets, load states from each one * @param assets * @param key string key for caching (optional) { for_toggle : false } * Provide one combined asset, load all 3 state frames from it and infer the width/height * @param asset graphic to load * @param for_toggle whether this is for a toggle button or not * @param key string key for caching (optional) { frame_indeces : null, src_h : 0, src_w : 0, isToggle : false, Resize_Ratio : -1, Tile : FlxUI9SliceSprite.TILE_NONE, slice9 : null, H : 20, W : 80, assets : null } Graphics chopping functions * Sets labelOffset to center the label horizontally and vertically { key : null, src_h : 0, src_w : 0, for_toggle : false } *UTILITY FUNCTIONS* * Combines two stacked button images for a toggle button * Give me three bitmapdatas and I'll return an assembled button bitmapdata for you. * If overB or downB are missing, it will not include those frames. <_autoCleanup expr="true"> true *******PRIVATE********** <_assetsToCleanup expr="[]"> [] <_no_graphic expr="false"> false <_src_w expr="0"> 0 <_src_h expr="0"> 0 <_frame_indeces> <_slice9_arrays> <_slice9_assets> <_centerLabelOffset expr="null"> null { Y : 0, X : 0 } * Creates a new FlxUITypedButton object with a gray background. * * @param X The X position of the button. * @param Y The Y position of the button. * @param OnClick The function to call whenever the button is clicked. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * ... * @author Lars Doucet hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_noIconGraphicsBkup> null null null null null null { Embedded : true, BorderColor : FlxColor.TRANSPARENT, Color : FlxColor.WHITE, Size : 8 } * You can use this if you have a lot of text parameters * to set instead of the individual properties. * * @param Font The name of the font face for the text display. * @param Size The size of the font (in pixels essentially). * @param Color The color of the text in traditional flash 0xRRGGBB format. * @param Alignment The desired alignment * @param BorderStyle NONE, SHADOW, OUTLINE, or OUTLINE_FAST (use setBorderFormat) * @param BorderColor Int, color for the border, 0xRRGGBB format * @param EmbeddedFont Whether this text field uses embedded fonts or not * @return This FlxText instance (nice for chaining stuff together, if you're into that). For ILabeled: For IResizable: { center : true, Y : 0, X : 0 } ********PRIVATE******* * Updates the size of the text field to match the button. { Color : FlxColor.WHITE, LoadBlank : false, LoadDefaultGraphics : true, Y : 0, X : 0 } * Creates a new FlxUIButton. * * @param X The X position of the button. * @param Y The Y position of the button. * @param Label The text that you want to appear on the button. * @param OnClick The function to call whenever the button is clicked. * @param LoadDefaultGraphics By default it will load up with placeholder graphics. Pass false if you want to skip this (i.e. if you will provide your own graphics subsequently, can save time) * @param LoadBlank Load this button without ANY visible graphics, but still functions (in case you need an invisible click area) * This class extends FlxUITypedButton and has a Text label, and is thus * most analagous to the regular FlxButton * * Like all FlxUITypedButton's, it can work as a toggle button, and load * 9-slice sprites for its button images, and be dynamically resized * accordingly. * * Furthermore, you have the ability to set the text's coloring for each * state just by adjusting a few public variables hscript.UsingHandler.build() hscript.ClassExtendMacro.build() { Embedded : true, BorderColor : FlxColor.TRANSPARENT, Color : FlxColor.WHITE, Size : 8 } * You can use this if you have a lot of text parameters * to set instead of the individual properties. * * @param Font The name of the font face for the text display. * @param Size The size of the font (in pixels essentially). * @param Color The color of the text in traditional flash 0xRRGGBB format. * @param Alignment The desired alignment * @param BorderStyle NONE, SHADOW, OUTLINE, or OUTLINE_FAST (use setBorderFormat) * @param BorderColor Int, color for the border, 0xRRGGBB format * @param EmbeddedFont Whether this text field uses embedded fonts or not * @return This FlxText instance (nice for chaining stuff together, if you're into that). <_HX_SUPER__setLabelFormat public="1" set="method" line="148"> { Embedded : true, BorderColor : FlxColor.TRANSPARENT, Color : FlxColor.WHITE, Size : 8 } <_HX_SUPER__autoCenterLabel public="1" set="method" line="31"> <_HX_SUPER__clone public="1" set="method" line="148"> <_HX_SUPER__copyStyle public="1" set="method" line="31"> For ILabeled: <_HX_SUPER__setLabel public="1" set="method" line="148"> <_HX_SUPER__getLabel public="1" set="method" line="148"> For IResizable: <_HX_SUPER__resize public="1" set="method" line="31"> { center : true, Y : 0, X : 0 } <_HX_SUPER__addIcon public="1" set="method" line="148"> { center : true, Y : 0, X : 0 } <_HX_SUPER__removeIcon public="1" set="method" line="148"> <_HX_SUPER__changeIcon public="1" set="method" line="148"> <_HX_SUPER__destroy public="1" set="method" line="31"> ********PRIVATE******* <_HX_SUPER__loadDefaultGraphic set="method" line="31"> * Updates the size of the text field to match the button. <_HX_SUPER__resetHelpers set="method" line="31"> <_HX_SUPER__onDownHandler set="method" line="31"> <_HX_SUPER__onOverHandler set="method" line="31"> <_HX_SUPER__onOutHandler set="method" line="31"> <_HX_SUPER__onUpHandler set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.ui.FlxUIButton "click_check_box" -1 false true false 0 0 2 false For ILabeled: ***GETTER/SETTER* <_clickCheck set="method" line="283"> ***PRIVATE**** { LabelW : 100, Y : 0, X : 0 } * @author Lars Doucet hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__set_skipButtonUpdate set="method" line="148"> <_HX_SUPER__set_params set="method" line="148"> <_HX_SUPER__set_color set="method" line="148"> For ILabeled: <_HX_SUPER__setLabel public="1" set="method" line="148"> <_HX_SUPER__getLabel public="1" set="method" line="148"> <_HX_SUPER__set_visible set="method" line="148"> <_HX_SUPER__anchorTime set="method" line="31"> <_HX_SUPER__set_textX set="method" line="148"> <_HX_SUPER__set_textY set="method" line="148"> <_HX_SUPER__anchorLabelX public="1" set="method" line="31"> <_HX_SUPER__anchorLabelY public="1" set="method" line="31"> <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__get_text set="method" line="148"> <_HX_SUPER__set_text set="method" line="148"> <_HX_SUPER__update public="1" set="method" line="31"> ***GETTER/SETTER* <_HX_SUPER__set_checked set="method" line="148"> <_clickCheck set="method" line="110" override="1"> ***PRIVATE**** <_HX_SUPER___clickCheck set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.ui.FlxUICheckBox "click_color_swatch" SETTERS * Set a color at a specific index in the swatch * @param Color * @param index * If true, the swatch will draw itself dynamically based on the four colors provided <_origKey expr=""""> "" <_skipRefresh expr="false"> false { Height : -1, Width : -1, Color : 0xFFFFFF } * Creates a new color swatch that can store and display a color value * @param Color Single color for the swatch * @param Colors Multiple colors for the swatch * @param Asset An asset for the swatch graphic (optional) * @param Callback Function to call when clicked hscript.UsingHandler.build() hscript.ClassExtendMacro.build() "click_color_swatch_selecter" <_previewSwatch> false { IgnoreInvisible : true, PickClosest : true } <_previewGraphic> <_swatchGraphic> <_selectedSwatch> <_selectionSprite> <_dirtyLayout expr="false"> false { Swatch : null, Preview : null, MaxColumns : -1, SpacingV : 2, SpacingH : 2 } * A handy little group for selecting color swatches from * @param X X location * @param Y Y location * @param SelectionSprite The selection box sprite (optional, auto-generated if not supplied) * @param list_colors A list of single-colors to generate swatches from. 1st of 3 alternatives. * @param list_data A list of swatch data to generate swatches from. 2nd of 3 alternatives. * @param list_swatches A list of the actual swatch widgets themselves. 3rd of 3 alternatives. * @param SpacingH Horizontal spacing between swatches * @param SpacingV Vertical spacing between swatches * @param MaxColumns Number of horizontal swatches in a row before a line break * @param Preview Graphic information for the preview swatch * @param Swatch Graphic information for the regular swatches * ... * @author larsiusprime hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__set_spacingH set="method" line="148"> <_HX_SUPER__set_spacingV set="method" line="148"> <_HX_SUPER__set_maxColumns set="method" line="148"> <_HX_SUPER__set_skipButtonUpdate set="method" line="148"> <_HX_SUPER__get_numSwatches set="method" line="148"> <_HX_SUPER__update public="1" set="method" line="31"> <_HX_SUPER__updateLayout public="1" set="method" line="31"> <_HX_SUPER__changeColors public="1" set="method" line="31"> <_HX_SUPER__get_selectedSwatch set="method" line="148"> <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__selectCallback set="method" line="31"> <_HX_SUPER__selectByIndex public="1" set="method" line="31"> <_HX_SUPER__selectByColor public="1" set="method" line="31"> { IgnoreInvisible : true, PickClosest : true } <_HX_SUPER__selectByColors public="1" set="method" line="31"> { IgnoreInvisible : true, PickClosest : true } <_HX_SUPER__selectByName public="1" set="method" line="31"> <_HX_SUPER__unselect public="1" set="method" line="31"> <_HX_SUPER__updateSelected public="1" set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.ui.FlxUIColorSwatchSelecter flixel.addons.ui.FlxUIColorSwatchSelecter.SwatchGraphic SETTERS <_HX_SUPER__set_color set="method" line="148"> <_HX_SUPER__destroy public="1" set="method" line="31"> * Set a color at a specific index in the swatch * @param Color * @param index <_HX_SUPER__setColorAtIndex public="1" set="method" line="31"> <_HX_SUPER__set_colors set="method" line="148"> * If true, the swatch will draw itself dynamically based on the four colors provided <_HX_SUPER__set_multiColored set="method" line="148"> <_HX_SUPER__set_hilight set="method" line="148"> <_HX_SUPER__set_midtone set="method" line="148"> <_HX_SUPER__set_shadowMid set="method" line="148"> <_HX_SUPER__set_shadowDark set="method" line="148"> <_HX_SUPER__equalsSwatch public="1" set="method" line="148"> <_HX_SUPER__getRawDifferenceSwatch public="1" set="method" line="148"> <_HX_SUPER__refreshColor public="1" set="method" line="31"> <_HX_SUPER__onClick set="method" line="31"> <_HX_SUPER__colorKey public="1" set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.ui.FlxUIColorSwatch 0x00000001 0x00000010 0x00000100 0x00001000 0x00010000 0x00100000 0x01000000 0x10000000 0x00 0x01 0x10 true -1 0 * Exactly what it sounds like. The next input that would trigger a jump doesn't happen, then this flag is reset. { wrap : true, forwardIfInvisible : true } * Same as setting .location, but lets you specificy what to do if that object is invisible * @param loc the location you want to set the cursor to * @param forwardIfInvisible if object @ loc is invisible, keep adding 1 until we find a good state. If false, subtract 1. * @param wrap if true, wrap around if we reach the end of the list. If false, don't. * Returns the current widget the cursor is pointing to, if any * @since 2.1.0 FirstActive * If a gamepad's connection is suddenly lost, what should be done? <_gamepad> true 0x00 * Forces the cursor to change its location to point to this widget, if the widget is in its list * @param widget * @return whether the widget was found or not * Forces the cursor to to point to whatever widget's center is closest to X,Y -- IF the widget is in its list * @param X * @param Y * @return @since 2.1.0 * Set the default key layout quickly using a constant. * @param code KEYS_TAB, ..._WASD, etc, combine with "|" operator <_lists> **PRIVATE** <_widgets> <_newMouse> 0 0 <_clickPressed expr="false"> false <_defaultCode> <_rightAnchor> <_topAnchor> <_leftAnchor> <_bottomAnchor> <_clickTime expr="0"> 0 { exhaustive : true } <_sortIDVisible set="method" line="718"> <_sortXYWidgetList set="method" line="731"> <_sortXYVisible set="method" line="744"> <_addToKeys set="method" line="761"> <_clearKeys set="method" line="778"> <_newKeys set="method" line="792"> <_checkKeys set="method" line="801"> <_clickKeysJustPressed set="method" line="873"> <_clickKeysPressed set="method" line="885"> <_getWidgetPoint set="method" line="897"> <_doMouseMove set="method" line="936"> <_doPress set="method" line="971"> <_doRelease set="method" line="1015"> <_findNextY set="method" line="1074"> <_wrapX set="method" line="1147"> <_wrapY set="method" line="1160"> <_doInput set="method" line="1237"> { recursion : 0 } <_updateCursor set="method" line="1338"> <_flipAnchor set="method" line="1399"> { DefaultKeys : KEYS_TAB, InputMethod : INPUT_KEYS } ***************************** * Cursor object that you can use to "click" on interface elements using a keyboard or gamepad * TODO: need to support gamepad and/or deal with absence of mouse hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() { wrap : true, forwardIfInvisible : true } * Same as setting .location, but lets you specificy what to do if that object is invisible * @param loc the location you want to set the cursor to * @param forwardIfInvisible if object @ loc is invisible, keep adding 1 until we find a good state. If false, subtract 1. * @param wrap if true, wrap around if we reach the end of the list. If false, don't. <_HX_SUPER__findVisibleLocation public="1" set="method" line="31"> { wrap : true, forwardIfInvisible : true } * Returns the current widget the cursor is pointing to, if any * @since 2.1.0 <_HX_SUPER__getCurrentWidget public="1" set="method" line="148"> <_HX_SUPER__set_listIndex set="method" line="148"> <_HX_SUPER__set_visible set="method" line="148"> <_HX_SUPER__set_location set="method" line="148"> <_HX_SUPER__set_gamepad set="method" line="148"> <_HX_SUPER__get_gamepad set="method" line="148"> <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__update public="1" set="method" line="31"> <_HX_SUPER__addWidgetsFromUI public="1" set="method" line="148"> * Forces the cursor to change its location to point to this widget, if the widget is in its list * @param widget * @return whether the widget was found or not <_HX_SUPER__jumpTo public="1" set="method" line="148"> * Forces the cursor to to point to whatever widget's center is closest to X,Y -- IF the widget is in its list * @param X * @param Y * @return <_HX_SUPER__jumpToXY public="1" set="method" line="148"> <_HX_SUPER__addWidgetList public="1" set="method" line="31"> <_HX_SUPER__addWidget public="1" set="method" line="31"> <_HX_SUPER__sortWidgets public="1" set="method" line="31"> @since 2.1.0 <_HX_SUPER__clearWidgets public="1" set="method" line="31"> <_HX_SUPER__removeWidget public="1" set="method" line="148"> * Set the default key layout quickly using a constant. * @param code KEYS_TAB, ..._WASD, etc, combine with "|" operator <_HX_SUPER__setDefaultKeys public="1" set="method" line="31"> { exhaustive : true } <_HX_SUPER__getGamepad set="method" line="148"> { exhaustive : true } <_sortIDVisible set="method" line="74" override="1"> <_HX_SUPER___sortIDVisible set="method" line="148"> <_sortXYWidgetList set="method" line="74" override="1"> <_HX_SUPER___sortXYWidgetList set="method" line="148"> <_sortXYVisible set="method" line="74" override="1"> <_HX_SUPER___sortXYVisible set="method" line="148"> <_addToKeys set="method" line="74" override="1"> <_HX_SUPER___addToKeys set="method" line="148"> <_clearKeys set="method" line="110" override="1"> <_HX_SUPER___clearKeys set="method" line="31"> <_newKeys set="method" line="110" override="1"> <_HX_SUPER___newKeys set="method" line="31"> <_checkKeys set="method" line="110" override="1"> <_HX_SUPER___checkKeys set="method" line="31"> <_clickKeysJustPressed set="method" line="74" override="1"> <_HX_SUPER___clickKeysJustPressed set="method" line="148"> <_clickKeysPressed set="method" line="74" override="1"> <_HX_SUPER___clickKeysPressed set="method" line="148"> <_getWidgetPoint set="method" line="74" override="1"> <_HX_SUPER___getWidgetPoint set="method" line="148"> <_doMouseMove set="method" line="110" override="1"> <_HX_SUPER___doMouseMove set="method" line="31"> <_doPress set="method" line="110" override="1"> <_HX_SUPER___doPress set="method" line="31"> <_doRelease set="method" line="110" override="1"> <_HX_SUPER___doRelease set="method" line="31"> <_findNextY set="method" line="74" override="1"> <_HX_SUPER___findNextY set="method" line="148"> <_wrapX set="method" line="74" override="1"> <_HX_SUPER___wrapX set="method" line="148"> <_wrapY set="method" line="74" override="1"> <_HX_SUPER___wrapY set="method" line="148"> <_doInput set="method" line="110" override="1"> { recursion : 0 } <_HX_SUPER___doInput set="method" line="31"> { recursion : 0 } <_updateCursor set="method" line="110" override="1"> <_HX_SUPER___updateCursor set="method" line="31"> <_flipAnchor set="method" line="110" override="1"> <_HX_SUPER___flipAnchor set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.ui.FlxUICursor flixel.addons.ui.FlxUICursor.WidgetList flixel.addons.ui.FlxUICursor.GamepadAutoConnectPreference flixel.addons.ui.FlxUICursor.SortMethod "click_dropdown" { UseIndexID : false } * Helper function to easily create a data list for a dropdown menu from an array of strings. * * @param StringArray The strings to use as data - used for both label and string ID. * @param UseIndexID Whether to use the integer index of the current string as ID. * @return The StrIDLabel array ready to be used in FlxUIDropDownMenu's constructor <_selectedId> <_selectedLabel>
    * The header of this dropdown menu.
    [] * The list of items that is shown when the toggle button is clicked. * The background for the list. Automatic * Change the contents with a new data list * Replaces the old content with the new content { Y : 0, X : 0 } * This creates a new dropdown menu. * * @param X x position of the dropdown menu * @param Y y position of the dropdown menu * @param DataList The data to be displayed * @param Callback Optional Callback * @param Header The header of this dropdown menu * @param DropPanel Optional 9-slice-background for actual drop down menu * @param ButtonList Optional list of buttons to be used for the corresponding entry in DataList * @param UIControlCallback Used internally by FlxUI * @author larsiusprime hscript.UsingHandler.build() hscript.ClassExtendMacro.build()
    * The background of the header. * The text that displays the currently selected item. { Width : 120 } * Creates a new dropdown header to be used in a FlxUIDropDownMenu. * * @param Width Width of the dropdown - only relevant when no back sprite was specified * @param Back Optional sprite to be placed in the background * @param Text Optional text that displays the current value * @param Button Optional button that toggles the dropdown list * Header for a FlxUIDropDownMenu hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__set_skipButtonUpdate set="method" line="148"> <_HX_SUPER__get_selectedId set="method" line="148"> <_HX_SUPER__set_selectedId set="method" line="148"> <_HX_SUPER__get_selectedLabel set="method" line="148"> <_HX_SUPER__set_selectedLabel set="method" line="148"> <_HX_SUPER__set_params set="method" line="148"> <_HX_SUPER__set_dropDirection set="method" line="148"> <_HX_SUPER__updateButtonPositions set="method" line="31"> <_HX_SUPER__set_visible set="method" line="148"> <_HX_SUPER__dropsUp set="method" line="148"> <_HX_SUPER__exceedsHeight set="method" line="148"> <_HX_SUPER__getPanelHeight set="method" line="148"> * Change the contents with a new data list * Replaces the old content with the new content <_HX_SUPER__setData public="1" set="method" line="31"> <_HX_SUPER__selectSomething set="method" line="31"> <_HX_SUPER__makeListButton set="method" line="148"> <_HX_SUPER__changeLabelByIndex public="1" set="method" line="31"> <_HX_SUPER__changeLabelById public="1" set="method" line="31"> <_HX_SUPER__getBtnByIndex public="1" set="method" line="148"> <_HX_SUPER__getBtnById public="1" set="method" line="148"> <_HX_SUPER__update public="1" set="method" line="31"> <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__showList set="method" line="31"> <_HX_SUPER__onDropdown set="method" line="31"> <_HX_SUPER__onClickItem set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.ui.FlxUIDropDownMenu flixel.addons.ui.FlxUIDropDownMenu.FlxUIDropDownHeader flixel.addons.ui.FlxUIDropDownMenu.FlxUIDropDownMenuDropDirection <_HX_SUPER__destroy public="1" set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.ui.FlxUIDropDownMenu flixel.addons.ui.FlxUIDropDownMenu.FlxUIDropDownHeader flixel.addons.ui.FlxUIDropDownMenu.FlxUIDropDownMenuDropDirection <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__add public="1" set="method" line="148"> { Splice : false } <_HX_SUPER__remove public="1" set="method" line="148"> { Splice : false } <_HX_SUPER__setScrollFactor public="1" set="method" line="31"> <_HX_SUPER__hasThis public="1" set="method" line="148"> { rect : null } * Calculates the bounds of the group and sets width/height * @param rect (optional) -- if supplied, populates this with the boundaries of the group <_HX_SUPER__calcBounds public="1" set="method" line="148"> { rect : null } * Floor the positions of all children <_HX_SUPER__floorAll public="1" set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.ui.FlxUIGroup "change_input_text" "enter_input_text" "delete_input_text" "input_input_text" true * @author Lars Doucet hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__resize public="1" set="method" line="31"> <_HX_SUPER__onChange set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.ui.FlxUIInputText HORIZONTAL 10 1 * ... * @author larsiusprime hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__set_axis set="method" line="148"> <_HX_SUPER__set_length set="method" line="148"> <_HX_SUPER__set_thickness set="method" line="148"> <_HX_SUPER__refresh set="method" line="31"> <_HX_SUPER__resize public="1" set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.ui.FlxUILine flixel.addons.ui.FlxUILine.LineAxis 0 1 0 **PRIVATE** <_skipRefresh expr="false"> false flixel.addons.ui.FlxUIRadioGroup flixel.addons.ui.FlxUIRadioGroup more...", H : 0, W : 0, Widgets : null, Y : 0, X : 0 }]]> more..." in your language (must use variable!) * @param Stacking How to stack the widgets? STACK_HORIZONTAL or STACK_VERTICAL * @param Spacing Space between widgets * @param PrevButtonOffset Offset for Scroll - Button * @param NextButtonOffset Offset for Scroll + Button * @param PrevButton Button to Scroll - * @param NextButton Button to Scroll +]]> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__set_scrollIndex public="1" set="method" line="148"> <_HX_SUPER__set_stacking public="1" set="method" line="148"> <_HX_SUPER__set_spacing public="1" set="method" line="148"> <_HX_SUPER__set_moreString public="1" set="method" line="148"> <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__setSize public="1" set="method" line="31"> <_HX_SUPER__add public="1" set="method" line="148"> **PRIVATE** <_HX_SUPER__safeAdd set="method" line="148"> <_HX_SUPER__getMoreString set="method" line="148"> <_HX_SUPER__set_visible set="method" line="148"> <_HX_SUPER__onClick set="method" line="31"> flixel.addons.ui.FlxUIRadioGroup <_HX_SUPER__refreshList set="method" line="31"> <_HX_SUPER__get_width set="method" line="148"> <_HX_SUPER__get_height set="method" line="148"> <_HX_SUPER__set_width set="method" line="148"> <_HX_SUPER__set_height set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.ui.FlxUIList <_tongue> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() null <_makeCursor> * frontend for adding tooltips to things <_xml_id expr=""""> "" <_ui> <_tongue> false <_reload expr="false"> false <_reload_countdown expr="0"> 0 null { Safe : true, Context : "ui" } flixel.addons.ui.FlxUI * Creates a cursor. Makes it easy to override this function in your own FlxUIState. * @return { liveFilePath_ : "", tongue_ : null, superIndex_ : null, ptr : null, data : null } { BGColor : 0 } * This is a simple extension of FlxState that does two things: * 1) It implements the IEventGetter interface * 2) Automatically creates a FlxUI objects from a single string id * * Usage: * Create a class that extends FlxUIState, override create, and * before you call super.create(), set _xml_id to the string id * of the corresponding UI xml file (leave off the extension). * * @author Lars Doucet hscript.UsingHandler.build() hscript.ClassExtendMacro.build() "click_popup" true STUBS TO MAKE THE INTERFACE HAPPY: { Y : 0, X : 0 } 0 0 null 1 <_width expr="0"> 0 <_height expr="0"> 0 ********************************** * Assuming you use the default format, puts this information in the popup. * This function ONLY works if you are using the default_popup.xml, OR your * custom xml contains the following assets: * 2 texts, ids: "title","body" * 3 buttons, ids: "btn0","btn1","btn2" * 3 modes, ids: "1btn","2btn","3btn" * @param title title text * @param body body text * @param button_labels up to three button labels - if fewer, shows less buttons <_quickSetupParams expr="null"> <c path="String"/> null { safe : true, context : "ui" } <_doQuickSetup set="method" line="260"> <_doQuickSetupButtons set="method" line="280"> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() "loading_screen_progress" "loading_screen_finished" "loading_screen_cancelled" "loading_screen_accepted" 0 <c path="String"/> { canCancel_ : false } { safe : true, context : "ui" } <_doQuickSetupButtons set="method" line="217" override="1"> <_timeSpentAlive expr="0"> 0 <_currTimer> <_task expr="null"> null <_sleepTime expr="0"> 0 <_closeOnFinished expr="true"> true <_progress expr="0"> 0 <_bar> <_bar_back> <_title> <_body> <_body_temp_txt expr=""$LOADING_BODY""> "$LOADING_BODY" <_title_temp_txt expr=""$LOADING_TITLE""> "$LOADING_TITLE" * A simple loading screen -- you must drive the churning of tasks externally * * @author larsiusprime hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__get_body set="method" line="148"> <_HX_SUPER__set_body set="method" line="148"> <_HX_SUPER__get_title set="method" line="148"> <_HX_SUPER__set_title set="method" line="148"> <_HX_SUPER__set_canCancel set="method" line="148"> <_HX_SUPER__get_progress set="method" line="148"> <_HX_SUPER__set_progress set="method" line="148"> { canCancel_ : false } <_HX_SUPER__set public="1" set="method" line="148"> { canCancel_ : false } <_HX_SUPER__create public="1" set="method" line="31"> <_HX_SUPER__getEvent public="1" set="method" line="31"> <_HX_SUPER__update public="1" set="method" line="31"> { safe : true, context : "ui" } <_HX_SUPER__myGetTextFallback set="method" line="148"> { safe : true, context : "ui" } <_doQuickSetupButtons set="method" line="110" override="1"> <_HX_SUPER___doQuickSetupButtons set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.ui.FlxUILoadingScreen <_cachedPoint expr="new FlxPoint()" line="19" static="1"> new FlxPoint() 0 0 0 0 <_globalScreenX expr="0"> 0 <_globalScreenY expr="0"> 0 * Fetch the world position of the pointer on any given camera. * NOTE: x and y also store the world position of the pointer on the main camera. * * @param Camera If unspecified, first/main global camera is used instead. * @param point An existing point object to store the results (if you don't want a new one created). * @return The touch point's location in world space. * Fetch the screen position of the pointer on any given camera. * NOTE: screenX and screenY also store the screen position of the pointer on the main camera. * * @param Camera If unspecified, first/main global camera is used instead. * @param point An existing point object to store the results (if you don't want a new one created). * @return The touch point's location in screen space. flixel.FlxCamera * Fetch the screen position of the pointer relative to given camera's viewport. * * @param Camera If unspecified, first/main global camera is used instead. * @param point An existing point object to store the results (if you don't want a new one created). * @return The touch point's location relative to camera's viewport. * Returns a FlxPoint with this input's x and y. flixel.group.FlxTypedGroup.resolveGroup * Checks to see if some FlxObject overlaps this FlxObject or FlxGroup. * If the group has a LOT of things in it, it might be faster to use FlxG.overlaps(). * WARNING: Currently tilemaps do NOT support screen space overlap checks! * * @param ObjectOrGroup The object or group being tested. * @param Camera Specify which game camera you want. If null getScreenPosition() will just grab the first global camera. * @return Whether or not the two objects overlap. * Directly set the underyling screen position variable. WARNING! You should never use * this unless you are trying to manually dispatch low-level mouse / touch events to the stage. * Helper function to update the cursor used by update() and playback(). * Updates the x, y, screenX, and screenY variables based on the default camera. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() flixel.system.frontEnds.InputFrontEnd true * Whether or not mouse input is currently enabled. * @since 4.1.0 0 * Current "delta" value of mouse wheel. If the wheel was just scrolled up, * it will have a positive value and vice versa. Otherwise the value will be 0. * A display container for the mouse cursor. It is a child of FlxGame and * sits at the right "height". Not used on flash with the native cursor API. true * Used to toggle the visiblity of the mouse cursor - works on both * the flixel and the system cursor, depending on which one is active. false * Tells flixel to use the default system mouse cursor instead of custom Flixel mouse cursors. * Check to see if the mouse has just been moved. * @since 4.4.0 * Check to see if the left mouse button is currently pressed. * Check to see if the left mouse button has just been pressed. * Check to see if the left mouse button has just been released. * Time in ticks of last left mouse button press. * @since 4.3.0 * Check to see if the right mouse button is currently pressed. * Check to see if the right mouse button has just been pressed. * Check to see if the right mouse button has just been released. * Time in ticks of last right mouse button press. * @since 4.3.0 * Check to see if the middle mouse button is currently pressed. * Check to see if the middle mouse button has just been pressed. * Check to see if the middle mouse button has just been released. * Time in ticks of last middle mouse button press. * @since 4.3.0 <_leftButton> flixel.input.mouse.FlxMouseButton * The left mouse button. <_middleButton> flixel.input.mouse.FlxMouseButton * The middle mouse button. <_rightButton> flixel.input.mouse.FlxMouseButton * The right mouse button. <_cursor expr="null"> null * This is just a reference to the current cursor image, if there is one. <_cursorBitmapData> <_wheelUsed expr="false"> false <_visibleWhenFocusLost expr="true"> true <_lastX expr="0"> 0 * Helper variables for recording purposes. <_lastY expr="0"> 0 <_lastWheel expr="0"> 0 <_lastLeftButtonState> <_prevX expr="0"> 0 * Helper variables to see if the mouse has moved since the last update. <_prevY expr="0"> 0 <_stage> { YOffset : 0, XOffset : 0, Scale : 1 } * Helper variables for flash native cursors * Unload the current cursor graphic. If the current cursor is visible, * then the default system cursor is loaded up to replace the old one. * Clean up memory. Internal use only. * Resets the just pressed/just released flags and sets mouse to not pressed. * Called by the internal game loop to update the mouse pointer's position in the game world. * Also updates the just pressed/just released flags. * Called from the main Event.ACTIVATE that is dispatched in FlxGame * Called from the main Event.DEACTIVATE that is dispatched in FlxGame * Internal event handler for input and focus. * We're detecting the mouse leave event to prevent a bug where `pressed` remains true * for the middle and right mouse button when pressed and dragged outside the window. flixel.system.replay.FlxReplay flixel.system.replay.FlxReplay flixel.FlxG * @param cursorContainer The cursor container sprite passed by FlxGame * This class helps contain and track the mouse pointer in your game. * Automatically accounts for parallax scrolling, etc. * Normally accessed via `FlxG.mouse`. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() true * Called by the internal game loop to update the mouse pointer's position in the game world. * Also updates the just pressed/just released flags. * A customized extension to FlxMouse that lets us add in accessibility stuff * like using the keyboard to control mouse moving/clicking hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Called by the internal game loop to update the mouse pointer's position in the game world. * Also updates the just pressed/just released flags. <_HX_SUPER__update set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.ui.FlxUIMouse 0 1 "click_numeric_stepper" "edit_numeric_stepper" "change_numeric_stepper" 0 0 0 10 0 STACK_HORIZONTAL false <__textBoxValueChanged expr="false"> false <_onInputTextEvent set="method" line="281"> <_onPlus set="method" line="311"> <_onMinus set="method" line="318"> <_doCallback set="method" line="325"> { IsPercent : false, Stack : STACK_HORIZONTAL, Decimals : 0, Max : 999, Min : -999, DefaultValue : 0, StepSize : 1, Y : 0, X : 0 } * This creates a new dropdown menu. * * @param X x position of the dropdown menu * @param Y y position of the dropdown menu * @param StepSize How big is the step * @param DefaultValue Optional default numerical value for the stepper to display * @param Min Optional Minimum values for the stepper * @param Max Optional Maximum and Minimum values for the stepper * @param Decimals Optional # of decimal places * @param Stack Stacking method * @param TextField Optional text field * @param ButtonPlus Optional button to use for plus * @param ButtonMinus Optional button to use for minus * @param IsPercent Whether to portray the number as a percentage hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__set_params set="method" line="148"> <_HX_SUPER__set_skipButtonUpdate set="method" line="148"> <_HX_SUPER__set_color set="method" line="148"> <_HX_SUPER__set_min set="method" line="148"> <_HX_SUPER__set_max set="method" line="148"> <_HX_SUPER__set_value set="method" line="148"> <_HX_SUPER__set_decimals set="method" line="148"> <_HX_SUPER__set_isPercent set="method" line="148"> <_HX_SUPER__set_stack set="method" line="148"> <_HX_SUPER__update public="1" set="method" line="148"> <_onInputTextEvent set="method" line="110" override="1"> <_HX_SUPER___onInputTextEvent set="method" line="31"> <_onPlus set="method" line="110" override="1"> <_HX_SUPER___onPlus set="method" line="31"> <_onMinus set="method" line="110" override="1"> <_HX_SUPER___onMinus set="method" line="31"> <_doCallback set="method" line="110" override="1"> <_HX_SUPER___doCallback set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.ui.FlxUINumericStepper <_HX_SUPER__set_immovable set="method" line="148"> <_HX_SUPER__set_x set="method" line="148"> <_HX_SUPER__set_y set="method" line="148"> <_HX_SUPER__get_width set="method" line="148"> <_HX_SUPER__get_height set="method" line="148"> <_HX_SUPER__set_width set="method" line="148"> <_HX_SUPER__set_height set="method" line="148"> <_HX_SUPER__set_angle set="method" line="148"> <_HX_SUPER__set_alpha set="method" line="148"> <_HX_SUPER__set_facing set="method" line="148"> <_HX_SUPER__set_moves set="method" line="148"> <_HX_SUPER__set_offset set="method" line="148"> <_HX_SUPER__set_origin set="method" line="148"> <_HX_SUPER__set_scale set="method" line="148"> <_HX_SUPER__set_scrollFactor set="method" line="148"> <_HX_SUPER__reset public="1" set="method" line="31"> { Y : 0, X : 0 } <_HX_SUPER__setPosition public="1" set="method" line="31"> { Y : 0, X : 0 } ********************************** <_HX_SUPER__create public="1" set="method" line="31"> <_HX_SUPER__destroy set="method" line="148"> * Assuming you use the default format, puts this information in the popup. * This function ONLY works if you are using the default_popup.xml, OR your * custom xml contains the following assets: * 2 texts, ids: "title","body" * 3 buttons, ids: "btn0","btn1","btn2" * 3 modes, ids: "1btn","2btn","3btn" * @param title title text * @param body body text * @param button_labels up to three button labels - if fewer, shows less buttons <_HX_SUPER__quickSetup public="1" set="method" line="31"> <_HX_SUPER__getEvent public="1" set="method" line="31"> <_HX_SUPER__castParent set="method" line="148"> { safe : true, context : "ui" } <_HX_SUPER__myGetTextFallback set="method" line="148"> { safe : true, context : "ui" } <_doQuickSetup set="method" line="110" override="1"> <_HX_SUPER___doQuickSetup set="method" line="31"> <_doQuickSetupButtons set="method" line="110" override="1"> <_HX_SUPER___doQuickSetupButtons set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.ui.FlxUIPopup "click_radio_group" false * If this is false, when the size changes it auto-expands the scroll canvas * If this is true, when the size changes it forces it to scroll *GETTER / SETTER* * If you want to show only a portion of the radio group, scrolled line-by-line * This will scroll the "pane" by that amount and return how many lines are above/below * the currently visible pane * @param scroll How many lines DOWN you have scrolled * @param max_items (optional) Max amount of lines visible * @return a FlxPoint of off-pane radio lines : (count_above,count_below) <_list_active> *PRIVATE* <_list> <_box_asset> <_dot_asset> <_labels> <_ids> <_label_width expr="100"> 100 <_width expr="100"> 100 <_height expr="20"> 20 <_y_space expr="25"> 25 <_selected expr="0"> 0 <_clickable expr="true"> true <_list_radios> <_refreshRadios set="method" line="422"> * Create the radio elements if necessary, and/or just refresh them <_onCheckBoxEvent set="method" line="560"> <_onClick set="method" line="565"> more...", label_width_ : 100, height_ : 20, width_ : 100, y_space_ : 25, callback_ : null }]]> more..." in your language. MUST have "" token * @param PrevButtonOffset Offset for the "previous" scroll button * @param NextButtonOffset Offset for the "next" scroll button * @param PrevButton Your own custom button for the "previous" scroll button * @param NextButton Your own custom button for the "next" scroll button]]> * @author Lars Doucet hscript.UsingHandler.build() hscript.ClassExtendMacro.build() null { CheckColor : null } hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__set_activeStyle set="method" line="148"> <_HX_SUPER__set_inactiveStyle set="method" line="148"> <_HX_SUPER__get_numRadios set="method" line="148"> <_HX_SUPER__set_skipButtonUpdate set="method" line="148"> <_HX_SUPER__set_params set="method" line="148"> <_HX_SUPER__set_width public="1" set="method" line="148"> <_HX_SUPER__set_height public="1" set="method" line="148"> <_HX_SUPER__loadGraphics public="1" set="method" line="31"> <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__updateLabel public="1" set="method" line="148"> <_HX_SUPER__updateId public="1" set="method" line="148"> <_HX_SUPER__show public="1" set="method" line="31"> <_HX_SUPER__updateRadios public="1" set="method" line="31"> <_HX_SUPER__getRadios public="1" set="method" line="148"> <_HX_SUPER__getLabel public="1" set="method" line="148"> <_HX_SUPER__getId public="1" set="method" line="148"> <_HX_SUPER__getIsVisible public="1" set="method" line="148"> *GETTER / SETTER* <_HX_SUPER__get_clickable set="method" line="148"> <_HX_SUPER__set_clickable set="method" line="148"> <_HX_SUPER__get_selectedIndex set="method" line="148"> <_HX_SUPER__set_selectedIndex set="method" line="148"> <_HX_SUPER__get_selectedLabel set="method" line="148"> <_HX_SUPER__set_selectedLabel set="method" line="148"> <_HX_SUPER__get_selectedId set="method" line="148"> <_HX_SUPER__set_selectedId set="method" line="148"> * If you want to show only a portion of the radio group, scrolled line-by-line * This will scroll the "pane" by that amount and return how many lines are above/below * the currently visible pane * @param scroll How many lines DOWN you have scrolled * @param max_items (optional) Max amount of lines visible * @return a FlxPoint of off-pane radio lines : (count_above,count_below) <_HX_SUPER__setLineScroll public="1" set="method" line="148"> <_HX_SUPER__setRadioActive public="1" set="method" line="31"> <_refreshRadios set="method" line="110" override="1"> * Create the radio elements if necessary, and/or just refresh them <_HX_SUPER___refreshRadios set="method" line="31"> <_HX_SUPER__updateActives set="method" line="31"> <_HX_SUPER__makeActiveStyle set="method" line="148"> <_onCheckBoxEvent set="method" line="110" override="1"> <_HX_SUPER___onCheckBoxEvent set="method" line="31"> <_onClick set="method" line="74" override="1"> <_HX_SUPER___onClick set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.ui.FlxUIRadioGroup flixel.addons.ui.FlxUIRadioGroup.CheckStyle <_HX_SUPER__applyToCheck public="1" set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.ui.FlxUIRadioGroup flixel.addons.ui.FlxUIRadioGroup.CheckStyle true { H : 16, W : 16, Y : 0, X : 0 } * A scalable object with width and height that isn't used for display purposes hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__resize public="1" set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.ui.FlxUIRegion "change_slider" true hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.ui.FlxUISlider For IResizable: { Y : 0, X : 0 } * Creates a new FlxUISpriteButton. * * @param X The X position of the button. * @param Y The Y position of the button. * @param Label The text that you want to appear on the button. * @param OnClick The function to call whenever the button is clicked. * This class extends FlxUISpriteButton and has a Sprite "label" * * Like all FlxUITypedButton's, it can work as a toggle button, and load * 9-slice sprites for its button images, and be dynamically resized * accordingly. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() For IResizable: <_HX_SUPER__resize public="1" set="method" line="31"> <_HX_SUPER__autoCenterLabel public="1" set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.ui.FlxUISpriteButton <_HX_SUPER__set_resize_ratio set="method" line="148"> <_HX_SUPER__set_resize_point set="method" line="148"> <_HX_SUPER__recycle public="1" set="method" line="31"> <_HX_SUPER__resize public="1" set="method" line="31"> <_HX_SUPER__loadGraphicAtScale public="1" set="method" line="31"> { Unique : false, Height : 0, Width : 0, Animated : false } * Load an image from an embedded graphic file. * * @param Graphic The image you want to use. * @param Animated Whether the Graphic parameter is a single sprite or a row of sprites. * @param Width Optional, specify the width of your sprite (helps FlxSprite figure out what to do with non-square sprites or sprite sheets). * @param Height Optional, specify the height of your sprite (helps FlxSprite figure out what to do with non-square sprites or sprite sheets). * @param Unique Optional, whether the graphic should be a unique instance in the graphics cache. Default is false. * @param Key Optional, set this parameter if you're loading BitmapData. * @return This FlxSprite instance (nice for chaining stuff together, if you're into that). <_HX_SUPER__loadGraphic public="1" set="method" line="148"> { Unique : false, Height : 0, Width : 0, Animated : false } <_HX_SUPER__destroy public="1" set="method" line="31"> { Unique : false, Height : 0, Width : 0, Animated : false } <_HX_SUPER__loadFromScaledGraphic set="method" line="31"> { Unique : false, Height : 0, Width : 0, Animated : false } <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.ui.FlxUISprite null null false <_cursorHidden expr="false"> false * frontend for adding tooltips to things <_xml_id expr=""""> "" <_makeCursor> <_ui_vars> <_ui> <_tongue> false <_reload expr="false"> false <_reload_countdown expr="0"> 0 null flixel.addons.ui.FlxUI <_cleanupUIVars set="method" line="244"> { height : 600, width : 800 } @since 2.1.0 { Safe : true, Context : "ui" } * Creates a cursor. Makes it easy to override this function in your own FlxUIState. * @return { liveFilePath_ : "", tongue_ : null, superIndex_ : null, ptr : null, data : null } * This is a simple extension of FlxState that does two things: * 1) It implements the IFlxUIState interface * 2) Automatically creates a FlxUI objects from a single string id * * Usage: * Create a class that extends FlxUIState, override create, and * before you call super.create(), set _xml_id to the string id * of the corresponding UI xml file (leave off the extension). * * @author Lars Doucet hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__create public="1" set="method" line="31"> <_HX_SUPER__update public="1" set="method" line="31"> flixel.addons.ui.FlxUI <_HX_SUPER__cleanup set="method" line="31"> <_cleanupUIVars set="method" line="110" override="1"> <_HX_SUPER___cleanupUIVars set="method" line="31"> <_HX_SUPER__setUIVariable public="1" set="method" line="31"> { height : 600, width : 800 } <_HX_SUPER__resizeScreen public="1" set="method" line="31"> { height : 600, width : 800 } <_HX_SUPER__openSubState public="1" set="method" line="31"> <_HX_SUPER__closeSubState public="1" set="method" line="31"> <_HX_SUPER__onResize public="1" set="method" line="31"> @since 2.1.0 <_HX_SUPER__onShowTooltip public="1" set="method" line="31"> <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__forceFocus public="1" set="method" line="31"> <_HX_SUPER__onCursorEvent public="1" set="method" line="31"> <_HX_SUPER__getEvent public="1" set="method" line="31"> <_HX_SUPER__getRequest public="1" set="method" line="148"> { Safe : true, Context : "ui" } <_HX_SUPER__getText public="1" set="method" line="148"> { Safe : true, Context : "ui" } * Creates a cursor. Makes it easy to override this function in your own FlxUIState. * @return <_HX_SUPER__createCursor set="method" line="148"> { liveFilePath_ : "", tongue_ : null, superIndex_ : null, ptr : null, data : null } <_HX_SUPER__createUI set="method" line="148"> { liveFilePath_ : "", tongue_ : null, superIndex_ : null, ptr : null, data : null } <_HX_SUPER__loadUIFromData set="method" line="31"> <_HX_SUPER__reloadUI set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.ui.FlxUIState <_HX_SUPER__forceScrollFactor public="1" set="method" line="31"> <_HX_SUPER__forceFocus public="1" set="method" line="31"> <_HX_SUPER__create public="1" set="method" line="31"> <_HX_SUPER__onCursorEvent public="1" set="method" line="31"> <_HX_SUPER__onShowTooltip public="1" set="method" line="31"> <_HX_SUPER__onResize public="1" set="method" line="31"> <_HX_SUPER__update public="1" set="method" line="31"> <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__getEvent public="1" set="method" line="31"> <_HX_SUPER__getRequest public="1" set="method" line="148"> { Safe : true, Context : "ui" } <_HX_SUPER__getText public="1" set="method" line="148"> { Safe : true, Context : "ui" } flixel.addons.ui.FlxUI <_HX_SUPER__cleanup set="method" line="31"> * Creates a cursor. Makes it easy to override this function in your own FlxUIState. * @return <_HX_SUPER__createCursor set="method" line="148"> { liveFilePath_ : "", tongue_ : null, superIndex_ : null, ptr : null, data : null } <_HX_SUPER__createUI set="method" line="148"> { liveFilePath_ : "", tongue_ : null, superIndex_ : null, ptr : null, data : null } <_HX_SUPER__reloadUI set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.ui.FlxUISubState "tab_menu_click" "front" "back" To make IEventGetter happy For IFlxUIClickable For IResizable <_onTabEvent set="method" line="331"> <_back> *PRIVATE* <_tabs> <_tab_groups> <_stretch_tabs expr="false"> false <_tab_spacing expr="null"> null <_tab_stacking expr="null"> null <_tab_offset expr="null"> null <_selected_tab_id expr=""""> "" <_selected_tab expr="-1"> -1 <_showOnlyGroup set="method" line="448"> { W : -1 } { tab_stacking : null, tab_spacing : null, stretch_tabs : false } *PUBLIC* * @author Lars Doucet hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__get_numTabs public="1" set="method" line="148"> To make IEventGetter happy <_HX_SUPER__getEvent public="1" set="method" line="31"> <_HX_SUPER__getRequest public="1" set="method" line="148"> <_HX_SUPER__set_skipButtonUpdate set="method" line="148"> For IResizable <_HX_SUPER__get_width set="method" line="148"> <_HX_SUPER__get_height set="method" line="148"> <_HX_SUPER__resize public="1" set="method" line="31"> <_HX_SUPER__get_selected_tab set="method" line="148"> <_HX_SUPER__set_selected_tab set="method" line="148"> <_HX_SUPER__get_selected_tab_id set="method" line="148"> <_HX_SUPER__set_selected_tab_id set="method" line="148"> <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__getTab public="1" set="method" line="148"> <_HX_SUPER__getTabGroup public="1" set="method" line="148"> <_HX_SUPER__getBack public="1" set="method" line="148"> <_HX_SUPER__replaceBack public="1" set="method" line="31"> <_HX_SUPER__addGroup public="1" set="method" line="31"> <_onTabEvent set="method" line="110" override="1"> <_HX_SUPER___onTabEvent set="method" line="31"> <_HX_SUPER__stackTabs public="1" set="method" line="31"> <_HX_SUPER__showTabId public="1" set="method" line="31"> <_HX_SUPER__sortTabs set="method" line="148"> <_HX_SUPER__showTabInt set="method" line="31"> <_showOnlyGroup set="method" line="110" override="1"> <_HX_SUPER___showOnlyGroup set="method" line="31"> <_HX_SUPER__getFirstTab set="method" line="148"> { W : -1 } <_HX_SUPER__distributeTabs set="method" line="31"> { W : -1 } <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.ui.FlxUITabMenu true 1 { EmbeddedFont : true, Size : 8, FieldWidth : 0, Y : 0, X : 0 } * Simple extension to the basic text field class. * @author Lars Doucet hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__resize public="1" set="method" line="31"> <_HX_SUPER__set_minimumHeight public="1" set="method" line="148"> <_HX_SUPER__set_params public="1" set="method" line="148"> <_HX_SUPER__clone public="1" set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.ui.FlxUIText <_tilesWide expr="2"> 2 <_tilesTall expr="2"> 2 <_color1 expr="0"> 0 <_color2 expr="0"> 0 false -1 { color2 : 0xffc4c4c4, color1 : 0xff808080 } { FloorToEven : false, color2 : 0xc4c4c4, color1 : 0x808080 } * This is mostly just for testing purposes, it is NOT a replacement for FlxTileMap hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__get_widthInTiles set="method" line="148"> <_HX_SUPER__get_heightInTiles set="method" line="148"> { color2 : 0xffc4c4c4, color1 : 0xff808080 } <_HX_SUPER__makeTiles set="method" line="31"> { color2 : 0xffc4c4c4, color1 : 0xff808080 } <_HX_SUPER__constrain set="method" line="148"> <_HX_SUPER__resize public="1" set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.ui.FlxUITileTest flixel.addons.ui.FlxUITooltipManager <c path="String"/> { ShowArrow : true, AutoSizeHorizontal : true, AutoSizeVertical : true, Body : "", Title : "" } *SETTERS* <_bkg> ********* <_titleText> <_bodyText> <_arrow> <_arrowBkg> <_anchorArrow> * ... * @author larsiusprime hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() true * Turn on flipping the anchor position around in order to keep a tooltip on screen null * Default anchor position for tooltips where no anchor is defined null * Optional fixed position to use for ALL tooltips * @since 2.1.0 null * Default style for tooltips where no style is defined false 0.1 @since 2.1.0 @since 2.2.0 flixel.addons.ui.FlxUI flixel.addons.ui.FlxUIState flixel.addons.ui.FlxUISubState * Removes all tooltips * Hides the tooltip that is being displayed right now @since 2.1.0 { checkChildren : true } * Checks whether the currently shown tooltip belongs to a given FlxSprite, or optionally, any of its children (if it is a FlxUIGroup or FlxUI) * @param thing the FlxSprite to check * @param checkChildren whether or not to check its children (default: true) * @return { sticky : true } * Set an object's tooltip's stickiness (whether it disappears when the mouse moves off of it or not) * @param thing the thing you want to modify the tooltip for * @param sticky if true, this tooltip will not disappear until explicitly hidden or until another tooltip is triggered * @since 2.1.0 { value : true } * Show the tooltip for the given object, if one exists * @param thing the thing you want to display a tooltip for * @param value whether to show or hide the tooltip * @since 2.1.0 * Allows you to turn tooltips on or off for an object that has already been added * @param thing The object you want to turn tooltips on or off for * @param b On or off * * @return true if the object was found and the property set, false if the object has not been added to the tooltip manager * Adds a tooltip for this object, using the specified data. * NOTE: if thing does not implement IFlxUIButton, a new invisible * button will be created for it in order to drive tooltips. * * @param thing The object you want to add a tooltip to. * @param data * Remove a tooltip associated with this object, if there is one * @param thing <_init expr="false"> false *******PRIVATE*********** list of all the tooltip entries we actually only ever use one tooltip object :) -1 the current tooltip flixel.addons.ui.FlxUITooltip { anchor : null } * ... * @author larsiusprime hscript.UsingHandler.build() hscript.ClassExtendMacro.build() false * Intentionally shown by the programmer, when shown will only unshow when explicitly hidden or another tooltip is shown hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <c path="String"/> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() flixel.addons.ui.FlxUI flixel.addons.ui.FlxUIState flixel.addons.ui.FlxUISubState <_HX_SUPER__init public="1" set="method" line="31"> <_HX_SUPER__destroy public="1" set="method" line="148"> * Removes all tooltips <_HX_SUPER__clear public="1" set="method" line="148"> * Hides the tooltip that is being displayed right now <_HX_SUPER__hideCurrent public="1" set="method" line="148"> @since 2.1.0 <_HX_SUPER__isVisible public="1" set="method" line="148"> { checkChildren : true } * Checks whether the currently shown tooltip belongs to a given FlxSprite, or optionally, any of its children (if it is a FlxUIGroup or FlxUI) * @param thing the FlxSprite to check * @param checkChildren whether or not to check its children (default: true) * @return <_HX_SUPER__doesCurrentTooltipBelongTo public="1" set="method" line="148"> { checkChildren : true } { sticky : true } * Set an object's tooltip's stickiness (whether it disappears when the mouse moves off of it or not) * @param thing the thing you want to modify the tooltip for * @param sticky if true, this tooltip will not disappear until explicitly hidden or until another tooltip is triggered * @since 2.1.0 <_HX_SUPER__stickyTooltipFor public="1" set="method" line="31"> { sticky : true } { value : true } * Show the tooltip for the given object, if one exists * @param thing the thing you want to display a tooltip for * @param value whether to show or hide the tooltip * @since 2.1.0 <_HX_SUPER__showTooltipFor public="1" set="method" line="31"> { value : true } * Allows you to turn tooltips on or off for an object that has already been added * @param thing The object you want to turn tooltips on or off for * @param b On or off * * @return true if the object was found and the property set, false if the object has not been added to the tooltip manager <_HX_SUPER__enableTooltipFor public="1" set="method" line="148"> * Adds a tooltip for this object, using the specified data. * NOTE: if thing does not implement IFlxUIButton, a new invisible * button will be created for it in order to drive tooltips. * * @param thing The object you want to add a tooltip to. * @param data <_HX_SUPER__add public="1" set="method" line="31"> * Remove a tooltip associated with this object, if there is one * @param thing <_HX_SUPER__remove public="1" set="method" line="148"> <_HX_SUPER__update public="1" set="method" line="31"> <_HX_SUPER__hide set="method" line="31"> <_HX_SUPER__findThing set="method" line="148"> <_HX_SUPER__findBtn set="method" line="148"> <_HX_SUPER__findObj set="method" line="148"> <_HX_SUPER__set_fixedPosition set="method" line="148"> flixel.addons.ui.FlxUITooltip <_HX_SUPER__set_showTooltipArrow set="method" line="148"> <_HX_SUPER__show set="method" line="31"> { anchor : null } <_HX_SUPER__checkAutoFlip set="method" line="148"> { anchor : null } <_HX_SUPER__set_cameras set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.ui.FlxUITooltipManager flixel.addons.ui.FlxUITooltipManager.FlxUITooltipEntry flixel.addons.ui.FlxUITooltipManager.FlxUITooltipData <_HX_SUPER__destroy public="1" set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.ui.FlxUITooltipManager flixel.addons.ui.FlxUITooltipManager.FlxUITooltipEntry flixel.addons.ui.FlxUITooltipManager.FlxUITooltipData { ShowArrow : true, AutoSizeHorizontal : true, AutoSizeVertical : true, Body : "", Title : "" } <_HX_SUPER__show public="1" set="method" line="31"> { ShowArrow : true, AutoSizeHorizontal : true, AutoSizeVertical : true, Body : "", Title : "" } <_HX_SUPER__get_height set="method" line="148"> <_HX_SUPER__hide public="1" set="method" line="31"> *SETTERS* <_HX_SUPER__set_anchor public="1" set="method" line="148"> <_HX_SUPER__set_style public="1" set="method" line="148"> <_HX_SUPER__set_title public="1" set="method" line="148"> <_HX_SUPER__set_body public="1" set="method" line="148"> <_HX_SUPER__refresh set="method" line="148"> <_HX_SUPER__refreshBkg set="method" line="31"> <_HX_SUPER__getStyleKey set="method" line="148"> <_HX_SUPER__makeArrowBkg set="method" line="148"> <_HX_SUPER__getArrowAnchor set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.ui.FlxUITooltip flixel.addons.ui.FlxUITooltip.FlxUITooltipStyle <_HX_SUPER__get_isRoot set="method" line="148"> <_HX_SUPER__get_tongue set="method" line="148"> <_HX_SUPER__set_tongue set="method" line="148"> <_HX_SUPER__set_focus set="method" line="148"> <_tongueSet set="method" line="110" override="1"> * Make sure to recursively propogate the tongue pointer down to all my members <_HX_SUPER___tongueSet set="method" line="31"> <_HX_SUPER__callEvent public="1" set="method" line="31"> <_HX_SUPER__getEvent public="1" set="method" line="31"> <_HX_SUPER__getRequest public="1" set="method" line="148"> <_HX_SUPER__onFocus public="1" set="method" line="31"> { suppressed : true } <_HX_SUPER__setWidgetSuppression set="method" line="31"> { suppressed : true } * This causes FlxUI to respond to a specific widget losing focus * @param widget <_HX_SUPER__onFocusLost public="1" set="method" line="31"> * Set a pointer to another FlxUI for the purposes of indexing * @param flxUI <_HX_SUPER__setSuperIndex public="1" set="method" line="31"> <_HX_SUPER__update public="1" set="method" line="31"> <_HX_SUPER__toggleShow public="1" set="method" line="148"> { Active : null } <_HX_SUPER__showGroup public="1" set="method" line="31"> { Active : null } { Active : null } <_HX_SUPER__showAsset public="1" set="method" line="31"> { Active : null } { destroy : true } * Removes an asset * @param key the asset to remove * @param destroy whether to destroy it * @return the asset, or null if destroy=true <_HX_SUPER__removeAsset public="1" set="method" line="148"> { destroy : true } { recursive : false, group_name : "" } * Adds an asset to this UI, and optionally puts it in a group * @param asset the IFlxUIWidget asset you want to add * @param key unique key for this asset. If it already exists, this fails. * @param group_name string name of group inside this FlxUI you want to add it to. * @param recursive whether to recursively search through sub-ui's <_HX_SUPER__addAsset public="1" set="method" line="148"> { recursive : false, group_name : "" } { destroy_old : true, center_y : true, center_x : true } <_HX_SUPER__replaceAsset public="1" set="method" line="148"> { destroy_old : true, center_y : true, center_x : true } * Remove all the references and pointers, then destroy everything <_HX_SUPER__destroy public="1" set="method" line="31"> Xml * Main setup function - pass in a Access(xml) object * to set up your FlxUI * @param data <_HX_SUPER__load public="1" set="method" line="31"> <_HX_SUPER__unparentXML set="method" line="148"> <_loadPointSize set="method" line="110" override="1"> <_HX_SUPER___loadPointSize set="method" line="31"> <_loadSub set="method" line="110" override="1"> { iteration : 0 } <_HX_SUPER___loadSub set="method" line="31"> { iteration : 0 } <_addTags set="method" line="110" override="1"> <_HX_SUPER___addTags set="method" line="31"> <_loadGlobals set="method" line="74" override="1"> <_HX_SUPER___loadGlobals set="method" line="148"> <_postLoad set="method" line="110" override="1"> <_HX_SUPER___postLoad set="method" line="31"> <_sendTo set="method" line="110" override="1"> <_HX_SUPER___sendTo set="method" line="31"> { recursive : true } * Send an asset to the front of the member list that it's in * @param name string identifier of the asset * @param recursive whether to check superIndex if not found <_HX_SUPER__sendToFront public="1" set="method" line="31"> { recursive : true } { recursive : true } * Send an asset to either the back of the member list that it's in * @param name string identifier of the asset * @param recursive whether to check superIndex if not found <_HX_SUPER__sendToBack public="1" set="method" line="31"> { recursive : true } <_HX_SUPER__get_currMode set="method" line="148"> <_HX_SUPER__set_currMode set="method" line="148"> { target_name : "" } * Set a mode for this UI. This lets you show/hide stuff basically. * @param mode_name The mode you want, say, "empty" or "play" for a save slot * @param target_name UI element to target - "" for the UI itself, otherwise the name of an element that is itself a FlxUI <_HX_SUPER__setMode public="1" set="method" line="31"> { target_name : "" } { activeStatus : null, visibleStatus : true } <_HX_SUPER__showThing set="method" line="31"> { activeStatus : null, visibleStatus : true } { recursive : true } ****UTILITY FUNCTIONS******** <_HX_SUPER__getGroup public="1" set="method" line="148"> { recursive : true } { recursive : true } <_HX_SUPER__getFlxText public="1" set="method" line="148"> { recursive : true } <_HX_SUPER__getAllAssets public="1" set="method" line="148"> <_HX_SUPER__getAssetKeys public="1" set="method" line="148"> { recursive : true } <_HX_SUPER__hasAsset public="1" set="method" line="148"> { recursive : true } { recursive : true } <_HX_SUPER__getAsset public="1" set="method" line="148"> { recursive : true } <_HX_SUPER__getAssetsWithTag public="1" set="method" line="148"> * Get the group that contains a given IFlxUIWidget * @param key the asset key of the IFlxUIWidget * @param thing the IFlxUIWidget itself * @return <_HX_SUPER__getAssetGroup public="1" set="method" line="148"> { recursive : true } <_HX_SUPER__getMode public="1" set="method" line="148"> { recursive : true } { recursive : true } <_HX_SUPER__getLabelStyleFromDefinition public="1" set="method" line="148"> { recursive : true } <_HX_SUPER__getLabelStyleFromData public="1" set="method" line="148"> { recursive : true, op : "==" } <_HX_SUPER__checkVariable public="1" set="method" line="148"> { recursive : true, op : "==" } <_HX_SUPER__setVariable public="1" set="method" line="31"> { recursive : true } <_HX_SUPER__getVariable public="1" set="method" line="148"> { recursive : true } { recursive : true } <_HX_SUPER__getDefinition public="1" set="method" line="148"> { recursive : true } <_HX_SUPER__screenWidth set="method" line="148"> <_HX_SUPER__screenHeight set="method" line="148"> { splice : false } * Replace an object in whatever group it is in * @param original the original object * @param replace the replacement object * @param splice if replace is null, whether to splice the entry <_HX_SUPER__replaceInGroup set="method" line="148"> { splice : false } **********LOADING FUNCTIONS************ <_HX_SUPER__applyNodeConditionals set="method" line="148"> * Make any necessary changes to data/definition xml objects (such as for locale or haxedef settings) * @param data Access xml data * @param nodeName name of the node, "locale", "haxedef", or "resolution" <_HX_SUPER__applyNodeChanges set="method" line="148"> * Load an individual flixel-ui widget from a snippet of xml * @param type * @param data * @return <_HX_SUPER__loadThing public="1" set="method" line="148"> <_loadThingGetInfo set="method" line="74" override="1"> <_HX_SUPER___loadThingGetInfo set="method" line="148"> <_loadTooltip set="method" line="110" override="1"> <_HX_SUPER___loadTooltip set="method" line="31"> <_loadTooltipData set="method" line="74" override="1"> <_HX_SUPER___loadTooltipData set="method" line="148"> <_loadTooltipStyle set="method" line="110" override="1"> <_HX_SUPER___loadTooltipStyle set="method" line="31"> <_loadTooltipText set="method" line="110" override="1"> <_HX_SUPER___loadTooltipText set="method" line="31"> <_loadAnchor set="method" line="74" override="1"> <_HX_SUPER___loadAnchor set="method" line="148"> <_loadThing set="method" line="74" override="1"> <_HX_SUPER___loadThing set="method" line="148"> <_loadScale set="method" line="74" override="1"> { str : "scale", default_ : 1.0 } <_HX_SUPER___loadScale set="method" line="148"> { str : "scale", default_ : 1.0 } <_loadScaleX set="method" line="74" override="1"> { default_ : 1.0 } <_HX_SUPER___loadScaleX set="method" line="148"> { default_ : 1.0 } <_loadScaleY set="method" line="74" override="1"> { default_ : 1.0 } <_HX_SUPER___loadScaleY set="method" line="148"> { default_ : 1.0 } <_loadWidth set="method" line="74" override="1"> { defaultRound : "", str : "width", default_ : 10 } <_HX_SUPER___loadWidth set="method" line="148"> { defaultRound : "", str : "width", default_ : 10 } <_loadHeight set="method" line="74" override="1"> { defaultRound : "", str : "height", default_ : 10 } <_HX_SUPER___loadHeight set="method" line="148"> { defaultRound : "", str : "height", default_ : 10 } <_loadCompass set="method" line="74" override="1"> { str : "resize_point" } <_HX_SUPER___loadCompass set="method" line="148"> { str : "resize_point" } <_changeParamsThing set="method" line="110" override="1"> <_HX_SUPER___changeParamsThing set="method" line="31"> <_changeThing set="method" line="110" override="1"> <_HX_SUPER___changeThing set="method" line="31"> <_alignThing set="method" line="110" override="1"> { suppressError : false } <_HX_SUPER___alignThing set="method" line="31"> { suppressError : false } <_doAlign set="method" line="110" override="1"> { allowShrink : true, allowGrow : true } <_HX_SUPER___doAlign set="method" line="31"> { allowShrink : true, allowGrow : true } <_checkFailure set="method" line="74" override="1"> <_HX_SUPER___checkFailure set="method" line="148"> <_resizeThing set="method" line="110" override="1"> <_HX_SUPER___resizeThing set="method" line="31"> <_postLoadThing set="method" line="110" override="1"> <_HX_SUPER___postLoadThing set="method" line="31"> <_loadTileTest set="method" line="74" override="1"> <_HX_SUPER___loadTileTest set="method" line="148"> <_loadString set="method" line="74" override="1"> <_HX_SUPER___loadString set="method" line="148"> <_loadText set="method" line="74" override="1"> <_HX_SUPER___loadText set="method" line="148"> <_loadInputText set="method" line="74" override="1"> <_HX_SUPER___loadInputText set="method" line="148"> <_loadRadioGroup set="method" line="74" override="1"> <_HX_SUPER___loadRadioGroup set="method" line="148"> <_loadCheckBox set="method" line="74" override="1"> <_HX_SUPER___loadCheckBox set="method" line="148"> <_loadDropDownMenu set="method" line="74" override="1"> <_HX_SUPER___loadDropDownMenu set="method" line="148"> <_loadTest set="method" line="74" override="1"> <_HX_SUPER___loadTest set="method" line="148"> <_loadTestSub set="method" line="74" override="1"> <_HX_SUPER___loadTestSub set="method" line="148"> <_HX_SUPER__parseVarValue set="method" line="148"> <_loadLayout set="method" line="74" override="1"> <_HX_SUPER___loadLayout set="method" line="148"> <_HX_SUPER__addToCleanup set="method" line="31"> <_HX_SUPER__addToScaledAssets set="method" line="31"> <_HX_SUPER__cleanup set="method" line="31"> <_HX_SUPER__createUI set="method" line="148"> <_loadTabMenu set="method" line="74" override="1"> <_HX_SUPER___loadTabMenu set="method" line="148"> <_loadNumericStepper set="method" line="74" override="1"> { setCallback : true } <_HX_SUPER___loadNumericStepper set="method" line="148"> { setCallback : true } { defaultAxis : FlxUISprite.RESIZE_RATIO_Y } <_HX_SUPER__getResizeRatio set="method" line="148"> { defaultAxis : FlxUISprite.RESIZE_RATIO_Y } <_loadButton set="method" line="74" override="1"> { load_code : "", isToggle : false, setCallback : true } flixel.addons.ui.FlxUITypedButton <_HX_SUPER___loadButton set="method" line="148"> { load_code : "", isToggle : false, setCallback : true } <_loadRegion set="method" line="74" override="1"> <_HX_SUPER___loadRegion set="method" line="148"> <_load9SliceSprite set="method" line="74" override="1"> { load_code : "" } <_HX_SUPER___load9SliceSprite set="method" line="148"> { load_code : "" } { srcString : "src" } <_HX_SUPER__load9SliceSprite_scaleSub set="method" line="148"> { srcString : "src" } <_loadBox set="method" line="74" override="1"> <_HX_SUPER___loadBox set="method" line="148"> <_loadLine set="method" line="74" override="1"> <_HX_SUPER___loadLine set="method" line="148"> <_loadBar set="method" line="74" override="1"> <_HX_SUPER___loadBar set="method" line="148"> <_loadSprite set="method" line="74" override="1"> <_HX_SUPER___loadSprite set="method" line="148"> <_HX_SUPER__loadSmooth set="method" line="148"> { tilesTall : 1, tilesWide : 1, scaleName : "scale", attName : "src" } * For grabbing a resolution-specific version of an image src and dynamically scaling (and caching) it as necessary * @param data the xml node in question * @return the unique key of the scaled bitmap <_HX_SUPER__loadScaledSrc set="method" line="148"> { tilesTall : 1, tilesWide : 1, scaleName : "scale", attName : "src" } <_HX_SUPER__thisWidth set="method" line="148"> <_HX_SUPER__thisHeight set="method" line="148"> <_getAnchorPos set="method" line="74" override="1"> <_HX_SUPER___getAnchorPos set="method" line="148"> { defaultStr : "" } <_HX_SUPER__getRound set="method" line="148"> { defaultStr : "" } <_HX_SUPER__doRound set="method" line="148"> { height : null, width : null } <_HX_SUPER__calcMaxMinSize set="method" line="148"> { height : null, width : null } <_getDataSize set="method" line="74" override="1"> { default_ : 0 } <_HX_SUPER___getDataSize set="method" line="148"> { default_ : 0 } <_getOperation set="method" line="74" override="1"> * @return [:String,:String,:Float]]]> <_HX_SUPER___getOperation set="method" line="148"> <_doOperation set="method" line="74" override="1"> <_HX_SUPER___doOperation set="method" line="148"> <_getStretch set="method" line="74" override="1"> <_HX_SUPER___getStretch set="method" line="148"> <_HX_SUPER__getAssetProperty set="method" line="148"> <_loadCursor set="method" line="110" override="1"> <_HX_SUPER___loadCursor set="method" line="31"> <_loadPosition set="method" line="110" override="1"> <_HX_SUPER___loadPosition set="method" line="31"> <_loadBorder set="method" line="74" override="1"> <_HX_SUPER___loadBorder set="method" line="148"> <_loadColor set="method" line="74" override="1"> { _default : 0xffffffff, colorName : "color" } <_HX_SUPER___loadColor set="method" line="148"> { _default : 0xffffffff, colorName : "color" } <_loadFontDef set="method" line="74" override="1"> <_HX_SUPER___loadFontDef set="method" line="148"> <_loadFontFace set="method" line="74" override="1"> <_HX_SUPER___loadFontFace set="method" line="148"> <_onFinishLoad set="method" line="110" override="1"> <_HX_SUPER___onFinishLoad set="method" line="31"> { code : "", safe : true, context : "data" } ********UTILITY FUNCTIONS********** <_HX_SUPER__getText public="1" set="method" line="148"> { code : "", safe : true, context : "data" } <_HX_SUPER__formatFromCode set="method" line="148"> <_HX_SUPER__formatButtonText set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.ui.FlxUI flixel.addons.ui.FlxUI.UIEventCallback flixel.addons.ui.FlxUI.Rounding flixel.addons.ui.FlxUI.SortValue flixel.addons.ui.FlxUI.NamedBool flixel.addons.ui.FlxUI.NamedInt flixel.addons.ui.FlxUI.NamedFloat flixel.addons.ui.FlxUI.NamedString flixel.addons.ui.FlxUI.MaxMinSize flixel.addons.ui.FlxUI.VarValue [".ttf", ".otf"] { recursion : 0 } * Given a str like "verdanab.ttf", reverse-engineer the basic font properties * @param str a string name of a font, such as "verdanab.ttf" <_size expr="0"> 0 * If a recognized font extension exists, remove it from the font str * @param str font + extension, ie "verdanab.ttf" * @return font - extension, ie "verdanab" * See if a style is "baked" into the font str, and if so return it * @param str font string, ie, "verdanab", "verdanai", "verdanaz" * @return "b" for bold, "i" for italic, "z" for bold-italic, "" for normal { File : "", Extension : ".ttf" } * ... * @author larsiusprime hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__get_size set="method" line="148"> <_HX_SUPER__set_size set="method" line="148"> <_HX_SUPER__clone public="1" set="method" line="148"> <_HX_SUPER__applyFlx public="1" set="method" line="148"> <_HX_SUPER__apply public="1" set="method" line="31"> { recursion : 0 } * Given a str like "verdanab.ttf", reverse-engineer the basic font properties * @param str a string name of a font, such as "verdanab.ttf" <_HX_SUPER__fromStr public="1" set="method" line="31"> { recursion : 0 } * If a recognized font extension exists, remove it from the font str * @param str font + extension, ie "verdanab.ttf" * @return font - extension, ie "verdanab" <_HX_SUPER__stripFontExtensions set="method" line="148"> <_HX_SUPER__getFontExtension set="method" line="148"> <_HX_SUPER__fixFontName set="method" line="31"> * See if a style is "baked" into the font str, and if so return it * @param str font string, ie, "verdanab", "verdanai", "verdanaz" * @return "b" for bold, "i" for italic, "z" for bold-italic, "" for normal <_HX_SUPER__getFontStyle set="method" line="148"> <_HX_SUPER__setFontStyle public="1" set="method" line="31"> <_HX_SUPER__toString public="1" set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.ui.FontDef { name : "" } * A really simple little class that solves an annoying problem with Flash font file names * @author larsiusprime hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.ui.FontFixer { Label : "", Name : "" } hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__copy public="1" set="method" line="148"> <_HX_SUPER__toString public="1" set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.ui.StrNameLabel GETTERs/SETTERS { IgnoreInvisible : false } * ... * @author Lars A. Doucet hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__setColor public="1" set="method" line="148"> <_HX_SUPER__getColor public="1" set="method" line="148"> GETTERs/SETTERS <_HX_SUPER__get_hilight set="method" line="148"> <_HX_SUPER__set_hilight set="method" line="148"> <_HX_SUPER__get_midtone set="method" line="148"> <_HX_SUPER__set_midtone set="method" line="148"> <_HX_SUPER__get_shadowMid set="method" line="148"> <_HX_SUPER__set_shadowMid set="method" line="148"> <_HX_SUPER__get_shadowDark set="method" line="148"> <_HX_SUPER__set_shadowDark set="method" line="148"> <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__copy public="1" set="method" line="148"> <_HX_SUPER__toString public="1" set="method" line="148"> { IgnoreInvisible : false } <_HX_SUPER__getRawDifference public="1" set="method" line="148"> { IgnoreInvisible : false } <_HX_SUPER__doColorsEqual public="1" set="method" line="148"> <_HX_SUPER__getRGBdelta set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.ui.SwatchData { default_str : "", lower_case : false } * Safety wrapper for reading a string attribute from xml * @param data the Xml object * @param att the name of the attribute * @param lower_case force lower_case or not * @param what to return if it is "" * @return the attribute as a string if it exists, otherwise returns "" * For conveniently getting the very common "name" attribute, with backwards-compatibility for the old "id" attribute if name is not found * @param data * @return { defaultColor : null, cast32Bit : true } * Safety wrapper for reading a FlxColor attribute from xml * @param data the Xml object * @param att a color string in either 0xRRGGBB or 0xAARRGGBB format * @param cast32Bit if true adds an alpha channel if not detected { default_ : null, lowerCase : true } { cast32Bit : true } * If a string is a number that ends with a % sign, it will return a normalized percent float (0-100% = 0.0-1.0) * @param str a percentage value, such as "5%" or "236.214%" * @return a normalized float, or NaN if not valid input { default_ : 0 } * Safety wrapper for reading a float attribute from xml * @param data the Xml object * @param att the name of the attribute * @param default_ what to return if the value doesn't exist * @return the attribute as a float if it exists, otherwise returns default { default_ : 0 } * Safety wrapper for reading an int attribute from xml * @param data the Xml object * @param att the name of the attribute * @param default_ what to return if the value doesn't exist * @return the attribute as an int if it exists, otherwise returns default { default_ : null } * Safety wrapper for reading a point attribute from xml * @param data the Xml object * @param att the name of the attribute * @param default_ what to return if the value doesn't exist * @return the attribute as a point if it exists, otherwise returns default * Parses a point expressed as a string to a FlxPoint object. * Must be two numbers separated by a "," or an "x" * This function strips extraneous characters first, ie "(",")"," ","=",":" * @param str * @return { op : "==" } ","<=",">=" * @return the value of the comparison]]> { default_ : false } * Safety wrapper for reading a bool attribute from xml * @param data the Xml object * @param att the name of the attribute * @param what to return if the value doesn't exist * @return true if att is "true" (case-insensitive) or "1", otherwise false { test : true }
    { centerY : true, centerX : true } * Center fb2 on fb1's center point * @param fb1 a FlxObject (does not move) * @param fb2 a FlxObject (center on fb1) * @param centerX center X axis? * @param centerY center Y axis?
    { padChar : "0" } * Return a numeric string with leading zeroes * @param i any integer * @param d how many digits * @param padChar what to pad with ("0") by default * @return i's value as a string padded with padChar, exactly d digits in length { default_color : 0x000000, safe : false, cast32Bit : false } * Parses hex string to equivalent integer, with safety checks * @param hex_str string in format 0xRRGGBB or 0xAARRGGBB * @param cast32Bit add an alpha channel if none is given * @param safe don't throw errors, just return -1 * @param default_color what to return if safe is true and it fails * @return integer value * Parses an individual hexadecimal string character to the equivalent decimal integer value * @param hex_char hexadecimal character (1-length string) * @return decimal value of hex_char * Parses hex string to equivalent integer * @param hex_str string in format RRGGBB or AARRGGBB (no "0x") * @return integer value * Parses hex pixel value into a 3-length array of [r,g,b] ints * @param hex * @return * Returns the hex pixel value of 3 r, g, b ints * @param r * @param g * @param b * @return * Returns a color somewhere between the given two. * @param hex1 A hexadecimal color * @param hex2 A hexadecimal color * @param amt 0=100% hex1, 1=100% hex2, 0.5=50% of each * @return { addHeader : true, wrapData : true } { folder : "" } { dir : "assets/json/", extension : "json" } { _default : null } { dir : "assets/xml/", getAccess : true, extension : "xml" } * This will remove an array structure, but will leave its contents untouched. * This can lead to memory leaks! Only use this when you want an array gone but * you still need the original elements and know what you're doing. * @param array * This will MURDER an array, removing all traces of both it and its contents * @param array { style : "" } * Given something like "verdana" and "bold" returns "assets/fonts/verdanab" * @param str * @param style * @return { extension : ".ttf", style : "" } * Given something like "verdana", "bold", ".ttf", returns "assets/fonts/verdanab.ttf" * @param str * @param style * @param extension * @return <_font get="inline" set="null" line="1052" static="1"> { style : "" } * Return string with first character uppercase'd * @param str * @return * Return string with first character uppercase'd, rest lowercase'd * @param str * @return { smooth : true, H : -1, W : -1 } * This scales an image that contains tiles, being super OCD about it, making sure each tile is * properly scaled and put in the correct position * @param orig_id asset id * @param scale the scale factor * @param origW original width of the tile * @param origH original height of the tile * @param W final width of the tile * @param H final height of the tile * @param smooth * @return { Smooth : true, TileH : -1, TileW : -1 } * This scales an image that contains tiles, being super OCD about it, making sure each tile is * properly scaled and put in the correct position, and returns the new asset key * @param orig_id asset id * @param scale the scale factor * @param OrigW original width of the tile * @param OrigH original height of the tile * @param TileW final width of the tile * @param TileH final height of the tile * @param Smooth * @return the asset key { smooth : true } * For grabbing a resolution-specific version of an image src and dynamically scaling (and caching) it as necessary * @param src the asset key of the base image * @param W the final scaled width of the new image * @param H the final scaled height of the new image * @return the unique key of the scaled bitmap { checkFlxBitmap : false, Smooth : true } { fixAlphaChannel : false, checkFlxBitmap : false, smooth : true } * For grabbing a version of an image src and dynamically scaling (and caching) it as necessary * @param src the asset key of the base image * @param Scale the scale factor of the new image * @param smooth whether to apply smoothing or not * @param checkFlxBitmap whether to use the FlxG.bitmap.get cache instead of Assets.getBitmapData * @return the unique key of the scaled bitmap { suppressError : false, dir4 : "", dir3 : "", dir2 : "", dir1 : "" } * Converts a PNG file to a comma-separated string. * pixels that match color_index are flagged * others are ignored * must be a PERFECT MATCH * * @param color_index The matching color index * * @return A comma-separated string containing the level data in a FlxTilemap-friendly format. * Converts a comma and hyphen list string of numbers to an int array * @param str input, ex: "1,2,3", "2-4", "1,2,3,5-10" * @return int array, ex: [1,2,3], [2,3,4], [1,2,3,5,6,7,8,9,10] * Converts a comma and hyphen list string of numbers to a String array * @param str input, ex: "1,2,3", "2-4", "1,2,3,5-10" * @return int array, ex: [1,2,3], [2,3,4], [1,2,3,5,6,7,8,9,10] { multB : 1, multA : 1 } * Get the dimensions of a bit string * Splits a binary string with endlines into a big long int array @since 2.1.0 <_matrix expr="null" line="2287" static="1"> null * Utility functions, inlined where possible * @author Lars Doucet hscript.UsingHandler.build() hscript.ClassExtendMacro.build()
    <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.ui.U { safe : true, context : "data" } * An interface to match FireTongue, so we can use this without making * a full dependency * @author Lars Doucet hscript.UsingHandler.build() hscript.ClassExtendMacro.build() false false <_curIndex expr="0"> 0 <_iterationsPerUpdate> <_iterations> <_callback> * Start the loop (if it's not already started or finished) { IterationsPerUpdate : 100 } * Creates an instance of the FlxAsyncLoop class, used to do a loop while still allowing update() to get called and the screen to refresh. * * @param Iterations How many total times should it loop * @param Callback The function that should be called each loop * @param IterationsPerUpdate Optional: how many loops before we allow an update() - defaults to 100. * Special class for asynchonously performing a loop. * @author Timothy Ian Hely / SeiferTim hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Start the loop (if it's not already started or finished) <_HX_SUPER__start public="1" set="method" line="31"> <_HX_SUPER__update public="1" set="method" line="31"> <_HX_SUPER__destroy public="1" set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.util.FlxAsyncLoop * Called when state becomes active. * * @param Owner The object the state controls * @param FSM The FSM instance this state belongs to. Used for changing the state to another. * Called every update loop. * * @param Owner The object the state controls * @param FSM The FSM instance this state belongs to. Used for changing the state to another. * Called when the state becomes inactive. * * @param Owner The object the state controls * A generic FSM State implementation. Extend this class to create new states. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Helper typedef for FlxExtendedFSM's pools hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * The owner of this FSM instance. Gets passed to each state. * Current state * Class of current state * The age of the active state * Name of this FSM. Used for locking/unlocking when in a stack. * Binary flag. Used for locking/unlocking when in a stack. * The stack this FSM belongs to or null * Optional transition table for this FSM * Optional map object containing FlxPools for FlxFSMStates * Updates the active state instance. * Calls exit on current state * A generic Finite-state machine implementation. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_lockSignal static="1"> * Sends a message to all active FSMStacks to lock given types. * @param type You can use `FSMType` abstract for values or build your own. ` * Only function is to create a static `FlxTypedSignal` that's shared between stacks. * Otherwise signals would be type specific, and `FlxFSMStack` could not dispatch * to `FlxFSMStack`]]> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Test if the stack is empty <_stack> <_alteredStack> <_hasLocks> <_lockedNames> <_lockedTypes> <_lockRemaining> * Updates the states that have not been locked * Locks the specified FSM for the duration of the update loop * @param name * Locks the remaining FSMs for the duration of the update loop * Adds the FSM to the front of the stack * @param FSM * Removes the first FSM from the stack * @return The removed FSM * Adds the FSM to the end of the stack * @param FSM * Removes the first FSM from the stack * @return The removed FSM * Removes the FSM from the stack and destroys it * @param The removed FSM * Removes the FSM with given name from the stack and destroys it * @param The removed FSM * Destroys every member in stack and self * Used for grouping FSM instances and updating them according to the stack's updateMode. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_table> <_startState> <_garbagecollect expr="false"> false * Polls the transition table for active states * @param FSM The FlxFSMState the table belongs to * @return The state that should become or remain active. * Adds a transition condition to the table. * @param From The state the condition applies to * @param To The state to transition * @param Condition Function that returns true if the transition conditions are met * Adds a global transition condition to the table. * @param To The state to transition * @param Condition Function that returns true if the transition conditions are met * Add a transition directly * @param transition * Sets the starting State * @param With * Replaces given state class with another. * @param Target State class to replace * @param Replacement State class to replace with * Removes a transition condition from the table * @param From From State * @param To To State * @param Condition Condition function * @return True when removed, false if not in table * Tells if the table contains specific transition or transitions. * @param From From State * @param To To State * @param Condition Condition function * @return True if match found * Contains the information on when to transition from a given state to another. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * If this function returns true, the transition becomes active. * Note: you can override this function if you don't want to use functions passed as variables. * The state this transition applies to, or null for global transition, ie. from any state * The state this transition leads to * Function used for evaluation. * The evaluation function may be overridden, in which case this param may be redundant. false * Used to mark this transition for removal hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Sends a message to all active FSMStacks to lock given types. * @param type You can use `FSMType` abstract for values or build your own. <_HX_SUPER__globalLock public="1" set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.util.FlxFSM.FlxFSMState flixel.addons.util.FlxFSM.StatePool flixel.addons.util.FlxFSM flixel.addons.util.FlxFSM.FlxFSMStack flixel.addons.util.FlxFSM.FlxFSMStackSignal flixel.addons.util.FlxFSM.FlxFSMTransitionTable flixel.addons.util.FlxFSM.Transition attribute.]]> attribute.]]> attribute.]]> attribute.]]> attribute.]]> "assets/" * Base directory for all assets loaded inside FlxScene. * Tilemap reference. <_constants> .]]> <_objects> * Contains all objects with an "id" attribute. <_xml> * Internal XML. <_fastXml> * Internal xml.Access. * Set the current scene, loads from XML file. * * @param file Location of XML. * Instantiate objects to state. * * @param container Add objects to this FlxTypedGroup (layer). * @param layerId Add objects only from this layer. * Add backgrounds to state. * * @param container Add backgrounds to this FlxTypedGroup (layer). * Add tilemap to state. * * @param container Add tilemap to this FlxTypedGroup (layer). * Add everything (backgrounds, tilemap and all objects) to the state. * Make constants accesible through function FlxScene.constants("id"). * Add an instance into correct destination (a specific group or FlxG.state). * If has attribute "id" then make it accesible through function: object("id"). * * @param instance Instance to be added to container. * @param container FlxTypedGroup. * @param element XML attributes. * Apply all FlxSprite properties to a given instance. * * @param instance Instance to set properties. * @param element XML attributes. * Apply all FlxText properties to a given instance. * * @param instance Instance to set properties. * @param element XML attributes. * Gets a specific constant by id. * * @param id Constant name. * @return Bool, Int, Float or String. * Gets a specific object by id. * * @param Id Constant name. * @return * Helper function to parse Booleans from String to Bool * * @param Value String value * Optionally set the scene file already. * * @param file Location of XML. * Loads a scene from XML file. Scenes contain layers of entities (custom FlxSprite), * backgrounds, tilemaps, constants, UI and more. * * Any questions tweet me @AndreiRegiani hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Set the current scene, loads from XML file. * * @param file Location of XML. <_HX_SUPER__set public="1" set="method" line="31"> * Instantiate objects to state. * * @param container Add objects to this FlxTypedGroup (layer). * @param layerId Add objects only from this layer. <_HX_SUPER__spawn public="1" set="method" line="31"> * Add backgrounds to state. * * @param container Add backgrounds to this FlxTypedGroup (layer). <_HX_SUPER__loadBackgrounds public="1" set="method" line="31"> * Add tilemap to state. * * @param container Add tilemap to this FlxTypedGroup (layer). <_HX_SUPER__loadTilemap public="1" set="method" line="31"> * Add everything (backgrounds, tilemap and all objects) to the state. <_HX_SUPER__loadEverything public="1" set="method" line="31"> * Make constants accesible through function FlxScene.constants("id"). <_HX_SUPER__loadConstants set="method" line="31"> * Add an instance into correct destination (a specific group or FlxG.state). * If has attribute "id" then make it accesible through function: object("id"). * * @param instance Instance to be added to container. * @param container FlxTypedGroup. * @param element XML attributes. <_HX_SUPER__addInstance set="method" line="31"> * Apply all FlxSprite properties to a given instance. * * @param instance Instance to set properties. * @param element XML attributes. <_HX_SUPER__applySpriteProperties set="method" line="31"> * Apply all FlxText properties to a given instance. * * @param instance Instance to set properties. * @param element XML attributes. <_HX_SUPER__applyTextProperties set="method" line="31"> * Gets a specific constant by id. * * @param id Constant name. * @return Bool, Int, Float or String. <_HX_SUPER__const public="1" set="method" line="148"> * Gets a specific object by id. * * @param Id Constant name. * @return <_HX_SUPER__object public="1" set="method" line="148"> * Helper function to parse Booleans from String to Bool * * @param Value String value <_HX_SUPER__parseBool set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.util.FlxScene 0.3660254037 0.2113248654 0.309016994 0.138196601

    [151, 160, 137, 91, 90, 15, 131, 13, 201, 95, 96, 53, 194, 233, 7, 225, 140, 36, 103, 30, 69, 142, 8, 99, 37, 240, 21, 10, 23, 190, 6, 148, 247, 120, 234, 75, 0, 26, 197, 62, 94, 252, 219, 203, 117, 35, 11, 32, 57, 177, 33, 88, 237, 149, 56, 87, 174, 20, 125, 136, 171, 168, 68, 175, 74, 165, 71, 134, 139, 48, 27, 166, 77, 146, 158, 231, 83, 111, 229, 122, 60, 211, 133, 230, 220, 105, 92, 41, 55, 46, 245, 40, 244, 102, 143, 54, 65, 25, 63, 161, 1, 216, 80, 73, 209, 76, 132, 187, 208, 89, 18, 169, 200, 196, 135, 130, 116, 188, 159, 86, 164, 100, 109, 198, 173, 186, 3, 64, 52, 217, 226, 250, 124, 123, 5, 202, 38, 147, 118, 126, 255, 82, 85, 212, 207, 206, 59, 227, 47, 16, 58, 17, 182, 189, 28, 42, 223, 183, 170, 213, 119, 248, 152, 2, 44, 154, 163, 70, 221, 153, 101, 155, 167, 43, 172, 9, 129, 22, 39, 253, 19, 98, 108, 110, 79, 113, 224, 232, 178, 185, 112, 104, 218, 246, 97, 228, 251, 34, 242, 193, 238, 210, 144, 12, 191, 179, 162, 241, 81, 51, 145, 235, 249, 14, 239, 107, 49, 192, 214, 31, 181, 199, 106, 157, 184, 84, 204, 176, 115, 121, 50, 45, 127, 4, 150, 254, 138, 236, 205, 93, 222, 114, 67, 29, 24, 72, 243, 141, 128, 195, 78, 66, 215, 61, 156, 180, 151, 160, 137, 91, 90, 15, 131, 13, 201, 95, 96, 53, 194, 233, 7, 225, 140, 36, 103, 30, 69, 142, 8, 99, 37, 240, 21, 10, 23, 190, 6, 148, 247, 120, 234, 75, 0, 26, 197, 62, 94, 252, 219, 203, 117, 35, 11, 32, 57, 177, 33, 88, 237, 149, 56, 87, 174, 20, 125, 136, 171, 168, 68, 175, 74, 165, 71, 134, 139, 48, 27, 166, 77, 146, 158, 231, 83, 111, 229, 122, 60, 211, 133, 230, 220, 105, 92, 41, 55, 46, 245, 40, 244, 102, 143, 54, 65, 25, 63, 161, 1, 216, 80, 73, 209, 76, 132, 187, 208, 89, 18, 169, 200, 196, 135, 130, 116, 188, 159, 86, 164, 100, 109, 198, 173, 186, 3, 64, 52, 217, 226, 250, 124, 123, 5, 202, 38, 147, 118, 126, 255, 82, 85, 212, 207, 206, 59, 227, 47, 16, 58, 17, 182, 189, 28, 42, 223, 183, 170, 213, 119, 248, 152, 2, 44, 154, 163, 70, 221, 153, 101, 155, 167, 43, 172, 9, 129, 22, 39, 253, 19, 98, 108, 110, 79, 113, 224, 232, 178, 185, 112, 104, 218, 246, 97, 228, 251, 34, 242, 193, 238, 210, 144, 12, 191, 179, 162, 241, 81, 51, 145, 235, 249, 14, 239, 107, 49, 192, 214, 31, 181, 199, 106, 157, 184, 84, 204, 176, 115, 121, 50, 45, 127, 4, 150, 254, 138, 236, 205, 93, 222, 114, 67, 29, 24, 72, 243, 141, 128, 195, 78, 66, 215, 61, 156, 180]

    [[3, 2, 1, 0], [2, 3, 1, 0], [0, 0, 0, 0], [2, 1, 3, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [2, 1, 0, 3], [3, 1, 2, 0], [0, 0, 0, 0], [1, 3, 2, 0], [1, 2, 3, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [1, 2, 0, 3], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [3, 1, 0, 2], [0, 0, 0, 0], [1, 3, 0, 2], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [1, 0, 3, 2], [1, 0, 2, 3], [3, 2, 0, 1], [2, 3, 0, 1], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [2, 0, 3, 1], [0, 0, 0, 0], [2, 0, 1, 3], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [3, 0, 2, 1], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 3, 2, 1], [0, 2, 3, 1], [0, 0, 0, 0], [0, 2, 1, 3], [3, 0, 1, 2], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 3, 1, 2], [0, 0, 0, 0], [0, 1, 3, 2], [0, 1, 2, 3]] [0, 0, 0, 0] { octaves : 1, persistence : 1, scale : 1 } { octaves : 1, persistence : 1, scale : 1 } * Calculates the simplex noise at a given 2D coordinate. * * @param x The x coordinate at which the noise value should be obtained. * @param y The y coordinate at which the noise value should be obtained. * @return The value of noise at the input coordinate, ranging from -1 to 1, inclusive. * Private helper that finds the noise contribution of a single corner of a simplex cell. * * @param a Which corner to use. * @return The noise value of the corner. * Calculates the simplex noise at a given 4D coordinate. * Used internally to generate tileable 2D noise, but it might as well be public. * * @param x The x coordinate at which the noise value should be obtained. * @param y The y coordinate at which the noise value should be obtained. * @param z The z coordinate at which the noise value should be obtained. * @param w The w coordinate at which the noise value should be obtained. * @return The value of noise at the input coordinate, ranging from -1 to 1, inclusive. * Private helper that finds the noise contribution of a single corner of a 4D simplex cell. * * @param a Which corner to use next. * @return The noise value of the corner. * Simplex noise generation. * A combination of algorithms for very fast noise generation: http://weber.itn.liu.se/~stegu/simplexnoise/simplexnoise.pdf, http://www.google.com/patents/US6867776, and http://www.jgallant.com/procedurally-generating-wrapping-world-maps-in-unity-csharp-part-2/#wrap2. * @author MSGHero hscript.UsingHandler.build() hscript.ClassExtendMacro.build()
    hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_new public="1" set="method" line="357" static="1"> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_new public="1" set="method" line="357" static="1"> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.util.FlxSimplex flixel.addons.util.FlxSimplex.SimplexCell flixel.addons.util.FlxSimplex.SimplexCell flixel.addons.util.FlxSimplex.SimplexCell_HSC * Created a PNG image from the specified BitmapData * * @param image The BitmapData that will be converted into the PNG format. * @return a ByteArray representing the PNG encoded image data. * @langversion ActionScript 3.0 * @playerversion Flash 9.0 * @tiptext * Class that converts BitmapData into a valid PNG hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.addons.util.PNGEncoder * Animation controller this animation belongs to * String name of the animation (e.g. `"walk"`) 0 * Keeps track of the current index into the tile sheet based on animation or rotation. * @author Zaphod hscript.UsingHandler.build() hscript.ClassExtendMacro.build() null Animation prefix used during the creation * Animation frameRate - the speed in frames per second that the animation should play at. 0 * Keeps track of the current frame of animation. * This is NOT an index into the tile sheet, but the frame number in the animation object. * Accessor for `frames.length` 0 * Seconds between frames (basically the framerate) [] * true * Whether the current animation has finished. true * Whether the current animation gets updated or not. true * Whether or not the animation is looped. 0 * The custom loop point for this animation. * This allows you to skip the first few frames of an animation when looping. false * Whether or not this animation is being played backwards. false * Whether or not the frames of this animation are horizontally flipped false * Whether or not the frames of this animation are vertically flipped * A list of frames stored as int indices * @since 4.2.0 <_frameTimer expr="0"> 0 * Internal, used to time each frame of animation. * Clean up memory. { Frame : 0, Reversed : false, Force : false } * Starts this animation playback. * * @param Force Whether to force this animation to restart. * @param Reversed Whether to play animation backwards or not. * @param Frame The frame number in this animation you want to start from (`0` by default). * If you pass a negative value then it will start from a random frame. * If you `Reversed` is `true`, the frame value will be "reversed" * (`Frame = numFrames - 1 - Frame`), so `Frame` value will mean frame index * from the animation's end in this case. { FlipY : false, FlipX : false, Looped : true, FrameRate : 0 } * @param Name What this animation should be called (e.g. `"run"`). * @param Frames An array of numbers indicating what frames to play in what order (e.g. `[1, 2, 3]`). * @param FrameRate The speed in frames per second that the animation should play at (e.g. `40`). * @param Looped Whether or not the animation is looped or just plays once. * @param FlipX Whether or not the frames of this animation are horizontally flipped. * @param FlipY Whether or not the frames of this animation are vertically flipped. * Just a helper structure for the `FlxSprite` animation system. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Property access for currently playing animation (warning: can be `null`). -1 * The frame index of the current animation. Can be changed manually. * Tell the sprite to change to a frame with specific name. * Useful for sprites with loaded TexturePacker atlas. * Gets or sets the currently playing animation (warning: can be `null`). * Pause or resume the current animation. * Whether the current animation has finished playing. * The total number of frames in this image. * WARNING: assumes each row in the sprite sheet is full! * If assigned, will be called each time the current animation's frame changes. * A function that has 3 parameters: a string name, a frame number, and a frame index. * If assigned, will be called each time the current animation finishes. * A function that has 1 parameter: a string name - animation name. <_sprite> * Internal, reference to owner sprite. <_curAnim> flixel.animation * Internal, currently playing animation. <_animations set="null"> * Internal, stores all the animation that were added to this sprite. <_prerotated> { FlipY : false, FlipX : false, Looped : true, FrameRate : 30 } * Adds a new animation to the sprite. * * @param Name What this animation should be called (e.g. `"run"`). * @param Frames An array of indices indicating what frames to play in what order (e.g. `[0, 1, 2]`). * @param FrameRate The speed in frames per second that the animation should play at (e.g. `40` fps). * @param Looped Whether or not the animation is looped or just plays once. * @param FlipX Whether the frames should be flipped horizontally. * @param FlipY Whether the frames should be flipped vertically. * Removes (and destroys) an animation. * * @param Name The name of animation to remove. * Adds to an existing animation in the sprite by appending the specified frames to the existing frames. * Use this method when the indices of the frames in the atlas are already known. * The animation must already exist in order to append frames to it. * * @param Name What the existing animation is called (e.g. `"run"`). * @param Frames An array of indices indicating what frames to append (e.g. `[0, 1, 2]`). { FlipY : false, FlipX : false, Looped : true, FrameRate : 30 } * Adds a new animation to the sprite. * * @param Name What this animation should be called (e.g. `"run"`). * @param FrameNames An array of image names from the atlas indicating what frames to play in what order. * @param FrameRate The speed in frames per second that the animation should play at (e.g. `40` fps). * @param Looped Whether or not the animation is looped or just plays once. * @param FlipX Whether the frames should be flipped horizontally. * @param FlipY Whether the frames should be flipped vertically. * Adds to an existing animation in the sprite by appending the specified frames to the existing frames. * Use this method when the exact name of each frame from the atlas is known (e.g. `"walk00.png"`, `"walk01.png"`). * The animation must already exist in order to append frames to it. * * @param Name What the existing animation is called (e.g. `"run"`). * @param FrameNames An array of image names from atlas indicating what frames to append. { FlipY : false, FlipX : false, Looped : true, FrameRate : 30 } * Adds a new animation to the sprite. Should be slightly faster than `addByIndices()`. * * @param Name What this animation should be called (e.g. `"run"`). * @param Prefix Common beginning of image names in the atlas (e.g. `"tiles-"`). * @param Indices An array of strings indicating what frames to play in what order * (e.g. `["01", "02", "03"]`). * @param Postfix Common ending of image names in atlas (e.g. `".png"`). * @param FrameRate The speed in frames per second that the animation should play at (e.g. `40` fps). * @param Looped Whether or not the animation is looped or just plays once. * @param FlipX Whether the frames should be flipped horizontally. * @param FlipY Whether the frames should be flipped vertically. * Adds to an existing animation in the sprite by appending the specified frames to the existing frames. * Should be slightly faster than `appendByIndices()`. Use this method when the names of each frame from * the atlas share a common prefix and postfix (e.g. `"walk00.png"`, `"walk01.png"`). * The animation must already exist in order to append frames to it. FrameRate and Looped are unchanged. * * @param Name What the existing animation is called (e.g. `"run"`). * @param Prefix Common beginning of image names in the atlas (e.g. `"tiles-"`). * @param Indices An array of strings indicating what frames to append (e.g. `["01", "02", "03"]`). * @param Postfix Common ending of image names in atlas (e.g. `".png"`). { FlipY : false, FlipX : false, Looped : true, FrameRate : 30 } * Adds a new animation to the sprite. * * @param Name What this animation should be called (e.g. `"run"`). * @param Prefix Common beginning of image names in the atlas (e.g. "tiles-"). * @param Indices An array of numbers indicating what frames to play in what order (e.g. `[0, 1, 2]`). * @param Postfix Common ending of image names in the atlas (e.g. `".png"`). * @param FrameRate The speed in frames per second that the animation should play at (e.g. `40` fps). * @param Looped Whether or not the animation is looped or just plays once. * @param FlipX Whether the frames should be flipped horizontally. * @param FlipY Whether the frames should be flipped vertically. * Adds to an existing animation in the sprite by appending the specified frames to the existing frames. * Use this method when the names of each frame from the atlas share a common prefix * and postfix (e.g. `"walk00.png"`, `"walk01.png"`). * Leading zeroes are ignored for matching indices (`5` will match `"5"` and `"005"`). * The animation must already exist in order to append frames to it. * * @param Name What the existing animation is called (e.g. `"run"`). * @param Prefix Common beginning of image names in atlas (e.g. `"tiles-"`). * @param Indices An array of numbers indicating what frames to append (e.g. `[0, 1, 2]`). * @param Postfix Common ending of image names in atlas (e.g. `".png"`). * Find a sprite frame so that for `Prefix = "file"; Index = 5; Postfix = ".png"` * It will find frame with name `"file5.png"`. If it doesn't exist it will try * to find `"file05.png"`, allowing 99 frames per animation. * Returns the found frame or `-1` on failure. { FlipY : false, FlipX : false, Looped : true, FrameRate : 30 } * Adds a new animation to the sprite. * * @param Name What this animation should be called (e.g. `"run"`). * @param Prefix Common beginning of image names in atlas (e.g. `"tiles-"`). * @param FrameRate The speed in frames per second that the animation should play at (e.g. `40` fps). * @param Looped Whether or not the animation is looped or just plays once. * @param FlipX Whether the frames should be flipped horizontally. * @param FlipY Whether the frames should be flipped vertically. * Adds to an existing animation in the sprite by appending the specified frames to the existing frames. * Use this method when the names of each frame from the atlas share a common prefix * (e.g. `"walk00.png"`, `"walk01.png"`). * Frames are sorted numerically while ignoring postfixes (e.g. `".png"`, `".gif"`). * The animation must already exist in order to append frames to it. * * @param Name What the existing animation is called (e.g. `"run"`). * @param Prefix Common beginning of image names in atlas (e.g. `"tiles-"`) { Frame : 0, Reversed : false, Force : false } * Plays an existing animation (e.g. `"run"`). * If you call an animation that is already playing, it will be ignored. * * @param AnimName The string name of the animation you want to play. * @param Force Whether to force the animation to restart. * @param Reversed Whether to play animation backwards or not. * @param Frame The frame number in the animation you want to start from. * If a negative value is passed, a random frame is used. * Stops current animation and resets its frame index to zero. * Stops current animation and sets its frame to the last one. * Just stops current animation. * Pauses the current animation. * Resumes the current animation if it exists. * Reverses current animation if it exists. * Gets the FlxAnimation object with the specified name. * Changes to a random animation frame. * Useful for instantiating particles or other weird things. flixel.animation * Gets a list with all the animations that are added in a sprite. * WARNING: Do not confuse with `getNameList`, this function returns the animation instances * @return an array with all the animations. * @since 4.11.0 * Gets a list with all the name animations that are added in a sprite * WARNING: Do not confuse with `getAnimationList`, this function returns the animation names * @return an array with all the animation names in it. * @since 4.11.0 * Checks if an animation exists by it's name. * @param name The animation name. * @since 4.11.0 * Renames the animation with a new name. * @param oldName the name that is replaced. * @param newName the name that replaces the old one. * @since 4.11.0 * Helper function used for finding index of `FlxFrame` in `_framesData`'s frames array * * @param Frame `FlxFrame` to find * @return position of specified `FlxFrame` object. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__update public="1" set="method" line="31"> <_HX_SUPER__copyFrom public="1" set="method" line="148"> <_HX_SUPER__createPrerotated public="1" set="method" line="31"> <_HX_SUPER__destroyAnimations public="1" set="method" line="31"> <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__clearPrerotated set="method" line="31"> <_HX_SUPER__clearAnimations set="method" line="31"> { FlipY : false, FlipX : false, Looped : true, FrameRate : 30 } * Adds a new animation to the sprite. * * @param Name What this animation should be called (e.g. `"run"`). * @param Frames An array of indices indicating what frames to play in what order (e.g. `[0, 1, 2]`). * @param FrameRate The speed in frames per second that the animation should play at (e.g. `40` fps). * @param Looped Whether or not the animation is looped or just plays once. * @param FlipX Whether the frames should be flipped horizontally. * @param FlipY Whether the frames should be flipped vertically. <_HX_SUPER__add public="1" set="method" line="31"> { FlipY : false, FlipX : false, Looped : true, FrameRate : 30 } * Removes (and destroys) an animation. * * @param Name The name of animation to remove. <_HX_SUPER__remove public="1" set="method" line="31"> * Adds to an existing animation in the sprite by appending the specified frames to the existing frames. * Use this method when the indices of the frames in the atlas are already known. * The animation must already exist in order to append frames to it. * * @param Name What the existing animation is called (e.g. `"run"`). * @param Frames An array of indices indicating what frames to append (e.g. `[0, 1, 2]`). <_HX_SUPER__append public="1" set="method" line="31"> { FlipY : false, FlipX : false, Looped : true, FrameRate : 30 } * Adds a new animation to the sprite. * * @param Name What this animation should be called (e.g. `"run"`). * @param FrameNames An array of image names from the atlas indicating what frames to play in what order. * @param FrameRate The speed in frames per second that the animation should play at (e.g. `40` fps). * @param Looped Whether or not the animation is looped or just plays once. * @param FlipX Whether the frames should be flipped horizontally. * @param FlipY Whether the frames should be flipped vertically. <_HX_SUPER__addByNames public="1" set="method" line="31"> { FlipY : false, FlipX : false, Looped : true, FrameRate : 30 } * Adds to an existing animation in the sprite by appending the specified frames to the existing frames. * Use this method when the exact name of each frame from the atlas is known (e.g. `"walk00.png"`, `"walk01.png"`). * The animation must already exist in order to append frames to it. * * @param Name What the existing animation is called (e.g. `"run"`). * @param FrameNames An array of image names from atlas indicating what frames to append. <_HX_SUPER__appendByNames public="1" set="method" line="31"> { FlipY : false, FlipX : false, Looped : true, FrameRate : 30 } * Adds a new animation to the sprite. Should be slightly faster than `addByIndices()`. * * @param Name What this animation should be called (e.g. `"run"`). * @param Prefix Common beginning of image names in the atlas (e.g. `"tiles-"`). * @param Indices An array of strings indicating what frames to play in what order * (e.g. `["01", "02", "03"]`). * @param Postfix Common ending of image names in atlas (e.g. `".png"`). * @param FrameRate The speed in frames per second that the animation should play at (e.g. `40` fps). * @param Looped Whether or not the animation is looped or just plays once. * @param FlipX Whether the frames should be flipped horizontally. * @param FlipY Whether the frames should be flipped vertically. <_HX_SUPER__addByStringIndices public="1" set="method" line="31"> { FlipY : false, FlipX : false, Looped : true, FrameRate : 30 } * Adds to an existing animation in the sprite by appending the specified frames to the existing frames. * Should be slightly faster than `appendByIndices()`. Use this method when the names of each frame from * the atlas share a common prefix and postfix (e.g. `"walk00.png"`, `"walk01.png"`). * The animation must already exist in order to append frames to it. FrameRate and Looped are unchanged. * * @param Name What the existing animation is called (e.g. `"run"`). * @param Prefix Common beginning of image names in the atlas (e.g. `"tiles-"`). * @param Indices An array of strings indicating what frames to append (e.g. `["01", "02", "03"]`). * @param Postfix Common ending of image names in atlas (e.g. `".png"`). <_HX_SUPER__appendByStringIndices public="1" set="method" line="31"> { FlipY : false, FlipX : false, Looped : true, FrameRate : 30 } * Adds a new animation to the sprite. * * @param Name What this animation should be called (e.g. `"run"`). * @param Prefix Common beginning of image names in the atlas (e.g. "tiles-"). * @param Indices An array of numbers indicating what frames to play in what order (e.g. `[0, 1, 2]`). * @param Postfix Common ending of image names in the atlas (e.g. `".png"`). * @param FrameRate The speed in frames per second that the animation should play at (e.g. `40` fps). * @param Looped Whether or not the animation is looped or just plays once. * @param FlipX Whether the frames should be flipped horizontally. * @param FlipY Whether the frames should be flipped vertically. <_HX_SUPER__addByIndices public="1" set="method" line="31"> { FlipY : false, FlipX : false, Looped : true, FrameRate : 30 } * Adds to an existing animation in the sprite by appending the specified frames to the existing frames. * Use this method when the names of each frame from the atlas share a common prefix * and postfix (e.g. `"walk00.png"`, `"walk01.png"`). * Leading zeroes are ignored for matching indices (`5` will match `"5"` and `"005"`). * The animation must already exist in order to append frames to it. * * @param Name What the existing animation is called (e.g. `"run"`). * @param Prefix Common beginning of image names in atlas (e.g. `"tiles-"`). * @param Indices An array of numbers indicating what frames to append (e.g. `[0, 1, 2]`). * @param Postfix Common ending of image names in atlas (e.g. `".png"`). <_HX_SUPER__appendByIndices public="1" set="method" line="31"> * Find a sprite frame so that for `Prefix = "file"; Index = 5; Postfix = ".png"` * It will find frame with name `"file5.png"`. If it doesn't exist it will try * to find `"file05.png"`, allowing 99 frames per animation. * Returns the found frame or `-1` on failure. <_HX_SUPER__findSpriteFrame set="method" line="148"> { FlipY : false, FlipX : false, Looped : true, FrameRate : 30 } * Adds a new animation to the sprite. * * @param Name What this animation should be called (e.g. `"run"`). * @param Prefix Common beginning of image names in atlas (e.g. `"tiles-"`). * @param FrameRate The speed in frames per second that the animation should play at (e.g. `40` fps). * @param Looped Whether or not the animation is looped or just plays once. * @param FlipX Whether the frames should be flipped horizontally. * @param FlipY Whether the frames should be flipped vertically. <_HX_SUPER__addByPrefix public="1" set="method" line="31"> { FlipY : false, FlipX : false, Looped : true, FrameRate : 30 } * Adds to an existing animation in the sprite by appending the specified frames to the existing frames. * Use this method when the names of each frame from the atlas share a common prefix * (e.g. `"walk00.png"`, `"walk01.png"`). * Frames are sorted numerically while ignoring postfixes (e.g. `".png"`, `".gif"`). * The animation must already exist in order to append frames to it. * * @param Name What the existing animation is called (e.g. `"run"`). * @param Prefix Common beginning of image names in atlas (e.g. `"tiles-"`) <_HX_SUPER__appendByPrefix public="1" set="method" line="31"> { Frame : 0, Reversed : false, Force : false } * Plays an existing animation (e.g. `"run"`). * If you call an animation that is already playing, it will be ignored. * * @param AnimName The string name of the animation you want to play. * @param Force Whether to force the animation to restart. * @param Reversed Whether to play animation backwards or not. * @param Frame The frame number in the animation you want to start from. * If a negative value is passed, a random frame is used. <_HX_SUPER__play public="1" set="method" line="31"> { Frame : 0, Reversed : false, Force : false } * Stops current animation and sets its frame to the last one. <_HX_SUPER__finish public="1" set="method" line="31"> * Just stops current animation. <_HX_SUPER__stop public="1" set="method" line="31"> * Changes to a random animation frame. * Useful for instantiating particles or other weird things. <_HX_SUPER__randomFrame public="1" set="method" line="31"> <_HX_SUPER__byNamesHelper set="method" line="31"> <_HX_SUPER__byStringIndicesHelper set="method" line="31"> <_HX_SUPER__byIndicesHelper set="method" line="31"> <_HX_SUPER__byPrefixHelper set="method" line="31"> <_HX_SUPER__findByPrefix set="method" line="31"> <_HX_SUPER__set_frameIndex set="method" line="148"> <_HX_SUPER__set_frameName set="method" line="148"> <_HX_SUPER__get_name set="method" line="148"> <_HX_SUPER__set_name set="method" line="148"> * Gets a list with all the animations that are added in a sprite. * WARNING: Do not confuse with `getNameList`, this function returns the animation instances * @return an array with all the animations. * @since 4.11.0 <_HX_SUPER__getAnimationList public="1" set="method" line="148"> * Gets a list with all the name animations that are added in a sprite * WARNING: Do not confuse with `getAnimationList`, this function returns the animation names * @return an array with all the animation names in it. * @since 4.11.0 <_HX_SUPER__getNameList public="1" set="method" line="148"> * Checks if an animation exists by it's name. * @param name The animation name. * @since 4.11.0 <_HX_SUPER__exists public="1" set="method" line="148"> * Renames the animation with a new name. * @param oldName the name that is replaced. * @param newName the name that replaces the old one. * @since 4.11.0 <_HX_SUPER__rename public="1" set="method" line="148"> <_HX_SUPER__get_finished set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.animation.FlxAnimationController * Clean up memory. <_HX_SUPER__destroy public="1" set="method" line="31"> { Frame : 0, Reversed : false, Force : false } * Starts this animation playback. * * @param Force Whether to force this animation to restart. * @param Reversed Whether to play animation backwards or not. * @param Frame The frame number in this animation you want to start from (`0` by default). * If you pass a negative value then it will start from a random frame. * If you `Reversed` is `true`, the frame value will be "reversed" * (`Frame = numFrames - 1 - Frame`), so `Frame` value will mean frame index * from the animation's end in this case. <_HX_SUPER__play public="1" set="method" line="31"> { Frame : 0, Reversed : false, Force : false } <_HX_SUPER__restart public="1" set="method" line="31"> <_HX_SUPER__stop public="1" set="method" line="31"> <_HX_SUPER__reset public="1" set="method" line="31"> <_HX_SUPER__finish public="1" set="method" line="31"> <_HX_SUPER__pause public="1" set="method" line="31"> <_HX_SUPER__reverse public="1" set="method" line="31"> <_HX_SUPER__update public="1" set="method" line="31"> <_HX_SUPER__clone public="1" set="method" line="148"> <_HX_SUPER__set_frameRate set="method" line="148"> <_HX_SUPER__set_curFrame set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.animation.FlxAnimation <_HX_SUPER__set_curIndex set="method" line="148"> <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__update public="1" set="method" line="31"> <_HX_SUPER__clone public="1" set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.animation.FlxBaseAnimation "prerotated_animation" 0 * @author Zaphod hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__set_angle set="method" line="148"> <_HX_SUPER__set_curIndex set="method" line="148"> <_HX_SUPER__clone public="1" set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.animation.FlxPrerotatedAnimation <_pool expr="new FlxPool<FlxFlicker>(FlxFlicker)" line="15" static="1"> (FlxFlicker)]]> <_boundObjects expr="new Map<FlxObject,FlxFlicker>()" line="20" static="1"> ()]]> * Internal map for looking up which objects are currently flickering and getting their flicker data. { ForceRestart : true, EndVisibility : true, Interval : 0.04, Duration : 1 } * Returns whether the object is flickering or not. * * @param Object The object to test. * Stops flickering of the object. Also it will make the object visible. * * @param Object The object to stop flickering. * The flickering object. * The final visibility of the object after flicker is complete. * The flicker timer. You can check how many seconds has passed since flickering started etc. * The callback that will be triggered after flicker has completed. * The callback that will be triggered every time object visiblity is changed. * The duration of the flicker (in seconds). `0` means "forever". * The interval of the flicker. * Nullifies the references to prepare object for reuse and avoid memory leaks. * Starts flickering behavior. * Prematurely ends flickering. * Unbinds the object from flicker and releases it into pool for reuse. * Just a helper function for flicker() to update object's visibility. * Internal constructor. Use static methods. * The retro flickering effect with callbacks. * You can use this as a mixin in any FlxObject subclass or by calling the static functions. * @author pixelomatic hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Nullifies the references to prepare object for reuse and avoid memory leaks. <_HX_SUPER__destroy public="1" set="method" line="31"> * Starts flickering behavior. <_HX_SUPER__start set="method" line="31"> * Prematurely ends flickering. <_HX_SUPER__stop public="1" set="method" line="31"> * Unbinds the object from flicker and releases it into pool for reuse. <_HX_SUPER__release set="method" line="31"> * Just a helper function for flicker() to update object's visibility. <_HX_SUPER__flickerProgress set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.effects.FlxFlicker hscript.UsingHandler.build() hscript.ClassExtendMacro.build() cast FlxParticle * Set your own particle class type here. The custom class must extend `FlxParticle`. Default is `FlxParticle`. false * Determines whether the emitter is currently emitting particles. It is totally safe to directly toggle this. 0.1 * How often a particle is emitted (if emitter is started with `Explode == false`). * Sets particle's blend mode. `null` by default. Warning: Expensive on Flash. 0 * The x position of this emitter. 0 * The y position of this emitter. 0 * The width of this emitter. Particles can be randomly generated from anywhere within this box. 0 * The height of this emitter. Particles can be randomly generated from anywhere within this box. FlxEmitterMode.CIRCLE * How particles should be launched. If `CIRCLE`, particles will use `launchAngle` and `speed`. * Otherwise, particles will just use `velocity.x` and `velocity.y`. false * Keep the scale ratio of the particle. Uses the `x` values of `scale`. new FlxPointRangeBounds(-100, -100, 100, 100) * Sets the velocity range of particles launched from this emitter. Only used with `FlxEmitterMode.SQUARE`. (0, 100)]]> * Set the speed range of particles launched from this emitter. Only used with `FlxEmitterMode.CIRCLE`. (0, 0)]]> * Set the angular acceleration range of particles launched from this emitter. (0, 0)]]> * Set the angular drag range of particles launched from this emitter. (0, 0)]]> * The angular velocity range of particles launched from this emitter. (0)]]> * The angle range of particles launched from this emitter. * `angle.end` is ignored unless `ignoreAngularVelocity` is set to `true`. false * Set this if you want to specify the beginning and ending value of angle, * instead of using `angularVelocity` (or `angularAcceleration`). (-180, 180)]]> * The angle range at which particles will be launched from this emitter. * Ignored unless `launchMode` is set to `FlxEmitterMode.CIRCLE`. (3)]]> * The life, or duration, range of particles launched from this emitter. new FlxPointRangeBounds(1, 1) * Sets `scale` range of particles launched from this emitter. (1)]]> * Sets `alpha` range of particles launched from this emitter. new FlxRangeBounds(FlxColor.WHITE, FlxColor.WHITE) * Sets `color` range of particles launched from this emitter. new FlxPointRangeBounds(0, 0) * Sets X and Y drag component of particles launched from this emitter. new FlxPointRangeBounds(0, 0) * Sets the `acceleration` range of particles launched from this emitter. * Set acceleration y-values to give particles gravity. (0)]]> * Sets the `elasticity`, or bounce, range of particles launched from this emitter. false * Sets the `immovable` flag for particles launched from this emitter. false * Sets the `autoUpdateHitbox` flag for particles launched from this emitter. * If true, the particles' hitbox will be updated to match scale. NONE * Sets the `allowCollisions` value for particles launched from this emitter. * Set to `NONE` by default. Don't forget to call `FlxG.collide()` in your update loop! * Shorthand for toggling `allowCollisions` between `ANY` (if `true`) and `NONE` (if `false`). * Don't forget to call `FlxG.collide()` in your update loop! <_quantity expr="0"> 0 * Internal helper for deciding how many particles to launch. <_explode expr="true"> true * Internal helper for the style of particle emission (all at once, or one at a time). <_timer expr="0"> 0 * Internal helper for deciding when to launch particles or kill them. <_counter expr="0"> 0 * Internal counter for figuring out how many particles to launch. <_point expr="FlxPoint.get()"> FlxPoint.get() * Internal point object, handy for reusing for memory management purposes. <_waitForKill expr="false"> false * Internal helper for automatically calling the `kill()` method * Clean up memory. { AutoBuffer : false, Multiple : false, bakedRotationAngles : 16, Quantity : 50 } * This function generates a new array of particle sprites to attach to the emitter. * * @param Graphics If you opted to not pre-configure an array of `FlxParticle` objects, * you can simply pass in a particle image or sprite sheet. * @param Quantity The number of particles to generate when using the "create from image" option. * @param BakedRotations How many frames of baked rotation to use (boosts performance). * Set to zero to not use baked rotations. * @param Multiple Whether the image in the `Graphics` param is a single particle or a bunch of particles * (if it's a bunch, they need to be square!). * @param AutoBuffer Whether to automatically increase the image size to accommodate rotated corners. * Default is `false`. Will create frames that are 150% larger on each axis than the * original frame or graphic. * @return This `FlxEmitter` instance (nice for chaining stuff together). { AutoBuffer : false, Multiple : false } { Quantity : 50, Color : FlxColor.WHITE, Height : 2, Width : 2 } * Similar to `FlxSprite#makeGraphic()`, this function allows you to quickly make single-color particles. * * @param Width The width of the generated particles. Default is `2` pixels. * @param Height The height of the generated particles. Default is `2` pixels. * @param Color The color of the generated particles. Default is white. * @param Quantity How many particles to generate. Default is `50`. * @return This `FlxEmitter` instance (nice for chaining stuff together). * Called automatically by the game loop, decides when to launch particles and when to "die". * Call this function to turn off all the particles and the emitter. { Quantity : 0, Frequency : 0.1, Explode : true } * Call this function to start emitting particles. * * @param Explode Whether the particles should all burst out at once. * @param Frequency Ignored if `Explode` is set to `true`. `Frequency` is how often to emit a particle. * `0` = never emit, `0.1` = 1 particle every 0.1 seconds, `5` = 1 particle every 5 seconds. * @param Quantity How many particles to launch. `0` = "all of the particles". * @return This `FlxEmitter` instance (nice for chaining stuff together). * This function can be used both internally and externally to emit the next particle. * Change the emitter's midpoint to match the midpoint of a `FlxObject`. * * @param Object The `FlxObject` that you want to sync up with. { Y : 0, X : 0 } * Helper function to set the coordinates of this object. { Size : 0, Y : 0, X : 0 } * Creates a new `FlxTypedEmitter` object at a specific position. * Does NOT automatically generate or attach particles! * * @param X The X position of the emitter. * @param Y The Y position of the emitter. * @param Size Optional, specifies a maximum capacity for this emitter. * FlxTypedEmitter is a lightweight particle emitter. * It can be used for one-time explosions or for continuous fx like rain and fire. * `FlxEmitter` is not optimized or anything; all it does is launch `FlxParticle` objects out * at set intervals by setting their positions and velocities accordingly. * It is easy to use and relatively efficient, relying on `FlxGroup`'s RECYCLE POWERS. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() 0 * How long this particle lives before it disappears. Set to `0` to never `kill()` the particle automatically. * NOTE: this is a maximum, not a minimum; the object could get recycled before its `lifespan` is up. 0 * How long this particle has lived so far. 0 * What percentage progress this particle has made of its total life. * Essentially just `(age / lifespan)` on a scale from `0` to `1`. false * Whether or not the hitbox should be updated each frame when scaling. * The range of values for `velocity` over this particle's `lifespan`. * The range of values for `angularVelocity` over this particle's `lifespan`. * The range of values for `scale` over this particle's `lifespan`. * The range of values for `alpha` over this particle's `lifespan`. * The range of values for `color` over this particle's `lifespan`. * The range of values for `drag` over this particle's `lifespan`. * The range of values for `acceleration` over this particle's `lifespan`. * The range of values for `elasticity` over this particle's `lifespan`. <_delta expr="0"> 0 * The amount of change from the previous frame. * Clean up memory. * The particle's main update logic. Basically updates properties if alive, based on ranged properties. * Triggered whenever this object is launched by a `FlxEmitter`. * You can override this to add custom behavior like a sound or AI or something. * Instantiate a new particle. Like `FlxSprite`, all meaningful creation * happens during `loadGraphic()` or `makeGraphic()` or whatever. * This is a simple particle class that extends the default behavior * of `FlxSprite` to have slightly more specialized behavior * common to many game scenarios. You can override and extend this class * just like you would FlxSprite. While FlxEmitter * used to work with just any old sprite, it now requires a * `FlxParticle` based class. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Clean up memory. <_HX_SUPER__destroy public="1" set="method" line="31"> * The particle's main update logic. Basically updates properties if alive, based on ranged properties. <_HX_SUPER__update public="1" set="method" line="31"> <_HX_SUPER__reset public="1" set="method" line="31"> * Triggered whenever this object is launched by a `FlxEmitter`. * You can override this to add custom behavior like a sound or AI or something. <_HX_SUPER__onEmit public="1" set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.effects.particles.FlxParticle flixel.effects.particles.FlxParticle.IFlxParticle hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__enable public="1" set="method" line="148"> <_HX_SUPER__capture public="1" set="method" line="148"> <_HX_SUPER__rebuild public="1" set="method" line="148"> <_HX_SUPER__update public="1" set="method" line="148"> <_HX_SUPER__render public="1" set="method" line="148"> <_HX_SUPER__setUniform public="1" set="method" line="148"> <_HX_SUPER__set_to public="1" set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.effects.postprocess.PostProcess false * The default value for the `persist` variable at creation if none is specified in the constructor. * @see [FlxGraphic.persist](https://api.haxeflixel.com/flixel/graphics/FlxGraphic.html#persist) { Cache : true, Unique : false } * Creates and caches FlxGraphic object from openfl.Assets key string. * * @param Source `openfl.Assets` key string. For example: `"assets/image.png"`. * @param Unique Ensures that the `BitmapData` uses a new slot in the cache. * If `true`, then `BitmapData` for this `FlxGraphic` will be cloned, which means extra memory. * @param Key Force the cache to use a specific key to index the bitmap. * @param Cache Whether to use graphic caching or not. Default value is `true`, which means automatic caching. * @return Cached `FlxGraphic` object we just created. { Cache : true, Unique : false } `. * * @param Source `Class` to create `BitmapData` for `FlxGraphic` from. * @param Unique Ensures that the `BitmapData` uses a new slot in the cache. * If `true`, then `BitmapData` for this `FlxGraphic` will be cloned, which means extra memory. * @param Key Force the cache to use a specific key to index the bitmap. * @param Cache Whether to use graphic caching or not. Default value is `true`, which means automatic caching. * @return `FlxGraphic` object we just created.]]> { Cache : true, Unique : false } * Creates and caches `FlxGraphic` object from specified `BitmapData` object. * * @param Source `BitmapData` for `FlxGraphic` to use. * @param Unique Ensures that the `BitmapData` uses a new slot in the cache. * If `true`, then `BitmapData` for this `FlxGraphic` will be cloned, which means extra memory. * @param Key Force the cache to use a specific key to index the bitmap. * @param Cache Whether to use graphic caching or not. Default value is `true`, which means automatic caching. * @return `FlxGraphic` object we just created. { Cache : true, Unique : false } * Creates and (optionally) caches a `FlxGraphic` object from the specified `FlxFrame`. * It uses frame's `BitmapData`, not the `frame.parent.bitmap`. * * @param Source `FlxFrame` to get the `BitmapData` from. * @param Unique Ensures that the bitmap data uses a new slot in the cache. * If `true`, then `BitmapData` for this `FlxGraphic` will be cloned, which means extra memory. * @param Key Force the cache to use a specific key to index the bitmap. * @param Cache Whether to use graphic caching or not. Default value is `true`, which means automatic caching. * @return `FlxGraphic` object we just created. { Unique : false } * Creates and caches a FlxGraphic object from the specified `FlxFramesCollection`. * It uses `frames.parent.bitmap` as a source for the `FlxGraphic`'s `BitmapData`. * It also copies all the frames collections onto the newly created `FlxGraphic`. * * @param Source `FlxFramesCollection` to get the `BitmapData` from. * @param Unique Ensures that the `BitmapData` uses a new slot in the cache. * If `true`, then `BitmapData` for this `FlxGraphic` will be cloned, which means extra memory. * @param Key Force the cache to use a specific key to index the bitmap. * @return Cached `FlxGraphic` object we just created. { Unique : false } * Creates and caches a `FlxGraphic` object from the specified `FlxGraphic` object. * It copies all the frame collections onto the newly created `FlxGraphic`. * * @param Source `FlxGraphic` to get the `BitmapData` from. * @param Unique Ensures that the `BitmapData` uses a new slot in the cache. * If `true`, then `BitmapData` for this `FlxGraphic` will be cloned, which means extra memory. * @param Key Force the cache to use a specific key to index the bitmap. * @return Cached `FlxGraphic` object we just created. { Unique : false } * Generates and caches new `FlxGraphic` object with a colored rectangle. * * @param Width How wide the rectangle should be. * @param Height How high the rectangle should be. * @param Color What color the rectangle should have (`0xAARRGGBB`). * @param Unique Ensures that the `BitmapData` uses a new slot in the cache. * @param Key Force the cache to use a specific key to index the bitmap. * @return The `FlxGraphic` object we just created. { Unique : false } * Helper method for cloning specified `BitmapData` if necessary. * * @param Bitmap `BitmapData` to process * @param Unique Whether we need to clone specified `BitmapData` object or not * @return Processed `BitmapData` { Cache : true, Unique : false } * Creates and caches the specified `BitmapData` object. * * @param Bitmap `BitmapData` to use as a graphic source for the new `FlxGraphic`. * @param Key Key to use as a cache key for the created `FlxGraphic`. * @param Unique Whether the new `FlxGraphic` object uses a unique `BitmapData` or not. * If `true`, the specified `BitmapData` will be cloned. * @param Cache Whether to use graphic caching or not. Default value is `true`, which means automatic caching. * @return Created `FlxGraphic` object. false * Key used in the `BitmapFrontEnd` cache. * The cached `BitmapData` object. 0 * Width of the cached `BitmapData`. 0 * Height of the cached `BitmapData`. * Asset name from `openfl.Assets`. * Class name for the `BitmapData`. false * Whether this graphic object should stay in the cache after state changes or not. * `destroyOnNoUse` has no effect when this is set to `true`. * Whether this `FlxGraphic` should be destroyed when `useCount` becomes zero (defaults to `true`). * Has no effect when `persist` is `true`. false * Whether the `BitmapData` of this graphic object has been dumped or not. * Whether the `BitmapData` of this graphic object has been loaded or not. * Whether the `BitmapData` of this graphic object can be dumped for decreased memory usage, * but may cause some issues (when you need direct access to pixels of this graphic. * If the graphic is dumped then you should call `undump()` and have total access to pixels. * Usage counter for this `FlxGraphic` object. * `FlxImageFrame` object for the whole bitmap. * Atlas frames for this graphic. * You should fill it yourself with one of `FlxAtlasFrames`'s static methods * (like `fromTexturePackerJson()`, `fromTexturePackerXml()`, etc). * Storage for all available frame collection of all types for this graphic object. * All types of frames collection which had been added to this graphic object. * It helps to avoid map iteration, which produces a lot of garbage. false * Shows whether this object unique in cache or not. * * Whether undumped `BitmapData` should be cloned or not. * It is `false` by default, since it significantly increases memory consumption. <_imageFrame> * Internal var holding `FlxImageFrame` for the whole bitmap of this graphic. * Use public `imageFrame` var to access/generate it. <_useCount expr="0"> 0 <_destroyOnNoUse expr="true"> true * Dumps bits of `BitmapData` to decrease memory usage, but you can't read/write pixels on it anymore * (but you can call `onContext()` (or `undump()`) method which will restore it again). * Undumps bits of the `BitmapData` - regenerates it and regenerate tilesheet data for this object * Use this method to restore cached `BitmapData` (if it's possible). * It's called automatically when the RESIZE event occurs. * Asset reload callback for this graphic object. * It regenerated its tilesheet and resets frame bitmaps. * Trying to free the memory as much as possible * Stores specified `FlxFrame` collection in internal map (this helps reduce object creation). * * @param collection frame collection to store. * Searches frame collections of specified type for this `FlxGraphic` object. * * @param type The type of frames collections to search for. * @return Array of available frames collections of specified type for this object. * Creates empty frame for this graphic with specified size. * This method could be useful for tile frames, in case when you'll need empty tile. * * @param size dimensions of the frame to add. * @return Empty frame with specified size which belongs to this `FlxGraphic` object. * Gets the `BitmapData` for this graphic object from OpenFL. * This method is used for undumping graphic. * `FlxGraphic` constructor * * @param Key Key string for this graphic object, with which you can get it from bitmap cache. * @param Bitmap `BitmapData` for this graphic object. * @param Persist Whether or not this graphic stay in the cache after resetting it. * Default value is `false`, which means that this graphic will be destroyed at the cache reset. * `BitmapData` wrapper which is used for rendering. * It stores info about all frames, generated for specific `BitmapData` object. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Dumps bits of `BitmapData` to decrease memory usage, but you can't read/write pixels on it anymore * (but you can call `onContext()` (or `undump()`) method which will restore it again). <_HX_SUPER__dump public="1" set="method" line="31"> * Undumps bits of the `BitmapData` - regenerates it and regenerate tilesheet data for this object <_HX_SUPER__undump public="1" set="method" line="31"> * Use this method to restore cached `BitmapData` (if it's possible). * It's called automatically when the RESIZE event occurs. <_HX_SUPER__onContext public="1" set="method" line="31"> * Asset reload callback for this graphic object. * It regenerated its tilesheet and resets frame bitmaps. <_HX_SUPER__onAssetsReload public="1" set="method" line="31"> * Trying to free the memory as much as possible <_HX_SUPER__destroy public="1" set="method" line="31"> * Stores specified `FlxFrame` collection in internal map (this helps reduce object creation). * * @param collection frame collection to store. <_HX_SUPER__addFrameCollection public="1" set="method" line="31"> * Gets the `BitmapData` for this graphic object from OpenFL. * This method is used for undumping graphic. <_HX_SUPER__getBitmapFromSystem set="method" line="148"> <_HX_SUPER__get_useCount set="method" line="148"> <_HX_SUPER__set_useCount set="method" line="148"> <_HX_SUPER__get_destroyOnNoUse set="method" line="148"> <_HX_SUPER__set_destroyOnNoUse set="method" line="148"> <_HX_SUPER__get_imageFrame set="method" line="148"> <_HX_SUPER__get_atlasFrames set="method" line="148"> <_HX_SUPER__set_bitmap set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.graphics.FlxGraphic new Point() new Matrix() new FlxPoint(128, 128) * Default minimum size for atlases. new FlxPoint(1024, 1024) * Default maximum size for atlases. * Root node of the atlas. * Name of this atlas, used as a key in the bitmap cache. * `BitmapData` of this atlas, combines all images into a big one. * Graphic for this atlas. false * Whether this atlas should stay in memory after state switch. * Default value if `false`. 1 * Offsets between nodes. * Total width of the atlas. * Total height of the atlas. 128 * Minimum width for this atlas. 128 * Minimum height for this atlas 1024 * Maximum width for this atlas. 1024 * Maximum height for this atlas. false * Whether to allow image rotation for packing in atlas. false * Whether the size of this atlas should be the power of 2 or not. <_graphic> <_tempStorage> * Internal storage for building atlas from queue `. * @param Key Image name, optional. * You can omit it if you pass `String` or `Class` as a `Graphic` source. * @return Newly created and added node, or `null` if there is no space for it.]]> { firstGrandChildRotated : false } { decideHowToDivide : false } `). * @param Key Optional key for image * @param tileSize The size of tile in spritesheet * @param tileSpacing Offsets to add in spritesheet between tiles * @param tileBorder Border to add around tiles (helps to avoid "tearing" problem) * @param region Region of source image to use as a source graphic * @return Generated `FlxTileFrames` for the added node]]> * Gets the `FlxAtlasFrames` object for this atlas. * It caches graphic of this atlas and generates `FlxAtlasFrames` if it doesn't exist yet. * * @return `FlxAtlasFrames` for this atlas * Checks if the atlas already contains node with the same name. * * @param nodeName Node name to check. * @return `true` if atlas already contains node with the name. * Gets a node by it's name. * * @param key Node name to search for. * @return node with searched name. `null` if atlas doesn't contain any node with that name. * Optimized version of method for adding multiple nodes to atlas. * Uses less of the atlas' area (it sorts images by the size before adding them to atlas). * * @param bitmaps `BitmapData`'s to insert * @param keys Names of these `BitmapData` objects. * @return `this` `FlxAtlas` * Internal method for sorting bitmaps * Creates a new "queue" for adding new nodes. * This method should be used with the `addToQueue()` and `generateFromQueue()` methods: * - first, you create queue, like `atlas.createQueue()`; * - second, you add several bitmaps to the queue: `atlas.addToQueue(bmd1, "key1").addToQueue(bmd2, "key2");` * - third, you actually bake those bitmaps onto the atlas: `atlas.generateFromQueue();` * Adds new object to queue for later creation of new node * * @param data `BitmapData` to bake on atlas * @param key "name" of the `BitmapData`. You'll use it as a key for accessing the created node. * Adds all objects in "queue" to existing atlas. Doesn't remove any nodes. * Destroys the atlas. Use only if you want to clear memory and don't need this atlas anymore, * since it disposes the `BitmapData` and removes it from the cache. * Clears all data in atlas. Use it when you want reuse this atlas. * WARNING: it will destroy the graphic of this image, so you can get * null pointer exceptions if you're still using it for your sprites. * Returns atlas data in LibGdx packer format. { rotate : false, border : 1, powerOfTwo : false } * Atlas constructor * * @param name The name of this atlas. It will be used for caching `BitmapData` of this atlas. * @param powerOfTwo Whether the size of this atlas should be the power of 2 or not. * @param border Gap between nodes to insert. * @param rotate Whether to rotate added images for less atlas size. * @param minSize Min size of atlas. * @param maxSize Max size of atlas. * Class for packing multiple images in big one and generating frame data for each of them * so you can easily load regions of atlas in sprites and tilemaps as a source of graphic hscript.UsingHandler.build() hscript.ClassExtendMacro.build()
    hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__initRoot set="method" line="31"> `. * @param Key Image name, optional. * You can omit it if you pass `String` or `Class` as a `Graphic` source. * @return Newly created and added node, or `null` if there is no space for it.]]> <_HX_SUPER__addNode public="1" set="method" line="148"> <_HX_SUPER__wrapRoot set="method" line="31"> <_HX_SUPER__tryInsert set="method" line="148"> <_HX_SUPER__needToDivideHorizontally set="method" line="148"> { firstGrandChildRotated : false } <_HX_SUPER__divideNode set="method" line="148"> { firstGrandChildRotated : false } <_HX_SUPER__insertFirstNodeInRoot set="method" line="148"> <_HX_SUPER__expand set="method" line="148"> { decideHowToDivide : false } <_HX_SUPER__expandRoot set="method" line="31"> { decideHowToDivide : false } <_HX_SUPER__expandBitmapData set="method" line="31"> <_HX_SUPER__getNextPowerOfTwo set="method" line="148"> `). * @param Key Optional key for image * @param tileSize The size of tile in spritesheet * @param tileSpacing Offsets to add in spritesheet between tiles * @param tileBorder Border to add around tiles (helps to avoid "tearing" problem) * @param region Region of source image to use as a source graphic * @return Generated `FlxTileFrames` for the added node]]> <_HX_SUPER__addNodeWithSpacesAndBorders public="1" set="method" line="148"> * Gets the `FlxAtlasFrames` object for this atlas. * It caches graphic of this atlas and generates `FlxAtlasFrames` if it doesn't exist yet. * * @return `FlxAtlasFrames` for this atlas <_HX_SUPER__getAtlasFrames public="1" set="method" line="148"> <_HX_SUPER__addNodeToAtlasFrames set="method" line="31"> * Checks if the atlas already contains node with the same name. * * @param nodeName Node name to check. * @return `true` if atlas already contains node with the name. <_HX_SUPER__hasNodeWithName public="1" set="method" line="148"> * Gets a node by it's name. * * @param key Node name to search for. * @return node with searched name. `null` if atlas doesn't contain any node with that name. <_HX_SUPER__getNode public="1" set="method" line="148"> * Optimized version of method for adding multiple nodes to atlas. * Uses less of the atlas' area (it sorts images by the size before adding them to atlas). * * @param bitmaps `BitmapData`'s to insert * @param keys Names of these `BitmapData` objects. * @return `this` `FlxAtlas` <_HX_SUPER__addNodes public="1" set="method" line="148"> <_HX_SUPER__addFromAtlasObjects set="method" line="31"> * Internal method for sorting bitmaps <_HX_SUPER__bitmapSorter set="method" line="148"> * Creates a new "queue" for adding new nodes. * This method should be used with the `addToQueue()` and `generateFromQueue()` methods: * - first, you create queue, like `atlas.createQueue()`; * - second, you add several bitmaps to the queue: `atlas.addToQueue(bmd1, "key1").addToQueue(bmd2, "key2");` * - third, you actually bake those bitmaps onto the atlas: `atlas.generateFromQueue();` <_HX_SUPER__createQueue public="1" set="method" line="148"> * Adds new object to queue for later creation of new node * * @param data `BitmapData` to bake on atlas * @param key "name" of the `BitmapData`. You'll use it as a key for accessing the created node. <_HX_SUPER__addToQueue public="1" set="method" line="148"> * Adds all objects in "queue" to existing atlas. Doesn't remove any nodes. <_HX_SUPER__generateFromQueue public="1" set="method" line="148"> <_HX_SUPER__onClear set="method" line="31"> * Destroys the atlas. Use only if you want to clear memory and don't need this atlas anymore, * since it disposes the `BitmapData` and removes it from the cache. <_HX_SUPER__destroy public="1" set="method" line="31"> * Clears all data in atlas. Use it when you want reuse this atlas. * WARNING: it will destroy the graphic of this image, so you can get * null pointer exceptions if you're still using it for your sprites. <_HX_SUPER__clear public="1" set="method" line="31"> * Returns atlas data in LibGdx packer format. <_HX_SUPER__getLibGdxData public="1" set="method" line="148"> <_HX_SUPER__deleteSubtree set="method" line="31"> <_HX_SUPER__findNodeToInsert set="method" line="148"> <_HX_SUPER__set_bitmapData set="method" line="148"> <_HX_SUPER__get_graphic set="method" line="148"> <_HX_SUPER__set_persist set="method" line="148"> <_HX_SUPER__set_minWidth set="method" line="148"> <_HX_SUPER__set_minHeight set="method" line="148"> <_HX_SUPER__get_width set="method" line="148"> <_HX_SUPER__set_width set="method" line="148"> <_HX_SUPER__get_height set="method" line="148"> <_HX_SUPER__set_height set="method" line="148"> <_HX_SUPER__set_maxWidth set="method" line="148"> <_HX_SUPER__set_maxHeight set="method" line="148"> <_HX_SUPER__set_powerOfTwo set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.graphics.atlas.FlxAtlas flixel.graphics.atlas.FlxAtlas.TempAtlasObj * Left child of this node. * Right child of this node. * Region of the atlas which this node holds, includes spacings between nodes. * The "name" of this node. You can get access to this node with it: * `atlas.getNode(key);` * Logical flag showing whether this node has an image in it or not. * Atlas object which contains this node. * The x coordinate of the top-left corner of this node. * The y coordinate of the top-left corner of this node. * The width of this node. * The height of this node. * Logical flag, showing whether this node have any child nodes or image in it. * Whether we place node with specified width and height in this node. * Generates TileFrames object for this node * * @param tileSize The size of tile in spritesheet. * @param tileSpacing Offsets between tiles in spritesheet. * @param tileBorder Border to add around tiles (helps to avoid "tearing" problem). * @return Created TileFrames object for this node. * Generates a `FlxImageFrame` object for this node. * * @return `FlxImageFrame` for the whole node { rotated : false, key : "", filled : false } * Node constructor * * @param rect Region of atlas this node holds. * @param atlas Atlas this node belongs to. * @param filled Whether this node contains image or not. * @param key The name of image in this node, and the name of this node. * Atlas node holds information about image on Atlas. * Plus it have few methods for easy frame data generation, * which can be loaded in sprites and in tilemaps. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Generates TileFrames object for this node * * @param tileSize The size of tile in spritesheet. * @param tileSpacing Offsets between tiles in spritesheet. * @param tileBorder Border to add around tiles (helps to avoid "tearing" problem). * @return Created TileFrames object for this node. <_HX_SUPER__getTileFrames public="1" set="method" line="148"> * Generates a `FlxImageFrame` object for this node. * * @return `FlxImageFrame` for the whole node <_HX_SUPER__getImageFrame public="1" set="method" line="148"> <_HX_SUPER__set_width set="method" line="148"> <_HX_SUPER__set_height set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.graphics.atlas.FlxNode * Parsing method for TexturePacker atlases in JSON format. * * @param Source The image source (can be `FlxGraphic`, `String`, or `BitmapData`). * @param Description Contents of JSON file with atlas description. * You can get it with `Assets.getText(path/to/description.json)`. * Or you can just a pass path to the JSON file in the assets directory. * You can also directly pass in the parsed object. * @return Newly created `FlxAtlasFrames` collection. * Internal method for TexturePacker parsing. Parses the actual frame data. * * @param FrameName Name of the frame (file name of the original source image). * @param FrameData The TexturePacker data excluding "filename". * @param Frames The `FlxAtlasFrames` to add this frame to. * Parsing method for LibGDX atlases. * * @param source The image source (can be `FlxGraphic`, `String` or `BitmapData`). * @param description Contents of the file with atlas description. * You can get it with `Assets.getText(path/to/description/file)`. * Or you can just pass path to the description file in the assets directory. * @return Newly created `FlxAtlasFrames` collection. * Internal method for LibGDX atlas parsing. It tries to extract dimensions info from the specified string. { useCache : true } * Parsing method for Sparrow texture atlases * (they can be generated with Shoebox http://renderhjs.net/shoebox/ for example). * * @param Source The image source (can be `FlxGraphic`, `String` or `BitmapData`). * @param Description Contents of the XML file with atlas description. * You can get it with `Assets.getText(path/to/description.xml)`. * Or you can just pass a path to the XML file in the assets directory. * @param useCache Will specify whenever the cache should be used. * @return Newly created `FlxAtlasFrames` collection. * Parsing method for TexturePacker atlases in generic XML format. * * @param Source The image source (can be `FlxGraphic`, `String` or `BitmapData`). * @param Description Contents of the XML file with atlas description. * You can get it with `Assets.getText(path/to/description.xml)`. * Or you can just pass a path to the XML file in the assets directory. * @return Newly created `FlxAtlasFrames` collection. * Parsing method for Sprite Sheet Packer atlases (http://spritesheetpacker.codeplex.com/). * * @param Source The image source (can be `FlxGraphic`, `String` or `BitmapData`). * @param Description Contents of the file with atlas description. * You can get it with `Assets.getText(path/to/description/file)`. * Or you can just pass a path to the description file in the assets directory. * @return Newly created `FlxAtlasFrames` collection. * Returns the `FlxAtlasFrame` of the specified `FlxGraphic` object. * * @param graphic `FlxGraphic` object to find the `FlxAtlasFrames` collection for. * @return `FlxAtlasFrames` collection for the specified `FlxGraphic` object * Could be `null` if `FlxGraphic` doesn't have it yet. * Atlas frames collection. It makes possible to use texture atlases in Flixel. * Plus it contains few packer parser methods for most commonly used atlas formats. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__addBorder public="1" set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.graphics.frames.FlxAtlasFrames flixel.graphics.frames.FlxAtlasFrames.TexturePackerObject 32 9 10 "DEFAULT_FONT_KEY" 46100001000010010010000000?56111000001001100000000100000000@66011100100010101110101010011100000000A56011001001010010111101001000000B56111001001011100100101110000000C56011001001010000100100110000000D56111001001010010100101110000000E56111101000011000100001111000000F56111101000010000110001000000000G56011001000010110100100111000000H56100101001011110100101001000000I26101010101000J56000100001000010100100110000000K56100101001010010111001001000000L46100010001000100011100000M66100010100010110110101010100010000000N56100101001011010101101001000000O56011001001010010100100110000000P56111001001010010111001000000000Q56011001001010010100100110000010R56111001001010010111001001000000S56011101000001100000101110000000T46111001000100010001000000U56100101001010010100100110000000V56100101001010010101000100000000W66100010100010101010110110100010000000X56100101001001100100101001000000Y56100101001010010011100001001100Z56111100001001100100001111000000[36110100100100110000}46110001000010010011000000]36110010010010110000^46010010100000000000000000_46000000000000000011110000'26101000000000a56000000111010010100100111000000b56100001110010010100101110000000c46000001101000100001100000d56000100111010010100100111000000e56000000110010110110000110000000f46011010001000110010000000g5700000011001001010010011100001001100h56100001110010010100101001000000i26100010101000j37010000010010010010100k56100001001010010111001001000000l26101010101000m66000000111100101010101010101010000000n56000001110010010100101001000000o56000000110010010100100110000000p5700000111001001010010111001000010000q5700000011101001010010011100001000010r46000010101100100010000000s56000000111011000001101110000000t46100011001000100001100000u56000001001010010100100111000000v56000001001010010101000100000000w66000000101010101010101010011110000000x56000001001010010011001001000000y5700000100101001010010011100001001100z56000001111000100010001111000000{46011001001000010001100000|26101010101000}46110001000010010011000000~56010101010000000000000000000000\\46111010101010101011100000"]]> ?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~"]]> * Default letters for XNA font. new Point() new Rectangle() * Retrieves the default `FlxBitmapFont`. * May work incorrectly on HTML5. * Utterly unreliable on Brave Browser with shields up. * Loads font data in AngelCode's format. * * @param Source Font image source. * @param Data Font data. * @return Generated bitmap font object. { charBGColor : FlxColor.TRANSPARENT } * Load bitmap font in XNA/Pixelizer format. * May work incorrectly on HTML5. * Utterly unreliable on Brave Browser with shields up. * * @param source Source image for this font. * @param letters `String` of characters contained in the source image, * in order (ex. `" abcdefghijklmnopqrstuvwxyz"`). Defaults to `DEFAULT_CHARS`. * @param charBGColor An additional background color to remove. Defaults to `FlxColor.TRANSPARENT`. * @return Generated bitmap font object. * Loads a monospaced bitmap font. * * @param source Source image for this font. * Use white pixels if you intend to change the color. * @param letters The characters used in the font set, in display order. * You can use the `TEXT_SET` constants for common font set arrangements. * @param charSiz The size of each character in the font set. * @param region The region of image to use for the font. * Default is null which means that the whole image will be used. * @param spacing Spaces between characters in the font set. Default is `null` which means no spaces. * @return Generated bitmap font object. 0 * The size of the font. Can be useful for AngelCode fonts. 0 false false 0 0 * Minimum x offset in this font. * This is a helper variable for rendering purposes. 0 * The width of space character. * Helper map where character's frames are stored by char codes. * Helper map where character's xAdvance are stored by char codes. * Atlas frame from which this font has been parsed. * Internal method which creates and add char frames into this font. * * @param charCode Char code for char frame. * @param frame Character region from source image. * @param offset Offset before rendering this char. * @param xAdvance How much cursor will jump after this char. * Creates a new bitmap font using specified bitmap data and letter input. * Holds information and bitmap characters for a bitmap font. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() flixel.text.FlxBitmapText <_HX_SUPER__destroy public="1" set="method" line="31"> * Internal method which creates and add char frames into this font. * * @param charCode Char code for char frame. * @param frame Character region from source image. * @param offset Offset before rendering this char. * @param xAdvance How much cursor will jump after this char. <_HX_SUPER__addCharFrame set="method" line="31"> <_HX_SUPER__updateSourceHeight set="method" line="31"> <_HX_SUPER__addBorder public="1" set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.graphics.frames.FlxBitmapFont new Point() new Rectangle() { heightInc : 0, widthInc : 0 } * Generates new frames collection from specified frames. * * @param frames Frames collection to generate filters for. * @param widthInc How much frames should expand horizontally. * @param heightInc How much frames should expend vertically. * @param filters Optional filters array to apply. * @return New frames collection which you can apply filters to. * Original frames collection 0 * How much frames should expand horizontally 0 * How much frames should expand vertically * Filters applied to these frames { updateFrames : false, saveAnimations : false } * Just helper method which "centers" sprite offsets * * @param spr Sprite to apply this frame collection. * @param saveAnimations Whether to save sprite's animations or not. * @param updateFrames Whether to regenerate frame `BitmapData`s or not. * Adds a filter to this frames collection. * * @param filter The filter to be added. * Removes a filter from this frames collection. * * @param filter The filter to be removed. * Removes all filters from the frames. { fill : true } { heightInc : 0, widthInc : 0 } * Frames collection which you can apply bitmap filters to. * WARNING: this frame collection doesn't use caching, so be careful or you will "leak" out memory very fast. * You should destroy frames collections of this type manually. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() { updateFrames : false, saveAnimations : false } * Just helper method which "centers" sprite offsets * * @param spr Sprite to apply this frame collection. * @param saveAnimations Whether to save sprite's animations or not. * @param updateFrames Whether to regenerate frame `BitmapData`s or not. <_HX_SUPER__applyToSprite public="1" set="method" line="31"> { updateFrames : false, saveAnimations : false } <_HX_SUPER__genFrames set="method" line="31"> * Removes a filter from this frames collection. * * @param filter The filter to be removed. <_HX_SUPER__removeFilter public="1" set="method" line="31"> * Removes all filters from the frames. <_HX_SUPER__clearFilters public="1" set="method" line="31"> <_HX_SUPER__regenAndApplyFilters set="method" line="31"> { fill : true } <_HX_SUPER__regenBitmaps set="method" line="31"> { fill : true } <_HX_SUPER__applyFilter set="method" line="148"> <_HX_SUPER__applyFilters set="method" line="31"> <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__set_filters set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.graphics.frames.FlxFilterFrames * Sorts an array of `FlxFrame` objects by their name, e.g. * `["tiles-001.png", "tiles-003.png", "tiles-002.png"]` * with `"tiles-".length == prefixLength` and `".png".length == postfixLength`. new Point() new Point() new Rectangle() new FlxMatrix() * Region of the image to render. * UV coordinates for this frame. * WARNING: For optimization purposes, width and height of this rect * contain right and bottom coordinates (`x + width` and `y + height`). * Rotation angle of this frame. * Required for packed atlas images. * Original (uncropped) image size. * Frame offset from top left corner of original image. * The type of this frame. flixel.graphics.frames.FlxFramesCollection flixel.graphics.frames.FlxBitmapFont { blit : true } * Applies frame rotation to the specified matrix, which should be used for tiling or blitting. * Required for rotated frame support. * * @param mat Matrix to transform / rotate * @param blit Whether specified matrix will be used for blitting or for tile rendering. * @return Transformed matrix. { flipY : false, flipX : false, rotation : FlxFrameAngle.ANGLE_0 } * Rotates and flips matrix. This method expects matrix which was prepared by `prepareBlitMatrix()`. * Internal use only. * * @param mat Matrix to transform * @param rotation Rotation to apply to specified matrix. * @param flipX Do we need to flip frame horizontally * @param flipY Do we need to flip frame vertically * @return Transformed matrix with applied rotation and flipping { flipY : false, flipX : false, rotation : FlxFrameAngle.ANGLE_0 } * Prepares matrix for frame blitting (see `paint` methods). * * @param mat Matrix to transform/prepare. * @param rotation Rotation to apply to specified matrix. * @param flipX Do we need to flip frame horizontally. * @param flipY Do we need to flip frame vertically. * @return Transformed matrix which can be used for frame painting. { flipY : false, flipX : false, rotation : FlxFrameAngle.ANGLE_0 } * Prepares matrix for frame tile/triangles rendering. * * @param mat Matrix to transform/prepare * @param rotation Rotation to apply to specified matrix. * @param flipX Do we need to flip frame horizontally * @param flipY Do we need to flip frame vertically * @return Transformed matrix which can be used for frame drawing. { disposeIfNotEqual : false, mergeAlpha : false } * Draws frame on specified `BitmapData` object. * * @param bmd `BitmapData` object to draw this frame on. * If bmd is `null` then new a `BitmapData` is created. * @param point Where to draw this frame on the specified `BitmapData` object. * @param mergeAlpha Whether to merge alphas or not. * (works like with `BitmapData`'s `copyPixels()` method). * @param disposeIfNotEqual Whether dispose passed `bmd` or not if its size isn't * equal to frame's original size (`sourceSize`) * @return Modified or newly created `BitmapData` with frame image on it. { disposeIfNotEqual : false, mergeAlpha : false, flipY : false, flipX : false, rotation : FlxFrameAngle.ANGLE_0 } * Draws rotated and flipped frame on specified BitmapData object. * * @param bmd BitmapData object to draw this frame on. * If `bmd` is `null` then new `BitmapData` created. * @param point Where to draw this frame on the specified `BitmapData` object * @param rotation How much rotate the frame. * @param flipX Do we need to flip frame horizontally. * @param flipY Do we need to flip frame vertically. * @param mergeAlpha Whether to merge alphas or not * (works like with `BitmapData`'s `copyPixels()` method). * @param disposeIfNotEqual Whether dispose passed `bmd` or not if its size isn't * equal to frame's original size (`sourceSize`) * @return Modified or newly created `BitmapData` with frame image on it. { disposeIfNotEqual : false, mergeAlpha : false, rotation : FlxFrameAngle.ANGLE_0 } * Internal method which runs few checks on specified `BitmapData` object. * * @param bmd `BitmapData` object to check against. * @param point Optional point for mergeAlpha checks * @param rotation How much we will rotate the frame when we will be * drawing it on specified `BitmapData`. * @param mergeAlpha Whether to merge alphas or not * (works like with `BitmapData`'s `copyPixels()` method). * @param disposeIfNotEqual Whether dispose passed bmd or not if its size isn't * equal to frame's original size (`sourceSize`). * @return Prepared `BitmapData` for further frame blitting. Output `BitmapData` could be a different object. * Internal method which prepares frame rect for blitting. * Required for rotated frames support. * * @param mat Frame transformation matrix (rotated / flipped / translated). * @return Clipping rectangle which will be used for frame blitting. * Generates frame with specified subregion of this frame. * * @param rect Frame region to generate frame for. * @param frameToFill Frame to fill with data. If `null` then a new frame will be created. * @return Specified `frameToFill` object but filled with data. * Just a helper method for some frame adjusting. * Try to not use it, since it may cause memory leaks. * * @param border Amount to clip from frame * @return Clipped frame * Frame clipping * * @param clip Clipping rectangle to apply on frame * @param clippedFrame The frame which will contain result of original frame clipping. * If `null`, a new frame will be created. * @return Result of applying frame clipping * Copies data from this frame into specified frame. * * @param clone Frame to fill data with. If `null`, a new frame will be created. * @return Frame with data of this frame. { flipY : false, flipX : false, angle : FlxFrameAngle.ANGLE_0 } flixel.graphics.FlxGraphic flixel.graphics.frames.FlxFramesCollection * Base class for all frame types hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Just enumeration of all types of frames. * Added for faster type detection with less usage of casting. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() cast 0 cast 2 cast 3 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() cast 0 cast 2 cast 3 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() cast 0 cast 90 cast -90 cast -90 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() cast 0 cast 90 cast -90 cast -90 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() cast (0, flixel.graphics.frames.FlxFrameAngle) cast (90, flixel.graphics.frames.FlxFrameAngle) cast (-90, flixel.graphics.frames.FlxFrameAngle) cast (-90, flixel.graphics.frames.FlxFrameAngle) hscript.UsingHandler.build() hscript.ClassExtendMacro.build() cast (0, flixel.graphics.frames.FlxFrameType) cast (2, flixel.graphics.frames.FlxFrameType) cast (3, flixel.graphics.frames.FlxFrameType) hscript.UsingHandler.build() hscript.ClassExtendMacro.build() flixel.graphics.frames.FlxFramesCollection flixel.graphics.frames.FlxBitmapFont <_HX_SUPER__cacheFrameMatrix set="method" line="31"> { flipY : false, flipX : false, rotation : FlxFrameAngle.ANGLE_0 } * Prepares matrix for frame blitting (see `paint` methods). * * @param mat Matrix to transform/prepare. * @param rotation Rotation to apply to specified matrix. * @param flipX Do we need to flip frame horizontally. * @param flipY Do we need to flip frame vertically. * @return Transformed matrix which can be used for frame painting. <_HX_SUPER__prepareTransformedBlitMatrix set="method" line="148"> { flipY : false, flipX : false, rotation : FlxFrameAngle.ANGLE_0 } { flipY : false, flipX : false, rotation : FlxFrameAngle.ANGLE_0 } * Prepares matrix for frame tile/triangles rendering. * * @param mat Matrix to transform/prepare * @param rotation Rotation to apply to specified matrix. * @param flipX Do we need to flip frame horizontally * @param flipY Do we need to flip frame vertically * @return Transformed matrix which can be used for frame drawing. <_HX_SUPER__prepareMatrix public="1" set="method" line="148"> { flipY : false, flipX : false, rotation : FlxFrameAngle.ANGLE_0 } { disposeIfNotEqual : false, mergeAlpha : false } * Draws frame on specified `BitmapData` object. * * @param bmd `BitmapData` object to draw this frame on. * If bmd is `null` then new a `BitmapData` is created. * @param point Where to draw this frame on the specified `BitmapData` object. * @param mergeAlpha Whether to merge alphas or not. * (works like with `BitmapData`'s `copyPixels()` method). * @param disposeIfNotEqual Whether dispose passed `bmd` or not if its size isn't * equal to frame's original size (`sourceSize`) * @return Modified or newly created `BitmapData` with frame image on it. <_HX_SUPER__paint public="1" set="method" line="148"> { disposeIfNotEqual : false, mergeAlpha : false } { disposeIfNotEqual : false, mergeAlpha : false, flipY : false, flipX : false, rotation : FlxFrameAngle.ANGLE_0 } * Draws rotated and flipped frame on specified BitmapData object. * * @param bmd BitmapData object to draw this frame on. * If `bmd` is `null` then new `BitmapData` created. * @param point Where to draw this frame on the specified `BitmapData` object * @param rotation How much rotate the frame. * @param flipX Do we need to flip frame horizontally. * @param flipY Do we need to flip frame vertically. * @param mergeAlpha Whether to merge alphas or not * (works like with `BitmapData`'s `copyPixels()` method). * @param disposeIfNotEqual Whether dispose passed `bmd` or not if its size isn't * equal to frame's original size (`sourceSize`) * @return Modified or newly created `BitmapData` with frame image on it. <_HX_SUPER__paintRotatedAndFlipped public="1" set="method" line="148"> { disposeIfNotEqual : false, mergeAlpha : false, flipY : false, flipX : false, rotation : FlxFrameAngle.ANGLE_0 } * Generates frame with specified subregion of this frame. * * @param rect Frame region to generate frame for. * @param frameToFill Frame to fill with data. If `null` then a new frame will be created. * @return Specified `frameToFill` object but filled with data. <_HX_SUPER__subFrameTo public="1" set="method" line="148"> * Just a helper method for some frame adjusting. * Try to not use it, since it may cause memory leaks. * * @param border Amount to clip from frame * @return Clipped frame <_HX_SUPER__setBorderTo public="1" set="method" line="148"> * Frame clipping * * @param clip Clipping rectangle to apply on frame * @param clippedFrame The frame which will contain result of original frame clipping. * If `null`, a new frame will be created. * @return Result of applying frame clipping <_HX_SUPER__clipTo public="1" set="method" line="148"> * Copies data from this frame into specified frame. * * @param clone Frame to fill data with. If `null`, a new frame will be created. * @return Frame with data of this frame. <_HX_SUPER__copyTo public="1" set="method" line="148"> <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__toString public="1" set="method" line="148"> <_HX_SUPER__set_frame set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.graphics.frames.FlxFrame flixel.graphics.frames.FlxFrame.FlxFrameType flixel.graphics.frames.FlxFrame.FlxFrameType flixel.graphics.frames.FlxFrame.FlxFrameAngle flixel.graphics.frames.FlxFrame.FlxFrameAngle flixel.graphics.frames.FlxFrame.FlxFrameAngle_HSC flixel.graphics.frames.FlxFrame.FlxFrameType_HSC * An enumeration of all types of frame collections. * Added for faster type detection with less usage of casting. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Finds frame index by its name. * * @param name Name of the frame. * @return Index of the frame with specified name. <_HX_SUPER__getIndexByName public="1" set="method" line="148"> <_HX_SUPER__destroy public="1" set="method" line="31"> * Adds empty frame into this frame collection. * An empty frame is doing almost nothing for all the time. * * @param size Dimensions of the frame to add. * @return Newly added empty frame. <_HX_SUPER__addEmptyFrame public="1" set="method" line="148"> * Adds new regular (not rotated) `FlxFrame` to this frame collection. * * @param region Region of image which new frame will display. * @return Newly created `FlxFrame` object for specified region of image. <_HX_SUPER__addSpriteSheetFrame public="1" set="method" line="148"> { flipY : false, flipX : false, angle : 0 } * Adds new frame to this frame collection. * This method runs additional check, and can add rotated frames (from texture atlases). * * @param frame Region of image. * @param sourceSize Original size of packed image * (if image had been cropped, then original size will be bigger than frame size). * @param offset How frame region is located on original frame image * (offset from top left corner of original image). * @param name Name for this frame (name of packed image file). * @param angle Rotation of packed image (can be `0`, `90` or `-90`). * @param flipX If packed image should be horizontally flipped. * @param flipY If packed image should be vertically flipped. * @return Newly created and added frame object. <_HX_SUPER__addAtlasFrame public="1" set="method" line="148"> { flipY : false, flipX : false, angle : 0 } * Checks if frame's area fits into atlas image, and trims if it's out of atlas image bounds. * * @param frame Frame area to check. * @param name Optional frame name for debugging info. * @return Checked and trimmed frame rectangle. <_HX_SUPER__checkFrame set="method" line="148"> * Helper method for a adding frame to the collection. * * @param frameObj Frame to add. * @return Added frame. <_HX_SUPER__pushFrame public="1" set="method" line="148"> * Generates new frames collection from this collection but trims frames by specified borders. * * @param border How much space trim around the frames. * @return Generated frames collection. <_HX_SUPER__addBorder public="1" set="method" line="148"> <_HX_SUPER__toString public="1" set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.graphics.frames.FlxFramesCollection flixel.graphics.frames.FlxFramesCollection.FlxFrameCollectionType * Generates a `FlxImageFrame` object with empty frame of specified size. * * @param graphic Graphic for the `FlxImageFrame`. * @param frameRect The size of the empty frame to generate * (only `width` and `height` of the `frameRect` need to be set properly). * @return Newly created `FlxImageFrame` object with empty frame of specified size. * Generates a `FlxImageFrame` object from the specified `FlxFrame`. * * @param source `FlxFrame` to generate `FlxImageFrame` from. * @return Created `FlxImageFrame` object. * Creates a `FlxImageFrame` object for the whole image. * * @param source image graphic for the `FlxImageFrame`. * @return Newly created `FlxImageFrame` object for specified graphic. * Creates `FlxImageFrame` for the specified region of `FlxGraphic`. * * @param graphic Graphic for `FlxImageFrame`. * @param region Region of image to create the `FlxImageFrame` for. * @return Newly created `FlxImageFrame` object for the specified region of `FlxGraphic` object. * Creates a `FlxImageFrame` object for specified region of the image. * * @param source Image graphic for `FlxImageFrame`. * @param region Region of the image to create the `FlxImageFrame` for. * @return Newly created `FlxImageFrame` object for specified region of image. * Gets source BitmapData, generates new BitmapData (if there is no such BitmapData in the cache already) * and creates FlxImageFrame collection. * * @param source The source of graphic for frame collection. * @param border Border to add around tiles (helps to avoid "tearing" problem). * @param region Region of image to generate image frame from. Default value is `null`, which means that * whole image will be used for it. * @return Newly created image frame collection. * Gets `FlxFrame` object, generates new `BitmapData` with border pixels around * (if there is no such BitmapData in the cache already) and creates image frame collection. * * @param frame Frame to generate tiles from. * @param border Border to add around frame image (helps to avoid "tearing" problem). * @return Newly created image frame collection. * Searches `FlxImageFrame` object for specified `FlxGraphic` object which have the same frame rectangle. * * @param graphic `FlxGraphic` object to search the `FlxImageFrame` for. * @param frameRect `FlxImageFrame` object should have frame with * the same position and dimensions as specified with this argument. * @return `FlxImageFrame` object which corresponds to specified rectangle. * Could be `null` if there is no such `FlxImageFrame`. * Searches `FlxImageFrame` object with the empty frame which have specified size. * * @param graphic `FlxGraphic` object to search `FlxImageFrame` for. * @param frameRect The size of empty frame to search for. * @return `FlxImageFrame` with empty frame. * Single frame of this frame collection. * Added this var for faster access, so you don't need to type something like: `imageFrame.frames[0]` * `FlxImageFrame` comparison method. For internal use. * Single-frame collection. * Could be useful for non-animated sprites. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__addBorder public="1" set="method" line="148"> <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__get_frame set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.graphics.frames.FlxImageFrame * Gets source `BitmapData`, generates new `BitmapData` with spaces between frames * (if there is no such `BitmapData` in the cache already) and creates `FlxTileFrames` collection. * * @param source The source of graphic for frame collection. * @param tileSize The size of tiles in spritesheet. * @param tileSpacing Desired offsets between frames in spritesheet * (this method takes spritesheet bitmap without offsets between frames and adds them). * @param tileBorder Border to add around tiles (helps to avoid "tearing" problem). * @param region Region of image to generate spritesheet from. Default value is `null`, which means that * the whole image will be used for spritesheet generation. * @return Newly created spritesheet. * Gets `FlxFrame` object, generates new `BitmapData` with spaces between tiles in the frame * (if there is no such `BitmapData` in the cache already) and creates a `FlxTileFrames` collection. * * @param frame Frame to generate tiles from. * @param tileSize the size of tiles in spritesheet. * @param tileSpacing desired offsets between frames in spritesheet. * (this method takes spritesheet bitmap without offsets between frames and adds them). * @param tileBorder Border to add around tiles (helps to avoid "tearing" problem). * @return Newly created spritesheet. * Generates spritesheet frame collection from provided frame. Can be useful for spritesheets packed into atlases. * It can generate spritesheets from rotated and cropped frames also, * which is important for devices with limited memory. * * @param frame Frame, containing spritesheet image * @param tileSize The size of tiles in spritesheet * @param tileSpacing Offsets between frames in spritesheet. * Default value is `null`, which means no offsets between tiles. * @return Newly created spritesheet frame collection. * Just generates tile frames collection from specified array of frames. * * @param Frames `Array` of frames to generate tile frames from. * They all should have the same source size and parent graphic. * If not then `null` will be returned. * @return Generated collection of frames. * Creates new a `FlxTileFrames` collection from atlas frames which begin with * a common name (e.g. `"tiles-"`) and differ in indices (e.g. `"001"`, `"002"`, etc.). * This method is similar to `FlxAnimationController`'s `addByPrefix()`. * * @param Frames Collection of atlas frames to generate tiles from. * @param Prefix Common beginning of image names in atlas (e.g. `"tiles-"`). * @return Generated tile frames collection. * Generates spritesheet frame collection from provided region of image. * * @param graphic Source graphic for spritesheet. * @param tileSize The size of tiles in spritesheet. * @param region Region of image to use for spritesheet generation. Default value is `null`, * which means that the whole image will be used for it. * @param tileSpacing Offsets between frames in spritesheet. * Default value is `null`, which means no offsets between tiles. * @return Newly created spritesheet frame collection. * Generates a spritesheet frame collection from the provided image region. * * @param source Source graphic for the spritesheet. * @param tileSize The size of tiles in spritesheet. * @param region Region of image to use for spritesheet generation. Default value is `null`, * which means that whole image will be used for it. * @param tileSpacing Offsets between frames in spritesheet. * Default value is `null`, which means no offsets between tiles. * @return Newly created spritesheet frame collection. * This method takes array of tileset bitmaps and the size of * tiles in them and then combine them in one big tileset. * The order of bitmaps in the array is important. * * ```haxe * var combinedFrames = FlxTileFrames.combineTileSets(bitmaps, FlxPoint.get(16, 16)); * tilemap.loadMapFromCSV(mapData, combinedFrames); * ``` * * or * * ```haxe * sprite.frames = combinedFrames; * ``` * * @param bitmaps tilesets * @param tileSize The size of tiles (tilesets should have tiles of the same size). * @return Atlas frames collection, which you can load in tilemaps or sprites: * This method takes array of tile frames collections and then combine them in one big tileset. * The order of bitmaps in array is important. * * * ```haxe * var combinedFrames = FlxTileFrames.combineTileFrames(tileframes); * tilemap.loadMapFromCSV(mapData, combinedFrames); * ``` * * or * * ```haxe * sprite.frames = combinedFrames; * ``` * * @param tileframes Tile frames collection to combine tiles from. * @return Atlas frames collection, which you can load in tilemaps or sprites: * Searches `FlxTileFrames` object for a specified `FlxGraphic` object * which has the same parameters (frame size, frame spacings, region of image, etc.). * * @param graphic `FlxGraphic` object to search `FlxTileFrames` for. * @param tileSize The size of tiles in TileFrames. * @param region The region of source image used for spritesheet generation. * @param atlasFrame Optional `FlxFrame` object used for spritesheet generation. * @param tileSpacing Spaces between tiles in spritesheet. * @return `FlxTileFrames` object which corresponds to specified arguments. * Could be null if there is no such `FlxTileFrames`. * Atlas frame from which this frame collection had been generated. * Could be `null` if this collection generated from rectangle. * Image region of the image from which this frame collection had been generated. * The size of frame in this spritesheet. * Offsets between frames in this spritesheet. 0 0 * Gets frame by its "position" in spritesheet. * TileFrames comparison method. For internal use. * Spritesheet frame collection. It is used for tilemaps and animated sprites. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * TileFrames comparison method. For internal use. <_HX_SUPER__equals public="1" set="method" line="148"> <_HX_SUPER__addBorder public="1" set="method" line="148"> <_HX_SUPER__destroy public="1" set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.graphics.frames.FlxTileFrames 0 * Tracks the total number of draw calls made each frame. false false false 0 * @author Zaphod hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() 4 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__reset public="1" set="method" line="31"> <_HX_SUPER__dispose public="1" set="method" line="31"> <_HX_SUPER__addQuad public="1" set="method" line="31"> <_HX_SUPER__render public="1" set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.graphics.tile.FlxDrawQuadsItem hscript.UsingHandler.build() hscript.ClassExtendMacro.build() FlxPoint.get() FlxRect.get() ()]]> ()]]> ()]]> ()]]> 0 0 0 FlxRect.get() * @author Zaphod hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__render public="1" set="method" line="31"> <_HX_SUPER__reset public="1" set="method" line="31"> <_HX_SUPER__dispose public="1" set="method" line="31"> <_HX_SUPER__addTriangles public="1" set="method" line="31"> <_HX_SUPER__addQuad public="1" set="method" line="31"> <_HX_SUPER__get_numVertices set="method" line="148"> <_HX_SUPER__get_numTriangles set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.graphics.tile.FlxDrawTrianglesItem.DrawData flixel.graphics.tile.FlxDrawTrianglesItem The raw shader bytecode for this Shader instance. Provides access to parameters, input images, and metadata for the Shader instance. ShaderParameter objects representing parameters for the shader, ShaderInput objects representing the input images for the shader, and other values representing the shader's metadata are dynamically added as properties of the `data` property object when the Shader instance is created. Those properties can be used to introspect the shader and to set parameter and input values. For information about accessing and manipulating the dynamic properties of the `data` object, see the ShaderData class description. Get or set the fragment source used when compiling with GLSL. This property is not available on the Flash target. "checkstyle:Dynamic" The compiled GLProgram if available. This property is not available on the Flash target. Get or set the vertex source used when compiling with GLSL. This property is not available on the Flash target. The precision of math operations performed by the shader. The set of possible values for the `precisionHint` property is defined by the constants in the ShaderPrecision class. The default value is `ShaderPrecision.FULL`. Setting the precision to `ShaderPrecision.FAST` can speed up math operations at the expense of precision. Full precision mode (`ShaderPrecision.FULL`) computes all math operations to the full width of the IEEE 32-bit floating standard and provides consistent behavior on all platforms. In this mode, some math operations such as trigonometric and exponential functions can be slow. Fast precision mode (`ShaderPrecision.FAST`) is designed for maximum performance but does not work consistently on different platforms and individual CPU configurations. In many cases, this level of precision is sufficient to create graphic effects without visible artifacts. The precision mode selection affects the following shader operations. These operations are faster on an Intel processor with the SSE instruction set: * `sin(x)` * `cos(x)` * `tan(x)` * `asin(x)` * `acos(x)` * `atan(x)` * `atan(x, y)` * `exp(x)` * `exp2(x)` * `log(x)` * `log2(x)` * `pow(x, y)` * `reciprocal(x)` * `sqrt(x)` The compiled Program3D if available. This property is not available on the Flash target. <__alpha> <__bitmap> <__colorMultiplier> <__colorOffset> <__context> <__data> <__glFragmentSource> <__glSourceDirty> <__glVertexSource> <__hasColorTransform> <__inputBitmapData> <__isGenerated> <__matrix> <__numPasses> <__paramBool> <__paramFloat> <__paramInt> <__position> <__textureCoord> <__texture> <__textureSize> <__clearUseArray set="method" line="271"> <__createGLShader set="method" line="319"> <__createGLProgram set="method" line="343"> <__disable set="method" line="376"> <__disableGL set="method" line="384"> <__enable set="method" line="422"> <__enableGL set="method" line="432"> <__init set="method" line="452"> <__initGL set="method" line="465"> <__processGLData set="method" line="573"> <__update set="method" line="733"> <__updateFromBuffer set="method" line="741"> <__updateGL set="method" line="749"> <__updateGLFromBuffer set="method" line="775"> { code : null } Creates a new Shader instance. @param code The raw shader bytecode to link to the Shader. AIR Profile Support for more information regarding API support across multiple profiles.]]> "tags=\"haxe,release\"" openfl.display3D.Context3D openfl.display3D.Program3D openfl.display.ShaderInput openfl.display.ShaderParameter openfl.utils._internal.ShaderMacro.build() hide openfl.display._internal hide openfl.display._internal hide openfl.display._internal hide openfl.display._internal hide openfl.display._internal hide openfl.display._internal hide openfl.display._internal hide openfl.display._internal { code : null } "attribute float openfl_Alpha;\n\t\tattribute vec4 openfl_ColorMultiplier;\n\t\tattribute vec4 openfl_ColorOffset;\n\t\tattribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\n\t\tvarying float openfl_Alphav;\n\t\tvarying vec4 openfl_ColorMultiplierv;\n\t\tvarying vec4 openfl_ColorOffsetv;\n\t\tvarying vec2 openfl_TextureCoordv;\n\n\t\tuniform mat4 openfl_Matrix;\n\t\tuniform bool openfl_HasColorTransform;\n\t\tuniform vec2 openfl_TextureSize;" "openfl_Alphav = openfl_Alpha;\n\t\topenfl_TextureCoordv = openfl_TextureCoord;\n\n\t\tif (openfl_HasColorTransform) {\n\n\t\t\topenfl_ColorMultiplierv = openfl_ColorMultiplier;\n\t\t\topenfl_ColorOffsetv = openfl_ColorOffset / 255.0;\n\n\t\t}\n\n\t\tgl_Position = openfl_Matrix * openfl_Position;" "#pragma header\n\n\t\tvoid main(void) {\n\n\t\t\t#pragma body\n\n\t\t}" "varying float openfl_Alphav;\n\t\tvarying vec4 openfl_ColorMultiplierv;\n\t\tvarying vec4 openfl_ColorOffsetv;\n\t\tvarying vec2 openfl_TextureCoordv;\n\n\t\tuniform bool openfl_HasColorTransform;\n\t\tuniform vec2 openfl_TextureSize;\n\t\tuniform sampler2D bitmap;" 0.0) {\n\n\t\t\t\tgl_FragColor = vec4 (color.rgb * color.a * openfl_Alphav, color.a * openfl_Alphav);\n\n\t\t\t} else {\n\n\t\t\t\tgl_FragColor = vec4 (0.0, 0.0, 0.0, 0.0);\n\n\t\t\t}\n\n\t\t} else {\n\n\t\t\tgl_FragColor = color * openfl_Alphav;\n\n\t\t}"]]> "#pragma header\n\n\t\tvoid main(void) {\n\n\t\t\t#pragma body\n\n\t\t}" openfl.utils._internal.ShaderMacro.build() openfl.utils._internal.ShaderMacro.build() "tags=\"haxe,release\"" <_camSize public="1"> "\r\n\t\t#pragma header\r\n\t\t\r\n\t\tattribute float alpha;\r\n\t\tattribute vec4 colorMultiplier;\r\n\t\tattribute vec4 colorOffset;\r\n\t\tuniform bool hasColorTransform;\r\n\t\t\r\n\t\tvoid main(void)\r\n\t\t{\r\n\t\t\t#pragma body\r\n\t\t\t\r\n\t\t\topenfl_Alphav = openfl_Alpha * alpha;\r\n\t\t\t\r\n\t\t\tif (hasColorTransform)\r\n\t\t\t{\r\n\t\t\t\topenfl_ColorOffsetv = colorOffset / 255.0;\r\n\t\t\t\topenfl_ColorMultiplierv = colorMultiplier;\r\n\t\t\t}\r\n\t\t}" 0.0)\r\n\t\t\t{\r\n\t\t\t\treturn vec4(color.rgb * color.a * openfl_Alphav, color.a * openfl_Alphav);\r\n\t\t\t}\r\n\t\t\treturn vec4(0.0, 0.0, 0.0, 0.0);\r\n\t\t}\r\n\r\n\t\tuniform vec4 _camSize;\r\n\t\t\r\n\t\tfloat map(float value, float min1, float max1, float min2, float max2) {\r\n\t\t return min2 + (value - min1) * (max2 - min2) / (max1 - min1);\r\n\t\t}\r\n\t\t\r\n\t\tvec2 getCamPos(vec2 pos) {\r\n\t\t\tvec4 size = _camSize / vec4(openfl_TextureSize, openfl_TextureSize);\r\n\t\t\treturn vec2(map(pos.x, size.x, size.x + size.z, 0.0, 1.0), map(pos.y, size.y, size.y + size.w, 0.0, 1.0));\r\n\t\t}\r\n\t\tvec2 camToOg(vec2 pos) {\r\n\t\t\tvec4 size = _camSize / vec4(openfl_TextureSize, openfl_TextureSize);\r\n\t\t\treturn vec2(map(pos.x, 0.0, 1.0, size.x, size.x + size.z), map(pos.y, 0.0, 1.0, size.y, size.y + size.w));\r\n\t\t}\r\n\t\tvec4 textureCam(sampler2D bitmap, vec2 pos) {\r\n\t\t\treturn flixel_texture2D(bitmap, camToOg(pos));\r\n\t\t}\r\n\t"]]> "\r\n\t\t#pragma header\r\n\t\t\r\n\t\tvoid main(void)\r\n\t\t{\r\n\t\t\tgl_FragColor = flixel_texture2D(bitmap, openfl_TextureCoordv);\r\n\t\t}" openfl.utils._internal.ShaderMacro.build() openfl.utils._internal.ShaderMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__setCamSize public="1" set="method" line="148"> <__interp> openfl.utils._internal.ShaderMacro.build() openfl.utils._internal.ShaderMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.graphics.tile.FlxGraphicsShader hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_groupMembers> <_filter> <_cursor> <_length> * Iterator implementation for groups * Support a filter method (used for iteratorAlive, iteratorDead and iteratorExists) * @author Masadow hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * @since 4.8.0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__get_ANY set="method" line="148"> <_HX_SUPER__get_NONE set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.FlxBaseKeyList RELEASED RELEASED hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() cast -1 cast 0 cast 1 cast 2 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() cast -1 cast 0 cast 1 cast 2 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() cast (-1, flixel.input.FlxInputState) cast (0, flixel.input.FlxInputState) cast (1, flixel.input.FlxInputState) cast (2, flixel.input.FlxInputState) hscript.UsingHandler.build() hscript.ClassExtendMacro.build() true * Whether or not keyboard input is currently enabled. [] * List of keys on which preventDefault() is called, useful on HTML5 to stop * the browser from scrolling when pressing the up or down key for example, or * on android to prevent the default back key action. * Helper class to check if a key is pressed. * Helper class to check if a key was just pressed. * Helper class to check if a key is released. * @since 4.8.0 * Helper class to check if a key was just released. <_keyListArray expr="[]"> [] flixel.input.FlxBaseKeyList * Internal storage of input keys as an array, for efficient iteration. <_keyListMap expr="new Map<Int,FlxInput<Key>>()"> >()]]> * Internal storage of input keys as a map, for efficient indexing. * Check to see if at least one key from an array of keys is pressed. * * @param KeyArray An array of key names * @return Whether at least one of the keys passed in is pressed. * Check to see if at least one key from an array of keys was just pressed. * * @param KeyArray An array of key names * @return Whether at least one of the keys passed was just pressed. * Check to see if at least one key from an array of keys was just released. * * @param KeyArray An array of key names * @return Whether at least one of the keys passed was just released. * Get the ID of the first key which is currently pressed. * * @return The ID of the first pressed key or -1 if none are pressed. * Get the ID of the first key which has just been pressed. * * @return The ID of the key or -1 if none were just pressed. * Get the ID of the first key which has just been released. * * @return The ID of the key or -1 if none were just released. * Check the status of a single of key * * @param KeyCode KeyCode to be checked. * @param Status The key state to check for. * @return Whether the provided key has the specified status. flixel.input.FlxBaseKeyList * Check the status of a single of key. * Throws errors on ANY, NONE or invalid keys. * Use `checkStatus`, for most cases. * * @param KeyCode KeyCode to be checked. * @param Status The key state to check for. * @return Whether the provided key has the specified status. * Get an Array of Key that are in a pressed state * * @return Array of keys that are currently pressed. * Clean up memory. * Resets all the keys. * Updates the key states (for tracking just pressed, just released, etc). * Helper function to check the status of an array of keys * * @param KeyArray An array of keys as Strings * @param State The key state to check for * @return Whether at least one of the keys has the specified status * Event handler so FlxGame can toggle keys. * Internal event handler for input and focus. * A Helper function to check whether an array of keycodes contains * a certain key safely (returns false if the array is null). * A helper function to update the key states based on a keycode provided. * Return a key from the key list, if found. Will return null if not found. * Keeps track of what keys are pressed and how with handy Bools or strings. * Automatically instatiated by flixel as a `FlxKeyboard` and accessed via `FlxG.keys` * or `FlxAndroidKeys` with `FlxG.android`. * Example: `FlxG.keys.justPressed.A` hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Fetch the world position of the pointer on any given camera. * NOTE: x and y also store the world position of the pointer on the main camera. * * @param Camera If unspecified, first/main global camera is used instead. * @param point An existing point object to store the results (if you don't want a new one created). * @return The touch point's location in world space. <_HX_SUPER__getWorldPosition public="1" set="method" line="148"> * Fetch the screen position of the pointer on any given camera. * NOTE: screenX and screenY also store the screen position of the pointer on the main camera. * * @param Camera If unspecified, first/main global camera is used instead. * @param point An existing point object to store the results (if you don't want a new one created). * @return The touch point's location in screen space. <_HX_SUPER__getScreenPosition public="1" set="method" line="148"> flixel.FlxCamera * Fetch the screen position of the pointer relative to given camera's viewport. * * @param Camera If unspecified, first/main global camera is used instead. * @param point An existing point object to store the results (if you don't want a new one created). * @return The touch point's location relative to camera's viewport. <_HX_SUPER__getPositionInCameraView public="1" set="method" line="148"> * Returns a FlxPoint with this input's x and y. <_HX_SUPER__getPosition public="1" set="method" line="148"> flixel.group.FlxTypedGroup.resolveGroup * Checks to see if some FlxObject overlaps this FlxObject or FlxGroup. * If the group has a LOT of things in it, it might be faster to use FlxG.overlaps(). * WARNING: Currently tilemaps do NOT support screen space overlap checks! * * @param ObjectOrGroup The object or group being tested. * @param Camera Specify which game camera you want. If null getScreenPosition() will just grab the first global camera. * @return Whether or not the two objects overlap. <_HX_SUPER__overlaps public="1" set="method" line="148"> <_HX_SUPER__toString public="1" set="method" line="148"> * Helper function to update the cursor used by update() and playback(). * Updates the x, y, screenX, and screenY variables based on the default camera. <_HX_SUPER__updatePositions set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.FlxPointer * Either LEFT_MOUSE, MIDDLE_MOUSE or RIGHT_MOUSE, * or the touchPointID of a FlxTouch. "FlxSwipe.angle is deprecated, use degrees" <_startTimeInTicks> <_endTimeInTicks> "FlxSwipe.angle is deprecated, use degrees" hscript.UsingHandler.build() hscript.ClassExtendMacro.build() flixel.input.mouse.FlxMouseButton flixel.input.touch.FlxTouch <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.FlxSwipe * Digital or Analog * The name of the action, "jump", "fire", "move", etc. -1 * This action's numeric handle for the Steam API (ignored if not using Steam) false * If true, this action has just been triggered * The inputs attached to this action <_x expr="null"> null <_y expr="null"> null <_timestamp expr="0"> 0 <_checked expr="false"> false false * Whether the steam controller inputs for this action have changed since the last time origins were polled. Always false if steam isn't active { Destroy : true } { Destroy : false } * See if this action has just been triggered * @since 4.6.0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() flixel.input.actions.FlxActionDigital flixel.input.actions.FlxActionAnalog flixel.input.actions.FlxActionSet * Function to call when this action occurs * Add a digital input (any kind) that will trigger this action * @param input * @return This action * Add a generic IFlxInput action input * * WARNING: IFlxInput objects are often member variables of some other * object that is often destructed at the end of a state. If you don't * destroy() this input (or the action you assign it to), the IFlxInput * reference will persist forever even after its parent object has been * destroyed! * * @param Input A generic IFlxInput object (ex: FlxButton.input) * @param Trigger Trigger What state triggers this action (PRESSED, JUST_PRESSED, RELEASED, JUST_RELEASED) * @return This action { GamepadID : FlxInputDeviceID.FIRST_ACTIVE } * Add a gamepad action input for digital (button-like) events * @param InputID "universal" gamepad input ID (A, X, DPAD_LEFT, etc) * @param Trigger What state triggers this action (PRESSED, JUST_PRESSED, RELEASED, JUST_RELEASED) * @param GamepadID specific gamepad ID, or FlxInputDeviceID.ALL / FIRST_ACTIVE * @return This action * Add a keyboard action input * @param Key Key identifier (FlxKey.SPACE, FlxKey.Z, etc) * @param Trigger What state triggers this action (PRESSED, JUST_PRESSED, RELEASED, JUST_RELEASED) * @return This action * Mouse button action input * @param ButtonID Button identifier (FlxMouseButtonID.LEFT / MIDDLE / RIGHT) * @param Trigger What state triggers this action (PRESSED, JUST_PRESSED, RELEASED, JUST_RELEASED) * @return This action 0; False: respond to mouse wheel values < 0 * @param Trigger What state triggers this action (PRESSED, JUST_PRESSED, RELEASED, JUST_RELEASED) * @return This action]]> { Name : "" } * Create a new digital action * @param Name name of the action * @param Callback function to call when this action occurs * A digital action is a binary on/off event like "jump" or "fire". * FlxActions let you attach multiple inputs to a single in-game action, * so "jump" could be performed by a keyboard press, a mouse click, * or a gamepad button press. * * @since 4.6.0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Function to call when this action occurs * X axis value, or the value of a single-axis analog input. * Y axis value. (If action only has single-axis input this is always == 0) * Add an analog input that will trigger this action { InvertX : false, InvertY : false, DeadZone : 0.1, PixelsPerUnit : 10, Axis : FlxAnalogAxis.EITHER } * Add mouse input -- same as mouse motion, but requires a particular mouse button to be PRESSED * Very useful for e.g. panning a map or canvas around * @param ButtonID Button identifier (FlxMouseButtonID.LEFT / MIDDLE / RIGHT) * @param Trigger What state triggers this action (MOVED, JUST_MOVED, STOPPED, JUST_STOPPED) * @param Axis which axes to monitor for triggering: X, Y, EITHER, or BOTH * @param PixelsPerUnit How many pixels of movement = 1.0 in analog motion (lower: more sensitive, higher: less sensitive) * @param DeadZone Minimum analog value before motion will be reported * @param InvertY Invert the Y axis * @param InvertX Invert the X axis * @return This action { InvertX : false, InvertY : false, DeadZone : 0.1, PixelsPerUnit : 10, Axis : EITHER } * Add mouse input -- X/Y is the RELATIVE motion of the mouse since the last frame * @param Trigger What state triggers this action (MOVED, JUST_MOVED, STOPPED, JUST_STOPPED) * @param Axis which axes to monitor for triggering: X, Y, EITHER, or BOTH * @param PixelsPerUnit How many pixels of movement = 1.0 in analog motion (lower: more sensitive, higher: less sensitive) * @param DeadZone Minimum analog value before motion will be reported * @param InvertY Invert the Y axis * @param InvertX Invert the X axis * @return This action { Axis : EITHER } * Add mouse input -- X/Y is the mouse's absolute screen position * @param Trigger What state triggers this action (MOVED, JUST_MOVED, STOPPED, JUST_STOPPED) * @param Axis which axes to monitor for triggering: X, Y, EITHER, or BOTH * @return This action { GamepadID : FlxInputDeviceID.FIRST_ACTIVE, Axis : EITHER } * Add gamepad action input for analog (trigger, joystick, touchpad, etc) events * @param InputID "universal" gamepad input ID (LEFT_TRIGGER, RIGHT_ANALOG_STICK, TILT_PITCH, etc) * @param Trigger What state triggers this action (MOVED, JUST_MOVED, STOPPED, JUST_STOPPED) * @param Axis which axes to monitor for triggering: X, Y, EITHER, or BOTH * @param GamepadID specific gamepad ID, or FlxInputDeviceID.FIRST_ACTIVE / ALL * @return This action { Name : "" } * Create a new analog action * @param Name name of the action * @param Callback function to call when this action occurs * Analog actions are events with continuous (floating-point) values, and up * to two axes (x,y). This is for events like "move" and "accelerate" where the * event is not simply on or off. * * FlxActions let you attach multiple inputs to a single in-game action, * so "move" could be performed by a gamepad joystick, a mouse movement, etc. * * @since 4.6.0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Digital or Analog * Mouse, Keyboard, Gamepad, SteamController, etc. false * Input code (FlxMouseButtonID, FlxKey, FlxGamepadInputID, or Steam Controller action handle) * What state triggers this action (PRESSED, JUST_PRESSED, RELEASED, JUST_RELEASED) * Check whether this action has just been triggered * Check whether `state` fulfills `condition`. Note: order of operations is * important here. `compareState(JUST_PRESSED, PRESSED) == false`, while * `compareState(PRESSED, JUST_PRESSED) == true`. * @return Whether or not the condition is satisfied by state. { DeviceID : FlxInputDeviceID.FIRST_ACTIVE } * @since 4.6.0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() flixel.input.actions.FlxActionInputDigital flixel.input.actions.FlxActionInputAnalog * @since 4.6.0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * @since 4.6.0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() -1 * Means "every connected device of the given type" (ie all gamepads, all steam controllers, etc) -2 * Means "the first connected device that has an active input" (ie a pressed button or moved analog stick/trigger/etc) -3 * Means "no device" * Just a bucket for some handy sentinel values. * @since 4.6.0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() { Model : "" } hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * @since 4.6.0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() cast cast FlxInputState.JUST_RELEASED cast cast FlxInputState.RELEASED cast cast FlxInputState.PRESSED cast cast FlxInputState.JUST_PRESSED hscript.UsingHandler.build() hscript.ClassExtendMacro.build() cast cast FlxInputState.JUST_RELEASED cast cast FlxInputState.RELEASED cast cast FlxInputState.PRESSED cast cast FlxInputState.JUST_PRESSED hscript.UsingHandler.build() hscript.ClassExtendMacro.build() true false 0 0 { DeviceID : FlxInputDeviceID.FIRST_ACTIVE, Axis : EITHER } * @since 4.6.0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() flixel.input.actions.FlxAction 0 0 { InvertX : false, InvertY : false, DeadZone : 0.1, PixelsPerUnit : 10, Axis : EITHER } * Mouse input -- X/Y is the RELATIVE motion of the mouse since the last frame * @param Trigger What state triggers this action (MOVED, JUST_MOVED, STOPPED, JUST_STOPPED) * @param Axis which axes to monitor for triggering: X, Y, EITHER, or BOTH * @param PixelsPerUnit How many pixels of movement = 1.0 in analog motion (lower: more sensitive, higher: less sensitive) * @param DeadZone Minimum analog value before motion will be reported * @param InvertY Invert the Y axis * @param InvertX Invert the X axis * @since 4.6.0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() { InvertX : false, InvertY : false, DeadZone : 0.1, PixelsPerUnit : 10, Axis : FlxAnalogAxis.EITHER } * Mouse input -- same as FlxActionInputAnalogMouseMotion, but requires a particular mouse button to be PRESSED * Very useful for e.g. panning a map or canvas around * @param ButtonID Button identifier (FlxMouseButtonID.LEFT / MIDDLE / RIGHT) * @param Trigger What state triggers this action (MOVED, JUST_MOVED, STOPPED, JUST_STOPPED) * @param Axis which axes to monitor for triggering: X, Y, EITHER, or BOTH * @param PixelsPerUnit How many pixels of movement = 1.0 in analog motion (lower: more sensitive, higher: less sensitive) * @param DeadZone Minimum analog value before motion will be reported * @param InvertY Invert the Y axis * @param InvertX Invert the X axis * @since 4.6.0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() { Axis : EITHER } * Mouse input -- X/Y is the mouse's absolute screen position * @param Trigger What state triggers this action (MOVED, JUST_MOVED, STOPPED, JUST_STOPPED) * @param Axis which axes to monitor for triggering: X, Y, EITHER, or BOTH * @since 4.6.0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() { GamepadID : FlxInputDeviceID.FIRST_ACTIVE, Axis : EITHER } * Gamepad action input for analog (trigger, joystick, touchpad, etc) events * @param InputID "universal" gamepad input ID (LEFT_TRIGGER, RIGHT_ANALOG_STICK, TILT_PITCH, etc) * @param Trigger What state triggers this action (MOVED, JUST_MOVED, STOPPED, JUST_STOPPED) * @param Axis which axes to monitor for triggering: X, Y, EITHER, or BOTH * @param GamepadID specific gamepad ID, or FlxInputDeviceID.FIRST_ACTIVE / ALL * @since 4.6.0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() { DeviceID : FlxInputDeviceID.ALL, Axis : EITHER } flixel.input.actions.FlxActionSet * Steam Controller action input for analog (trigger, joystick, touchpad, etc) events * @param ActionHandle handle received from FlxSteamController.getAnalogActionHandle() * @param Trigger what state triggers this action (MOVING, JUST_MOVED, STOPPED, JUST_STOPPED) * @param Axis which axes to monitor for triggering: X, Y, EITHER, or BOTH * @param DeviceHandle handle received from FlxSteamController.getConnectedControllers(), or FlxInputDeviceID.ALL / FlxInputDeviceID.FIRST_ACTIVE * @since 4.6.0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * @since 4.6.0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() cast 0 cast 1 cast 2 cast 3 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() cast 0 cast 1 cast 2 cast 3 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() cast (0, flixel.input.actions.FlxAnalogAxis) cast (1, flixel.input.actions.FlxAnalogAxis) cast (2, flixel.input.actions.FlxAnalogAxis) cast (3, flixel.input.actions.FlxAnalogAxis) hscript.UsingHandler.build() hscript.ClassExtendMacro.build() cast (cast FlxInputState.JUST_RELEASED, flixel.input.actions.FlxAnalogState) cast (cast FlxInputState.RELEASED, flixel.input.actions.FlxAnalogState) cast (cast FlxInputState.PRESSED, flixel.input.actions.FlxAnalogState) cast (cast FlxInputState.JUST_PRESSED, flixel.input.actions.FlxAnalogState) hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__check public="1" set="method" line="148"> <_HX_SUPER__checkAxis set="method" line="148"> <_HX_SUPER__updateValues set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.actions.FlxActionInputAnalog.FlxAnalogState flixel.input.actions.FlxActionInputAnalog.FlxAnalogState flixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogClickAndDragMouseMotion flixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogMouseMotion flixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogMousePosition flixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogGamepad flixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogSteam flixel.input.actions.FlxActionInputAnalog flixel.input.actions.FlxActionInputAnalog.FlxAnalogAxis flixel.input.actions.FlxActionInputAnalog.FlxAnalogAxis flixel.input.actions.FlxActionInputAnalog.FlxAnalogAxis_HSC <_HX_SUPER__update public="1" set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.actions.FlxActionInputAnalog.FlxAnalogState flixel.input.actions.FlxActionInputAnalog.FlxAnalogState flixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogClickAndDragMouseMotion flixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogMouseMotion flixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogMousePosition flixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogGamepad flixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogSteam flixel.input.actions.FlxActionInputAnalog flixel.input.actions.FlxActionInputAnalog.FlxAnalogAxis flixel.input.actions.FlxActionInputAnalog.FlxAnalogAxis flixel.input.actions.FlxActionInputAnalog.FlxAnalogAxis_HSC flixel.input.actions.FlxActionInputAnalog.FlxAnalogState_HSC <_HX_SUPER__update public="1" set="method" line="31"> <_HX_SUPER__updateValues set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.actions.FlxActionInputAnalog.FlxAnalogState flixel.input.actions.FlxActionInputAnalog.FlxAnalogState flixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogClickAndDragMouseMotion flixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogMouseMotion flixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogMousePosition flixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogGamepad flixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogSteam flixel.input.actions.FlxActionInputAnalog flixel.input.actions.FlxActionInputAnalog.FlxAnalogAxis flixel.input.actions.FlxActionInputAnalog.FlxAnalogAxis flixel.input.actions.FlxActionInputAnalog.FlxAnalogAxis_HSC flixel.input.actions.FlxActionInputAnalog.FlxAnalogState_HSC <_HX_SUPER__update public="1" set="method" line="31"> <_HX_SUPER__updateXYPosition set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.actions.FlxActionInputAnalog.FlxAnalogState flixel.input.actions.FlxActionInputAnalog.FlxAnalogState flixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogClickAndDragMouseMotion flixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogMouseMotion flixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogMousePosition flixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogGamepad flixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogSteam flixel.input.actions.FlxActionInputAnalog flixel.input.actions.FlxActionInputAnalog.FlxAnalogAxis flixel.input.actions.FlxActionInputAnalog.FlxAnalogAxis flixel.input.actions.FlxActionInputAnalog.FlxAnalogAxis_HSC flixel.input.actions.FlxActionInputAnalog.FlxAnalogState_HSC <_HX_SUPER__updateValues set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.actions.FlxActionInputAnalog.FlxAnalogState flixel.input.actions.FlxActionInputAnalog.FlxAnalogState flixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogClickAndDragMouseMotion flixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogMouseMotion flixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogMousePosition flixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogGamepad flixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogSteam flixel.input.actions.FlxActionInputAnalog flixel.input.actions.FlxActionInputAnalog.FlxAnalogAxis flixel.input.actions.FlxActionInputAnalog.FlxAnalogAxis flixel.input.actions.FlxActionInputAnalog.FlxAnalogAxis_HSC flixel.input.actions.FlxActionInputAnalog.FlxAnalogState_HSC <_HX_SUPER__update public="1" set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.actions.FlxActionInputAnalog.FlxAnalogState flixel.input.actions.FlxActionInputAnalog.FlxAnalogState flixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogClickAndDragMouseMotion flixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogMouseMotion flixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogMousePosition flixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogGamepad flixel.input.actions.FlxActionInputAnalog.FlxActionInputAnalogSteam flixel.input.actions.FlxActionInputAnalog flixel.input.actions.FlxActionInputAnalog.FlxAnalogAxis flixel.input.actions.FlxActionInputAnalog.FlxAnalogAxis flixel.input.actions.FlxActionInputAnalog.FlxAnalogAxis_HSC flixel.input.actions.FlxActionInputAnalog.FlxAnalogState_HSC { DeviceID : FlxInputDeviceID.FIRST_ACTIVE } * @since 4.6.0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() 0 0; False: respond to mouse wheel values < 0 * @param Trigger What state triggers this action (PRESSED, JUST_PRESSED, RELEASED, JUST_RELEASED)]]> * @since 4.6.0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() { GamepadID : FlxInputDeviceID.FIRST_ACTIVE } * Gamepad action input for digital (button-like) events * @param InputID "universal" gamepad input ID (A, X, DPAD_LEFT, etc) * @param Trigger What state triggers this action (PRESSED, JUST_PRESSED, RELEASED, JUST_RELEASED) * @param GamepadID specific gamepad ID, or FlxInputDeviceID.ALL / FIRST_ACTIVE * @since 4.6.0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Keyboard action input * @param Key Key identifier (FlxKey.SPACE, FlxKey.Z, etc) * @param Trigger What state triggers this action (PRESSED, JUST_PRESSED, RELEASED, JUST_RELEASED) * @since 4.6.0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Mouse button action input * @param ButtonID Button identifier (FlxMouseButtonID.LEFT / MIDDLE / RIGHT) * @param Trigger What state triggers this action (PRESSED, JUST_PRESSED, RELEASED, JUST_RELEASED) * @since 4.6.0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() { DeviceHandle : FlxInputDeviceID.FIRST_ACTIVE } flixel.input.actions.FlxActionSet * Steam Controller action input for digital (button-like) events * @param ActionHandle handle received from FlxSteamController.getDigitalActionHandle() * @param Trigger what state triggers this action (PRESSED, JUST_PRESSED, RELEASED, JUST_RELEASED) * @param DeviceHandle handle received from FlxSteamController.getConnectedControllers(), or FlxInputDeviceID.ALL / FIRST_ACTIVE * @since 4.6.0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Generic IFlxInput action input * * WARNING: IFlxInput objects are often member variables of some other * object that is often destructed at the end of a state. If you don't * destroy() this input (or the action you assign it to), the IFlxInput * reference will persist forever even after its parent object has been * destroyed! * * @param Input A generic IFlxInput object (ex: FlxButton.input) * @param Trigger Trigger What state triggers this action (PRESSED, JUST_PRESSED, RELEASED, JUST_RELEASED) * @since 4.6.0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.actions.FlxActionInputDigital flixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalMouseWheel flixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalGamepad flixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalKeyboard flixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalMouse flixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalSteam flixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalIFlxInput <_HX_SUPER__check public="1" set="method" line="148"> <_HX_SUPER__update public="1" set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.actions.FlxActionInputDigital flixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalMouseWheel flixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalGamepad flixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalKeyboard flixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalMouse flixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalSteam flixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalIFlxInput <_HX_SUPER__check public="1" set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.actions.FlxActionInputDigital flixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalMouseWheel flixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalGamepad flixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalKeyboard flixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalMouse flixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalSteam flixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalIFlxInput <_HX_SUPER__check public="1" set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.actions.FlxActionInputDigital flixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalMouseWheel flixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalGamepad flixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalKeyboard flixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalMouse flixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalSteam flixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalIFlxInput <_HX_SUPER__toString public="1" set="method" line="148"> <_HX_SUPER__update public="1" set="method" line="31"> <_HX_SUPER__check public="1" set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.actions.FlxActionInputDigital flixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalMouseWheel flixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalGamepad flixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalKeyboard flixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalMouse flixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalSteam flixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalIFlxInput <_HX_SUPER__check public="1" set="method" line="148"> <_HX_SUPER__update public="1" set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.actions.FlxActionInputDigital flixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalMouseWheel flixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalGamepad flixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalKeyboard flixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalMouse flixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalSteam flixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalIFlxInput <_HX_SUPER__check public="1" set="method" line="148"> <_HX_SUPER__destroy public="1" set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.actions.FlxActionInputDigital flixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalMouseWheel flixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalGamepad flixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalKeyboard flixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalMouse flixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalSteam flixel.input.actions.FlxActionInputDigital.FlxActionInputDigitalIFlxInput <_HX_SUPER__toString public="1" set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.actions.FlxActionInput flixel.input.actions.FlxActionInput.FlxInputType flixel.input.actions.FlxActionInput.FlxInputDevice flixel.input.actions.FlxActionInput.FlxInputDeviceID flixel.input.actions.FlxActionInput.FlxInputDeviceObject <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.actions.FlxActionInput flixel.input.actions.FlxActionInput.FlxInputType flixel.input.actions.FlxActionInput.FlxInputDevice flixel.input.actions.FlxActionInput.FlxInputDeviceID flixel.input.actions.FlxActionInput.FlxInputDeviceObject <_HX_SUPER__update public="1" set="method" line="31"> <_HX_SUPER__destroy public="1" set="method" line="31"> * Check whether this action has just been triggered <_HX_SUPER__check public="1" set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.actions.FlxActionInput flixel.input.actions.FlxActionInput.FlxInputType flixel.input.actions.FlxActionInput.FlxInputDevice flixel.input.actions.FlxActionInput.FlxInputDeviceID flixel.input.actions.FlxActionInput.FlxInputDeviceObject null * The number of registered action sets * A signal fired when a device currently in use is suddenly disconnected. Returns the device type, handle/id, and a string identifier for the device model (if applicable) * A signal fired when a device is connected. Returns the device type, handle/id, and a string identifier for the device model (if applicable) * A signal fired when an action's inputs have been externally changed. Returns a list of all actions whose inputs have changed. For now only used for Steam Controllers. ResetPolicy.DEFAULT_SET_ONLY * Which action sets to remove on state switches. * Activate an action set for a particular device * @param ActionSet The integer ID for the Action Set you want to activate * @param Device The device type (Mouse, Keyboard, Gamepad, SteamController, etc) * @param DeviceID FlxGamepad ID or a Steam Controller Handle (ignored for Mouse/Keyboard) { ActionSet : 0 } * Add actions to a particular action set * @param Actions The FlxActions you want to add * @param ActionSet The index of the FlxActionSet you want to add * @return whether they were all successfully added { ActionSet : 0 } * Add an action to a particular action set * @param Action The FlxAction you want to add * @param ActionSet The index of the FlxActionSet you want to add * @return whether it was successfully added * Add a FlxActionSet to the manager * @param set The FlxActionSet you want to add * @return the index of the FlxActionSet { DeviceID : FlxInputDeviceID.ALL } * Deactivate an action set for any devices it is currently active for * @param ActionSet The integer ID for the Action Set you want to deactivate * @param DeviceID FlxGamepad ID or a Steam Controller Handle (ignored for Mouse/Keyboard) * Get the index of a particular action set * @param name Action set name * @return Index number of that set, -1 if not found * Get the name of an action set * @param Index Action set index * @return Name of that set, "" if not found * Get an action set * @param Index Action set index * @return The FlxActionSet at that location, or null if not found { deviceID : FlxInputDeviceID.ALL } flixel.input.actions.FlxActionManager.ActionSetRegister * Returns the action set that has been activated for this specific device * Load action sets from a parsed Json object * @param data Json object parsed from the same format that "exportToJson()" outputs * @param CallbackDigital Callback function for digital actions * @param CallbackAnalog Callback function for analog actions * @return The number of new FlxActionSets created and added. 0 means nothing happened. flixel.input.actions.FlxAction { Destroy : true } * Remove an action to a particular action set * @param Action The FlxAction you want to remove * @param ActionSet The index of the FlxActionSet you want to remove * @return whether it was successfully removed flixel.input.actions.FlxSteamController * High level input manager for `FlxAction`s. This lets you manage multiple input * devices and action sets, and is the only supported method for natively using * the Steam Controller API. * * Once you've set up `FlxActionManager`, you can let flixel handle it globally * with: `FlxG.inputs.add(myFlxActionManager)`; * * If you don't add it globally, you will have to call `update()` on it yourself. * * If you are using the steamwrap library, `FlxActionManager` can automatically * create action sets from a steamwrap object derived from the master vdf game * actions file that Steam makes you set up for native controller support. * You must then ACTIVATE one of those action sets for any connected steam * controllers, which will automatically attach the proper steam action inputs * to the actions in the set. You can also add as many regular `FlxActionInput`s * as you like to any actions in the sets. * * @since 4.6.0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() -1 * The current action set for the mouse -1 * The current action set for the keyboard -1 * The current action set for ALL gamepads -1 * The current action set for ALL steam controllers * Maps individual gamepad ID's to different action sets * Maps individual steam controller handles to different action sets { DeviceID : FlxInputDeviceID.FIRST_ACTIVE } { DoActivate : true, DeviceID : FlxInputDeviceID.FIRST_ACTIVE } ********PRIVATE******* flixel.input.actions.FlxAction flixel.input.actions.FlxAction * Helper function to properly update the action sets with proper steam inputs * Attach this controller to a new action set, remove it from the old action set, update internal steam inputs accordingly * @param controllerHandle steam controller handle (guaranteed not to be FlxInputDeviceID.ALL or FlxInputDeviceID.FIRST_ACTIVE) * @param newSet the action set handle of the new set to attach to * Go through all action sets and mark them as active if any device is * subscribed to one of their actions. (Assumes you've previously set * them all to active=false earlier in the udpate loop) * @param device * @param sets { ActionSet : -1 } * internal helper class hscript.UsingHandler.build() hscript.ClassExtendMacro.build() flixel.input.actions.FlxActionManager * @since 4.6.0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * @since 4.6.0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Do not reset any action sets. * Reset all action sets. * Only reset the default action set (created automatically by adding actions to the action manager without first defining an action set) * @since 4.6.0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Activate an action set for a particular device * @param ActionSet The integer ID for the Action Set you want to activate * @param Device The device type (Mouse, Keyboard, Gamepad, SteamController, etc) * @param DeviceID FlxGamepad ID or a Steam Controller Handle (ignored for Mouse/Keyboard) <_HX_SUPER__activateSet public="1" set="method" line="148"> { ActionSet : 0 } * Add actions to a particular action set * @param Actions The FlxActions you want to add * @param ActionSet The index of the FlxActionSet you want to add * @return whether they were all successfully added <_HX_SUPER__addActions public="1" set="method" line="148"> { ActionSet : 0 } { ActionSet : 0 } * Add an action to a particular action set * @param Action The FlxAction you want to add * @param ActionSet The index of the FlxActionSet you want to add * @return whether it was successfully added <_HX_SUPER__addAction public="1" set="method" line="148"> { ActionSet : 0 } * Add a FlxActionSet to the manager * @param set The FlxActionSet you want to add * @return the index of the FlxActionSet <_HX_SUPER__addSet public="1" set="method" line="148"> { DeviceID : FlxInputDeviceID.ALL } * Deactivate an action set for any devices it is currently active for * @param ActionSet The integer ID for the Action Set you want to deactivate * @param DeviceID FlxGamepad ID or a Steam Controller Handle (ignored for Mouse/Keyboard) <_HX_SUPER__deactivateSet public="1" set="method" line="148"> { DeviceID : FlxInputDeviceID.ALL } <_HX_SUPER__destroy public="1" set="method" line="31"> * Get the index of a particular action set * @param name Action set name * @return Index number of that set, -1 if not found <_HX_SUPER__getSetIndex public="1" set="method" line="148"> * Get the name of an action set * @param Index Action set index * @return Name of that set, "" if not found <_HX_SUPER__getSetName public="1" set="method" line="148"> * Get an action set * @param Index Action set index * @return The FlxActionSet at that location, or null if not found <_HX_SUPER__getSet public="1" set="method" line="148"> { deviceID : FlxInputDeviceID.ALL } flixel.input.actions.FlxActionManager.ActionSetRegister * Returns the action set that has been activated for this specific device <_HX_SUPER__getSetActivatedForDevice public="1" set="method" line="148"> { deviceID : FlxInputDeviceID.ALL } * Load action sets from a parsed Json object * @param data Json object parsed from the same format that "exportToJson()" outputs * @param CallbackDigital Callback function for digital actions * @param CallbackAnalog Callback function for analog actions * @return The number of new FlxActionSets created and added. 0 means nothing happened. <_HX_SUPER__initFromJson public="1" set="method" line="148"> flixel.input.actions.FlxAction <_HX_SUPER__exportToJson public="1" set="method" line="148"> { Destroy : true } <_HX_SUPER__removeSet public="1" set="method" line="148"> { Destroy : true } * Remove an action to a particular action set * @param Action The FlxAction you want to remove * @param ActionSet The index of the FlxActionSet you want to remove * @return whether it was successfully removed <_HX_SUPER__removeAction public="1" set="method" line="148"> <_HX_SUPER__reset public="1" set="method" line="31"> <_HX_SUPER__get_numSets set="method" line="148"> <_HX_SUPER__onChange set="method" line="31"> <_HX_SUPER__onDeviceConnected set="method" line="148"> <_HX_SUPER__onDeviceDisconnected set="method" line="148"> <_HX_SUPER__onFocus set="method" line="31"> <_HX_SUPER__onFocusLost set="method" line="31"> <_HX_SUPER__onStateSwitched set="method" line="148"> <_HX_SUPER__onSteamConnected set="method" line="148"> <_HX_SUPER__onSteamDisconnected set="method" line="148"> flixel.input.actions.FlxSteamController <_HX_SUPER__updateSteamControllers set="method" line="31"> <_HX_SUPER__updateSteamOrigins set="method" line="31"> <_HX_SUPER__update set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.actions.FlxActionManager flixel.input.actions.FlxActionManager.ActionSetRegister flixel.input.actions.FlxActionManager.ActionSetJsonArray flixel.input.actions.FlxActionManager.ActionSetJson flixel.input.actions.FlxActionManager.ResetPolicy <_HX_SUPER__destroy public="1" set="method" line="148"> { DeviceID : FlxInputDeviceID.FIRST_ACTIVE } <_HX_SUPER__activate public="1" set="method" line="148"> { DeviceID : FlxInputDeviceID.FIRST_ACTIVE } <_HX_SUPER__markActiveSets public="1" set="method" line="148"> <_HX_SUPER__update public="1" set="method" line="148"> <_HX_SUPER__updateSteam public="1" set="method" line="148"> { DoActivate : true, DeviceID : FlxInputDeviceID.FIRST_ACTIVE } <_HX_SUPER__setActivate set="method" line="148"> { DoActivate : true, DeviceID : FlxInputDeviceID.FIRST_ACTIVE } ********PRIVATE******* <_HX_SUPER__updateSteamOrigins set="method" line="148"> flixel.input.actions.FlxAction <_HX_SUPER__updateDigitalActionOrigins set="method" line="148"> flixel.input.actions.FlxAction <_HX_SUPER__updateAnalogActionOrigins set="method" line="148"> <_HX_SUPER__cheapChecksum set="method" line="148"> * Helper function to properly update the action sets with proper steam inputs <_HX_SUPER__updateSteamInputs set="method" line="31"> * Attach this controller to a new action set, remove it from the old action set, update internal steam inputs accordingly * @param controllerHandle steam controller handle (guaranteed not to be FlxInputDeviceID.ALL or FlxInputDeviceID.FIRST_ACTIVE) * @param newSet the action set handle of the new set to attach to <_HX_SUPER__changeSteamControllerActionSet set="method" line="148"> * Go through all action sets and mark them as active if any device is * subscribed to one of their actions. (Assumes you've previously set * them all to active=false earlier in the udpate loop) * @param device * @param sets <_HX_SUPER__syncDevice set="method" line="148"> { ActionSet : -1 } <_HX_SUPER__clearSetFromArray set="method" line="148"> { ActionSet : -1 } <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.actions.FlxActionManager flixel.input.actions.FlxActionManager.ActionSetRegister flixel.input.actions.FlxActionManager.ActionSetJsonArray flixel.input.actions.FlxActionManager.ActionSetJson flixel.input.actions.FlxActionManager.ResetPolicy flixel.input.actions.FlxActionManager * Create an action set from a parsed Json object * * @param Data A parsed Json object * @param CallbackDigital A function to call when digital actions fire * @param CallbackAnalog A function to call when analog actions fire * @return An action set "" * Name of the action set * Digital actions in this set * Analog actions in this set true * Whether this action set runs when update() is called { Attach : true } * Automatically adds or removes inputs for a steam controller * to any steam-affiliated actions * @param Handle steam controller handle from FlxSteam.getConnectedControllers(), or FlxInputDeviceID.FIRST_ACTIVE / ALL * @param Attach true: adds inputs, false: removes inputs { Destroy : true } * Remove an action from this set * @param Action a FlxAction * @param Destroy whether to destroy it as well * @return whether it was found and removed * @since 4.6.0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() flixel.input.actions.FlxActionManager <_HX_SUPER__toJson public="1" set="method" line="148"> { Attach : true } * Automatically adds or removes inputs for a steam controller * to any steam-affiliated actions * @param Handle steam controller handle from FlxSteam.getConnectedControllers(), or FlxInputDeviceID.FIRST_ACTIVE / ALL * @param Attach true: adds inputs, false: removes inputs <_HX_SUPER__attachSteamController public="1" set="method" line="31"> { Attach : true } <_HX_SUPER__add public="1" set="method" line="148"> <_HX_SUPER__destroy public="1" set="method" line="31"> { Destroy : true } * Remove an action from this set * @param Action a FlxAction * @param Destroy whether to destroy it as well * @return whether it was found and removed <_HX_SUPER__remove public="1" set="method" line="148"> { Destroy : true } <_HX_SUPER__update public="1" set="method" line="31"> <_HX_SUPER__attachSteamControllerSub set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.actions.FlxActionSet <_HX_SUPER__getFirstSteamOrigin public="1" set="method" line="148"> <_HX_SUPER__getSteamOrigins public="1" set="method" line="148"> { Destroy : true } <_HX_SUPER__removeAll public="1" set="method" line="31"> { Destroy : true } { Destroy : false } <_HX_SUPER__remove public="1" set="method" line="31"> { Destroy : false } <_HX_SUPER__toString public="1" set="method" line="148"> * See if this action has just been triggered <_HX_SUPER__check public="1" set="method" line="148"> <_HX_SUPER__update public="1" set="method" line="31"> <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__match public="1" set="method" line="148"> <_HX_SUPER__addGenericInput set="method" line="148"> <_HX_SUPER__checkExists set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.actions.FlxAction.FlxActionDigital flixel.input.actions.FlxAction.FlxActionAnalog flixel.input.actions.FlxAction * Add a digital input (any kind) that will trigger this action * @param input * @return This action <_HX_SUPER__add public="1" set="method" line="148"> * Add a generic IFlxInput action input * * WARNING: IFlxInput objects are often member variables of some other * object that is often destructed at the end of a state. If you don't * destroy() this input (or the action you assign it to), the IFlxInput * reference will persist forever even after its parent object has been * destroyed! * * @param Input A generic IFlxInput object (ex: FlxButton.input) * @param Trigger Trigger What state triggers this action (PRESSED, JUST_PRESSED, RELEASED, JUST_RELEASED) * @return This action <_HX_SUPER__addInput public="1" set="method" line="148"> { GamepadID : FlxInputDeviceID.FIRST_ACTIVE } * Add a gamepad action input for digital (button-like) events * @param InputID "universal" gamepad input ID (A, X, DPAD_LEFT, etc) * @param Trigger What state triggers this action (PRESSED, JUST_PRESSED, RELEASED, JUST_RELEASED) * @param GamepadID specific gamepad ID, or FlxInputDeviceID.ALL / FIRST_ACTIVE * @return This action <_HX_SUPER__addGamepad public="1" set="method" line="148"> { GamepadID : FlxInputDeviceID.FIRST_ACTIVE } * Add a keyboard action input * @param Key Key identifier (FlxKey.SPACE, FlxKey.Z, etc) * @param Trigger What state triggers this action (PRESSED, JUST_PRESSED, RELEASED, JUST_RELEASED) * @return This action <_HX_SUPER__addKey public="1" set="method" line="148"> * Mouse button action input * @param ButtonID Button identifier (FlxMouseButtonID.LEFT / MIDDLE / RIGHT) * @param Trigger What state triggers this action (PRESSED, JUST_PRESSED, RELEASED, JUST_RELEASED) * @return This action <_HX_SUPER__addMouse public="1" set="method" line="148"> 0; False: respond to mouse wheel values < 0 * @param Trigger What state triggers this action (PRESSED, JUST_PRESSED, RELEASED, JUST_RELEASED) * @return This action]]> <_HX_SUPER__addMouseWheel public="1" set="method" line="148"> <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__check public="1" set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.actions.FlxAction.FlxActionDigital flixel.input.actions.FlxAction.FlxActionAnalog flixel.input.actions.FlxAction * Add an analog input that will trigger this action <_HX_SUPER__add public="1" set="method" line="148"> { InvertX : false, InvertY : false, DeadZone : 0.1, PixelsPerUnit : 10, Axis : FlxAnalogAxis.EITHER } * Add mouse input -- same as mouse motion, but requires a particular mouse button to be PRESSED * Very useful for e.g. panning a map or canvas around * @param ButtonID Button identifier (FlxMouseButtonID.LEFT / MIDDLE / RIGHT) * @param Trigger What state triggers this action (MOVED, JUST_MOVED, STOPPED, JUST_STOPPED) * @param Axis which axes to monitor for triggering: X, Y, EITHER, or BOTH * @param PixelsPerUnit How many pixels of movement = 1.0 in analog motion (lower: more sensitive, higher: less sensitive) * @param DeadZone Minimum analog value before motion will be reported * @param InvertY Invert the Y axis * @param InvertX Invert the X axis * @return This action <_HX_SUPER__addMouseClickAndDragMotion public="1" set="method" line="148"> { InvertX : false, InvertY : false, DeadZone : 0.1, PixelsPerUnit : 10, Axis : FlxAnalogAxis.EITHER } { InvertX : false, InvertY : false, DeadZone : 0.1, PixelsPerUnit : 10, Axis : EITHER } * Add mouse input -- X/Y is the RELATIVE motion of the mouse since the last frame * @param Trigger What state triggers this action (MOVED, JUST_MOVED, STOPPED, JUST_STOPPED) * @param Axis which axes to monitor for triggering: X, Y, EITHER, or BOTH * @param PixelsPerUnit How many pixels of movement = 1.0 in analog motion (lower: more sensitive, higher: less sensitive) * @param DeadZone Minimum analog value before motion will be reported * @param InvertY Invert the Y axis * @param InvertX Invert the X axis * @return This action <_HX_SUPER__addMouseMotion public="1" set="method" line="148"> { InvertX : false, InvertY : false, DeadZone : 0.1, PixelsPerUnit : 10, Axis : EITHER } { Axis : EITHER } * Add mouse input -- X/Y is the mouse's absolute screen position * @param Trigger What state triggers this action (MOVED, JUST_MOVED, STOPPED, JUST_STOPPED) * @param Axis which axes to monitor for triggering: X, Y, EITHER, or BOTH * @return This action <_HX_SUPER__addMousePosition public="1" set="method" line="148"> { Axis : EITHER } { GamepadID : FlxInputDeviceID.FIRST_ACTIVE, Axis : EITHER } * Add gamepad action input for analog (trigger, joystick, touchpad, etc) events * @param InputID "universal" gamepad input ID (LEFT_TRIGGER, RIGHT_ANALOG_STICK, TILT_PITCH, etc) * @param Trigger What state triggers this action (MOVED, JUST_MOVED, STOPPED, JUST_STOPPED) * @param Axis which axes to monitor for triggering: X, Y, EITHER, or BOTH * @param GamepadID specific gamepad ID, or FlxInputDeviceID.FIRST_ACTIVE / ALL * @return This action <_HX_SUPER__addGamepad public="1" set="method" line="148"> { GamepadID : FlxInputDeviceID.FIRST_ACTIVE, Axis : EITHER } <_HX_SUPER__update public="1" set="method" line="31"> <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__toString public="1" set="method" line="148"> <_HX_SUPER__check public="1" set="method" line="148"> <_HX_SUPER__get_x set="method" line="148"> <_HX_SUPER__get_y set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.actions.FlxAction.FlxActionDigital flixel.input.actions.FlxAction.FlxActionAnalog flixel.input.actions.FlxAction * The maximum number of controllers that can be connected * The maximum number of origins (input glyphs, basically) that can be assigned to an action 0.25 * The wait time between polls for connected controllers 1.0 * The wait time between polls for action origins (checking which input glyphs are associated with an action, in case the player has re-configured them) null null hscript.UsingHandler.build() hscript.ClassExtendMacro.build() flixel.input.actions hscript.UsingHandler.build() hscript.ClassExtendMacro.build() -1 -1 false (0)]]> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() flixel.input.actions 0.0 0.0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() flixel.input.actions <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.actions.FlxSteamController flixel.input.actions.FlxSteamController.DigitalActionData flixel.input.actions.FlxSteamController.FlxSteamControllerMetadata flixel.input.actions.FlxSteamController.FlxSteamUpdater <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.actions.FlxSteamController flixel.input.actions.FlxSteamController.DigitalActionData flixel.input.actions.FlxSteamController.FlxSteamControllerMetadata flixel.input.actions.FlxSteamController.FlxSteamUpdater <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.actions.FlxSteamController flixel.input.actions.FlxSteamController.DigitalActionData flixel.input.actions.FlxSteamController.FlxSteamControllerMetadata flixel.input.actions.FlxSteamController.FlxSteamUpdater <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__reset public="1" set="method" line="31"> <_HX_SUPER__update set="method" line="31"> <_HX_SUPER__onFocus set="method" line="31"> <_HX_SUPER__onFocusLost set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.actions.FlxSteamController flixel.input.actions.FlxSteamController.DigitalActionData flixel.input.actions.FlxSteamController.FlxSteamControllerMetadata flixel.input.actions.FlxSteamController.FlxSteamUpdater * The device name. Used to determine the `model`. * The gamepad model used for the mapping of the IDs. * Defaults to `detectedModel`, but can be changed manually. * The gamepad model this gamepad has been identified as. * The mapping that is used to map the raw hardware IDs to the values in `FlxGamepadInputID`. * Determined by the current `model`. * It's also possible to create a custom mapping and assign it here. true * For gamepads that can have things plugged into them (the Wii Remote, basically). * Making the user set this helps Flixel properly interpret inputs properly. * EX: if you plug a nunchuk into the Wii Remote, you will get different values for * certain buttons than with the Wii Remote alone. * (This is probably why Wii games ask the player what control scheme they are using.) * * In the future, this could also be used for any attachment that exposes new API features * to the controller, e.g. a microphone or headset * Gamepad deadzone. The lower, the more sensitive the gamepad. * Should be between 0.0 and 1.0. Defaults to 0.15. INDEPENDENT_AXES * Which dead zone mode to use for analog sticks. * Helper class to check if a button is pressed. * Helper class to check if a button is released * Helper class to check if a button was just pressed. * Helper class to check if a button was just released. * Helper class to get the justMoved, justReleased, and float values of analog input. * Helper class to get the float values of motion-sensing input, if it is supported * Helper class to get the float values of mouse-like pointer input, if it is supported. * (contains continously updated X and Y coordinates, each between 0.0 and 1.0) [for (i in 0 ... 6) 0] false <_deadZone expr="0.15"> 0.15 <_device> [] * Updates the key states (for tracking just pressed, just released, etc). * Check the status of a "universal" button ID, auto-mapped to this gamepad (something like FlxGamepadInputID.A). * * @param ID "universal" gamepad input ID * @param Status The key state to check for * @return Whether the provided button has the specified status * Check the status of a raw button ID (like XInputID.A). * * @param RawID Index into buttons array. * @param Status The key state to check for * @return Whether the provided button has the specified status * Helper function to check the status of an array of buttons * * @param IDArray An array of button IDs * @param State The button state to check for * @return Whether at least one of the keys has the specified status * Helper function to check the status of an array of buttons * * @param IDArray An array of keys as Strings * @param State The key state to check for * @return Whether at least one of the keys has the specified status * Check if at least one button from an array of button IDs is pressed. * * @param IDArray An array of "universal" gamepad input IDs * @return Whether at least one of the buttons is pressed * Check if at least one button from an array of raw button IDs is pressed. * * @param RawIDArray An array of raw button IDs * @return Whether at least one of the buttons is pressed * Check if at least one button from an array of universal button IDs was just pressed. * * @param IDArray An array of "universal" gamepad input IDs * @return Whether at least one of the buttons was just pressed * Check if at least one button from an array of raw button IDs was just pressed. * * @param RawIDArray An array of raw button IDs * @return Whether at least one of the buttons was just pressed * Check if at least one button from an array of gamepad input IDs was just released. * * @param IDArray An array of "universal" gamepad input IDs * @return Whether at least one of the buttons was just released * Check if at least one button from an array of raw button IDs was just released. * * @param RawArray An array of raw button IDs * @return Whether at least one of the buttons was just released * Get the first found "universal" ID of the button which is currently pressed. * Returns NONE if no button is pressed. * Get the first found raw ID of the button which is currently pressed. * Returns -1 if no button is pressed. * Get the first found "universal" ButtonID of the button which has been just pressed. * Returns NONE if no button was just pressed. * Get the first found raw ID of the button which has been just pressed. * Returns -1 if no button was just pressed. * Get the first found "universal" ButtonID of the button which has been just released. * Returns NONE if no button was just released. * Get the first found raw ID of the button which has been just released. * Returns -1 if no button was just released. * Gets the value of the specified axis using the "universal" ButtonID - * use this only for things like FlxGamepadButtonID.LEFT_TRIGGER, * use getXAxis() / getYAxis() for analog sticks! * Gets the value of the specified axis using the raw ID - * use this only for things like XInputID.LEFT_TRIGGER, * use getXAxis() / getYAxis() for analog sticks! * Given a ButtonID for an analog stick, gets the value of its x axis * @param AxesButtonID an analog stick like FlxGamepadButtonID.LEFT_STICK * Given both raw IDs for the axes of an analog stick, gets the value of its x axis * Given a ButtonID for an analog stick, gets the value of its y axis * @param AxesButtonID an analog stick like FlxGamepadButtonID.LEFT_STICK * Given both raw ID's for the axes of an analog stick, gets the value of its Y axis * (should be used in flash to correct the inverted y axis) * Convenience method that wraps `getXAxis()` and `getYAxis()` into a `FlxPoint`. * * @param AxesButtonID an analog stick like `FlxGamepadButtonID.LEFT_STICK` * @since 4.3.0 { state : PRESSED } * Whether any buttons have the specified input state. * Check to see if any buttons are pressed right or Axis, Ball and Hat moved now. { sign : 1.0 } * @since 4.8.0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() flixel.input.gamepad * The value of each axis is compared to the deadzone individually. * Works better when an analog stick is used like arrow keys for 4-directional-input. * X and y are combined against the deadzone combined. * Works better when an analog stick is used as a two-dimensional control surface. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * @since 4.8.0 * @since 4.8.0 * @since 4.8.0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() -1 * a raw button input ID, for sending a digital event for "up" alongside the analog event -1 * a raw button input ID, for sending a digital event for "down" alongside the analog event -1 * a raw button input ID, for sending a digital event for "left" alongside the analog event -1 * a raw button input ID, for sending a digital event for "right" alongside the analog event 0.5 * the absolute value the dpad must be greater than before digital inputs are sent BOTH * when analog inputs are received, how to process them digitally hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Send both digital and analog events when the analog stick is moved * Send only digital events when the analog stick is moved * Send only analog events when the analog stick is moved hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__toString public="1" set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.gamepad.FlxGamepadAnalogStick flixel.input.gamepad.FlxGamepadAnalogStick.FlxGamepadAnalogStickSettings flixel.input.gamepad.FlxGamepadAnalogStick.FlxAnalogToDigitalMode 0 * Optional analog value, so we can check when the value has changed from the last frame hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.gamepad.FlxGamepadButton * A high-level list of unique values for gamepad inputs. * These do NOT correspond to any actual hardware values but * are the basis for all hardware-specific lookups. * * Maps enum values and strings to unique integer codes hscript.UsingHandler.build() hscript.ClassExtendMacro.build() FlxMacroUtil.buildMap("flixel.input.gamepad.FlxGamepadInputID") FlxMacroUtil.buildMap("flixel.input.gamepad.FlxGamepadInputID", true) cast -2 cast -1 cast 0 BOTTOM face button cast 1 RIGHT face button cast 2 LEFT face button cast 3 TOP face button cast 4 left digital "bumper" cast 5 right digital "bumper" cast 6 also known as "select", the leftmost center button cast 7 the rightmost center button cast 8 digital click of the left analog stick cast 9 digital click of the right analog stick cast 10 this is the "XBox" or "PS" or "home" button in the center cast 11 cast 12 cast 13 cast 14 cast 15 digital click at end of left analog trigger's squeeze (if available) cast 16 digital click at end of right analog trigger's squeeze (if available) cast 17 cast 18 cast 19 identifier for the entire LEFT_ANALOG_STICK itself, not just any particular direction cast 20 identifier for the entire RIGHT_ANALOG_STICK itself, not just any particular direction cast 21 identifier for the entire DPAD itself, not just any particular button cast 26 tilting towards or away from the ceiling (think "look up", "look down") cast 27 tilting side-to-side (think "twisting", or "do a barrel roll!") cast 28 for a mouse-like input such as touch or IR camera. Horizontal axis. cast 29 for a mouse-like input such as touch or IR camera. Vertical axis. cast 30 an extra digital button that doesn't fit cleanly into the universal template cast 31 an extra digital button that doesn't fit cleanly into the universal template cast 32 an extra digital button that doesn't fit cleanly into the universal template cast 33 an extra digital button that doesn't fit cleanly into the universal template cast 34 left analog stick as a dpad, pushed up cast 35 left analog stick as a dpad, pushed right cast 36 left analog stick as a dpad, pushed down cast 37 left analog stick as a dpad, pushed left cast 38 left analog stick as a dpad, pushed up cast 39 left analog stick as a dpad, pushed right cast 40 left analog stick as a dpad, pushed down cast 41 left analog stick as a dpad, pushed left hscript.UsingHandler.build() hscript.ClassExtendMacro.build() FlxMacroUtil.buildMap("flixel.input.gamepad.FlxGamepadInputID") FlxMacroUtil.buildMap("flixel.input.gamepad.FlxGamepadInputID", true) cast -2 cast -1 cast 0 BOTTOM face button cast 1 RIGHT face button cast 2 LEFT face button cast 3 TOP face button cast 4 left digital "bumper" cast 5 right digital "bumper" cast 6 also known as "select", the leftmost center button cast 7 the rightmost center button cast 8 digital click of the left analog stick cast 9 digital click of the right analog stick cast 10 this is the "XBox" or "PS" or "home" button in the center cast 11 cast 12 cast 13 cast 14 cast 15 digital click at end of left analog trigger's squeeze (if available) cast 16 digital click at end of right analog trigger's squeeze (if available) cast 17 cast 18 cast 19 identifier for the entire LEFT_ANALOG_STICK itself, not just any particular direction cast 20 identifier for the entire RIGHT_ANALOG_STICK itself, not just any particular direction cast 21 identifier for the entire DPAD itself, not just any particular button cast 26 tilting towards or away from the ceiling (think "look up", "look down") cast 27 tilting side-to-side (think "twisting", or "do a barrel roll!") cast 28 for a mouse-like input such as touch or IR camera. Horizontal axis. cast 29 for a mouse-like input such as touch or IR camera. Vertical axis. cast 30 an extra digital button that doesn't fit cleanly into the universal template cast 31 an extra digital button that doesn't fit cleanly into the universal template cast 32 an extra digital button that doesn't fit cleanly into the universal template cast 33 an extra digital button that doesn't fit cleanly into the universal template cast 34 left analog stick as a dpad, pushed up cast 35 left analog stick as a dpad, pushed right cast 36 left analog stick as a dpad, pushed down cast 37 left analog stick as a dpad, pushed left cast 38 left analog stick as a dpad, pushed up cast 39 left analog stick as a dpad, pushed right cast 40 left analog stick as a dpad, pushed down cast 41 left analog stick as a dpad, pushed left hscript.UsingHandler.build() hscript.ClassExtendMacro.build() FlxMacroUtil.buildMap("flixel.input.gamepad.FlxGamepadInputID") FlxMacroUtil.buildMap("flixel.input.gamepad.FlxGamepadInputID", true) cast (-2, flixel.input.gamepad.FlxGamepadInputID) cast (-1, flixel.input.gamepad.FlxGamepadInputID) cast (0, flixel.input.gamepad.FlxGamepadInputID) BOTTOM face button cast (1, flixel.input.gamepad.FlxGamepadInputID) RIGHT face button cast (2, flixel.input.gamepad.FlxGamepadInputID) LEFT face button cast (3, flixel.input.gamepad.FlxGamepadInputID) TOP face button cast (4, flixel.input.gamepad.FlxGamepadInputID) left digital "bumper" cast (5, flixel.input.gamepad.FlxGamepadInputID) right digital "bumper" cast (6, flixel.input.gamepad.FlxGamepadInputID) also known as "select", the leftmost center button cast (7, flixel.input.gamepad.FlxGamepadInputID) the rightmost center button cast (8, flixel.input.gamepad.FlxGamepadInputID) digital click of the left analog stick cast (9, flixel.input.gamepad.FlxGamepadInputID) digital click of the right analog stick cast (10, flixel.input.gamepad.FlxGamepadInputID) this is the "XBox" or "PS" or "home" button in the center cast (11, flixel.input.gamepad.FlxGamepadInputID) cast (12, flixel.input.gamepad.FlxGamepadInputID) cast (13, flixel.input.gamepad.FlxGamepadInputID) cast (14, flixel.input.gamepad.FlxGamepadInputID) cast (15, flixel.input.gamepad.FlxGamepadInputID) digital click at end of left analog trigger's squeeze (if available) cast (16, flixel.input.gamepad.FlxGamepadInputID) digital click at end of right analog trigger's squeeze (if available) cast (17, flixel.input.gamepad.FlxGamepadInputID) cast (18, flixel.input.gamepad.FlxGamepadInputID) cast (19, flixel.input.gamepad.FlxGamepadInputID) identifier for the entire LEFT_ANALOG_STICK itself, not just any particular direction cast (20, flixel.input.gamepad.FlxGamepadInputID) identifier for the entire RIGHT_ANALOG_STICK itself, not just any particular direction cast (21, flixel.input.gamepad.FlxGamepadInputID) identifier for the entire DPAD itself, not just any particular button cast (26, flixel.input.gamepad.FlxGamepadInputID) tilting towards or away from the ceiling (think "look up", "look down") cast (27, flixel.input.gamepad.FlxGamepadInputID) tilting side-to-side (think "twisting", or "do a barrel roll!") cast (28, flixel.input.gamepad.FlxGamepadInputID) for a mouse-like input such as touch or IR camera. Horizontal axis. cast (29, flixel.input.gamepad.FlxGamepadInputID) for a mouse-like input such as touch or IR camera. Vertical axis. cast (30, flixel.input.gamepad.FlxGamepadInputID) an extra digital button that doesn't fit cleanly into the universal template cast (31, flixel.input.gamepad.FlxGamepadInputID) an extra digital button that doesn't fit cleanly into the universal template cast (32, flixel.input.gamepad.FlxGamepadInputID) an extra digital button that doesn't fit cleanly into the universal template cast (33, flixel.input.gamepad.FlxGamepadInputID) an extra digital button that doesn't fit cleanly into the universal template cast (34, flixel.input.gamepad.FlxGamepadInputID) left analog stick as a dpad, pushed up cast (35, flixel.input.gamepad.FlxGamepadInputID) left analog stick as a dpad, pushed right cast (36, flixel.input.gamepad.FlxGamepadInputID) left analog stick as a dpad, pushed down cast (37, flixel.input.gamepad.FlxGamepadInputID) left analog stick as a dpad, pushed left cast (38, flixel.input.gamepad.FlxGamepadInputID) left analog stick as a dpad, pushed up cast (39, flixel.input.gamepad.FlxGamepadInputID) left analog stick as a dpad, pushed right cast (40, flixel.input.gamepad.FlxGamepadInputID) left analog stick as a dpad, pushed down cast (41, flixel.input.gamepad.FlxGamepadInputID) left analog stick as a dpad, pushed left hscript.UsingHandler.build() hscript.ClassExtendMacro.build() true Indicates whether the current platform supports the GameInput API. 0 Provides the number of connected input devices. When a device is connected, the `GameInputEvent.DEVICE_ADDED` event is fired. <__deviceList expr="new Array()" line="80" static="1"> new Array() <__instances expr="[]" line="81" static="1"> [] <__devices expr="new Map()" line="83" static="1"> new Map() Gets the input device at the specified index location in the list of connected input devices. The order of devices in the index may change whenever a device is added or removed. You can check the name and id properties on a GameInputDevice object to match a specific input device. @param index The index position in the list of input devices. @returns The specified GameInputDevice. @throws RangeError When the provided index is less than zero or greater than (`numDevices` - 1). <__getDevice set="method" line="133" static="1"> <__onGamepadAxisMove set="method" line="150" static="1"> <__onGamepadButtonDown set="method" line="172" static="1"> <__onGamepadButtonUp set="method" line="194" static="1"> <__onGamepadConnect set="method" line="216" static="1"> <__onGamepadDisconnect set="method" line="229" static="1"> { useWeakReference : false, priority : 0, useCapture : false } "checkstyle:Dynamic" The GameInput class is the entry point into the GameInput API. You can use this API to manage the communications between an application and game input devices (for example: joysticks, gamepads, and wands). The main purpose of this class is to provide access to the supported input devices that are connected to your application platform. This static class enumerates the connected input devices in a list. You access a device from the list using the `getDeviceAt(index:Int)` method. The `numDevices` property provides the number of input devices currently connected to your platform. Use this value to determine the upper bound of the list of devices. Use an instance of this class to listen for events that notify you about the addition and removal of input devices. To listen these events, do the following: 1. Create an instance of the GameInput class. 2. Add event listeners for the `GameInputEvent.DEVICE_ADDED` and `GameInputEvent.DEVICE_REMOVED` events. (Events can only be registered on an instance of the class.) This class also features the `isSupported` flag, which indicates whether the GameInput API is supported on your platform. For more information, see the Adobe Air Developer Center article: Game controllers on Adobe AIR. For Android, this feature supports a minimum Android OS version of 4.1 and requires the minimum SWF version 20 and namespace 3.7. For iOS, this feature supports a minimum iOS version of 9.0 and requires the minimum SWF version 34 and namespace 23.0. **How to Detect One Game Input Device From Among Identical Devices** A common requirement for two-or-more player games is detecting one device from among identical devices. For example, applications sometimes must determine which device represents "Player 1", "Player 2", ..., "Player N". Solution: 1. Add event listeners to every control on all undetected input devices. These event listeners listen for `Event.CHANGE` events, which are dispatched whenever a control value changes. 2. The first time any control is activated (for example a button press or trigger pull) the application labels that device. 3. Remove all of the event listeners from the remaining undetected input devices. 4. Repeat steps 1-3 as required to identify the rest of the undetected input devices. "tags=\"haxe,release\"" openfl.ui.GameInputControl openfl.ui.GameInputDevice <_gameInput expr="new GameInput()" line="68" static="1"> new GameInput() * GameInput needs to be statically created, otherwise GameInput.numDevices will be zero during construction. * The first accessed gamepad - can be `null`! * The last accessed gamepad - can be `null`! * A counter for the number of active gamepads * Global Gamepad deadzone. The lower, the more sensitive the gamepad. Should be * between 0.0 and 1.0. Null by default, overrides the deadzone of gamepads if non-null. * Signal for when a device is connected; returns the connected gamepad object to the attached listener * @since 4.6.0 * Signal for when a device is disconnected; returns the id of the disconnected gamepad to the attached listener * @since 4.6.0 <_gamepads expr="[]"> [] * Stores all gamepads - can have null entries, but index matches event.device <_activeGamepads expr="[]"> [] * Stores all gamepads - no null entries, but index does *not* match event.device * Returns a FlxGamepad with the specified ID or null if none was found. * For example, if there are 4 gamepads connected, they will have the IDs 0-3. * Get array of ids for gamepads with any pressed buttons or moved Axis, Ball and Hat. * * @param IDsArray optional array to fill with ids * @return array filled with active gamepad ids * Get array of gamepads with any pressed buttons or moved Axis, Ball and Hat. * * @param GamepadArray optional array to fill with active gamepads * @return array filled with active gamepads * Get first found active gamepad id (with any pressed buttons or moved Axis, Ball and Hat). * Returns "-1" if no active gamepad has been found. * Get first found active gamepad (with any pressed buttons or moved Axis, Ball and Hat). * Returns null if no active gamepad has been found. { state : PRESSED } * Whether any buttons have the specified input state on any gamepad. * Whether there's any input at all on any gamepad. * Whether this button is pressed on any gamepad. * Whether this button was just pressed on any gamepad. * Whether this button was just released on any gamepad. * Check to see if the X axis is moved on any Gamepad. * * @param AxisID The axis id * @return Float Value from -1 to 1 or 0 if no X axes were moved * Check to see if the Y axis is moved on any Gamepad. * * @param AxisID The axis id * @return Float Value from -1 to 1 or 0 if no Y axes were moved * Clean up memory. Internal use only. * Resets all the keys on all joys. * Updates the key states (for tracking just pressed, just released, etc). flixel.FlxG hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__removeByID set="method" line="31"> <_HX_SUPER__createByID set="method" line="148"> * Get array of ids for gamepads with any pressed buttons or moved Axis, Ball and Hat. * * @param IDsArray optional array to fill with ids * @return array filled with active gamepad ids <_HX_SUPER__getActiveGamepadIDs public="1" set="method" line="148"> * Get array of gamepads with any pressed buttons or moved Axis, Ball and Hat. * * @param GamepadArray optional array to fill with active gamepads * @return array filled with active gamepads <_HX_SUPER__getActiveGamepads public="1" set="method" line="148"> * Get first found active gamepad id (with any pressed buttons or moved Axis, Ball and Hat). * Returns "-1" if no active gamepad has been found. <_HX_SUPER__getFirstActiveGamepadID public="1" set="method" line="148"> * Get first found active gamepad (with any pressed buttons or moved Axis, Ball and Hat). * Returns null if no active gamepad has been found. <_HX_SUPER__getFirstActiveGamepad public="1" set="method" line="148"> { state : PRESSED } * Whether any buttons have the specified input state on any gamepad. <_HX_SUPER__anyButton public="1" set="method" line="148"> { state : PRESSED } * Whether there's any input at all on any gamepad. <_HX_SUPER__anyInput public="1" set="method" line="148"> <_HX_SUPER__anyHasState set="method" line="148"> * Check to see if the X axis is moved on any Gamepad. * * @param AxisID The axis id * @return Float Value from -1 to 1 or 0 if no X axes were moved <_HX_SUPER__anyMovedXAxis public="1" set="method" line="148"> * Check to see if the Y axis is moved on any Gamepad. * * @param AxisID The axis id * @return Float Value from -1 to 1 or 0 if no Y axes were moved <_HX_SUPER__anyMovedYAxis public="1" set="method" line="148"> * Clean up memory. Internal use only. <_HX_SUPER__destroy public="1" set="method" line="31"> * Resets all the keys on all joys. <_HX_SUPER__reset public="1" set="method" line="31"> <_HX_SUPER__onDeviceAdded set="method" line="31"> <_HX_SUPER__onDeviceRemoved set="method" line="31"> <_HX_SUPER__findGamepadIndex set="method" line="148"> <_HX_SUPER__addGamepad set="method" line="31"> <_HX_SUPER__getModelFromDeviceName set="method" line="148"> <_HX_SUPER__removeGamepad set="method" line="31"> * Updates the key states (for tracking just pressed, just released, etc). <_HX_SUPER__update set="method" line="31"> <_HX_SUPER__get_numActiveGamepads set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.gamepad.FlxGamepadManager <_HX_SUPER__getButton set="method" line="148"> * Updates the key states (for tracking just pressed, just released, etc). <_HX_SUPER__update public="1" set="method" line="31"> <_HX_SUPER__reset public="1" set="method" line="31"> <_HX_SUPER__destroy public="1" set="method" line="31"> * Helper function to check the status of an array of buttons * * @param IDArray An array of button IDs * @param State The button state to check for * @return Whether at least one of the keys has the specified status <_HX_SUPER__checkButtonArrayState set="method" line="148"> * Helper function to check the status of an array of buttons * * @param IDArray An array of keys as Strings * @param State The key state to check for * @return Whether at least one of the keys has the specified status <_HX_SUPER__checkButtonArrayStateRaw set="method" line="148"> * Get the first found raw ID of the button which is currently pressed. * Returns -1 if no button is pressed. <_HX_SUPER__firstPressedRawID public="1" set="method" line="148"> * Get the first found raw ID of the button which has been just pressed. * Returns -1 if no button was just pressed. <_HX_SUPER__firstJustPressedRawID public="1" set="method" line="148"> * Get the first found raw ID of the button which has been just released. * Returns -1 if no button was just released. <_HX_SUPER__firstJustReleasedRawID public="1" set="method" line="148"> * Gets the value of the specified axis using the "universal" ButtonID - * use this only for things like FlxGamepadButtonID.LEFT_TRIGGER, * use getXAxis() / getYAxis() for analog sticks! <_HX_SUPER__getAxis public="1" set="method" line="148"> <_HX_SUPER__isAxisForAnalogStick set="method" line="148"> * Given both raw ID's for the axes of an analog stick, gets the value of its Y axis * (should be used in flash to correct the inverted y axis) <_HX_SUPER__getYAxisRaw public="1" set="method" line="148"> * Convenience method that wraps `getXAxis()` and `getYAxis()` into a `FlxPoint`. * * @param AxesButtonID an analog stick like `FlxGamepadButtonID.LEFT_STICK` * @since 4.3.0 <_HX_SUPER__getAnalogAxes public="1" set="method" line="148"> { state : PRESSED } * Whether any buttons have the specified input state. <_HX_SUPER__anyButton public="1" set="method" line="148"> { state : PRESSED } * Check to see if any buttons are pressed right or Axis, Ball and Hat moved now. <_HX_SUPER__anyInput public="1" set="method" line="148"> <_HX_SUPER__getAxisValue set="method" line="148"> <_HX_SUPER__getAnalogXAxisValue set="method" line="148"> <_HX_SUPER__getAnalogYAxisValue set="method" line="148"> <_HX_SUPER__getAnalogAxisValueCircular set="method" line="148"> <_HX_SUPER__getAnalogAxisValueIndependent set="method" line="148"> <_HX_SUPER__handleAxisMove set="method" line="148"> { sign : 1.0 } <_HX_SUPER__handleAxisMoveSub set="method" line="148"> { sign : 1.0 } <_HX_SUPER__createMappingForModel set="method" line="148"> <_HX_SUPER__get_name set="method" line="148"> <_HX_SUPER__set_model set="method" line="148"> <_HX_SUPER__set_attachment set="method" line="148"> <_HX_SUPER__get_deadZone set="method" line="148"> <_HX_SUPER__toString public="1" set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.gamepad.FlxGamepad flixel.input.gamepad.FlxGamepad.FlxGamepadDeadZoneMode flixel.input.gamepad.FlxGamepad.FlxGamepadModel flixel.input.gamepad.FlxGamepad.FlxGamepadAttachment 0 1 2 3 4 5 6 7 8 9 10 11 16 17 18 19 -5 new FlxGamepadAnalogStick(0, 1, { up : 24, down : 25, left : 26, right : 27 }) new FlxGamepadAnalogStick(2, 3, { up : 28, down : 29, left : 30, right : 31 }) * IDs for Logitech controllers (key codes based on Cordless Rumblepad 2) hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.gamepad.id.LogitechID 6 7 8 9 15 16 10 12 13 14 11 17 18 19 20 new FlxGamepadAnalogStick(0, 1, { up : 21, down : 22, left : 23, right : 24 }) new FlxGamepadAnalogStick(2, 3, { up : 25, down : 26, left : 27, right : 28 }) 4 5 * IDs for MFi controllers hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.gamepad.id.MFiID 8 * Things to add: * - Accelerometer (in both remote and nunchuk) * - Gyroscope (in Motion-Plus version only) * - IR camera (position tracking) * - Rumble * - Speaker 9 10 11 12 13 19 14 15 4 5 6 7 12 13 19 10 11 8 9 8 9 10 11 12 13 14 15 16 17 19 -1 -1 4 5 6 7 2 3 new FlxGamepadAnalogStick(0, 1, { up : REMOTE_DPAD_UP, down : REMOTE_DPAD_DOWN, left : REMOTE_DPAD_LEFT, right : REMOTE_DPAD_RIGHT, threshold : 0.5, mode : ONLY_DIGITAL }) new FlxGamepadAnalogStick(0, 1, { up : 26, down : 27, left : 28, right : 29 }) new FlxGamepadAnalogStick(2, 3, { up : 26, down : 27, left : 28, right : 29 }) 4 5 22 23 24 25 * WiiRemote hardware input ID's when using "Mode 3" of the MayFlash DolphinBar accessory * * @author larsiusprime hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.gamepad.id.MayflashWiiRemoteID 6 8 9 7 15 16 13 14 0x01000012 4 5 19 20 18 17 new FlxGamepadAnalogStick(0, 1, { up : 23, down : 24, left : 25, right : 26 }) new FlxGamepadAnalogStick(2, 3, { up : 27, down : 28, left : 29, right : 30 }) * IDs for OUYA controllers hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.gamepad.id.OUYAID 6 7 8 9 11 12 13 14 15 16 10 new FlxGamepadAnalogStick(0, 1, { up : 22, down : 23, left : 24, right : 25 }) new FlxGamepadAnalogStick(2, 3, { up : 26, down : 27, left : 28, right : 29 }) 30 4 5 17 18 19 20 * IDs for PlayStation 4 controllers * *------- * NOTES *------- * * WINDOWS: seems to work fine without any special drivers on Windows 10 (and I seem to recall the same on Windows 7). * DS4Windows is the popular 3rd-party utility here, but it will make the PS4 controller look like a 360 controller, which * means that it will be indistinguishable from an XInput device to flixel (DS4Windows: http://ds4windows.com). * * LINUX: the PS4 controller will be detected as an XInput device when using xpad (see notes in XInputID.hx) * * MAC: the PS4 controller seemed to work perfectly without anything special installed, and was not detected in the 360Controller * control panel, so it might just work right out of the box! hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.gamepad.id.PS4ID 6 7 8 9 12 15 16 17 18 19 20 new FlxGamepadAnalogStick(0, 1, { up : 21, down : 22, left : 23, right : 24 }) new FlxGamepadAnalogStick(2, 3, { up : 25, down : 26, left : 27, right : 28 }) * Native PSVita input values. * (The only way to use these is to actually be using a PSVita with the upcoming openfl vita target!) * * This will ONLY work with the gamepad API (available only in OpenFL "next", not "legacy") and will NOT work with the joystick API hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.gamepad.id.PSVitaID 4 6 7 8 9 10 12 13 15 16 21 new FlxGamepadAnalogStick(0, 1, { up : 22, down : 23, left : 24, right : 25 }) * IDs for Switch's Left JoyCon controllers * *------- * NOTES *------- * * WINDOWS: untested. * * LINUX: untested. * * MAC: Worked on html out of box for me when connected via microUSB cable or Bluetooth. * Flash and neko couldn't detect the controller via bluetooth, * which is weird because The pro worked wirelessly. * * @since 4.8.0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.gamepad.id.SwitchJoyconLeftID 5 6 7 8 9 10 11 12 13 15 16 new FlxGamepadAnalogStick(0, 1, { up : 22, down : 23, left : 24, right : 25 }) * IDs for Switch's Right JoyCon controllers * *------- * NOTES *------- * * WINDOWS: untested. * * LINUX: untested. * * MAC: Worked on html out of box for me when connected via microUSB cable or Bluetooth. * Flash and neko couldn't detect the controller via bluetooth, * which is weird because The pro worked wirelessly. * * @since 4.8.0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.gamepad.id.SwitchJoyconRightID 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 new FlxGamepadAnalogStick(0, 1, { up : 22, down : 23, left : 24, right : 25 }) new FlxGamepadAnalogStick(2, 3, { up : 26, down : 27, left : 28, right : 29 }) * IDs for Switch Pro controllers * *------- * NOTES *------- * * WINDOWS: untested. * * LINUX: untested * * MAC: Worked out of box for me when connected via microUSB cable or Bluetooth * * @since 4.8.0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.gamepad.id.SwitchProID 9 * Things to add: * - Accelerometer (in both remote and nunchuk) * - Gyroscope (in Motion-Plus version only) * - IR camera (position tracking) * - Rumble * - Speaker 10 11 12 13 14 15 9 10 11 12 13 14 15 16 17 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 5 6 7 8 2 3 3 2 4 4 new FlxGamepadAnalogStick(0, 1, { up : REMOTE_DPAD_UP, down : REMOTE_DPAD_DOWN, left : REMOTE_DPAD_LEFT, right : REMOTE_DPAD_RIGHT, threshold : 0.5, mode : ONLY_DIGITAL }) new FlxGamepadAnalogStick(0, 1, { up : 28, down : 29, left : 30, right : 31 }) * the nunchuk only has the "left" analog stick new FlxGamepadAnalogStick(2, 3, { up : 32, down : 33, left : 34, right : 35 }) * the classic controller has both the "left" and "right" analog sticks 4 5 22 23 24 25 26 27 * WiiRemote hardware input ID's when using the device directly * Hardware ID's: "Nintendo RVL-CNT-01-TR" and "Nintendo RVL-CNT-01" -- the latter does not have the Motion-Plus attachment * * NOTE: On Windows this requires the HID-Wiimote driver by Julian Löhr, available here: * https://github.com/jloehr/HID-Wiimote * * @author larsiusprime hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.gamepad.id.WiiRemoteID 6 7 8 9 10 -1 12 13 14 15 16 17 18 19 20 new FlxGamepadAnalogStick(0, 1, { up : 21, down : 22, left : 23, right : 24 }) new FlxGamepadAnalogStick(2, 3, { up : 25, down : 26, left : 27, right : 28 }) 4 5 * IDs for generic XInput controllers * * Compatible with the Xbox 360 controller, the Xbox One controller, and anything that masquerades as either of those. * *------- * NOTES *------- * * WINDOWS: we assume the user is using the default drivers that ship with windows. * * LINUX: we assume the user is using the xpad driver, specifically Valve's version, steamos-xpad-dkms * (we got weird errors when using xboxdrv). For full instructions on installation, see: * http://askubuntu.com/questions/165210/how-do-i-get-an-xbox-360-controller-working/441548#441548 * * MAC: we assume the user is using the 360 Controller driver, specifically this one: * https://github.com/360Controller/360Controller/releases hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.gamepad.id.XInputID hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__get_ANY set="method" line="148"> <_HX_SUPER__get_ALL set="method" line="148"> <_HX_SUPER__get_NONE set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.gamepad.lists.FlxBaseGamepadList * A helper class for gamepad input. * Provides optimized gamepad button checking using direct array access. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.gamepad.lists.FlxGamepadAnalogList * Checks if the entire stick itself is in the given state * A helper class for gamepad input. * Provides optimized gamepad button checking using direct array access. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Checks if the entire stick itself is in the given state <_HX_SUPER__checkXY set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.gamepad.lists.FlxGamepadAnalogStateList * A helper class for gamepad input. * Provides optimized gamepad button checking using direct array access. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.gamepad.lists.FlxGamepadAnalogValueList * A helper class for gamepad input. * Provides optimized gamepad button checking using direct array access. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.gamepad.lists.FlxGamepadButtonList flixel.input.gamepad.FlxGamepad * analog value (-1.0 to +1.0) tilting towards or away from the ceiling (think "look up", "look down") * analog value (-1.0 to +1.0) tilting side-to-side (think "twisting", or "do a barrel roll!") * A helper class for gamepad input. * Provides optimized gamepad button checking using direct array access. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.gamepad.lists.FlxGamepadMotionValueList flixel.input.gamepad.FlxGamepad * whether or not the current gamepad model supports any pointer features (IR Camera, touch surface, etc) * horizontal position (0.0-1.0) on the touch-surface or pointer-space * vertical position (0.0-1.0) on the touch-surface or pointer-space * A helper class for gamepad input -- returns X/Y analog coordinate values between 0.0 and 1.0 * Provides optimized gamepad button checking using direct array access. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.gamepad.lists.FlxGamepadPointerValueList false false NONE flixel.input.gamepad.FlxGamepad * Given a raw hardware code, return the "universal" ID * Given an ID, return the raw hardware code * Whether this axis needs to be flipped hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() "checkstyle:MemberName" <_HX_SUPER__initValues set="method" line="31"> <_HX_SUPER__getAnalogStick public="1" set="method" line="148"> * Given a raw hardware code, return the "universal" ID <_HX_SUPER__getID public="1" set="method" line="148"> * Given an ID, return the raw hardware code <_HX_SUPER__getRawID public="1" set="method" line="148"> * Whether this axis needs to be flipped <_HX_SUPER__isAxisFlipped public="1" set="method" line="148"> <_HX_SUPER__isAxisForMotion public="1" set="method" line="148"> <_HX_SUPER__set_attachment set="method" line="148"> <_HX_SUPER__getInputLabel public="1" set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.gamepad.mappings.FlxGamepadMapping flixel.input.gamepad.mappings.FlxGamepadMapping.Manufacturer hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__initValues set="method" line="31"> <_HX_SUPER__getID public="1" set="method" line="148"> <_HX_SUPER__getRawID public="1" set="method" line="148"> <_HX_SUPER__getInputLabel set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.gamepad.mappings.LogitechMapping hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__initValues set="method" line="31"> <_HX_SUPER__getID public="1" set="method" line="148"> <_HX_SUPER__getRawID public="1" set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.gamepad.mappings.MFiMapping hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__initValues set="method" line="31"> <_HX_SUPER__getID public="1" set="method" line="148"> <_HX_SUPER__getIDClassicController set="method" line="148"> <_HX_SUPER__getIDNunchuk set="method" line="148"> <_HX_SUPER__getIDDefault set="method" line="148"> <_HX_SUPER__getRawID public="1" set="method" line="148"> <_HX_SUPER__getRawClassicController set="method" line="148"> <_HX_SUPER__getRawNunchuk set="method" line="148"> <_HX_SUPER__getRawDefault set="method" line="148"> <_HX_SUPER__set_attachment set="method" line="148"> <_HX_SUPER__getInputLabel set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.gamepad.mappings.MayflashWiiRemoteMapping hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__initValues set="method" line="31"> <_HX_SUPER__getID public="1" set="method" line="148"> <_HX_SUPER__getRawID public="1" set="method" line="148"> <_HX_SUPER__getInputLabel set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.gamepad.mappings.OUYAMapping hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__initValues set="method" line="31"> <_HX_SUPER__getID public="1" set="method" line="148"> <_HX_SUPER__getRawID public="1" set="method" line="148"> <_HX_SUPER__getInputLabel set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.gamepad.mappings.PS4Mapping hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__initValues set="method" line="31"> <_HX_SUPER__getID public="1" set="method" line="148"> <_HX_SUPER__getRawID public="1" set="method" line="148"> <_HX_SUPER__getInputLabel set="method" line="148"> <_HX_SUPER__isAxisFlipped public="1" set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.gamepad.mappings.PSVitaMapping * @since 4.8.0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__initValues set="method" line="31"> <_HX_SUPER__getID public="1" set="method" line="148"> <_HX_SUPER__getRawID public="1" set="method" line="148"> <_HX_SUPER__getInputLabel set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.gamepad.mappings.SwitchJoyconLeftMapping * @since 4.8.0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__initValues set="method" line="31"> <_HX_SUPER__getID public="1" set="method" line="148"> <_HX_SUPER__getRawID public="1" set="method" line="148"> <_HX_SUPER__getInputLabel set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.gamepad.mappings.SwitchJoyconRightMapping * @since 4.8.0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__initValues set="method" line="31"> <_HX_SUPER__getID public="1" set="method" line="148"> <_HX_SUPER__getRawID public="1" set="method" line="148"> <_HX_SUPER__getInputLabel set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.gamepad.mappings.SwitchProMapping hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__initValues set="method" line="31"> <_HX_SUPER__getID public="1" set="method" line="148"> <_HX_SUPER__getIDClassicController set="method" line="148"> <_HX_SUPER__getIDNunchuk set="method" line="148"> <_HX_SUPER__getIDDefault set="method" line="148"> <_HX_SUPER__getRawID public="1" set="method" line="148"> <_HX_SUPER__getRawClassicController set="method" line="148"> <_HX_SUPER__getRawNunchuk set="method" line="148"> <_HX_SUPER__getRawDefault set="method" line="148"> <_HX_SUPER__isAxisForMotion public="1" set="method" line="148"> <_HX_SUPER__isAxisFlipped public="1" set="method" line="148"> <_HX_SUPER__set_attachment set="method" line="148"> <_HX_SUPER__getInputLabel set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.gamepad.mappings.WiiRemoteMapping hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__initValues set="method" line="31"> <_HX_SUPER__getID public="1" set="method" line="148"> <_HX_SUPER__getRawID public="1" set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.gamepad.mappings.XInputMapping * Maps enum values and strings to integer keycodes. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() FlxMacroUtil.buildMap("flixel.input.keyboard.FlxKey") FlxMacroUtil.buildMap("flixel.input.keyboard.FlxKey", true) cast -2 cast -1 cast 65 cast 66 cast 67 cast 68 cast 69 cast 70 cast 71 cast 72 cast 73 cast 74 cast 75 cast 76 cast 77 cast 78 cast 79

    cast 80

    cast 81 cast 82 cast 83 cast 84 cast 85 cast 86 cast 87 cast 88 cast 89 cast 90 cast 48 cast 49 cast 50 cast 51 cast 52 cast 53 cast 54 cast 55 cast 56 cast 57 cast 33 cast 34 cast 36 cast 35 cast 45 cast 27 cast 189 cast 187 cast 46 cast 8 cast 219 cast 221 cast 220 cast 20 cast 145 cast 144 cast 186 cast 222 cast 13 cast 16 cast 188 cast 190 cast 191 cast 192 cast 17 cast 18 cast 32 cast 38 cast 40 cast 37 cast 39 cast 9 cast 15 cast 302 cast 301 cast 19 cast 112 cast 113 cast 114 cast 115 cast 116 cast 117 cast 118 cast 119 cast 120 cast 121 cast 122 cast 123 cast 96 cast 97 cast 98 cast 99 cast 100 cast 101 cast 102 cast 103 cast 104 cast 105 cast 109 cast 107 cast 110 cast 106 cast 111 hscript.UsingHandler.build() hscript.ClassExtendMacro.build()
    FlxMacroUtil.buildMap("flixel.input.keyboard.FlxKey") FlxMacroUtil.buildMap("flixel.input.keyboard.FlxKey", true) cast -2 cast -1 cast 65 cast 66 cast 67 cast 68 cast 69 cast 70 cast 71 cast 72 cast 73 cast 74 cast 75 cast 76 cast 77 cast 78 cast 79

    cast 80

    cast 81 cast 82 cast 83 cast 84 cast 85 cast 86 cast 87 cast 88 cast 89 cast 90 cast 48 cast 49 cast 50 cast 51 cast 52 cast 53 cast 54 cast 55 cast 56 cast 57 cast 33 cast 34 cast 36 cast 35 cast 45 cast 27 cast 189 cast 187 cast 46 cast 8 cast 219 cast 221 cast 220 cast 20 cast 145 cast 144 cast 186 cast 222 cast 13 cast 16 cast 188 cast 190 cast 191 cast 192 cast 17 cast 18 cast 32 cast 38 cast 40 cast 37 cast 39 cast 9 cast 15 cast 302 cast 301 cast 19 cast 112 cast 113 cast 114 cast 115 cast 116 cast 117 cast 118 cast 119 cast 120 cast 121 cast 122 cast 123 cast 96 cast 97 cast 98 cast 99 cast 100 cast 101 cast 102 cast 103 cast 104 cast 105 cast 109 cast 107 cast 110 cast 106 cast 111 hscript.UsingHandler.build() hscript.ClassExtendMacro.build()
    FlxMacroUtil.buildMap("flixel.input.keyboard.FlxKey") FlxMacroUtil.buildMap("flixel.input.keyboard.FlxKey", true) cast (-2, flixel.input.keyboard.FlxKey) cast (-1, flixel.input.keyboard.FlxKey) cast (65, flixel.input.keyboard.FlxKey) cast (66, flixel.input.keyboard.FlxKey) cast (67, flixel.input.keyboard.FlxKey) cast (68, flixel.input.keyboard.FlxKey) cast (69, flixel.input.keyboard.FlxKey) cast (70, flixel.input.keyboard.FlxKey) cast (71, flixel.input.keyboard.FlxKey) cast (72, flixel.input.keyboard.FlxKey) cast (73, flixel.input.keyboard.FlxKey) cast (74, flixel.input.keyboard.FlxKey) cast (75, flixel.input.keyboard.FlxKey) cast (76, flixel.input.keyboard.FlxKey) cast (77, flixel.input.keyboard.FlxKey) cast (78, flixel.input.keyboard.FlxKey) cast (79, flixel.input.keyboard.FlxKey)

    cast (80, flixel.input.keyboard.FlxKey)

    cast (81, flixel.input.keyboard.FlxKey) cast (82, flixel.input.keyboard.FlxKey) cast (83, flixel.input.keyboard.FlxKey) cast (84, flixel.input.keyboard.FlxKey) cast (85, flixel.input.keyboard.FlxKey) cast (86, flixel.input.keyboard.FlxKey) cast (87, flixel.input.keyboard.FlxKey) cast (88, flixel.input.keyboard.FlxKey) cast (89, flixel.input.keyboard.FlxKey) cast (90, flixel.input.keyboard.FlxKey) cast (48, flixel.input.keyboard.FlxKey) cast (49, flixel.input.keyboard.FlxKey) cast (50, flixel.input.keyboard.FlxKey) cast (51, flixel.input.keyboard.FlxKey) cast (52, flixel.input.keyboard.FlxKey) cast (53, flixel.input.keyboard.FlxKey) cast (54, flixel.input.keyboard.FlxKey) cast (55, flixel.input.keyboard.FlxKey) cast (56, flixel.input.keyboard.FlxKey) cast (57, flixel.input.keyboard.FlxKey) cast (33, flixel.input.keyboard.FlxKey) cast (34, flixel.input.keyboard.FlxKey) cast (36, flixel.input.keyboard.FlxKey) cast (35, flixel.input.keyboard.FlxKey) cast (45, flixel.input.keyboard.FlxKey) cast (27, flixel.input.keyboard.FlxKey) cast (189, flixel.input.keyboard.FlxKey) cast (187, flixel.input.keyboard.FlxKey) cast (46, flixel.input.keyboard.FlxKey) cast (8, flixel.input.keyboard.FlxKey) cast (219, flixel.input.keyboard.FlxKey) cast (221, flixel.input.keyboard.FlxKey) cast (220, flixel.input.keyboard.FlxKey) cast (20, flixel.input.keyboard.FlxKey) cast (145, flixel.input.keyboard.FlxKey) cast (144, flixel.input.keyboard.FlxKey) cast (186, flixel.input.keyboard.FlxKey) cast (222, flixel.input.keyboard.FlxKey) cast (13, flixel.input.keyboard.FlxKey) cast (16, flixel.input.keyboard.FlxKey) cast (188, flixel.input.keyboard.FlxKey) cast (190, flixel.input.keyboard.FlxKey) cast (191, flixel.input.keyboard.FlxKey) cast (192, flixel.input.keyboard.FlxKey) cast (17, flixel.input.keyboard.FlxKey) cast (18, flixel.input.keyboard.FlxKey) cast (32, flixel.input.keyboard.FlxKey) cast (38, flixel.input.keyboard.FlxKey) cast (40, flixel.input.keyboard.FlxKey) cast (37, flixel.input.keyboard.FlxKey) cast (39, flixel.input.keyboard.FlxKey) cast (9, flixel.input.keyboard.FlxKey) cast (15, flixel.input.keyboard.FlxKey) cast (302, flixel.input.keyboard.FlxKey) cast (301, flixel.input.keyboard.FlxKey) cast (19, flixel.input.keyboard.FlxKey) cast (112, flixel.input.keyboard.FlxKey) cast (113, flixel.input.keyboard.FlxKey) cast (114, flixel.input.keyboard.FlxKey) cast (115, flixel.input.keyboard.FlxKey) cast (116, flixel.input.keyboard.FlxKey) cast (117, flixel.input.keyboard.FlxKey) cast (118, flixel.input.keyboard.FlxKey) cast (119, flixel.input.keyboard.FlxKey) cast (120, flixel.input.keyboard.FlxKey) cast (121, flixel.input.keyboard.FlxKey) cast (122, flixel.input.keyboard.FlxKey) cast (123, flixel.input.keyboard.FlxKey) cast (96, flixel.input.keyboard.FlxKey) cast (97, flixel.input.keyboard.FlxKey) cast (98, flixel.input.keyboard.FlxKey) cast (99, flixel.input.keyboard.FlxKey) cast (100, flixel.input.keyboard.FlxKey) cast (101, flixel.input.keyboard.FlxKey) cast (102, flixel.input.keyboard.FlxKey) cast (103, flixel.input.keyboard.FlxKey) cast (104, flixel.input.keyboard.FlxKey) cast (105, flixel.input.keyboard.FlxKey) cast (109, flixel.input.keyboard.FlxKey) cast (107, flixel.input.keyboard.FlxKey) cast (110, flixel.input.keyboard.FlxKey) cast (106, flixel.input.keyboard.FlxKey) cast (111, flixel.input.keyboard.FlxKey) hscript.UsingHandler.build() hscript.ClassExtendMacro.build()

    * A helper class for keyboard input. * Provides optimized key checking using direct array access. hscript.UsingHandler.build() hscript.ClassExtendMacro.build()
    <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.keyboard.FlxKeyList <_nativeCorrection> * Function and numpad keycodes on native targets are incorrect, * this workaround fixes that. Thanks @HaxePunk! * @see https://github.com/openfl/openfl-native/issues/193 [] flixel.system.replay.FlxReplay * If any keys are not "released", * this function will return an array indicating * which keys are pressed and what state they are in. * * @return An array of key state data. Null if there is no data. flixel.system.replay.FlxReplay * Part of the keystroke recording system. * Takes data about key presses and sets it into array. * * @param Record Array of data about key states. * Keeps track of what keys are pressed and how with handy Bools or strings. * Normally accessed via `FlxG.keys`. Example: `FlxG.keys.justPressed.A` hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__onKeyUp set="method" line="31"> <_HX_SUPER__onKeyDown set="method" line="31"> <_HX_SUPER__resolveKeyCode set="method" line="148"> flixel.system.replay.FlxReplay * If any keys are not "released", * this function will return an array indicating * which keys are pressed and what state they are in. * * @return An array of key state data. Null if there is no data. <_HX_SUPER__record set="method" line="148"> flixel.system.replay.FlxReplay * Part of the keystroke recording system. * Takes data about key presses and sets it into array. * * @param Record Array of data about key states. <_HX_SUPER__playback set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.keyboard.FlxKeyboard flixel.input.keyboard.FlxKeyboard.FlxKeyInput "__ASSET__:bitmap_flixel_input_mouse_GraphicCursor" { fillRGBA : 0xFFFFFFFF, transparent : true } openfl.utils._internal.AssetsMacro.embedBitmap() openfl.utils._internal.AssetsMacro.embedBitmap() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() "assets/images/ui/cursor.png" FlxPoint.get() -1 * Updates the last and current state of this mouse button. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * These IDs are negative to avoid overlaps with possible touch point IDs. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() cast -1 cast -2 cast -3 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() cast -1 cast -2 cast -3 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() cast (-1, flixel.input.mouse.FlxMouseButtonID) cast (-2, flixel.input.mouse.FlxMouseButtonID) cast (-3, flixel.input.mouse.FlxMouseButtonID) hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Updates the last and current state of this mouse button. <_HX_SUPER__update public="1" set="method" line="31"> <_HX_SUPER__onDown public="1" set="method" line="31"> <_HX_SUPER__onUp public="1" set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.mouse.FlxMouseButton flixel.input.mouse.FlxMouseButton.FlxMouseButtonID flixel.input.mouse.FlxMouseButton.FlxMouseButtonID flixel.input.mouse.FlxMouseButton.FlxMouseButtonID_HSC { pixelPerfect : true, mouseEnabled : true, mouseChildren : false } * Adds an object to the FlxMouseEventManager registry. Automatically initializes the plugin. * * @param onMouseDown Callback when mouse is pressed down over this object. * Must have Object as argument - e.g. `onMouseDown(object:FlxObject)`. * @param onMouseUp Callback when mouse is released over this object. * Must have Object as argument - e.g. `onMouseDown(object:FlxObject)`. * @param onMouseOver Callback when mouse is this object. * Must have Object as argument - e.g. `onMouseDown(object:FlxObject)`. * @param onMouseOut Callback when mouse moves out of this object. * Must have Object as argument - e.g. `onMouseDown(object:FlxObject)`. * @param mouseChildren If true, other objects overlapped by this will still receive mouse events. * @param mouseEnabled If true, this object will receive mouse events. * @param pixelPerfect If true, the collision check will be pixel-perfect. Only works for FlxSprites. * @param mouseButtons The mouse buttons that can trigger callbacks. Left only by default. * Removes a registered object from the registry. * Removes all registered objects from the registry. * Reorders the registered objects, using the current object drawing order. * This should be called if you alter the draw/update order of a registered object, * That is, if you alter the position of a registered object inside its `FlxGroup`. * It may also be called if the objects are not registered by the same order they are * added to `FlxGroup`. * Sets the mouseDown callback associated with an object. * * @param onMouseDown Callback when mouse is pressed down over this object. * Must have Object as argument - e.g. `onMouseDown(object:FlxObject)`. * Sets the mouseUp callback associated with an object. * * @param onMouseUp Callback when mouse is released over this object. * Must have Object as argument - e.g. `onMouseDown(object:FlxObject)`. * Sets the mouseClick callback associated with an object. * * @param onMouseClick Callback when mouse is pressed and released over this object. * Must have Object as argument - e.g. `onMouseClick(object:FlxObject)`. * @since 4.4.0 * Sets the mouseDoubleClick callback associated with an object. * * @param onMouseDoubleClick Callback when mouse is pressed and released over this object twice. * Must have Object as argument - e.g. `onMouseDoubleClick(object:FlxObject)`. * @since 4.4.0 * Sets the mouseOver callback associated with an object. * * @param onMouseOver Callback when mouse is over this object. * Must have Object as argument - e.g. `onMouseDown(object:FlxObject)`. * Sets the mouseOut callback associated with an object. * * @param OnMouseOver Callback when mouse is moved out of this object. * Must have Object as argument - e.g. `onMouseDown(object:FlxObject)`. * Sets the mouseMove callback associated with an object. * * @param onMouseMove Callback when the mouse is moved while over this object. * Must have Object as argument - e.g. `onMouseMove(object:FlxObject)`. * @since 4.4.0 * Sets the mouseWheel callback associated with an object. * * @param onMouseWheel Callback when the mouse wheel is moved while over this object. * Must have Object as argument - e.g. `onMouseWheel(object:FlxObject)`. * @since 4.4.0 * Enables/disables mouse behavior for an object. * * @param mouseEnabled Whether this object will be tested for mouse events. * Checks if a registered object is mouseEnabled. * Enables/disables mouseChildren for an object. * * @param mouseChildren Whether this object will allow other overlapping object to receive mouse events. * Checks if an object allows mouseChildren. * @param mouseButtons The mouse buttons that can trigger callbacks. Left only by default. flixel.input.mouse.FlxMouseEventManager hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_list expr="[]"> [] <_overList expr="[]"> [] <_downList expr="[]"> [] <_clickList expr="[]"> [] -1 <_point expr="FlxPoint.get()"> FlxPoint.get() 500 * The maximum amount of time between two clicks that is considered a double click, in milliseconds. * @since 4.4.0 { pixelPerfect : true, mouseEnabled : true, mouseChildren : false } * Adds an object to the FlxMouseEventManager registry. Automatically initializes the plugin. * * @param onMouseDown Callback when mouse is pressed down over this object. * Must have Object as argument - e.g. `onMouseDown(object:FlxObject)`. * @param onMouseUp Callback when mouse is released over this object. * Must have Object as argument - e.g. `onMouseDown(object:FlxObject)`. * @param onMouseOver Callback when mouse is this object. * Must have Object as argument - e.g. `onMouseDown(object:FlxObject)`. * @param onMouseOut Callback when mouse moves out of this object. * Must have Object as argument - e.g. `onMouseDown(object:FlxObject)`. * @param mouseChildren If true, other objects overlapped by this will still receive mouse events. * @param mouseEnabled If true, this object will receive mouse events. * @param pixelPerfect If true, the collision check will be pixel-perfect. Only works for FlxSprites. * @param mouseButtons The mouse buttons that can trigger callbacks. Left only by default. * Removes a registered object from the registry. * Removes all registered objects from the registry. * Reorders the registered objects, using the current object drawing order. * This should be called if you alter the draw/update order of a registered object, * That is, if you alter the position of a registered object inside its `FlxGroup`. * It may also be called if the objects are not registered by the same order they are * added to `FlxGroup`. * Sets the mouseDown callback associated with an object. * * @param onMouseDown Callback when mouse is pressed down over this object. * Must have Object as argument - e.g. `onMouseDown(object:FlxObject)`. * Sets the mouseUp callback associated with an object. * * @param onMouseUp Callback when mouse is released over this object. * Must have Object as argument - e.g. `onMouseDown(object:FlxObject)`. * Sets the mouseClick callback associated with an object. * * @param onMouseClick Callback when mouse is pressed and released over this object. * Must have Object as argument - e.g. `onMouseClick(object:FlxObject)`. * @since 4.4.0 * Sets the mouseDoubleClick callback associated with an object. * * @param onMouseDoubleClick Callback when mouse is pressed and released over this object twice. * Must have Object as argument - e.g. `onMouseDoubleClick(object:FlxObject)`. * @since 4.4.0 * Sets the mouseOver callback associated with an object. * * @param onMouseOver Callback when mouse is over this object. * Must have Object as argument - e.g. `onMouseDown(object:FlxObject)`. * Sets the mouseOut callback associated with an object. * * @param onMouseOver Callback when mouse is moved out of this object. * Must have Object as argument - e.g. `onMouseDown(object:FlxObject)`. * Sets the mouseMove callback associated with an object. * * @param onMouseMove Callback when the mouse is moved while over this object. * Must have Object as argument - e.g. `onMouseMove(object:FlxObject)`. * @since 4.4.0 * Sets the mouseWheel callback associated with an object. * * @param onMouseWheel Callback when the mouse wheel is moved while over this object. * Must have Object as argument - e.g. `onMouseWheel(object:FlxObject)`. * @since 4.4.0 * Enables/disables mouse behavior for an object. * * @param MouseEnabled Whether this object will be tested for mouse events. * Checks if a registered object is mouseEnabled. * Enables/disables mouseChildren for an object. * * @param mouseChildren Whether this object will allow other overlapping object to receive mouse events. * Checks if an object allows mouseChildren. * @param MouseButtons The mouse buttons that can trigger callbacks. Left only by default. flixel.group.FlxTypedGroup.resolveGroup * Provides mouse event detection for `FlxObject` and `FlxSprite` (pixel-perfect for those). * To use it, initialize the manager and register objects / sprites. * * ```haxe * FlxG.plugins.add(new FlxMouseEventManager()); * var object = new FlxObject(); * FlxMouseEventManager.add( * object, onMouseDown, onMouseUp, onMouseOver, onMouseOut); * ``` * * Or simply add a new object and this plugin will initialize itself: * * ```haxe * FlxMouseEventManager.add( * object, onMouseDown, onMouseUp, onMouseOver, onMouseOut); * ``` * * Also implement the callbacks with the object's type as parameters: * * ```haxe * function onMouseDown(object:FlxObject) {} * function onMouseUp(object:FlxObject) {} * function onMouseOver(object:FlxObject) {} * function onMouseOut(object:FlxObject) {} * ``` * * @author TiagoLr (~~~ ProG4mr ~~~) hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__update public="1" set="method" line="31"> * Removes all registered objects from the registry. <_HX_SUPER__removeAll public="1" set="method" line="31"> * Reorders the registered objects, using the current object drawing order. * This should be called if you alter the draw/update order of a registered object, * That is, if you alter the position of a registered object inside its `FlxGroup`. * It may also be called if the objects are not registered by the same order they are * added to `FlxGroup`. <_HX_SUPER__reorder public="1" set="method" line="31"> flixel.group.FlxTypedGroup.resolveGroup <_HX_SUPER__traverseFlxGroup set="method" line="31"> <_HX_SUPER__sortByMouseChildren set="method" line="148"> <_HX_SUPER__clearRegistry set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.mouse.FlxMouseEventManager { YOffset : 0, XOffset : 0, Scale : 1 } * Helper variables for flash native cursors <_HX_SUPER__load public="1" set="method" line="31"> { YOffset : 0, XOffset : 0, Scale : 1 } * Unload the current cursor graphic. If the current cursor is visible, * then the default system cursor is loaded up to replace the old one. <_HX_SUPER__unload public="1" set="method" line="31"> * Clean up memory. Internal use only. <_HX_SUPER__destroy public="1" set="method" line="31"> * Resets the just pressed/just released flags and sets mouse to not pressed. <_HX_SUPER__reset public="1" set="method" line="31"> * Called by the internal game loop to update the mouse pointer's position in the game world. * Also updates the just pressed/just released flags. <_HX_SUPER__update set="method" line="31"> * Called from the main Event.ACTIVATE that is dispatched in FlxGame <_HX_SUPER__onFocus set="method" line="31"> * Called from the main Event.DEACTIVATE that is dispatched in FlxGame <_HX_SUPER__onFocusLost set="method" line="31"> <_HX_SUPER__onGameStart set="method" line="31"> * Internal event handler for input and focus. <_HX_SUPER__onMouseWheel set="method" line="31"> <_HX_SUPER__showSystemCursor set="method" line="31"> <_HX_SUPER__hideSystemCursor set="method" line="31"> <_HX_SUPER__set_useSystemCursor set="method" line="148"> <_HX_SUPER__showCursor set="method" line="31"> <_HX_SUPER__hideCursor set="method" line="31"> <_HX_SUPER__set_visible set="method" line="148"> flixel.system.replay.FlxReplay <_HX_SUPER__record set="method" line="148"> flixel.system.replay.FlxReplay <_HX_SUPER__playback set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.mouse.FlxMouse.GraphicCursor flixel.input.mouse.FlxMouse * The _unique_ ID of this touch. You should not make not any further assumptions * about this value - IDs are not guaranteed to start from 0 or ascend in order. * The behavior may vary from device to device. new Point() FlxPoint.get() -1 * Resets the justPressed/justReleased flags and sets touch to not pressed. * Called by the internal game loop to update the just pressed/just released flags. * Function for updating touch coordinates. Called by the TouchManager. * * @param X stageX touch coordinate * @param Y stageY touch coordinate { pointID : 0, y : 0, x : 0 } * @param X stageX touch coordinate * @param Y stageX touch coordinate * @param PointID touchPointID of the touch * Helper class, contains and tracks touch points in your game. * Automatically accounts for parallax scrolling, etc. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() flixel.input.touch.FlxTouchManager 0 * The maximum number of concurrent touch points supported by the current device. * All active touches including just created, moving and just released. <_inactiveTouches> * Storage for inactive touches (some sort of cache for them). <_touchesCache> * Helper storage for active touches (for faster access) * WARNING: can be null if no active touch with the provided ID could be found * Return the first touch if there is one, beware of null * Clean up memory. Internal use only. * Gets all touches which were just started * * @param TouchArray Optional array to fill with touch objects * @return Array with touches * Gets all touches which were just ended * * @param TouchArray Optional array to fill with touch objects * @return Array with touches * Resets all touches to inactive state. * Event handler so FlxGame can update touches. * Event handler so FlxGame can update touches. * Event handler so FlxGame can update touches. * Internal function for adding new touches to the manager * * @param Touch A new FlxTouch object * @return The added FlxTouch object * Internal function for touch reuse * * @param X stageX touch coordinate * @param Y stageY touch coordinate * @param PointID id of the touch * @return A recycled touch object * Called by the internal game loop to update the touch position in the game world. * Also updates the just pressed/just released flags. flixel.FlxG * @author Zaphod hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Return the first touch if there is one, beware of null <_HX_SUPER__getFirst public="1" set="method" line="148"> * Clean up memory. Internal use only. <_HX_SUPER__destroy public="1" set="method" line="31"> * Gets all touches which were just started * * @param TouchArray Optional array to fill with touch objects * @return Array with touches <_HX_SUPER__justStarted public="1" set="method" line="148"> * Gets all touches which were just ended * * @param TouchArray Optional array to fill with touch objects * @return Array with touches <_HX_SUPER__justReleased public="1" set="method" line="148"> * Resets all touches to inactive state. <_HX_SUPER__reset public="1" set="method" line="31"> * Event handler so FlxGame can update touches. <_HX_SUPER__handleTouchBegin set="method" line="31"> * Event handler so FlxGame can update touches. <_HX_SUPER__handleTouchEnd set="method" line="31"> * Event handler so FlxGame can update touches. <_HX_SUPER__handleTouchMove set="method" line="31"> * Internal function for adding new touches to the manager * * @param Touch A new FlxTouch object * @return The added FlxTouch object <_HX_SUPER__add set="method" line="148"> * Internal function for touch reuse * * @param X stageX touch coordinate * @param Y stageY touch coordinate * @param PointID id of the touch * @return A recycled touch object <_HX_SUPER__recycle set="method" line="148"> * Called by the internal game loop to update the touch position in the game world. * Also updates the just pressed/just released flags. <_HX_SUPER__update set="method" line="31"> <_HX_SUPER__onFocus set="method" line="31"> <_HX_SUPER__onFocusLost set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.touch.FlxTouchManager <_HX_SUPER__destroy public="1" set="method" line="31"> * Resets the justPressed/justReleased flags and sets touch to not pressed. <_HX_SUPER__recycle public="1" set="method" line="31"> * Called by the internal game loop to update the just pressed/just released flags. <_HX_SUPER__update set="method" line="31"> * Function for updating touch coordinates. Called by the TouchManager. * * @param X stageX touch coordinate * @param Y stageY touch coordinate <_HX_SUPER__setXY set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.input.touch.FlxTouch * Convert radians to degrees by multiplying it with this value. * Convert degrees to radians by multiplying it with this value. * Calculates the angle from (0, 0) to (x, y), in radians * @param x The x distance from the origin * @param y The y distance from the origin * @return The angle in radians between -PI to PI * Calculates the angle from (0, 0) to (x, y), in degrees * @param x The x distance from the origin * @param y The y distance from the origin * @return The angle in degrees between -180 to 180 { asDegrees : false } * Calculates the angle from (0, 0) to (x, y) * @param x The x distance from the origin * @param y The y distance from the origin * @param asDegrees If true, it gives the value in degrees * @return The angle, either in degrees, between -180 and 180 or in radians, between -PI and PI * Keeps an angle value between -180 and +180 by wrapping it * e.g an angle of +270 will be converted to -90 * Should be called whenever the angle is updated on a FlxSprite to stop it from going insane. * * @param angle The angle value to check * * @return The new angle value, returns the same as the input angle if it was within bounds * Converts a Radian value into a Degree * Converts the radians value into degrees and returns * * @param radians The value in radians * @return Degrees * Converts a Degrees value into a Radian * Converts the degrees value into radians and returns * * @param degrees The value in degrees * @return Radians { AsDegrees : false } * Find the angle between the two FlxSprite, taking their x/y and origin into account. * * @param SpriteA The FlxSprite to test from * @param SpriteB The FlxSprite to test to * @param AsDegrees If you need the value in degrees instead of radians, set to true * @return The angle (in radians unless asDegrees is true) * Find the angle (in degrees) between the two FlxSprite, taking their x/y and origin into account. * @since 5.0.0 * * @param SpriteA The FlxSprite to test from * @param SpriteB The FlxSprite to test to * @return The angle in degrees * Find the angle (in radians) between the two FlxSprite, taking their x/y and origin into account. * @since 5.0.0 * * @param SpriteA The FlxSprite to test from * @param SpriteB The FlxSprite to test to * @return The angle in radians { AsDegrees : false } * Find the angle between an FlxSprite and an FlxPoint. * The source sprite takes its x/y and origin into account. * * @param Sprite The FlxSprite to test from * @param Target The FlxPoint to angle the FlxSprite towards * @param AsDegrees If you need the value in degrees instead of radians, set to true * @return The angle (in radians unless AsDegrees is true) * Find the angle (in degrees) between an FlxSprite and an FlxPoint. * The source sprite takes its x/y and origin into account. * @since 5.0.0 * * @param Sprite The FlxSprite to test from * @param Target The FlxPoint to angle the FlxSprite towards * @return The angle in degrees * Find the angle (in radians) between an FlxSprite and an FlxPoint. * The source sprite takes its x/y and origin into account. * @since 5.0.0 * * @param Sprite The FlxSprite to test from * @param Target The FlxPoint to angle the FlxSprite towards * @return The angle in radians { AsDegrees : false } * Find the angle between an FlxSprite and the mouse, * taking their **screen** x/y and origin into account. * * @param Object The FlxObject to test from * @param AsDegrees If you need the value in degrees instead of radians, set to true * @return The angle (in radians unless AsDegrees is true) * Find the angle (in degrees) between an FlxSprite and the mouse, * taking their **screen** x/y and origin into account. * @since 5.0.0 * * @param Object The FlxObject to test from * @return The angle in degrees * Find the angle (in radians) between an FlxSprite and the mouse, * taking their **screen** x/y and origin into account. * @since 5.0.0 * * @param Object The FlxObject to test from * @return The angle in radians { AsDegrees : false } * Find the angle between an FlxSprite and a FlxTouch, * taking their **screen** x/y and origin into account. * * @param Object The FlxObject to test from * @param Touch The FlxTouch to test to * @param AsDegrees If you need the value in degrees instead of radians, set to true * @return The angle (in radians unless AsDegrees is true) * Find the angle (in degrees) between an FlxSprite and a FlxTouch, * taking their **screen** x/y and origin into account. * @since 5.0.0 * * @param Object The FlxObject to test from * @param Touch The FlxTouch to test to * @return The angle in degrees * Find the angle (in radians) between an FlxSprite and a FlxTouch, * taking their **screen** x/y and origin into account. * @since 5.0.0 * * @param Object The FlxObject to test from * @param Touch The FlxTouch to test to * @return The angle in radians { AsDegrees : false } "FlxAngle.angleFromFacing is deprecated, use flags.degrees." * Translate an object's facing to angle. * * @param FacingBitmask Bitmask from which to calculate the angle, as in FlxSprite::facing * @param AsDegrees If you need the value in degrees instead of radians, set to true * @return The angle (in radians unless AsDegrees is true) "FlxAngle.getCartesianCoords is deprecated, use FlxVector.setPolarDegrees" * Convert polar coordinates (radius + angle) to cartesian coordinates (x + y) * * @param Radius The radius * @param Angle The angle, in degrees * @param point Optional FlxPoint if you don't want a new one created * @return The point in cartesian coords "FlxAngle.getCartesianCoords is deprecated, use FlxPoint" * Convert cartesian coordinates (x + y) to polar coordinates (radius + angle) * * @param X x position * @param Y y position * @param point Optional FlxPoint if you don't want a new one created * @return The point in polar coords (x = Radius, y = Angle (degrees)) * A set of functions related to angle calculations. * In degrees: (down = 90, right = 0, up = -90) * * Note: in Flixel 5.0.0 all angle-related tools were changed so that 0 degrees points right, instead of up * @see [Flixel 5.0.0 Migration guide](https://github.com/HaxeFlixel/flixel/wiki/Flixel-5.0.0-Migration-guide) hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.math.FlxAngle flixel.math.FlxAngle.FlxSinCos 5e-324 * Minimum value of a floating point number. 1.79e+308 * Maximum value of a floating point number. -MAX_VALUE_INT * Minimum value of an integer. 0x7FFFFFFF * Maximum value of an integer. 1.41421356237 * Approximation of `Math.sqrt(2)`. 0.0000001 * Used to account for floating-point inaccuracies. * Round a decimal number to have reduced precision (less decimal numbers). * * ```haxe * roundDecimal(1.2485, 2) = 1.25 * ``` * * @param Value Any number. * @param Precision Number of decimals the result should have. * @return The rounded value of that number. * Bound a number by a minimum and maximum. Ensures that this number is * no smaller than the minimum, and no larger than the maximum. * Leaving a bound `null` means that side is unbounded. * * @param Value Any number. * @param Min Any number. * @param Max Any number. * @return The bounded value of the number. * Returns the linear interpolation of two numbers if `ratio` * is between 0 and 1, and the linear extrapolation otherwise. * * Examples: * * ```haxe * lerp(a, b, 0) = a * lerp(a, b, 1) = b * lerp(5, 15, 0.5) = 10 * lerp(5, 15, -1) = -5 * ``` * Checks if number is in defined range. A null bound means that side is unbounded. * * @param Value Number to check. * @param Min Lower bound of range. * @param Max Higher bound of range. * @return Returns true if Value is in range. * Returns `true` if the given number is odd. * Returns `true` if the given number is even. * Returns `-1` if `a` is smaller, `1` if `b` is bigger and `0` if both numbers are equal. * Returns true if the given x/y coordinate is within the given rectangular block * * @param pointX The X value to test * @param pointY The Y value to test * @param rectX The X value of the region to test within * @param rectY The Y value of the region to test within * @param rectWidth The width of the region to test within * @param rectHeight The height of the region to test within * * @return true if pointX/pointY is within the region, otherwise false * Returns true if the given x/y coordinate is within the given rectangular block * * @param pointX The X value to test * @param pointY The Y value to test * @param rect The FlxRect to test within * @return true if pointX/pointY is within the FlxRect, otherwise false * Returns true if the mouse world x/y coordinate are within the given rectangular block * * @param useWorldCoords If true the world x/y coordinates of the mouse will be used, otherwise screen x/y * @param rect The FlxRect to test within. If this is null for any reason this function always returns true. * * @return true if mouse is within the FlxRect, otherwise false * Returns true if the given x/y coordinate is within the Rectangle * * @param pointX The X value to test * @param pointY The Y value to test * @param rect The Rectangle to test within * @return true if pointX/pointY is within the Rectangle, otherwise false { min : 0 } * Adds the given amount to the value, but never lets the value * go over the specified maximum or under the specified minimum. * * @param value The value to add the amount to * @param amount The amount to add to the value * @param max The maximum the value is allowed to be * @param min The minimum the value is allowed to be * @return The new value * Makes sure that value always stays between 0 and max, * by wrapping the value around. * * @param value The value to wrap around * @param min The minimum the value is allowed to be * @param max The maximum the value is allowed to be * @return The wrapped value * Remaps a number from one range to another. * * @param value The incoming value to be converted * @param start1 Lower bound of the value's current range * @param stop1 Upper bound of the value's current range * @param start2 Lower bound of the value's target range * @param stop2 Upper bound of the value's target range * @return The remapped value * Finds the dot product value of two vectors * * @param ax Vector X * @param ay Vector Y * @param bx Vector X * @param by Vector Y * * @return Result of the dot product * Returns the length of the given vector. * Find the distance (in pixels, rounded) between two FlxSprites, taking their origin into account * * @param SpriteA The first FlxSprite * @param SpriteB The second FlxSprite * @return Distance between the sprites in pixels { IncludeEqual : false } * Check if the distance between two FlxSprites is within a specified number. * A faster algorithm than distanceBetween because the Math.sqrt() is avoided. * * @param SpriteA The first FlxSprite * @param SpriteB The second FlxSprite * @param Distance The distance to check * @param IncludeEqual If set to true, the function will return true if the calculated distance is equal to the given Distance * @return True if the distance between the sprites is less than the given Distance * Find the distance (in pixels, rounded) from an FlxSprite * to the given FlxPoint, taking the source origin into account. * * @param Sprite The FlxSprite * @param Target The FlxPoint * @return Distance in pixels { IncludeEqual : false } * Check if the distance from an FlxSprite to the given * FlxPoint is within a specified number. * A faster algorithm than distanceToPoint because the Math.sqrt() is avoided. * * @param Sprite The FlxSprite * @param Target The FlxPoint * @param Distance The distance to check * @param IncludeEqual If set to true, the function will return true if the calculated distance is equal to the given Distance * @return True if the distance between the sprites is less than the given Distance * Find the distance (in pixels, rounded) from the object x/y and the mouse x/y * * @param Sprite The FlxSprite to test against * @return The distance between the given sprite and the mouse coordinates { IncludeEqual : false } * Check if the distance from the object x/y and the mouse x/y is within a specified number. * A faster algorithm than distanceToMouse because the Math.sqrt() is avoided. * * @param Sprite The FlxSprite to test against * @param Distance The distance to check * @param IncludeEqual If set to true, the function will return true if the calculated distance is equal to the given Distance * @return True if the distance between the sprites is less than the given Distance * Find the distance (in pixels, rounded) from the object x/y and the FlxPoint screen x/y * * @param Sprite The FlxSprite to test against * @param Touch The FlxTouch to test against * @return The distance between the given sprite and the mouse coordinates { IncludeEqual : false } * Check if the distance from the object x/y and the FlxPoint screen x/y is within a specified number. * A faster algorithm than distanceToTouch because the Math.sqrt() is avoided. * * @param Sprite The FlxSprite to test against * @param Distance The distance to check * @param IncludeEqual If set to true, the function will return true if the calculated distance is equal to the given Distance * @return True if the distance between the sprites is less than the given Distance * Returns the amount of decimals a `Float` has. { aDiff : EPSILON } * Returns `-1` if the number is smaller than `0` and `1` otherwise * Checks if two numbers have the same sign (using `FlxMath.signOf()`). * Hyperbolic sine. * Returns the bigger argument. * Returns the smaller argument. * Returns the absolute integer value. * A class containing a set of math-related functions. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.math.FlxMath * Rotates this matrix, but takes the values of sine and cosine, * so it might be useful when you rotate multiple matrices by the same angle * @param cos The cosine value for rotation angle * @param sin The sine value for rotation angle * @return this transformed matrix * Adds 180 degrees to rotation of this matrix * @return rotated matrix * Adds 90 degrees to rotation of this matrix * @return rotated matrix * Subtract 90 degrees from rotation of this matrix * @return rotated matrix * Transforms x coordinate of the point. * Took original code from openfl.geom.Matrix (which isn't available on flash target). * * @param px x coordinate of the point * @param py y coordinate of the point * @return transformed x coordinate of the point * * @since 4.3.0 * Transforms y coordinate of the point. * Took original code from openfl.geom.Matrix (which isn't available on flash target). * * @param px x coordinate of the point * @param py y coordinate of the point * @return transformed y coordinate of the point * * @since 4.3.0 * Helper class for making fast matrix calculations for rendering. * It mostly copies Matrix class, but with some additions for * faster rotation by 90 degrees. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.math.FlxMatrix * 2-dimensional point class * * ## Pooling * To avoid creating new instances, unnecessarily, used points can be * for later use. Rather than creating a new instance directly, call * `FlxPoint.get(x, y)` and it will retrieve a point from the pool, if * one exists, otherwise it will create a new instance. Similarly, when * you're done using a point, call `myPoint.put()` to place it back. * * You can disable point pooling entirely with `FLX_NO_POINT_POOL`. * * ## Weak points * Weak points are points meant for a singular use, rather than calling * `put` on every point you `get`, you can create a weak point, and have * it placed back once used. All `FlxPoint` methods and Flixel utilities * automatically call `putWeak()` on every point passed in. * * In the following example, a weak point is created, and passed into * `p.degreesTo` where `putWeak` is called on it, putting it back in the pool. * * ```haxe * var angle = p.degreesTo(FlxPoint.weak(FlxG.mouse.x, FlxG.mouse.y)); * ``` * * ## Overloaded Operators * * - `A += B` adds the value of `B` to `A` * - `A -= B` subtracts the value of `B` from `A` * - `A *= k` scales `A` by float `k` in both x and y components * - `A + B` returns a new point that is sum of `A` and `B` * - `A - B` returns a new point that is difference of `A` and `B` * - `A * k` returns a new point that is `A` scaled with coefficient `k` * * Note: also accepts `openfl.geom.Point`, but always returns a FlxPoint. * * Note: that these operators get points from the pool, but do not put * points back in the pool, unless they are weak. * * Example: 4 total points are created, but only 3 are put into the pool * ```haxe * var a = FlxPoint.get(1, 1); * var b = FlxPoint.get(1, 1); * var c = (a * 2.0) + b; * a.put(); * b.put(); * c.put(); * ``` * * To put all 4 back, it should look like this: * ```haxe * var a = FlxPoint.get(1, 1); * var b = FlxPoint.get(1, 1); * var c = a * 2.0; * var d = c + b; * a.put(); * b.put(); * c.put(); * d.put(); * ``` * * Otherwise, the remainging points will become garbage, adding to the * heap, potentially triggering a garbage collection when you don't want. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() 0.0000001 EPSILON * EPSILON <_point1 expr="new FlxPoint()" line="77" static="1"> new FlxPoint() <_point2 expr="new FlxPoint()" line="78" static="1"> new FlxPoint() <_point3 expr="new FlxPoint()" line="79" static="1"> new FlxPoint() { y : 0, x : 0 } * Recycle or create new FlxPoint. * Be sure to put() them back into the pool after you're done with them! * * @param x The X-coordinate of the point in space. * @param y The Y-coordinate of the point in space. { y : 0, x : 0 } * Recycle or create a new FlxPoint which will automatically be released * to the pool when passed into a flixel function. * * @param x The X-coordinate of the point in space. * @param y The Y-coordinate of the point in space. * @since 4.6.0 A + B * Operator that adds two points, returning a new point. A - B * Operator that subtracts two points, returning a new point. A * B * Operator that scales a point by float, returning a new point. A / B * Operator that divides a point by float, returning a new point. A += B * Operator that adds two points, returning a new point. A -= B * Operator that subtracts two points, returning a new point. A *= B * Operator that scales a points by float, returning a new point. A + B * Operator that adds two points, returning a new point. A - B * Operator that subtracts two points, returning a new point. A - B * Operator that subtracts two points, returning a new point. A += B * Operator that adds two points, returning a new point. A -= B * Operator that subtracts two points, returning a new point. * The horizontal component of the unit point * The vertical component of the unit point * Length of the point * length of the point squared * The angle formed by the point with the horizontal axis (in degrees) * The angle formed by the point with the horizontal axis (in radians) * The horizontal component of the right normal of the point * The vertical component of the right normal of the point * The horizontal component of the left normal of the point * The vertical component of the left normal of the point <_new public="1" get="inline" set="null" line="300" static="1"> { y : 0, x : 0 } { y : 0, x : 0 } * Set the coordinates of this point object. * * @param x The X-coordinate of the point in space. * @param y The Y-coordinate of the point in space. { y : 0, x : 0 } * Adds to the coordinates of this point. * * @param x Amount to add to x * @param y Amount to add to y * @return This point. * Adds the coordinates of another point to the coordinates of this point. * * @param point The point to add to this point * @return This point. { y : 0, x : 0 } * Subtracts from the coordinates of this point. * * @param x Amount to subtract from x * @param y Amount to subtract from y * @return This point. * Subtracts the coordinates of another point from the coordinates of this point. * * @param point The point to subtract from this point * @return This point. * Scale this point. * * @param x - scale x coefficient * @param y - scale y coefficient, if omitted, x is used * @return scaled point * Scale this point by another point. * * @param point - The x and y scale coefficient * @return scaled point * Returns scaled copy of this point. * * @param k - scale coefficient * @return scaled point * Return new point which equals to sum of this point and passed p point. * * @param p point to add * @return addition result * Returns new point which is result of subtraction of p point from this point. * * @param p point to subtract * @return subtraction result * Helper function, just copies the values from the specified point. * * @param p Any FlxPoint. * @return A reference to itself. * Helper function, just copies the values from the specified Flash point. * * @param p Any Point. * @return A reference to itself. * Helper function, just copies the values from this point to the specified point. * * @param p optional point to copy this point to * @return copy of this point * Helper function, just copies the values from this point to the specified Flash point. * * @param p Any Point. * @return A reference to the altered point parameter. * Helper function, just increases the values of the specified Flash point by the values of this point. * * @param p Any Point. * @return A reference to the altered point parameter. * Helper function, just decreases the values of the specified Flash point by the values of this point. * * @param p Any Point. * @return A reference to the altered point parameter. * Rounds x and y using Math.floor() * Rounds x and y using Math.ceil() * Rounds x and y using Math.round() * Returns true if this point is within the given rectangular bounds * * @param x The X value of the region to test within * @param y The Y value of the region to test within * @param width The width of the region to test within * @param height The height of the region to test within * @return True if the point is within the region, otherwise false * Returns true if this point is within the given rectangular block * * @param rect The FlxRect to test within * @return True if pointX/pointY is within the FlxRect, otherwise false "rotate is deprecated, use pivotDegrees" * Rotates this point clockwise in 2D space around another point by the given degrees. * * @param pivot The pivot you want to rotate this point around * @param degrees Rotate the point by this many degrees clockwise. * @return A FlxPoint containing the coordinates of the rotated point. * Rotates this point clockwise in 2D space around another point by the given radians. * Note: To rotate a point around 0,0 you can use `p.radians += angle` * @since 5.0.0 * * @param pivot The pivot you want to rotate this point around * @param radians Rotate the point by this many radians clockwise. * @return A FlxPoint containing the coordinates of the rotated point. * Rotates this point clockwise in 2D space around another point by the given degrees. * Note: To rotate a point around 0,0 you can use `p.degrees += angle` * @since 5.0.0 * * @param pivot The pivot you want to rotate this point around * @param degrees Rotate the point by this many degrees clockwise. * @return A FlxPoint containing the coordinates of the rotated point. * Calculate the distance to another point. * * @param point A FlxPoint object to calculate the distance to. * @return The distance between the two points as a Float. * Calculates the angle from this to another point. * If the point is straight right of this, 0 is returned. * @since 5.0.0 * * @param point The other point. * @return The angle, in radians, between -PI and PI * Calculates the angle from another point to this. * If this is straight right of the point, 0 is returned. * @since 5.0.0 * * @param point The other point. * @return The angle, in radians, between -PI and PI * Calculates the angle from this to another point. * If the point is straight right of this, 0 is returned. * @since 5.0.0 * * @param point The other point. * @return The angle, in degrees, between -180 and 180 * Calculates the angle from another point to this. * If this is straight right of the point, 0 is returned. * @since 5.0.0 * * @param point The other point. * @return The angle, in degrees, between -180 and 180 "angleBetween is deprecated, use degreesTo instead" DEPRECATED * * Calculates the angle between this and another point. 0 degrees points straight up. * * Note: Every other flixel function treats straight right as 0 degrees. * * Also Note: The result is very innacurate. * * @param point The other point. * @return The angle in degrees, between -180 and 180. * * @see [Flixel 5.0.0 Migration guide](https://github.com/HaxeFlixel/flixel/wiki/Flixel-5.0.0-Migration-guide) * Applies transformation matrix to this point * @param matrix transformation matrix * @return transformed point * Short for dot product. * * @param p point to multiply * @return dot product of two points * Dot product between two points. * * @param p point to multiply * @return dot product of two points * Dot product between two points. * Meant for internal use, does not call putWeak. * * @param p point to multiply * @return dot product of two points * Dot product of points with normalization of the second point. * * @param p point to multiply * @return dot product of two points * Check the perpendicularity of two points. * * @param p point to check * @return true - if they are perpendicular * Find the length of cross product between two points. * * @param p point to multiply * @return the length of cross product of two points * Find the length of cross product between two points. * Meant for internal use, does not call putWeak. * * @param p point to multiply * @return the length of cross product of two points * Check for parallelism of two points. * * @param p point to check * @return true - if they are parallel * Check for parallelism of two points. * Meant for internal use, does not call putWeak. * * @param p point to check * @return true - if they are parallel * Check if this point has zero length. * * @return true - if the point is zero * point reset * Normalization of the point (reduction to unit length) * Check the point for unit length * Rotate the point for a given angle. * * @param rads angle to rotate * @return rotated point * Rotate the point for a given angle. * * @param degs angle to rotate * @return rotated point * Rotate the point with the values of sine and cosine of the angle of rotation. * * @param sin the value of sine of the angle of rotation * @param cos the value of cosine of the angle of rotation * @return rotated point * Sets the polar coordinates of the point * * @param length The length to set the point * @param radians The angle to set the point, in radians * @return The rotated point * * @since 4.10.0 * Sets the polar coordinates of the point * * @param length The length to set the point * @param degrees The angle to set the point, in degrees * @return The rotated point * * @since 4.10.0 * Right normal of the point * Left normal of the point * Change direction of the point to opposite * The projection of this point to point that is passed as an argument * (without modifying the original point!). * * @param p point to project * @param proj optional argument - result point * @return projection of the point * Projecting this point on the normalized point p. * * @param p this point has to be normalized, ie have unit length * @param proj optional argument - result point * @return projection of the point * Projecting this point on the normalized point p. * Meant for internal use, does not call putWeak. * * @param p this point has to be normalized, ie have unit length * @param proj optional argument - result point * @return projection of the point * Dot product of left the normal point and point p. * Dot product of left the normal point and point p. * Meant for internal use, does not call putWeak. * Find the ratio between the perpProducts of this point and p point. This helps to find the intersection point. * * @param a start point of the point * @param b start point of the p point * @param p the second point * @return the ratio between the perpProducts of this point and p point * Find the ratio between the perpProducts of this point and p point. This helps to find the intersection point. * Meant for internal use, does not call putWeak. * * @param a start point of the point * @param b start point of the p point * @param p the second point * @return the ratio between the perpProducts of this point and p point * Finding the point of intersection of points. * * @param a start point of the point * @param b start point of the p point * @param p the second point * @return the point of intersection of points * Finding the point of intersection of points if it is in the "bounds" of the points. * * @param a start point of the point * @param b start point of the p point * @param p the second point * @return the point of intersection of points if it is in the "bounds" of the points * Limit the length of this point. * * @param max maximum length of this point * Get the angle between points (in radians). * * @param p second point, which we find the angle * @return the angle in radians * The angle between points (in degrees). * * @param p second point, which we find the angle * @return the angle in radians * The sign of half-plane of point with respect to the point through the a and b points. * * @param a start point of the wall-point * @param b end point of the wall-point * The distance between points * The squared distance between points { bounceCoeff : 1 } { friction : 0, bounceCoeff : 1 } * Checking if this is a valid point. * * @return true - if the point is valid * Copies this point. * * @param p optional point to copy this point to * @return copy of this point hscript.UsingHandler.build() hscript.ClassExtendMacro.build() 0.0000001 EPSILON * EPSILON <_point1 expr="new FlxPoint()" line="77" static="1"> new FlxPoint() <_point2 expr="new FlxPoint()" line="78" static="1"> new FlxPoint() <_point3 expr="new FlxPoint()" line="79" static="1"> new FlxPoint() { y : 0, x : 0 } * Recycle or create new FlxPoint. * Be sure to put() them back into the pool after you're done with them! * * @param x The X-coordinate of the point in space. * @param y The Y-coordinate of the point in space. { y : 0, x : 0 } * Recycle or create a new FlxPoint which will automatically be released * to the pool when passed into a flixel function. * * @param x The X-coordinate of the point in space. * @param y The Y-coordinate of the point in space. * @since 4.6.0 A + B * Operator that adds two points, returning a new point. A - B * Operator that subtracts two points, returning a new point. A * B * Operator that scales a point by float, returning a new point. A / B * Operator that divides a point by float, returning a new point. A += B * Operator that adds two points, returning a new point. A -= B * Operator that subtracts two points, returning a new point. A *= B * Operator that scales a points by float, returning a new point. A + B * Operator that adds two points, returning a new point. A - B * Operator that subtracts two points, returning a new point. A - B * Operator that subtracts two points, returning a new point. A += B * Operator that adds two points, returning a new point. A -= B * Operator that subtracts two points, returning a new point. * The horizontal component of the unit point * The vertical component of the unit point * Length of the point * length of the point squared * The angle formed by the point with the horizontal axis (in degrees) * The angle formed by the point with the horizontal axis (in radians) * The horizontal component of the right normal of the point * The vertical component of the right normal of the point * The horizontal component of the left normal of the point * The vertical component of the left normal of the point <_new public="1" get="inline" set="null" line="300" static="1"> { y : 0, x : 0 } { y : 0, x : 0 } * Set the coordinates of this point object. * * @param x The X-coordinate of the point in space. * @param y The Y-coordinate of the point in space. { y : 0, x : 0 } * Adds to the coordinates of this point. * * @param x Amount to add to x * @param y Amount to add to y * @return This point. * Adds the coordinates of another point to the coordinates of this point. * * @param point The point to add to this point * @return This point. { y : 0, x : 0 } * Subtracts from the coordinates of this point. * * @param x Amount to subtract from x * @param y Amount to subtract from y * @return This point. * Subtracts the coordinates of another point from the coordinates of this point. * * @param point The point to subtract from this point * @return This point. * Scale this point. * * @param x - scale x coefficient * @param y - scale y coefficient, if omitted, x is used * @return scaled point * Scale this point by another point. * * @param point - The x and y scale coefficient * @return scaled point * Returns scaled copy of this point. * * @param k - scale coefficient * @return scaled point * Return new point which equals to sum of this point and passed p point. * * @param p point to add * @return addition result * Returns new point which is result of subtraction of p point from this point. * * @param p point to subtract * @return subtraction result * Helper function, just copies the values from the specified point. * * @param p Any FlxPoint. * @return A reference to itself. * Helper function, just copies the values from the specified Flash point. * * @param p Any Point. * @return A reference to itself. * Helper function, just copies the values from this point to the specified point. * * @param p optional point to copy this point to * @return copy of this point * Helper function, just copies the values from this point to the specified Flash point. * * @param p Any Point. * @return A reference to the altered point parameter. * Helper function, just increases the values of the specified Flash point by the values of this point. * * @param p Any Point. * @return A reference to the altered point parameter. * Helper function, just decreases the values of the specified Flash point by the values of this point. * * @param p Any Point. * @return A reference to the altered point parameter. * Rounds x and y using Math.floor() * Rounds x and y using Math.ceil() * Rounds x and y using Math.round() * Returns true if this point is within the given rectangular bounds * * @param x The X value of the region to test within * @param y The Y value of the region to test within * @param width The width of the region to test within * @param height The height of the region to test within * @return True if the point is within the region, otherwise false * Returns true if this point is within the given rectangular block * * @param rect The FlxRect to test within * @return True if pointX/pointY is within the FlxRect, otherwise false "rotate is deprecated, use pivotDegrees" * Rotates this point clockwise in 2D space around another point by the given degrees. * * @param pivot The pivot you want to rotate this point around * @param degrees Rotate the point by this many degrees clockwise. * @return A FlxPoint containing the coordinates of the rotated point. * Rotates this point clockwise in 2D space around another point by the given radians. * Note: To rotate a point around 0,0 you can use `p.radians += angle` * @since 5.0.0 * * @param pivot The pivot you want to rotate this point around * @param radians Rotate the point by this many radians clockwise. * @return A FlxPoint containing the coordinates of the rotated point. * Rotates this point clockwise in 2D space around another point by the given degrees. * Note: To rotate a point around 0,0 you can use `p.degrees += angle` * @since 5.0.0 * * @param pivot The pivot you want to rotate this point around * @param degrees Rotate the point by this many degrees clockwise. * @return A FlxPoint containing the coordinates of the rotated point. * Calculate the distance to another point. * * @param point A FlxPoint object to calculate the distance to. * @return The distance between the two points as a Float. * Calculates the angle from this to another point. * If the point is straight right of this, 0 is returned. * @since 5.0.0 * * @param point The other point. * @return The angle, in radians, between -PI and PI * Calculates the angle from another point to this. * If this is straight right of the point, 0 is returned. * @since 5.0.0 * * @param point The other point. * @return The angle, in radians, between -PI and PI * Calculates the angle from this to another point. * If the point is straight right of this, 0 is returned. * @since 5.0.0 * * @param point The other point. * @return The angle, in degrees, between -180 and 180 * Calculates the angle from another point to this. * If this is straight right of the point, 0 is returned. * @since 5.0.0 * * @param point The other point. * @return The angle, in degrees, between -180 and 180 "angleBetween is deprecated, use degreesTo instead" DEPRECATED * * Calculates the angle between this and another point. 0 degrees points straight up. * * Note: Every other flixel function treats straight right as 0 degrees. * * Also Note: The result is very innacurate. * * @param point The other point. * @return The angle in degrees, between -180 and 180. * * @see [Flixel 5.0.0 Migration guide](https://github.com/HaxeFlixel/flixel/wiki/Flixel-5.0.0-Migration-guide) * Applies transformation matrix to this point * @param matrix transformation matrix * @return transformed point * Short for dot product. * * @param p point to multiply * @return dot product of two points * Dot product between two points. * * @param p point to multiply * @return dot product of two points * Dot product between two points. * Meant for internal use, does not call putWeak. * * @param p point to multiply * @return dot product of two points * Dot product of points with normalization of the second point. * * @param p point to multiply * @return dot product of two points * Check the perpendicularity of two points. * * @param p point to check * @return true - if they are perpendicular * Find the length of cross product between two points. * * @param p point to multiply * @return the length of cross product of two points * Find the length of cross product between two points. * Meant for internal use, does not call putWeak. * * @param p point to multiply * @return the length of cross product of two points * Check for parallelism of two points. * * @param p point to check * @return true - if they are parallel * Check for parallelism of two points. * Meant for internal use, does not call putWeak. * * @param p point to check * @return true - if they are parallel * Check if this point has zero length. * * @return true - if the point is zero * point reset * Normalization of the point (reduction to unit length) * Check the point for unit length * Rotate the point for a given angle. * * @param rads angle to rotate * @return rotated point * Rotate the point for a given angle. * * @param degs angle to rotate * @return rotated point * Rotate the point with the values of sine and cosine of the angle of rotation. * * @param sin the value of sine of the angle of rotation * @param cos the value of cosine of the angle of rotation * @return rotated point * Sets the polar coordinates of the point * * @param length The length to set the point * @param radians The angle to set the point, in radians * @return The rotated point * * @since 4.10.0 * Sets the polar coordinates of the point * * @param length The length to set the point * @param degrees The angle to set the point, in degrees * @return The rotated point * * @since 4.10.0 * Right normal of the point * Left normal of the point * Change direction of the point to opposite * The projection of this point to point that is passed as an argument * (without modifying the original point!). * * @param p point to project * @param proj optional argument - result point * @return projection of the point * Projecting this point on the normalized point p. * * @param p this point has to be normalized, ie have unit length * @param proj optional argument - result point * @return projection of the point * Projecting this point on the normalized point p. * Meant for internal use, does not call putWeak. * * @param p this point has to be normalized, ie have unit length * @param proj optional argument - result point * @return projection of the point * Dot product of left the normal point and point p. * Dot product of left the normal point and point p. * Meant for internal use, does not call putWeak. * Find the ratio between the perpProducts of this point and p point. This helps to find the intersection point. * * @param a start point of the point * @param b start point of the p point * @param p the second point * @return the ratio between the perpProducts of this point and p point * Find the ratio between the perpProducts of this point and p point. This helps to find the intersection point. * Meant for internal use, does not call putWeak. * * @param a start point of the point * @param b start point of the p point * @param p the second point * @return the ratio between the perpProducts of this point and p point * Finding the point of intersection of points. * * @param a start point of the point * @param b start point of the p point * @param p the second point * @return the point of intersection of points * Finding the point of intersection of points if it is in the "bounds" of the points. * * @param a start point of the point * @param b start point of the p point * @param p the second point * @return the point of intersection of points if it is in the "bounds" of the points * Limit the length of this point. * * @param max maximum length of this point * Get the angle between points (in radians). * * @param p second point, which we find the angle * @return the angle in radians * The angle between points (in degrees). * * @param p second point, which we find the angle * @return the angle in radians * The sign of half-plane of point with respect to the point through the a and b points. * * @param a start point of the wall-point * @param b end point of the wall-point * The distance between points * The squared distance between points { bounceCoeff : 1 } { friction : 0, bounceCoeff : 1 } * Checking if this is a valid point. * * @return true - if the point is valid * Copies this point. * * @param p optional point to copy this point to * @return copy of this point hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_setXCallback> <_setYCallback> <_setXYCallback> { y : 0, x : 0 } * If you only specify one callback function, then the remaining two will use the same. * * @param setXCallback Callback for set_x() * @param setYCallback Callback for set_y() * @param setXYCallback Callback for set() * A FlxPoint that calls a function when set_x(), set_y() or set() is called. Used in FlxSpriteGroup. * IMPORTANT: Calling set(x, y); is MUCH FASTER than setting x and y separately. Needs to be destroyed unlike simple FlxPoints! hscript.UsingHandler.build() hscript.ClassExtendMacro.build() cast (0.0000001, Float) cast (EPSILON * EPSILON, Float) <_point1 public="1" expr="cast (new FlxPoint(), flixel.math.FlxPoint)" line="23" static="1"> cast (new FlxPoint(), flixel.math.FlxPoint) <_point2 public="1" expr="cast (new FlxPoint(), flixel.math.FlxPoint)" line="23" static="1"> cast (new FlxPoint(), flixel.math.FlxPoint) <_point3 public="1" expr="cast (new FlxPoint(), flixel.math.FlxPoint)" line="23" static="1"> cast (new FlxPoint(), flixel.math.FlxPoint) { y : 0, x : 0 } * Recycle or create new FlxPoint. * Be sure to put() them back into the pool after you're done with them! * * @param x The X-coordinate of the point in space. * @param y The Y-coordinate of the point in space. { y : 0, x : 0 } * Recycle or create a new FlxPoint which will automatically be released * to the pool when passed into a flixel function. * * @param x The X-coordinate of the point in space. * @param y The Y-coordinate of the point in space. * @since 4.6.0 A + B * Operator that adds two points, returning a new point. A - B * Operator that subtracts two points, returning a new point. A * B * Operator that scales a point by float, returning a new point. A / B * Operator that divides a point by float, returning a new point. A += B * Operator that adds two points, returning a new point. A -= B * Operator that subtracts two points, returning a new point. A *= B * Operator that scales a points by float, returning a new point. A + B * Operator that adds two points, returning a new point. A - B * Operator that subtracts two points, returning a new point. A - B * Operator that subtracts two points, returning a new point. A += B * Operator that adds two points, returning a new point. A -= B * Operator that subtracts two points, returning a new point. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() { y : 0, x : 0 } * Set the coordinates of this point object. * * @param x The X-coordinate of the point in space. * @param y The Y-coordinate of the point in space. <_HX_SUPER__set public="1" set="method" line="148"> { y : 0, x : 0 } * Add this FlxBasePoint to the recycling pool. <_HX_SUPER__put public="1" set="method" line="31"> * Necessary for IFlxDestroyable. <_HX_SUPER__destroy public="1" set="method" line="148"> * Necessary for FlxCallbackPoint. <_HX_SUPER__set_x set="method" line="148"> * Necessary for FlxCallbackPoint. <_HX_SUPER__set_y set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.math.FlxPoint flixel.math.FlxPoint flixel.math.FlxPoint.FlxBasePoint flixel.math.FlxPoint.FlxCallbackPoint { y : 0, x : 0 } <_HX_SUPER__set public="1" set="method" line="148"> { y : 0, x : 0 } <_HX_SUPER__set_x set="method" line="148"> <_HX_SUPER__set_y set="method" line="148"> <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__put public="1" set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.math.FlxPoint flixel.math.FlxPoint flixel.math.FlxPoint.FlxBasePoint flixel.math.FlxPoint.FlxCallbackPoint flixel.math.FlxPoint.FlxPoint_HSC { Max : FlxMath.MAX_VALUE_INT, Min : 0 } * Returns a pseudorandom integer between Min and Max, inclusive. * Will not return a number in the Excludes array, if provided. * Please note that large Excludes arrays can slow calculations. * * @param Min The minimum value that should be returned. 0 by default. * @param Max The maximum value that should be returned. 2,147,483,647 by default. * @param Excludes Optional array of values that should not be returned. <_HX_SUPER__int public="1" set="method" line="148"> { Max : FlxMath.MAX_VALUE_INT, Min : 0 } { Max : 1, Min : 0 } * Returns a pseudorandom float value between Min (inclusive) and Max (exclusive). * Will not return a number in the Excludes array, if provided. * Please note that large Excludes arrays can slow calculations. * * @param Min The minimum value that should be returned. 0 by default. * @param Max The maximum value that should be returned. 1 by default. * @param Excludes Optional array of values that should not be returned. <_HX_SUPER__float public="1" set="method" line="148"> { Max : 1, Min : 0 } { StdDev : 1, Mean : 0 } * Returns a pseudorandom float value in a statistical normal distribution centered on Mean with a standard deviation size of StdDev. * (This uses the Box-Muller transform algorithm for gaussian pseudorandom numbers) * * Normal distribution: 68% values are within 1 standard deviation, 95% are in 2 StdDevs, 99% in 3 StdDevs. * See this image: https://github.com/HaxeFlixel/flixel-demos/blob/dev/Performance/FlxRandom/normaldistribution.png * * @param Mean The Mean around which the normal distribution is centered * @param StdDev Size of the standard deviation <_HX_SUPER__floatNormal public="1" set="method" line="148"> { StdDev : 1, Mean : 0 } * Pseudorandomly select from an array of weighted options. For example, if you passed in an array of [50, 30, 20] * there would be a 50% chance of returning a 0, a 30% chance of returning a 1, and a 20% chance of returning a 2. * Note that the values in the array do not have to add to 100 or any other number. * The percent chance will be equal to a given value in the array divided by the total of all values in the array. * * @param WeightsArray An array of weights. * @return A value between 0 and (SelectionArray.length - 1), with a probability equivalent to the values in SelectionArray. <_HX_SUPER__weightedPick public="1" set="method" line="148"> { GreyScale : false } * Returns a random color. * * @param Min An optional FlxColor representing the lower bounds for the generated color. * @param Max An optional FlxColor representing the upper bounds for the generated color. * @param Alpha An optional value for the alpha channel of the generated color. * @param GreyScale Whether or not to create a color that is strictly a shade of grey. False by default. * @return A color value as a FlxColor. <_HX_SUPER__color public="1" set="method" line="148"> { GreyScale : false } <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.math.FlxRandom * Calculates the globally aligned bounding box of a `FlxRect` with the given angle and origin. * @param degrees The rotation, in degrees of the rect. * @param origin The relative pivot point, or the point that the rectangle rotates around. * if `null` , the top-left (or 0,0) is used. * @param newRect Optional output `FlxRect`, if `null`, a new one is created. Note: If you like, you can * pass in the input rect to manipulate it. ex: `rect.calcRotatedBounds(angle, null, rect)` * @return A globally aligned `FlxRect` that fully contains the input rectangle. * @since 4.11.0 <_HX_SUPER__getRotatedBounds public="1" set="method" line="148"> * Necessary for IFlxDestroyable. <_HX_SUPER__destroy public="1" set="method" line="148"> * Returns the area of intersection with specified rectangle. * If the rectangles do not intersect, this method returns an empty rectangle. * * @param rect Rectangle to check intersection against. * @return The area of intersection of two rectangles. <_HX_SUPER__intersection public="1" set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.math.FlxRect * DEPRECATED - Use `FlxPoint` * @see [Flixel 5.0.0 Migration guide](https://github.com/HaxeFlixel/flixel/wiki/Flixel-5.0.0-Migration-guide) hscript.UsingHandler.build() hscript.ClassExtendMacro.build() "FlxVector utils have been moved to FlxPoint" { MaxTime : 0, Speed : 60 } * Sets the source FlxSprite x/y velocity so it will move directly towards the destination FlxSprite at the speed given (in pixels per second) * If you specify a maxTime then it will adjust the speed (over-writing what you set) so it arrives at the destination in that number of seconds. * Timings are approximate due to the way Flash timers work, and irrespective of SWF frame rate. Allow for a variance of +- 50ms. * The source object doesn't stop moving automatically should it ever reach the destination coordinates. * If you need the object to accelerate, see accelerateTowardsObject() instead * Note: Doesn't take into account acceleration, maxVelocity or drag (if you set drag or acceleration too high this object may not move at all) * * @param Source The FlxSprite on which the velocity will be set * @param Dest The FlxSprite where the source object will move to * @param Speed The speed it will move, in pixels per second (default is 60 pixels/sec) * @param MaxTime Time given in milliseconds (1000 = 1 sec). If set the speed is adjusted so the source will arrive at destination in the given number of ms * Sets the x/y acceleration on the source FlxSprite so it will move towards the destination FlxSprite at the speed given (in pixels per second) * You must give a maximum speed value, beyond which the FlxSprite won't go any faster. * If you don't need acceleration look at moveTowardsObject() instead. * * @param Source The FlxSprite on which the acceleration will be set * @param Dest The FlxSprite where the source object will move towards * @param Acceleration The speed it will accelerate in pixels per second * @param MaxSpeed The maximum speed in pixels per second in which the sprite can move { MaxTime : 0, Speed : 60 } * Move the given FlxSprite towards the mouse pointer coordinates at a steady velocity * If you specify a maxTime then it will adjust the speed (over-writing what you set) so it arrives at the destination in that number of seconds. * Timings are approximate due to the way Flash timers work, and irrespective of SWF frame rate. Allow for a variance of +- 50ms. * The source object doesn't stop moving automatically should it ever reach the destination coordinates. * * @param Source The FlxSprite to move * @param Speed The speed it will move, in pixels per second (default is 60 pixels/sec) * @param MaxTime Time given in milliseconds (1000 = 1 sec). If set the speed is adjusted so the source will arrive at destination in the given number of ms { MaxTime : 0, Speed : 60 } * Move the given FlxSprite towards a FlxTouch point at a steady velocity * If you specify a maxTime then it will adjust the speed (over-writing what you set) so it arrives at the destination in that number of seconds. * Timings are approximate due to the way Flash timers work, and irrespective of SWF frame rate. Allow for a variance of +- 50ms. * The source object doesn't stop moving automatically should it ever reach the destination coordinates. * * @param source The FlxSprite to move * @param speed The speed it will move, in pixels per second (default is 60 pixels/sec) * @param maxTime Time given in milliseconds (1000 = 1 sec). If set the speed is adjusted so the source will arrive at destination in the given number of ms * Sets the x/y acceleration on the source FlxSprite so it will move towards the mouse coordinates at the speed given (in pixels per second) * You must give a maximum speed value, beyond which the FlxSprite won't go any faster. * If you don't need acceleration look at moveTowardsMouse() instead. * * @param Source The FlxSprite on which the acceleration will be set * @param Acceleration The speed it will accelerate in pixels per second * @param MaxSpeed The maximum speed in pixels per second in which the sprite can move * Sets the x/y acceleration on the source FlxSprite so it will move towards a FlxTouch at the speed given (in pixels per second) * You must give a maximum speed value, beyond which the FlxSprite won't go any faster. * If you don't need acceleration look at moveTowardsMouse() instead. * * @param Source The FlxSprite on which the acceleration will be set * @param Touch The FlxTouch on which to accelerate towards * @param Acceleration The speed it will accelerate in pixels per second * @param MaxSpeed The maximum speed in pixels per second in which the sprite can move { MaxTime : 0, Speed : 60 } * Sets the x/y velocity on the source FlxSprite so it will move towards the target coordinates at the speed given (in pixels per second) * If you specify a maxTime then it will adjust the speed (over-writing what you set) so it arrives at the destination in that number of seconds. * Timings are approximate due to the way Flash timers work, and irrespective of SWF frame rate. Allow for a variance of +- 50ms. * The source object doesn't stop moving automatically should it ever reach the destination coordinates. * * @param Source The FlxSprite to move * @param Target The FlxPoint coordinates to move the source FlxSprite towards * @param Speed The speed it will move, in pixels per second (default is 60 pixels/sec) * @param MaxTime Time given in milliseconds (1000 = 1 sec). If set the speed is adjusted so the source will arrive at destination in the given number of ms * Sets the x/y acceleration on the source FlxSprite so it will move towards the target coordinates at the speed given (in pixels per second) * You must give a maximum speed value, beyond which the FlxSprite won't go any faster. * If you don't need acceleration look at moveTowardsPoint() instead. * * @param Source The FlxSprite on which the acceleration will be set * @param Target The FlxPoint coordinates to move the source FlxSprite towards * @param Acceleration The speed it will accelerate in pixels per second * @param MaxSpeed The maximum speed in pixels per second in which the sprite can move * Given the angle and speed calculate the velocity and return it as an FlxPoint * * @param Angle The angle (in degrees) calculated in clockwise positive direction (down = 90 degrees positive, right = 0 degrees positive, up = 90 degrees negative) * @param Speed The speed it will move, in pixels per second sq * @return A FlxPoint where FlxPoint.x contains the velocity x value and FlxPoint.y contains the velocity y value * Given the FlxSprite and speed calculate the velocity and return it as an FlxPoint based on the direction the sprite is facing * * @param Parent The FlxSprite to get the facing value from * @param Speed The speed it will move, in pixels per second * @return An FlxPoint where FlxPoint.x contains the velocity x value and FlxPoint.y contains the velocity y value * A tween-like function that takes a starting velocity and some other factors and returns an altered velocity. * * @param Velocity Any component of velocity (e.g. 20). * @param Acceleration Rate at which the velocity is changing. * @param Drag Really kind of a deceleration, this is how much the velocity changes if Acceleration is not set. * @param Max An absolute value cap for the velocity (0 for no cap). * @param Elapsed The amount of time passed in to the latest update cycle * @return The altered Velocity value. { resetVelocity : true } * Sets the x/y acceleration on the source FlxSprite so it will accelerate in the direction of the specified angle. * You must give a maximum speed value (in pixels per second), beyond which the FlxSprite won't go any faster. * * @param Source The FlxSprite on which the acceleration will be set * @param Radians The angle in which the FlxPoint will be set to accelerate * @param Acceleration The speed it will accelerate in pixels per second * @param MaxSpeed The maximum speed in pixels per second in which the sprite can move * @param ResetVelocity Whether to reset the FlxSprite velocity to 0 each time hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.math.FlxVelocity FlxPathType.FORWARD "Use FORWARD or FlxPathType.FORWARD instead" * Move from the start of the path to the end then stop. FlxPathType.BACKWARD "Use BACKWARD or FlxPathType.BACKWARD instead" * Move from the end of the path to the start then stop. FlxPathType.LOOP_FORWARD "Use LOOP_FORWARD or FlxPathType.LOOP_FORWARD instead" * Move from the start of the path to the end then directly back to the start, and start over. FlxPathType.LOOP_BACKWARD "Use LOOP_BACKWARD or FlxPathType.LOOP_BACKWARD instead" * Move from the end of the path to the start then directly back to the end, and start over. FlxPathType.YOYO "Use YOYO or FlxPathType.YOYO instead" * Move from the start of the path to the end then turn around and go back to the start, over and over. <_point expr="FlxPoint.get()" line="87" static="1"> FlxPoint.get() * Path behavior controls: move from the start of the path to the end then stop. * The list of FlxPoints that make up the path data. <_nodes> * An actual array, which holds all the path points. 0 * The speed at which the object is moving on the path. * When an object completes a non-looping path circuit, * the path's speed will be zeroed out, but the path reference * will NOT be nulled out. So `speed` is a good way * to check if this object is currently following a path or not. false * Whether to make the object immovable while active. 0 * The angle in degrees between this object and the next node, where -90 is directly upward, and 0 is to the right. true * Whether the object should auto-center the path or at its origin. false * Whether the object's angle should be adjusted to the path angle during path follow behavior. 0 * The amount of degrees to offset from the path's angle, when `autoRotate` is `true`. To use * flixel 4.11's autoRotate behavior, set this to `90`, so there is no rotation at 0 degrees. * * @see [Flixel 5.0.0 Migration guide](https://github.com/HaxeFlixel/flixel/wiki/Flixel-5.0.0-Migration-guide) * @since 5.0.0 false * Pauses or checks the pause state of the path. 0 * Tracks which node of the path this object is currently moving toward. false XY * Whether to limit movement to certain axes. <_mode> * Internal tracker for path behavior flags (like looping, yoyo, etc). <_inc expr="1"> 1 * Internal helper for node navigation, specifically yo-yo and backwards movement. <_wasObjectImmovable expr="null"> null <_firstUpdate expr="false"> false flixel.FlxObject * Object which will follow this path * Just resets some debugging related variables (for debugger renderer). * Also resets `autoCenter` to `true`. * @return This path object. { autoRotate : false, mode : FlxPathType.FORWARD, speed : 100.0 } * Sets the following properties: `speed`, `mode` and auto rotation. * * @param speed The speed at which the object is moving on the path. * @param mode Path following behavior (like looping, horizontal only, etc). * @param autoRotate Whether the object's angle should be adjusted to the path angle during * path follow behavior. Note that moving straight right is 0 degrees, when angle * angleOffset is 0. * @return This path object. * @since 4.2.0 { nodesAsReference : false, autoRotate : false, mode : FlxPathType.FORWARD, speed : 100.0 } * Starts movement along specified path. * * @param nodes An optional array of path waypoints. If null then previously added points will be used. Movement is not started if the resulting array has no points. * @param speed The speed at which the object is moving on the path. * @param mode Path following behavior (like looping, horizontal only, etc). * @param autoRotate The object's angle should be adjusted to the path angle during path follow behavior. * @param nodesAsReference To pass the input array as reference (true) or to copy the points (false). Default is false. * @return This path object. * Restarts this path. So object starts movement again from the first (or last) path point * (depends on path movement behavior mode). * * @return This path object. * Change the path node this object is currently at. * * @param NodeIndex The index of the new node out of path.nodes. * Internal function for moving the object along the path. * The first half of the function decides if the object can advance to the next node in the path, * while the second half handles actually picking a velocity toward the next node. { snap : true } * Internal function that decides what node in the path to aim for next based on the behavior flags. * * @return The node (a `FlxPoint`) we are aiming for next. * Stops the path's movement. * * @return This path object. * Called when the path ends, either by completing normally or via `cancel()`. * Clean up memory. * Add a new node to the end of the path at the specified location. * * @param x X position of the new path point in world coordinates. * @param y Y position of the new path point in world coordinates. * * @return This path object. * Add a new node to the path at the specified location and index within the path. * * @param x X position of the new path point in world coordinates. * @param y Y position of the new path point in world coordinates. * @param index Where within the list of path nodes to insert this new point. * * @return This path object. { asReference : false } * Sometimes its easier or faster to just pass a point object instead of separate X and Y coordinates. * This also gives you the option of not creating a new node but actually adding that specific * FlxPoint object to the path. This allows you to do neat things, like dynamic paths. * * @param node The point in world coordinates you want to add to the path. * @param asReference Whether to add the point as a reference, or to create a new point with the specified values. * * @return This path object. { asReference : false } * Sometimes its easier or faster to just pass a point object instead of separate X and Y coordinates. * This also gives you the option of not creating a new node but actually adding that specific * FlxPoint object to the path. This allows you to do neat things, like dynamic paths. * * @param node The point in world coordinates you want to add to the path. * @param index Where within the list of path nodes to insert this new point. * @param asReference Whether to add the point as a reference, or to create a new point with the specified values. * * @return This path object. * Remove a node from the path. * NOTE: only works with points added by reference or with references from nodes itself! * * @param node The point object you want to remove from the path. * @return The node that was excised. Returns null if the node was not found. * Remove a node from the path using the specified position in the list of path nodes. * * @param index Where within the list of path nodes you want to remove a node. * @return The node that was excised. Returns null if there were no nodes in the path. * Get the first node in the list. * * @return The first node in the path. * Get the last node in the list. * * @return The last node in the path. = [new FlxPoint(0, 0), new FlxPoint(100, 0)]; * object.path = path; * path.start(points, 50, FORWARD); * ``` * * You can also do this in one line: * * ```haxe * object.path = new FlxPath().start([new FlxPoint(0, 0), new FlxPoint(100, 0)], 50, FORWARD); * ``` * * ...or using some more chaining: * * ```haxe * object.path = new FlxPath().add(0, 0).add(100, 0).start(50, FORWARD); * ``` * * If you are fine with the default values of start (speed, mode, auto-rotate) you can also do: * * ```haxe * object.path = new FlxPath([new FlxPoint(0, 0), new FlxPoint(100, 0)]).start(); * ```]]> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Path behavior controls hscript.UsingHandler.build() hscript.ClassExtendMacro.build() cast 0x000000 * Move from the start of the path to the end then stop. cast 0x000001 * Move from the end of the path to the start then stop. cast 0x000010 * Move from the start of the path to the end then directly back to the start, and start over. cast 0x000100 * Move from the end of the path to the start then directly back to the end, and start over. cast 0x001000 * Move from the start of the path to the end then turn around and go back to the start, over and over. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() cast 0x000000 * Move from the start of the path to the end then stop. cast 0x000001 * Move from the end of the path to the start then stop. cast 0x000010 * Move from the start of the path to the end then directly back to the start, and start over. cast 0x000100 * Move from the end of the path to the start then directly back to the end, and start over. cast 0x001000 * Move from the start of the path to the end then turn around and go back to the start, over and over. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() FlxColor.WHITE FlxColor.WHITE FlxColor.GREEN FlxColor.RED 1 3 5 5 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() cast (0x000000, flixel.path.FlxPathType) * Move from the start of the path to the end then stop. cast (0x000001, flixel.path.FlxPathType) * Move from the end of the path to the start then stop. cast (0x000010, flixel.path.FlxPathType) * Move from the start of the path to the end then directly back to the start, and start over. cast (0x000100, flixel.path.FlxPathType) * Move from the end of the path to the start then directly back to the end, and start over. cast (0x001000, flixel.path.FlxPathType) * Move from the start of the path to the end then turn around and go back to the start, over and over. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Just resets some debugging related variables (for debugger renderer). * Also resets `autoCenter` to `true`. * @return This path object. <_HX_SUPER__reset public="1" set="method" line="148"> { autoRotate : false, mode : FlxPathType.FORWARD, speed : 100.0 } * Sets the following properties: `speed`, `mode` and auto rotation. * * @param speed The speed at which the object is moving on the path. * @param mode Path following behavior (like looping, horizontal only, etc). * @param autoRotate Whether the object's angle should be adjusted to the path angle during * path follow behavior. Note that moving straight right is 0 degrees, when angle * angleOffset is 0. * @return This path object. * @since 4.2.0 <_HX_SUPER__setProperties public="1" set="method" line="148"> { autoRotate : false, mode : FlxPathType.FORWARD, speed : 100.0 } { nodesAsReference : false, autoRotate : false, mode : FlxPathType.FORWARD, speed : 100.0 } * Starts movement along specified path. * * @param nodes An optional array of path waypoints. If null then previously added points will be used. Movement is not started if the resulting array has no points. * @param speed The speed at which the object is moving on the path. * @param mode Path following behavior (like looping, horizontal only, etc). * @param autoRotate The object's angle should be adjusted to the path angle during path follow behavior. * @param nodesAsReference To pass the input array as reference (true) or to copy the points (false). Default is false. * @return This path object. <_HX_SUPER__start public="1" set="method" line="148"> { nodesAsReference : false, autoRotate : false, mode : FlxPathType.FORWARD, speed : 100.0 } * Restarts this path. So object starts movement again from the first (or last) path point * (depends on path movement behavior mode). * * @return This path object. <_HX_SUPER__restart public="1" set="method" line="148"> * Change the path node this object is currently at. * * @param NodeIndex The index of the new node out of path.nodes. <_HX_SUPER__setNode public="1" set="method" line="148"> * Internal function for moving the object along the path. * The first half of the function decides if the object can advance to the next node in the path, * while the second half handles actually picking a velocity toward the next node. <_HX_SUPER__update public="1" set="method" line="31"> <_HX_SUPER__calculateVelocity set="method" line="31"> { snap : true } * Internal function that decides what node in the path to aim for next based on the behavior flags. * * @return The node (a `FlxPoint`) we are aiming for next. <_HX_SUPER__advancePath set="method" line="148"> { snap : true } * Stops the path's movement. * * @return This path object. <_HX_SUPER__cancel public="1" set="method" line="148"> * Called when the path ends, either by completing normally or via `cancel()`. <_HX_SUPER__onEnd set="method" line="31"> * Clean up memory. <_HX_SUPER__destroy public="1" set="method" line="31"> * Add a new node to the end of the path at the specified location. * * @param x X position of the new path point in world coordinates. * @param y Y position of the new path point in world coordinates. * * @return This path object. <_HX_SUPER__add public="1" set="method" line="148"> * Add a new node to the path at the specified location and index within the path. * * @param x X position of the new path point in world coordinates. * @param y Y position of the new path point in world coordinates. * @param index Where within the list of path nodes to insert this new point. * * @return This path object. <_HX_SUPER__addAt public="1" set="method" line="148"> { asReference : false } * Sometimes its easier or faster to just pass a point object instead of separate X and Y coordinates. * This also gives you the option of not creating a new node but actually adding that specific * FlxPoint object to the path. This allows you to do neat things, like dynamic paths. * * @param node The point in world coordinates you want to add to the path. * @param asReference Whether to add the point as a reference, or to create a new point with the specified values. * * @return This path object. <_HX_SUPER__addPoint public="1" set="method" line="148"> { asReference : false } { asReference : false } * Sometimes its easier or faster to just pass a point object instead of separate X and Y coordinates. * This also gives you the option of not creating a new node but actually adding that specific * FlxPoint object to the path. This allows you to do neat things, like dynamic paths. * * @param node The point in world coordinates you want to add to the path. * @param index Where within the list of path nodes to insert this new point. * @param asReference Whether to add the point as a reference, or to create a new point with the specified values. * * @return This path object. <_HX_SUPER__addPointAt public="1" set="method" line="148"> { asReference : false } * Remove a node from the path. * NOTE: only works with points added by reference or with references from nodes itself! * * @param node The point object you want to remove from the path. * @return The node that was excised. Returns null if the node was not found. <_HX_SUPER__remove public="1" set="method" line="148"> * Remove a node from the path using the specified position in the list of path nodes. * * @param index Where within the list of path nodes you want to remove a node. * @return The node that was excised. Returns null if there were no nodes in the path. <_HX_SUPER__removeAt public="1" set="method" line="148"> * Get the first node in the list. * * @return The first node in the path. <_HX_SUPER__head public="1" set="method" line="148"> * Get the last node in the list. * * @return The last node in the path. <_HX_SUPER__tail public="1" set="method" line="148"> <_HX_SUPER__get_nodes set="method" line="148"> <_HX_SUPER__set_nodes set="method" line="148"> <_HX_SUPER__set_immovable set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.path.FlxPath flixel.path.FlxPath.FlxPathType flixel.path.FlxPath.FlxPathType flixel.path.FlxPath.FlxPathDrawData <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.path.FlxPath flixel.path.FlxPath.FlxPathType flixel.path.FlxPath.FlxPathType flixel.path.FlxPath.FlxPathDrawData * Used to find paths in a FlxBaseTilemap. extend this class and override * `getNeighbors` and `getDistance` to create you're own! For top-down maps, it may * be wiser to extend FlxDiagonalPathfinder, as it already has a lot of basic helpers. * @since 5.0.0 * * To use, either call `myPathfinder.findPath(myMap, start, end)` or * `myMap.findPathCustom(myPathfinder, start, end)` hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * The path data created whenever a `FlxPathfinderData` is used. * @since 5.0.0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() Data currently being processed by the pathfinder { simplify : LINE } * Find a path through the tilemap. Any tile with any collision flags set is treated as impassable. * If no path is discovered then a null reference is returned. * * @param map The map we're moving through. * @param start The start point in world coordinates. * @param end The end point in world coordinates. * @param simplify The simplification method to run on the raw path. Default value is LINE. * @return An Array of FlxPoints, containing all waypoints from the start to the end. If no path * could be found, then a null reference is returned. * Find a path through the tilemap. Any tile with any collision flags set is treated as impassable. * If no path is discovered then a null reference is returned. * * @param map The map we're moving through. * @param startIndex The start point in world coordinates. * @param endIndex The end point in world coordinates. * @return An Array of FlxPoints, containing all waypoints from the start to the end. If no path could be found, * then a null reference is returned. * Helper for findPathIndices, after a data instance is already created. * * @param data The pathfinder data for this current search. * Pathfinding helper function, strips out extra points on the same line. * * @param data The pathfinder data for this current search. * @param points An array of FlxPoint nodes. * Pathfinding helper function, strips out extra points on the same line. * * @param data The pathfinder data for this current search. * @param points An array of FlxPoint nodes. * Pathfinding helper function, strips out even more points by raycasting from one * point to the next and dropping unnecessary points. * * @param data The pathfinder data for this current search. * @param points An array of FlxPoint nodes. * Pathfinding helper function, strips out even more points by raycasting from one * point to the next and dropping unnecessary points. * * @param data The pathfinder data for this current search. * @param points An array of FlxPoint nodes. * Pathfinding helper function, strips out even more points by rayStepping from one * point to the next and dropping unnecessary points. * * @param data The pathfinder data for this current search. * @param points An array of FlxPoint nodes. * @param reolution Defaults to 1, meaning check every tile or so. Higher means more checks! { stopOnEnd : true } * Pathfinding helper function, floods a grid with distance information until it finds the end point. * NOTE: Currently this process does NOT use any kind of fancy heuristic! It's pretty brute. * * @param map The map we're moving through. * @param startIndex The starting tile's map index. * @param endIndex The ending tile's map index. * @param stopOnEnd Whether to stop at the end or not. default true. * @return An array of FlxPoint nodes. If the end tile could not be found, then a null Array is returned instead. { stopOnEnd : true } * Actually begins the brute pathfinding process. * * @param data The pathfinder data for this current search. * @param stopOnEnd Whether to stop at the end or not. default true. * @return The pathfinder data that was passed in. * Intended to be overriden according to your pathfinder extension's needs. * Returns all neighbors this tile can travel to in a single "move". * * @param from The tile we're moving from. * @return A list of tile indices. * Intended to be overriden according to your pathfinder extension's needs. Otherwise throws an error * * Determines the weight or value of moving from one tile to another (lower being more valuable). * * @param from The tile we moved from. * @param to The tile we moved to. * @return Float used for comparisons in finding the best route. * Intended to be overriden according to your pathfinder extension's needs. * * Determines whether the path has found the solution and can stop. By default it * checks if there is any valid move to the end posiion. * * Note: The pathfinder will still continue computing paths if `stopOnEnd` is false. * Intended to be overriden according to your pathfinder extension's needs. * * Determines whether the tile has found the shortest path and can be avoided. * By default it returns true. * Intended to be overriden according to your pathfinder extension's needs. * * Determines whether the pathfinder should even bother computing paths. By default it * makes sure the supplied start and end positions are valid and have collision:NONE. * Creates a FlxTilemapPathPolicy. * * @param factory A method to create `FlxTypedPathfinderData` instances. * Note: You don't need to create a new instances of the same policy for different maps. * Typed version of `FlxPathfinder` in case you're using * a different `FlxPathfinderData` or FlxTilemap type. * @since 5.0.0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Determines which neighbors are inside the maps bounds. * * @param from The tile index we're moving from. * @return Direction flags indicating the direction. { dir : ANY } * Useful If you want to extend this with slight changes. * * @param data The pathfinder data for this current search. * @param to The tile index we're moving from. * @param dir The direction we came from. { diagonalPolicy : NONE } * A basic implementation of FlxPathfinder that allows for different diagonal policies. * @since 5.0.0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Usually just FlxPathfinderData.new, but can be any function that takes a map and 2 * indices and returns whatever FlxPathfinderData you're looking for. * @since 5.0.0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() The start index of path The end index of path The end index of path The distance of every tile from the starting position Every index has the tileIndex that reached it first while computing the path Every index has the tileIndex that reached it first while computing the path Whether a path from startIndex to endIndex was found * If possible, this returns the tile indices used to get there the fastest. * If impossible, null is returned. * If the desired start to end path was successful, this returns the tile indices used * to get there the fastest. If unsuccessful, null is returned. * Whether the specified index is excluded as a possible path. * Meaning no shorter paths to it can be found. * Helper for converting a tile index to a X index. * Helper for converting a tile index to a Y index. * Helper that gets the collision properties of a tile by it's index. * Mainly a helper class for FlxTilemapPathPolicy. Used to store data while the paths * are computed, but also useful for analyzing the data once it's done somputing. * * @param mapSize The total number of tiles in the map * @param startIndex The start index of the path * @param endIndex The end index of the path * The data used by Pathfinders to "solve" a single pathfinding request. A new Instance * gets created whenever you request pathfinder computations. Extend this class if your * pathfinding needs require special iterative data. * @since 5.0.0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() flixel.path.FlxTypedPathfinder * No simplification * Removes nodes that are directly in line with it's neighbors * Removes nodes who'with neighbors that have no walls directly blocking * Uses `tilemap.ray`. * Removes nodes who'with neighbors that have no walls directly blocking * Uses `tilemap.rayStep`. * Removes nodes who'with neighbors that have no walls directly * blocking a box of the given size. Assumes centered origin * Uses `tilemap.ray`. * calls the method to simplify hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * The policy to use with `FlxDiagonalPathfinder`. * @since 5.0.0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() cast 0 * No diagonal movement allowed when calculating the path cast 1 * Diagonal movement costs the same as orthogonal movement cast 2 * Diagonal movement costs one more than orthogonal movement hscript.UsingHandler.build() hscript.ClassExtendMacro.build() cast 0 * No diagonal movement allowed when calculating the path cast 1 * Diagonal movement costs the same as orthogonal movement cast 2 * Diagonal movement costs one more than orthogonal movement hscript.UsingHandler.build() hscript.ClassExtendMacro.build() cast (0, flixel.path.FlxTilemapDiagonalPolicy) * No diagonal movement allowed when calculating the path cast (1, flixel.path.FlxTilemapDiagonalPolicy) * Diagonal movement costs the same as orthogonal movement cast (2, flixel.path.FlxTilemapDiagonalPolicy) * Diagonal movement costs one more than orthogonal movement hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__getNeighbors set="method" line="148"> * Determines which neighbors are inside the maps bounds. * * @param from The tile index we're moving from. * @return Direction flags indicating the direction. <_HX_SUPER__getInBoundDirections set="method" line="148"> { dir : ANY } * Useful If you want to extend this with slight changes. * * @param data The pathfinder data for this current search. * @param to The tile index we're moving from. * @param dir The direction we came from. <_HX_SUPER__canGo set="method" line="148"> { dir : ANY } <_HX_SUPER__getDistance set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.path.FlxPathfinder flixel.path.FlxPathfinder.FlxPathfinderData flixel.path.FlxPathfinder.FlxTypedPathfinder flixel.path.FlxPathfinder.FlxDiagonalPathfinder flixel.path.FlxPathfinder.FlxPathfinderDataFactory flixel.path.FlxPathfinder.FlxTypedPathfinderData flixel.path.FlxPathfinder.FlxPathSimplifier flixel.path.FlxPathfinder.FlxTilemapDiagonalPolicy flixel.path.FlxPathfinder.FlxTilemapDiagonalPolicy flixel.path.FlxPathfinder.FlxTilemapDiagonalPolicy_HSC "__ASSET__:bitmap_flixel_system_GraphicLogo" { fillRGBA : 0xFFFFFFFF, transparent : true } openfl.utils._internal.AssetsMacro.embedBitmap() openfl.utils._internal.AssetsMacro.embedBitmap() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() "assets/images/logo/logo.png" "__ASSET__:bitmap_flixel_system_GraphicVirtualInput" { fillRGBA : 0xFFFFFFFF, transparent : true } openfl.utils._internal.AssetsMacro.embedBitmap() openfl.utils._internal.AssetsMacro.embedBitmap() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() "assets/images/ui/virtual-input.png" The byte order for the data, either the `BIG_ENDIAN` or `LITTLE_ENDIAN` constant from the Endian class. Used to determine whether the `AMF3` or `AMF0` format is used when writing or reading binary data using the `writeObject()` method. The value is a constant from the ObjectEncoding class. Writes a Boolean value. A single byte is written according to the `value` parameter, either 1 if `true` or 0 if `false`. @param value A Boolean value determining which byte is written. If the parameter is `true`, 1 is written; if `false`, 0 is written. Writes a byte. The low 8 bits of the parameter are used; the high 24 bits are ignored. @param value A byte value as an integer. { length : 0, offset : 0 } Writes a sequence of bytes from the specified byte array, bytes, starting at the byte specified by `offset` (using a zero-based index) with a length specified by `length`, into the file stream, byte stream, or byte array. If the `length` parameter is omitted, the default length of 0 is used and the entire buffer starting at `offset` is written. If the `offset` parameter is also omitted, the entire buffer is written. If the `offset` or `length` parameter is out of range, they are clamped to the beginning and end of the bytes array. @param bytes The byte array to write. @param offset A zero-based index specifying the position into the array to begin writing. @param length An unsigned integer specifying how far into the buffer to write. Writes an IEEE 754 double-precision (64-bit) floating point number. @param value A double-precision (64-bit) floating point number. Writes an IEEE 754 single-precision (32-bit) floating point number. @param value A single-precision (32-bit) floating point number. Writes a 32-bit signed integer. @param value A byte value as a signed integer. Writes a multibyte string to the file stream, byte stream, or byte array, using the specified character set. @param value The string value to be written. @param charSet The string denoting the character set to use. Possible character set strings include "shift-jis", "cn-gb", "iso-8859-1", and others. For a complete list, see Supported Character Sets. Writes an object to the file stream, byte stream, or byte array, in AMF serialized format. @param object The object to be serialized. Writes a 16-bit integer. The low 16 bits of the parameter are used; the high 16 bits are ignored. @param value A byte value as an integer. Writes a 32-bit unsigned integer. @param value A byte value as an unsigned integer. Writes a UTF-8 string to the file stream, byte stream, or byte array. The length of the UTF-8 string in bytes is written first, as a 16-bit integer, followed by the bytes representing the characters of the string. @param value The string value to be written. @throws RangeError If the `length` is larger than 65535. Writes a UTF-8 string. Similar to `writeUTF()`, but does not prefix the string with a 16-bit `length` word. @param value The string value to be written. The IDataOutput interface provides a set of methods for writing binary data. This interface is the I/O counterpart to the IDataInput interface, which reads binary data. The IDataOutput interface is implemented by the FileStream, Socket and ByteArray classes. All IDataInput and IDataOutput operations are "bigEndian" by default (the most significant byte in the sequence is stored at the lowest or first storage address), and are nonblocking. Sign extension matters only when you read data, not when you write it. Therefore, you do not need separate write methods to work with `IDataInput.readUnsignedByte()` and `IDataInput.readUnsignedShort()`. In other words: * Use `IDataOutput.writeByte()` with `IDataInput.readUnsignedByte()` and `IDataInput.readByte()`. * Use `IDataOutput.writeShort()` with `IDataInput.readUnsignedShort()` and `IDataInput.readShort()`. Returns the number of bytes of data available for reading in the input buffer. User code must call `bytesAvailable` to ensure that sufficient data is available before trying to read it with one of the read methods. The byte order for the data, either the `BIG_ENDIAN` or `LITTLE_ENDIAN` constant from the Endian class. Used to determine whether the `AMF3` or `AMF0` format is used when writing or reading binary data using the `readObject()` method. The value is a constant from the ObjectEncoding class. Reads a Boolean value from the file stream, byte stream, or byte array. A single byte is read and `true` is returned if the byte is nonzero, `false` otherwise. @returns A Boolean value, `true` if the byte is nonzero, `false` otherwise. @throws EOFError There is not sufficient data available to read. Reads a signed byte from the file stream, byte stream, or byte array. @returns The returned value is in the range -128 to 127. @throws EOFError There is not sufficient data available to read. { length : 0, offset : 0 } Reads the number of data bytes, specified by the `length` parameter, from the file stream, byte stream, or byte array. The bytes are read into the ByteArray objected specified by the `bytes` parameter, starting at the position specified by `offset`. @param bytes The ByteArray object to read data into. @param offset The offset into the `bytes` parameter at which data read should begin. @param length The number of bytes to read. The default value of 0 causes all available data to be read. @throws EOFError There is not sufficient data available to read. Reads an IEEE 754 double-precision floating point number from the file stream, byte stream, or byte array. @returns An IEEE 754 double-precision floating point number. @throws EOFError There is not sufficient data available to read. Reads an IEEE 754 single-precision floating point number from the file stream, byte stream, or byte array. @returns An IEEE 754 single-precision floating point number. @throws EOFError There is not sufficient data available to read. Reads a signed 32-bit integer from the file stream, byte stream, or byte array. @returns The returned value is in the range -2147483648 to 2147483647. @throws EOFError There is not sufficient data available to read. Reads a multibyte string of specified length from the file stream, byte stream, or byte array using the specified character set. @param length The number of bytes from the byte stream to read. @param charSet The string denoting the character set to use to interpret the bytes. Possible character set strings include "shift-jis", "cn-gb", "iso-8859-1", and others. For a complete list, see Supported Character Sets. **Note:** If the value for the `charSet` parameter is not recognized by the current system, then Adobe® Flash® Player or Adobe® AIR® uses the system's default code page as the character set. For example, a value for the `charSet` parameter, as in `myTest.readMultiByte(22, "iso-8859-01")`, that uses `01` instead of `1` might work on your development system, but not on another system. On the other system, Flash Player or the AIR runtime will use the system's default code page. @returns UTF-8 encoded string. @throws EOFError There is not sufficient data available to read. Reads an object from the file stream, byte stream, or byte array, encoded in AMF serialized format. @returns The deserialized object @throws EOFError There is not sufficient data available to read. Reads a signed 16-bit integer from the file stream, byte stream, or byte array. @returns The returned value is in the range -32768 to 32767. @throws EOFError There is not sufficient data available to read. Reads an unsigned byte from the file stream, byte stream, or byte array. @returns The returned value is in the range 0 to 255. @throws EOFError There is not sufficient data available to read. Reads an unsigned 32-bit integer from the file stream, byte stream, or byte array. @returns The returned value is in the range 0 to 4294967295. @throws EOFError There is not sufficient data available to read. Reads an unsigned 16-bit integer from the file stream, byte stream, or byte array. @returns The returned value is in the range 0 to 65535. @throws EOFError There is not sufficient data available to read. Reads a UTF-8 string from the file stream, byte stream, or byte array. The string is assumed to be prefixed with an unsigned short indicating the length in bytes. This method is similar to the `readUTF()` method in the Java® IDataInput interface. @returns A UTF-8 string produced by the byte representation of characters. @throws EOFError There is not sufficient data available to read. Reads a sequence of UTF-8 bytes from the byte stream or byte array and returns a string. @param length The number of bytes to read. @returns A UTF-8 string produced by the byte representation of characters of the specified length. @throws EOFError There is not sufficient data available to read. The IDataInput interface provides a set of methods for reading binary data. This interface is the I/O counterpart to the IDataOutput interface, which writes binary data. All IDataInput and IDataOutput operations are "bigEndian" by default (the most significant byte in the sequence is stored at the lowest or first storage address), and are nonblocking. If insufficient data is available, an `EOFError` exception is thrown. Use the `IDataInput.bytesAvailable` property to determine how much data is available to read. Sign extension matters only when you read data, not when you write it. Therefore you do not need separate write methods to work with `IDataInput.readUnsignedByte()` and `IDataInput.readUnsignedShort()`. In other words: * Use `IDataOutput.writeByte()` with `IDataInput.readUnsignedByte()` and `IDataInput.readByte()`. * Use `IDataOutput.writeShort()` with `IDataInput.readUnsignedShort()` and `IDataInput.readShort()`. ObjectEncoding.DEFAULT <__defaultEndian expr="null" line="1069" static="1"> null <__endian> <__length> { algorithm : ZLIB } { length : 0, offset : 0 } { algorithm : ZLIB } { length : 0, offset : 0 } <__fromBytes set="method" line="1730"> <__resize set="method" line="1740"> <__setData get="inline" set="null" line="1776"> { length : 0 } lime._internal.macros.AssetsMacro.embedBytes() lime._internal.macros.AssetsMacro.embedBytes() "tags=\"haxe,release\"" "checkstyle:FieldDocComment" lime._internal.macros.AssetsMacro.embedByteArray() hide "__ASSET__:file_flixel_system_VirtualInputData" { length : 0 } lime._internal.macros.AssetsMacro.embedByteArray() lime._internal.macros.AssetsMacro.embedByteArray() lime._internal.macros.AssetsMacro.embedBytes() lime._internal.macros.AssetsMacro.embedBytes() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() "assets/images/ui/virtual-input.txt" hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() "Nokia Cellphone FC Small" "Monsterrat" * Generates BitmapData from specified class. Less typing. * * @param source BitmapData class to generate BitmapData object from. * @return Newly instantiated BitmapData object. , then it will create BitmapData from this class; * 3) if the input is String, then it will get BitmapData from openfl.Assets; * 4) it will return null in any other case. * * @param Graphic input data to get BitmapData object for. * @return BitmapData for specified Dynamic object.]]> , then it will return the name of this class; * 3) if the input is String, then it will return it; * 4) it will return null in any other case. * * @param Graphic input data to get string key for. * @param Key optional key string. * @return Key String for specified Graphic object.]]> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> lime._internal.macros.AssetsMacro.embedBytes() lime._internal.macros.AssetsMacro.embedBytes() lime._internal.macros.AssetsMacro.embedByteArray() lime._internal.macros.AssetsMacro.embedByteArray() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.FlxAssets.GraphicLogo flixel.system.FlxAssets.GraphicVirtualInput flixel.system.FlxAssets.VirtualInputData flixel.system.FlxAssets.FlxAngelCodeSource flixel.system.FlxAssets.FlxTexturePackerSource flixel.system.FlxAssets.FlxSoundAsset flixel.system.FlxAssets.FlxGraphicAsset flixel.system.FlxAssets.FlxGraphicSource flixel.system.FlxAssets.FlxTilemapGraphicAsset flixel.system.FlxAssets.FlxBitmapFontGraphicAsset flixel.system.FlxAssets.FlxShader flixel.system.FlxAssets <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.FlxAssets.GraphicLogo flixel.system.FlxAssets.GraphicVirtualInput flixel.system.FlxAssets.VirtualInputData flixel.system.FlxAssets.FlxAngelCodeSource flixel.system.FlxAssets.FlxTexturePackerSource flixel.system.FlxAssets.FlxSoundAsset flixel.system.FlxAssets.FlxGraphicAsset flixel.system.FlxAssets.FlxGraphicSource flixel.system.FlxAssets.FlxTilemapGraphicAsset flixel.system.FlxAssets.FlxBitmapFontGraphicAsset flixel.system.FlxAssets.FlxShader flixel.system.FlxAssets flixel.FlxCamera * Called by game loop, updates then blits or renders current frame of animation to the screen hscript.UsingHandler.build() hscript.ClassExtendMacro.build() flixel.FlxCamera * Called by game loop, updates then blits or renders current frame of animation to the screen <_HX_SUPER__draw public="1" set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.FlxBGSprite openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() "localhost" * Add this string to allowedURLs array if you want to be able to test game with enabled site-locking on local machine 0 * Change this if you want the flixel logo to show for more or less time. Default value is 0 seconds (no delay). * List of allowed URLs for built-in site-locking. * Set it in FlxPreloader's constructor as: `['http://adamatomic.com/canabalt/', FlxPreloader.LOCAL]`; 0 * The index of which URL in allowedURLs will be triggered when a user clicks on the Site-lock Message. * For example, if allowedURLs is `['mysite.com', 'othersite.com']`, and `siteLockURLIndex = 1`, then * the user will go to 'othersite.com' when they click the message, but sitelocking will allow either of those URLs to work. * Defaults to 0. "Sorry." * The title text to display on the sitelock failure screen. * NOTE: This string should be reviewed for accuracy and may need to be localized. * * To customize this variable, create a class extending `FlxBasePreloader`, and override its value in the constructor: * * ```haxe * class Preloader extends FlxBasePreloader * { * public function new():Void * { * super(0, ["http://placeholder.domain.test/path/document.html"]); * * siteLockTitleText = "Custom title text."; * siteLockBodyText = "Custom body text."; * } * } * ``` * @since 4.3.0 "It appears the website you are using is hosting an unauthorized copy of this game. " + "Storage or redistribution of this content, without the express permission of the " + "developer or other copyright holder, is prohibited under copyright law.\n\n" + "Thank you for your interest in this game! Please support the developer by " + "visiting the following website to play the game:" * The body text to display on the sitelock failure screen. * NOTE: This string should be reviewed for accuracy and may need to be localized. * * To customize this variable, create a class extending `FlxBasePreloader`, and override its value in the constructor. * @see `siteLockTitleText` * @since 4.3.0 <_percent expr="0"> 0 <_width> <_height> <_loaded expr="false"> false <_urlChecked expr="false"> false <_destroyed expr="false"> false <_startTime> * Override this to create your own preloader objects. * This function is called externally to initialize the Preloader. * This function is called each update to check the load status of the project. * It is highly recommended that you do NOT override this. * This function is triggered on each 'frame'. * It is highly recommended that you do NOT override this. * This function is called when the project has finished loading. * Override it to remove all of your objects. * Override to draw your preloader objects in response to the Percent * * @param Percent How much of the program has loaded. * This function is called EXTERNALLY once the movie has actually finished being loaded. * Highly recommended you DO NOT override. * This should be used whenever you want to create a Bitmap that uses BitmapData embedded with the * @:bitmap metadata, if you want to support both Flash and HTML5. Because the embedded data is loaded * asynchronously in HTML5, any code that depends on the pixel data or size of the bitmap should be * in the onLoad function; any such code executed before it is called will fail on the HTML5 target. * * @param bitmapDataClass A reference to the BitmapData child class that contains the embedded data which is to be used. * @param onLoad Executed once the bitmap data is finished loading in HTML5, and immediately in Flash. The new Bitmap instance is passed as an argument. * @return The Bitmap instance that was created. * This should be used whenever you want to create a BitmapData object from a class containing data embedded with * the @:bitmap metadata. Often, you'll want to use the BitmapData in a Bitmap object; in this case, createBitmap() * can should be used instead. Because the embedded data is loaded asynchronously in HTML5, any code that depends on * the pixel data or size of the bitmap should be in the onLoad function; any such code executed before it is called * will fail on the HTML5 target. * * @param bitmapDataClass A reference to the BitmapData child class that contains the embedded data which is to be used. * @param onLoad Executed once the bitmap data is finished loading in HTML5, and immediately in Flash. The new BitmapData instance is passed as an argument. * @return The BitmapData instance that was created. * Site-locking Functionality { MinDisplayTime : 0 } * FlxBasePreloader Constructor. * @param MinDisplayTime Minimum time (in seconds) the preloader should be shown. (Default = 0) * @param AllowedURLs Allowed URLs used for Site-locking. If the game is run anywhere else, a message will be displayed on the screen (Default = []) openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__onAddedToStage public="1" set="method" line="148"> <_HX_SUPER__onComplete set="method" line="31"> <_HX_SUPER__onProgress public="1" set="method" line="31"> <_HX_SUPER__onInit public="1" set="method" line="148"> <_HX_SUPER__onLoaded public="1" set="method" line="148"> <_HX_SUPER__onUpdate public="1" set="method" line="31"> <__interp> openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.FlxBasePreloader flixel.system.FlxBasePreloader.DefaultPreloader * Override this to create your own preloader objects. <_HX_SUPER__create set="method" line="31"> * This function is called externally to initialize the Preloader. <_HX_SUPER__onInit public="1" set="method" line="148"> * This function is called each update to check the load status of the project. * It is highly recommended that you do NOT override this. <_HX_SUPER__onUpdate public="1" set="method" line="148"> * This function is triggered on each 'frame'. * It is highly recommended that you do NOT override this. <_HX_SUPER__onEnterFrame set="method" line="31"> * This function is called when the project has finished loading. * Override it to remove all of your objects. <_HX_SUPER__destroy set="method" line="31"> * Override to draw your preloader objects in response to the Percent * * @param Percent How much of the program has loaded. <_HX_SUPER__update set="method" line="31"> * This function is called EXTERNALLY once the movie has actually finished being loaded. * Highly recommended you DO NOT override. <_HX_SUPER__onLoaded public="1" set="method" line="148"> * This should be used whenever you want to create a Bitmap that uses BitmapData embedded with the * @:bitmap metadata, if you want to support both Flash and HTML5. Because the embedded data is loaded * asynchronously in HTML5, any code that depends on the pixel data or size of the bitmap should be * in the onLoad function; any such code executed before it is called will fail on the HTML5 target. * * @param bitmapDataClass A reference to the BitmapData child class that contains the embedded data which is to be used. * @param onLoad Executed once the bitmap data is finished loading in HTML5, and immediately in Flash. The new Bitmap instance is passed as an argument. * @return The Bitmap instance that was created. <_HX_SUPER__createBitmap set="method" line="148"> * This should be used whenever you want to create a BitmapData object from a class containing data embedded with * the @:bitmap metadata. Often, you'll want to use the BitmapData in a Bitmap object; in this case, createBitmap() * can should be used instead. Because the embedded data is loaded asynchronously in HTML5, any code that depends on * the pixel data or size of the bitmap should be in the onLoad function; any such code executed before it is called * will fail on the HTML5 target. * * @param bitmapDataClass A reference to the BitmapData child class that contains the embedded data which is to be used. * @param onLoad Executed once the bitmap data is finished loading in HTML5, and immediately in Flash. The new BitmapData instance is passed as an argument. * @return The BitmapData instance that was created. <_HX_SUPER__loadBitmapData set="method" line="148"> * Site-locking Functionality <_HX_SUPER__checkSiteLock set="method" line="31"> <__interp> openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.FlxBasePreloader flixel.system.FlxBasePreloader.DefaultPreloader <_NUM_CACHED_FLX_LIST public="1" expr="0" line="17" static="1"> 0 * Pooling mechanism, when FlxLinkedLists are destroyed, they get added * to this collection, and when they get recycled they get removed. <_cachedListsHead static="1"> * Recycle a cached Linked List, or creates a new one if needed. * Clear cached List nodes. You might want to do this when loading new levels * (probably not though, no need to clear cache unless you run into memory problems). * Stores a reference to a FlxObject. * Stores a reference to the next link in the list. true * Clean up memory. * Private, use recycle instead. * A miniature linked list class. * Useful for optimizing time-critical or highly repetitive tasks! * See FlxQuadTree for how to use it, IF YOU DARE. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Clean up memory. <_HX_SUPER__destroy public="1" set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.FlxLinkedList "__ASSET__:bitmap_flixel_system_GraphicLogoLight" { fillRGBA : 0xFFFFFFFF, transparent : true } openfl.utils._internal.AssetsMacro.embedBitmap() openfl.utils._internal.AssetsMacro.embedBitmap() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() "assets/images/preloader/light.png" "__ASSET__:bitmap_flixel_system_GraphicLogoCorners" { fillRGBA : 0xFFFFFFFF, transparent : true } openfl.utils._internal.AssetsMacro.embedBitmap() openfl.utils._internal.AssetsMacro.embedBitmap() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() "assets/images/preloader/corners.png" <_buffer> <_bmpBar> <_text> <_logo> <_logoGlow> * This class is called as soon as the FlxPreloaderBase has finished initializing. * Override it to draw all your graphics and things - make sure you also override update * Make sure you call super.create() * Cleanup your objects! * Make sure you call super.destroy()! * Update is called every frame, passing the current percent loaded. Use this to change your loading bar or whatever. * @param Percent The percentage that the project is loaded { MinDisplayTime : 0 } * Initialize your preloader here. * * ```haxe * super(0, ["test.com", FlxPreloaderBase.LOCAL]); // example of site-locking * super(10); // example of long delay (10 seconds) * ``` `]]> openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * This class is called as soon as the FlxPreloaderBase has finished initializing. * Override it to draw all your graphics and things - make sure you also override update * Make sure you call super.create() <_HX_SUPER__create set="method" line="31"> * Cleanup your objects! * Make sure you call super.destroy()! <_HX_SUPER__destroy set="method" line="31"> * Update is called every frame, passing the current percent loaded. Use this to change your loading bar or whatever. * @param Percent The percentage that the project is loaded <_HX_SUPER__update public="1" set="method" line="31"> <__interp> openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.FlxPreloader.GraphicLogoLight flixel.system.FlxPreloader.GraphicLogoCorners flixel.system.FlxPreloader 0 * Flag for specifying that you want to add an object to the A list. 1 * Flag for specifying that you want to add an object to the B list. * Controls the granularity of the quad tree. Default is 6 (decent performance on large and small worlds). <_min static="1"> * Internal, governs and assists with the formation of the tree. <_object static="1"> * Internal, used to reduce recursive method parameters during object placement and tree formation. <_objectLeftEdge static="1"> * Internal, used to reduce recursive method parameters during object placement and tree formation. <_objectTopEdge static="1"> * Internal, used to reduce recursive method parameters during object placement and tree formation. <_objectRightEdge static="1"> * Internal, used to reduce recursive method parameters during object placement and tree formation. <_objectBottomEdge static="1"> * Internal, used to reduce recursive method parameters during object placement and tree formation. <_list static="1"> * Internal, used during tree processing and overlap checks. <_useBothLists static="1"> * Internal, used during tree processing and overlap checks. <_processingCallback static="1"> * Internal, used during tree processing and overlap checks. <_notifyCallback static="1"> * Internal, used during tree processing and overlap checks. <_iterator static="1"> * Internal, used during tree processing and overlap checks. <_objectHullX static="1"> * Internal, helpers for comparing actual object-to-object overlap - see overlapNode(). <_objectHullY static="1"> * Internal, helpers for comparing actual object-to-object overlap - see overlapNode(). <_objectHullWidth static="1"> * Internal, helpers for comparing actual object-to-object overlap - see overlapNode(). <_objectHullHeight static="1"> * Internal, helpers for comparing actual object-to-object overlap - see overlapNode(). <_checkObjectHullX static="1"> * Internal, helpers for comparing actual object-to-object overlap - see overlapNode(). <_checkObjectHullY static="1"> * Internal, helpers for comparing actual object-to-object overlap - see overlapNode(). <_checkObjectHullWidth static="1"> * Internal, helpers for comparing actual object-to-object overlap - see overlapNode(). <_checkObjectHullHeight static="1"> * Internal, helpers for comparing actual object-to-object overlap - see overlapNode(). <_NUM_CACHED_QUAD_TREES public="1" expr="0" line="222" static="1"> 0 * Pooling mechanism, turn FlxQuadTree into a linked list, when FlxQuadTrees are destroyed, they get added to the list, and when they get recycled they get removed. <_cachedTreesHead static="1"> * Recycle a cached Quad Tree node, or creates a new one if needed. * @param X The X-coordinate of the point in space. * @param Y The Y-coordinate of the point in space. * @param Width Desired width of this node. * @param Height Desired height of this node. * @param Parent The parent branch or node. Pass null to create a root. * Clear cached Quad Tree nodes. You might want to do this when loading new levels (probably not though, no need to clear cache unless you run into memory problems). <_canSubdivide> * Whether this branch of the tree can be subdivided or not. <_headA> * Refers to the internal A and B linked lists, * which are used to store objects in the leaves. <_tailA> * Refers to the internal A and B linked lists, * which are used to store objects in the leaves. <_headB> * Refers to the internal A and B linked lists, * which are used to store objects in the leaves. <_tailB> * Refers to the internal A and B linked lists, * which are used to store objects in the leaves. <_northWestTree> * Internal, governs and assists with the formation of the tree. <_northEastTree> * Internal, governs and assists with the formation of the tree. <_southEastTree> * Internal, governs and assists with the formation of the tree. <_southWestTree> * Internal, governs and assists with the formation of the tree. <_leftEdge> * Internal, governs and assists with the formation of the tree. <_rightEdge> * Internal, governs and assists with the formation of the tree. <_topEdge> * Internal, governs and assists with the formation of the tree. <_bottomEdge> * Internal, governs and assists with the formation of the tree. <_halfWidth> * Internal, governs and assists with the formation of the tree. <_halfHeight> * Internal, governs and assists with the formation of the tree. <_midpointX> * Internal, governs and assists with the formation of the tree. <_midpointY> * Internal, governs and assists with the formation of the tree. * Clean up memory. * Load objects and/or groups into the quad tree, and register notify and processing callbacks. * @param ObjectOrGroup1 Any object that is or extends FlxObject or FlxGroup. * @param ObjectOrGroup2 Any object that is or extends FlxObject or FlxGroup. If null, the first parameter will be checked against itself. * @param NotifyCallback A function with the form myFunction(Object1:FlxObject,Object2:FlxObject):void that is called whenever two objects are found to overlap in world space, and either no ProcessCallback is specified, or the ProcessCallback returns true. * @param ProcessCallback A function with the form myFunction(Object1:FlxObject,Object2:FlxObject):Boolean that is called whenever two objects are found to overlap in world space. The NotifyCallback is only called if this function returns true. See FlxObject.separate(). flixel.group.FlxTypedGroup.resolveGroup * Call this function to add an object to the root of the tree. * This function will recursively add all group members, but * not the groups themselves. * @param ObjectOrGroup FlxObjects are just added, FlxGroups are recursed and their applicable members added accordingly. * @param List A int flag indicating the list to which you want to add the objects. Options are A_LIST and B_LIST. * Internal function for recursively navigating and creating the tree * while adding objects to the appropriate nodes. * Internal function for recursively adding objects to leaf lists. * FlxQuadTree's other main function. Call this after adding objects * using FlxQuadTree.load() to compare the objects that you loaded. * @return Whether or not any overlaps were found. * An internal function for comparing an object against the contents of a node. * @return Whether or not any overlaps were found. * Private, use recycle instead. * A fairly generic quad tree structure for rapid overlap checks. * FlxQuadTree is also configured for single or dual list operation. * You can add items either to its A list or its B list. * When you do an overlap check, you can compare the A list to itself, * or the A list against the B list. Handy for different things! hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__reset public="1" set="method" line="31"> * Clean up memory. <_HX_SUPER__destroy public="1" set="method" line="31"> * Load objects and/or groups into the quad tree, and register notify and processing callbacks. * @param ObjectOrGroup1 Any object that is or extends FlxObject or FlxGroup. * @param ObjectOrGroup2 Any object that is or extends FlxObject or FlxGroup. If null, the first parameter will be checked against itself. * @param NotifyCallback A function with the form myFunction(Object1:FlxObject,Object2:FlxObject):void that is called whenever two objects are found to overlap in world space, and either no ProcessCallback is specified, or the ProcessCallback returns true. * @param ProcessCallback A function with the form myFunction(Object1:FlxObject,Object2:FlxObject):Boolean that is called whenever two objects are found to overlap in world space. The NotifyCallback is only called if this function returns true. See FlxObject.separate(). <_HX_SUPER__load public="1" set="method" line="31"> flixel.group.FlxTypedGroup.resolveGroup * Call this function to add an object to the root of the tree. * This function will recursively add all group members, but * not the groups themselves. * @param ObjectOrGroup FlxObjects are just added, FlxGroups are recursed and their applicable members added accordingly. * @param List A int flag indicating the list to which you want to add the objects. Options are A_LIST and B_LIST. <_HX_SUPER__add public="1" set="method" line="31"> * Internal function for recursively navigating and creating the tree * while adding objects to the appropriate nodes. <_HX_SUPER__addObject set="method" line="31"> * Internal function for recursively adding objects to leaf lists. <_HX_SUPER__addToList set="method" line="31"> * FlxQuadTree's other main function. Call this after adding objects * using FlxQuadTree.load() to compare the objects that you loaded. * @return Whether or not any overlaps were found. <_HX_SUPER__execute public="1" set="method" line="148"> * An internal function for comparing an object against the contents of a node. * @return Whether or not any overlaps were found. <_HX_SUPER__overlapNode set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.FlxQuadTree * The x position of this sound in world coordinates. * Only really matters if you are doing proximity/panning stuff. * The y position of this sound in world coordinates. * Only really matters if you are doing proximity/panning stuff. * Whether or not this sound should be automatically destroyed when you switch states. * The ID3 song name. Defaults to null. Currently only works for streamed sounds. * The ID3 artist name. Defaults to null. Currently only works for streamed sounds. * Stores the average wave amplitude of both stereo channels * Just the amplitude of the left stereo channel * Just the amplitude of the left stereo channel * Whether to call `destroy()` when the sound has finished playing. * Tracker for sound complete callback. If assigned, will be called * each time when sound reaches its end. * Pan amount. -1 = full left, 1 = full right. Proximity based panning overrides this. * Whether or not the sound is currently playing. * Set volume to a value between 0 and 1 to change how this sound is. * Set pitch, which also alters the playback speed. Default is 1. * The length of the sound in milliseconds. * @since 4.2.0 * The sound group this sound belongs to * Whether or not this sound should loop. 0 * In case of looping, the point (in milliseconds) from where to restart the sound when it loops back * @since 4.1.0 * At which point to stop playing the sound, in milliseconds. * If not set / `null`, the sound completes normally. * @since 4.2.0 * The tween used to fade this sound's volume in and out (set via `fadeIn()` and `fadeOut()`) * @since 4.1.0 <_sound> flixel.system.frontEnds.SoundFrontEnd.load * Internal tracker for a Flash sound object. <_channel> * Internal tracker for a Flash sound channel object. <_transform> * Internal tracker for a Flash sound transform object. <_paused> * Internal tracker for whether the sound is paused or not (not the same as stopped). <_volume> * Internal tracker for volume. <_time expr="0"> 0 * Internal tracker for sound channel position. <_length expr="0"> 0 * Internal tracker for sound length, so that length can still be obtained while a sound is paused, because _sound becomes null. <_pitch expr="1.0"> 1.0 * Internal tracker for pitch. <_volumeAdjust expr="1.0"> 1.0 * Internal tracker for total volume adjustment. <_target> * Internal tracker for the sound's "target" (for proximity and panning). <_radius> * Internal tracker for the maximum effective radius of this sound (for proximity and panning). <_proximityPan> * Internal tracker for whether to pan the sound left and right. Default is false. <_alreadyPaused expr="false"> false * Helper var to prevent the sound from playing after focus was regained when it was already paused. * An internal function for clearing all the variables used by sounds. * Handles fade out, fade in, panning, proximity, and amplitude operations each frame. { AutoDestroy : false, Looped : false } * One of the main setup functions for sounds, this function loads a sound from an embedded MP3. * * @param EmbeddedSound An embedded Class object representing an MP3 file. * @param Looped Whether or not this sound should loop endlessly. * @param AutoDestroy Whether or not this FlxSound instance should be destroyed when the sound finishes playing. * Default value is false, but `FlxG.sound.play()` and `FlxG.sound.stream()` will set it to true by default. * @param OnComplete Called when the sound finished playing * @return This FlxSound instance (nice for chaining stuff together, if you're into that). { AutoDestroy : false, Looped : false } * One of the main setup functions for sounds, this function loads a sound from a URL. * * @param SoundURL A string representing the URL of the MP3 file you want to play. * @param Looped Whether or not this sound should loop endlessly. * @param AutoDestroy Whether or not this FlxSound instance should be destroyed when the sound finishes playing. * Default value is false, but `FlxG.sound.play()` and `FlxG.sound.stream()` will set it to true by default. * @param OnComplete Called when the sound finished playing * @param OnLoad Called when the sound finished loading. * @return This FlxSound instance (nice for chaining stuff together, if you're into that). { AutoDestroy : false, Looped : false } { Pan : true } * Call this function if you want this sound's volume to change * based on distance from a particular FlxObject. * * @param X The X position of the sound. * @param Y The Y position of the sound. * @param TargetObject The object you want to track. * @param Radius The maximum distance this sound can travel. * @param Pan Whether panning should be used in addition to the volume changes. * @return This FlxSound instance (nice for chaining stuff together, if you're into that). { StartTime : 0.0, ForceRestart : false } * Call this function to play the sound - also works on paused sounds. * * @param ForceRestart Whether to start the sound over or not. * Default value is false, meaning if the sound is already playing or was * paused when you call play(), it will continue playing from its current * position, NOT start again from the beginning. * @param StartTime At which point to start playing the sound, in milliseconds. * @param EndTime At which point to stop playing the sound, in milliseconds. * If not set / `null`, the sound completes normally. * Unpause a sound. Only works on sounds that have been paused. * Call this function to pause this sound. * Call this function to stop this sound. { To : 0, Duration : 1 } * Helper function that tweens this sound's volume. * * @param Duration The amount of time the fade-out operation should take. * @param To The volume to tween to, 0 by default. { To : 1, From : 0, Duration : 1 } * Helper function that tweens this sound's volume. * * @param Duration The amount of time the fade-in operation should take. * @param From The volume to tween from, 0 by default. * @param To The volume to tween to, 1 by default. * Returns the currently selected "real" volume of the sound (takes fades and proximity into account). * * @return The adjusted volume of the sound. { Y : 0, X : 0 } * Helper function to set the coordinates of this object. * Sound positioning is used in conjunction with proximity/panning. * * @param X The new x position * @param Y The new y position flixel.system.FlxSoundGroup * Call after adjusting the volume to update the sound channel's settings. * An internal helper function used to attempt to start playing * the sound and populate the _channel variable. * An internal helper function used to help Flash * clean up finished sounds or restart looped sounds. { resetPosition : true } * An internal helper function used to help Flash clean up (and potentially re-use) finished sounds. * Will stop the current sound and destroy the associated SoundChannel, plus, * any other commands ordered by the passed in parameters. * * @param destroySound Whether or not to destroy the sound. If this is true, * the position and fading will be reset as well. * @param resetPosition Whether or not to reset the position of the sound. * Internal event handler for ID3 info (i.e. fetching the song name). flixel.system.frontEnds.SoundFrontEnd flixel.system.frontEnds.SoundFrontEnd * The FlxSound constructor gets all the variables initialized, but NOT ready to play a sound yet. * This is the universal flixel sound object, used for streaming, music, and sound effects. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() [] * The sounds in this group * The volume of this group * Add a sound to this group * @param sound The sound to add to this group * @return True if sound was successfully added, false otherwise * Remove a sound from this group * @param sound The sound to remove * @return True if sound was successfully removed, false otherwise * Call this function to pause all sounds in this group. * @since 4.3.0 * Unpauses all sounds in this group. Only works on sounds that have been paused. * @since 4.3.0 { volume : 1 } * Create a new sound group * @param volume The initial volume of this group * A way of grouping sounds for things such as collective volume control hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Add a sound to this group * @param sound The sound to add to this group * @return True if sound was successfully added, false otherwise <_HX_SUPER__add public="1" set="method" line="148"> * Remove a sound from this group * @param sound The sound to remove * @return True if sound was successfully removed, false otherwise <_HX_SUPER__remove public="1" set="method" line="148"> * Call this function to pause all sounds in this group. * @since 4.3.0 <_HX_SUPER__pause public="1" set="method" line="31"> * Unpauses all sounds in this group. Only works on sounds that have been paused. * @since 4.3.0 <_HX_SUPER__resume public="1" set="method" line="31"> <_HX_SUPER__set_volume set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.FlxSoundGroup * An internal function for clearing all the variables used by sounds. <_HX_SUPER__reset set="method" line="31"> <_HX_SUPER__destroy public="1" set="method" line="31"> * Handles fade out, fade in, panning, proximity, and amplitude operations each frame. <_HX_SUPER__update public="1" set="method" line="31"> <_HX_SUPER__kill public="1" set="method" line="31"> { AutoDestroy : false, Looped : false } * One of the main setup functions for sounds, this function loads a sound from an embedded MP3. * * @param EmbeddedSound An embedded Class object representing an MP3 file. * @param Looped Whether or not this sound should loop endlessly. * @param AutoDestroy Whether or not this FlxSound instance should be destroyed when the sound finishes playing. * Default value is false, but `FlxG.sound.play()` and `FlxG.sound.stream()` will set it to true by default. * @param OnComplete Called when the sound finished playing * @return This FlxSound instance (nice for chaining stuff together, if you're into that). <_HX_SUPER__loadEmbedded public="1" set="method" line="148"> { AutoDestroy : false, Looped : false } { AutoDestroy : false, Looped : false } * One of the main setup functions for sounds, this function loads a sound from a URL. * * @param SoundURL A string representing the URL of the MP3 file you want to play. * @param Looped Whether or not this sound should loop endlessly. * @param AutoDestroy Whether or not this FlxSound instance should be destroyed when the sound finishes playing. * Default value is false, but `FlxG.sound.play()` and `FlxG.sound.stream()` will set it to true by default. * @param OnComplete Called when the sound finished playing * @param OnLoad Called when the sound finished loading. * @return This FlxSound instance (nice for chaining stuff together, if you're into that). <_HX_SUPER__loadStream public="1" set="method" line="148"> { AutoDestroy : false, Looped : false } { AutoDestroy : false, Looped : false } <_HX_SUPER__init set="method" line="148"> { AutoDestroy : false, Looped : false } { Pan : true } * Call this function if you want this sound's volume to change * based on distance from a particular FlxObject. * * @param X The X position of the sound. * @param Y The Y position of the sound. * @param TargetObject The object you want to track. * @param Radius The maximum distance this sound can travel. * @param Pan Whether panning should be used in addition to the volume changes. * @return This FlxSound instance (nice for chaining stuff together, if you're into that). <_HX_SUPER__proximity public="1" set="method" line="148"> { Pan : true } { StartTime : 0.0, ForceRestart : false } * Call this function to play the sound - also works on paused sounds. * * @param ForceRestart Whether to start the sound over or not. * Default value is false, meaning if the sound is already playing or was * paused when you call play(), it will continue playing from its current * position, NOT start again from the beginning. * @param StartTime At which point to start playing the sound, in milliseconds. * @param EndTime At which point to stop playing the sound, in milliseconds. * If not set / `null`, the sound completes normally. <_HX_SUPER__play public="1" set="method" line="148"> { StartTime : 0.0, ForceRestart : false } * Unpause a sound. Only works on sounds that have been paused. <_HX_SUPER__resume public="1" set="method" line="148"> * Call this function to pause this sound. <_HX_SUPER__pause public="1" set="method" line="148"> <_HX_SUPER__volumeTween set="method" line="31"> flixel.system.FlxSoundGroup * Call after adjusting the volume to update the sound channel's settings. <_HX_SUPER__updateTransform set="method" line="31"> * An internal helper function used to attempt to start playing * the sound and populate the _channel variable. <_HX_SUPER__startSound set="method" line="31"> * An internal helper function used to help Flash * clean up finished sounds or restart looped sounds. <_HX_SUPER__stopped set="method" line="31"> { resetPosition : true } * An internal helper function used to help Flash clean up (and potentially re-use) finished sounds. * Will stop the current sound and destroy the associated SoundChannel, plus, * any other commands ordered by the passed in parameters. * * @param destroySound Whether or not to destroy the sound. If this is true, * the position and fading will be reset as well. * @param resetPosition Whether or not to reset the position of the sound. <_HX_SUPER__cleanup set="method" line="31"> { resetPosition : true } * Internal event handler for ID3 info (i.e. fetching the song name). <_HX_SUPER__gotID3 set="method" line="31"> flixel.system.frontEnds.SoundFrontEnd <_HX_SUPER__onFocus set="method" line="31"> flixel.system.frontEnds.SoundFrontEnd <_HX_SUPER__onFocusLost set="method" line="31"> <_HX_SUPER__set_group set="method" line="148"> <_HX_SUPER__set_volume set="method" line="148"> <_HX_SUPER__set_pitch set="method" line="148"> <_HX_SUPER__set_time set="method" line="148"> <_HX_SUPER__toString public="1" set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.FlxSound false * @since 4.8.0 <_sprite> <_gfx> <_text> <_times> <_colors> <_functions> <_curPart expr="0"> 0 <_cachedBgColor> <_cachedTimestep> <_cachedAutoPause> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__create public="1" set="method" line="31"> <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__onResize public="1" set="method" line="31"> <_HX_SUPER__timerCallback set="method" line="31"> <_HX_SUPER__drawGreen set="method" line="31"> <_HX_SUPER__drawYellow set="method" line="31"> <_HX_SUPER__drawRed set="method" line="31"> <_HX_SUPER__drawBlue set="method" line="31"> <_HX_SUPER__drawLightBlue set="method" line="31"> <_HX_SUPER__onComplete set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.FlxSplash * Formats the version in the format "HaxeFlixel MAJOR.MINOR.PATCH-COMMIT_SHA", * e.g. HaxeFlixel 3.0.4. * If this is a dev version, the git sha is included. <_HX_SUPER__toString public="1" set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.FlxVersion { Size : 12, Color : FlxColor.WHITE, Y : 0, X : 0 } { Size : 12, Color : FlxColor.WHITE, Y : 0, X : 0 } flixel.system hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.debug.DebuggerUtil "__ASSET__:bitmap_flixel_system_debug_GraphicFlixel" { fillRGBA : 0xFFFFFFFF, transparent : true } openfl.utils._internal.AssetsMacro.embedBitmap() openfl.utils._internal.AssetsMacro.embedBitmap() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() "assets/images/debugger/flixel.png" "__ASSET__:bitmap_flixel_system_debug_GraphicDrawDebug" { fillRGBA : 0xFFFFFFFF, transparent : true } openfl.utils._internal.AssetsMacro.embedBitmap() openfl.utils._internal.AssetsMacro.embedBitmap() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() "assets/images/debugger/buttons/drawDebug.png" "__ASSET__:bitmap_flixel_system_debug_GraphicLog" { fillRGBA : 0xFFFFFFFF, transparent : true } openfl.utils._internal.AssetsMacro.embedBitmap() openfl.utils._internal.AssetsMacro.embedBitmap() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() "assets/images/debugger/buttons/log.png" "__ASSET__:bitmap_flixel_system_debug_GraphicStats" { fillRGBA : 0xFFFFFFFF, transparent : true } openfl.utils._internal.AssetsMacro.embedBitmap() openfl.utils._internal.AssetsMacro.embedBitmap() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() "assets/images/debugger/buttons/stats.png" "__ASSET__:bitmap_flixel_system_debug_GraphicWatch" { fillRGBA : 0xFFFFFFFF, transparent : true } openfl.utils._internal.AssetsMacro.embedBitmap() openfl.utils._internal.AssetsMacro.embedBitmap() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() "assets/images/debugger/buttons/watch.png" "__ASSET__:bitmap_flixel_system_debug_GraphicBitmapLog" { fillRGBA : 0xFFFFFFFF, transparent : true } openfl.utils._internal.AssetsMacro.embedBitmap() openfl.utils._internal.AssetsMacro.embedBitmap() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() "assets/images/debugger/buttons/bitmapLog.png" "__ASSET__:bitmap_flixel_system_debug_GraphicConsole" { fillRGBA : 0xFFFFFFFF, transparent : true } openfl.utils._internal.AssetsMacro.embedBitmap() openfl.utils._internal.AssetsMacro.embedBitmap() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() "assets/images/debugger/buttons/console.png" "__ASSET__:bitmap_flixel_system_debug_GraphicArrowLeft" { fillRGBA : 0xFFFFFFFF, transparent : true } openfl.utils._internal.AssetsMacro.embedBitmap() openfl.utils._internal.AssetsMacro.embedBitmap() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() "assets/images/debugger/buttons/arrowLeft.png" "__ASSET__:bitmap_flixel_system_debug_GraphicArrowRight" { fillRGBA : 0xFFFFFFFF, transparent : true } openfl.utils._internal.AssetsMacro.embedBitmap() openfl.utils._internal.AssetsMacro.embedBitmap() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() "assets/images/debugger/buttons/arrowRight.png" "__ASSET__:bitmap_flixel_system_debug_GraphicCloseButton" { fillRGBA : 0xFFFFFFFF, transparent : true } openfl.utils._internal.AssetsMacro.embedBitmap() openfl.utils._internal.AssetsMacro.embedBitmap() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() "assets/images/debugger/buttons/close.png" "__ASSET__:bitmap_flixel_system_debug_GraphicInteractive" { fillRGBA : 0xFFFFFFFF, transparent : true } openfl.utils._internal.AssetsMacro.embedBitmap() openfl.utils._internal.AssetsMacro.embedBitmap() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() "assets/images/debugger/buttons/interactive.png" * Container for the new debugger overlay. Most of the functionality is in the debug folder widgets, * but this class instantiates the widgets and handles their basic formatting and arrangement. openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.debug.FlxDebugger.GraphicFlixel flixel.system.debug.FlxDebugger.GraphicDrawDebug flixel.system.debug.FlxDebugger.GraphicLog flixel.system.debug.FlxDebugger.GraphicStats flixel.system.debug.FlxDebugger.GraphicWatch flixel.system.debug.FlxDebugger.GraphicBitmapLog flixel.system.debug.FlxDebugger.GraphicConsole flixel.system.debug.FlxDebugger.GraphicArrowLeft flixel.system.debug.FlxDebugger.GraphicArrowRight flixel.system.debug.FlxDebugger.GraphicCloseButton flixel.system.debug.FlxDebugger.GraphicInteractive flixel.system.debug.FlxDebugger flixel.system.debug.FlxDebugger.FlxDebuggerLayout <_tooltips expr="[]" line="18" static="1"> [] <_container static="1"> * Manages tooltips to be used within the debugger. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() 0xFF3A3A3A * The background color of all tooltips. 0.8 * Alpha applied to the tooltips text. 10 * How many pixels the tooltip should be away from the target in the x axis. 10 * How many pixels the tooltip should be away from the target in the y axis. <_width> * Width of the tooltip. Using Sprite.width is super unreliable for some reason! <_height> * Height of the tooltip. Using Sprite.height is super unreliable for some reason! <_background> * Main elements <_shadow> * Texfield used by the tooltip to display text. If you change anything in the textfield, * be sure to call the proper methods of the tooltip to ensure it keeps a correct size, etc. * If you just want to change the text of the tooltip, use the method `setText()` instead, since * it takes care of properly resizing and positioning the tooltip after the text changes. * The element the tooltip is monitoring. * Maximum size allowed for the tooltip. A negative value (or zero) makes * the tooltip auto-adjust its size to properly house its text. * Clean up memory. * Resize the tooltip. Subject to pre-specified minimums, maximums, and bounding rectangles. * * @param Width How wide to make the tooltip. If zero is specified, the tooltip will adjust its size to properly accommodate the text. * @param Height How tall to make the tooltip. If zero is specified, the tooltip will adjust its size to properly accommodate the text. * Change the position of the tooltip. * * @param X Desired X position of top left corner of the tooltip. * @param Y Desired Y position of top left corner of the tooltip. * Change the text of the tooltip. * * @param Text Text to be used in the tooltip. * Update the Flash shapes to match the new size, and reposition the header, shadow, and handle accordingly. { height : 0, width : 0 } * Creates a new tooltip. * * @param target Element the tooltip will monitor. If the tooltip is being used in "stand alone" fashion, i.e. not monitoring any element, then use `null` as the target. * @param text Text displayed with this tooltip. * @param width Width of the tooltip. If a negative value (or zero) is specified, the tooltip will adjust its width to properly accommodate the text. * @param height Height of the tooltip. If a negative value (or zero) is specified, the tooltip will adjust its height to properly accommodate the text. * A generic, Flash-based tooltip class, created for use in FlxDebugger. openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.debug.Tooltip flixel.system.debug.Tooltip.TooltipOverlay * Clean up memory. <_HX_SUPER__destroy public="1" set="method" line="31"> * Resize the tooltip. Subject to pre-specified minimums, maximums, and bounding rectangles. * * @param Width How wide to make the tooltip. If zero is specified, the tooltip will adjust its size to properly accommodate the text. * @param Height How tall to make the tooltip. If zero is specified, the tooltip will adjust its size to properly accommodate the text. <_HX_SUPER__resize public="1" set="method" line="31"> * Change the position of the tooltip. * * @param X Desired X position of top left corner of the tooltip. * @param Y Desired Y position of top left corner of the tooltip. <_HX_SUPER__reposition public="1" set="method" line="31"> <_HX_SUPER__setVisible public="1" set="method" line="31"> * Change the text of the tooltip. * * @param Text Text to be used in the tooltip. <_HX_SUPER__setText public="1" set="method" line="31"> <_HX_SUPER__toggleVisible public="1" set="method" line="31"> <_HX_SUPER__update public="1" set="method" line="31"> * Update the Flash shapes to match the new size, and reposition the header, shadow, and handle accordingly. <_HX_SUPER__updateSize set="method" line="31"> <_HX_SUPER__ensureOnScreen set="method" line="31"> <_HX_SUPER__handleMouseEvents set="method" line="31"> <__interp> openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.debug.Tooltip flixel.system.debug.Tooltip.TooltipOverlay "__ASSET__:bitmap_flixel_system_debug_GraphicWindowHandle" { fillRGBA : 0xFFFFFFFF, transparent : true } openfl.utils._internal.AssetsMacro.embedBitmap() openfl.utils._internal.AssetsMacro.embedBitmap() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() "assets/images/debugger/windowHandle.png" 0xDD5F5F5F * The background color of the window. 0xBB000000 0.8 15 0 * How many windows there are currently in total. <_width> * Width of the window. Using Sprite.width is super unreliable for some reason! <_height> * Height of the window. Using Sprite.height is super unreliable for some reason! <_bounds> * Controls where the window is allowed to be positioned. <_background> * Window elements <_header> <_shadow> <_title> <_handle> <_icon> <_closeButton> <_overHeader> * Interaction helpers. <_overHandle> <_drag> <_dragging> <_resizing> <_resizable> <_closable> <_alwaysOnTop> <_id> * The ID of this window. * Clean up memory. * Resize the window. Subject to pre-specified minimums, maximums, and bounding rectangles. * * @param Width How wide to make the window. * @param Height How tall to make the window. * Change the position of the window. Subject to pre-specified bounding rectangles. * * @param X Desired X position of top left corner of the window. * @param Y Desired Y position of top left corner of the window. * Used to set up basic mouse listeners.. * Mouse movement handler. Figures out if mouse is over handle or header bar or what. * Figure out if window is being repositioned (clicked on header) or resized (clicked on handle). * User let go of header bar or handler (or nothing), so turn off drag and resize behaviors. * Keep the window within the pre-specified bounding rectangle. * Update the Flash shapes to match the new size, and reposition the header, shadow, and handle accordingly. { AlwaysOnTop : true, Closable : false, Resizable : true, Height : 0, Width : 0 } * Creates a new window object. This Flash-based class is mainly (only?) used by FlxDebugger. * * @param Title The name of the window, displayed in the header bar. * @param Icon The icon to use for the window header. * @param Width The initial width of the window. * @param Height The initial height of the window. * @param Resizable Whether you can change the size of the window with a drag handle. * @param Bounds A rectangle indicating the valid screen area for the window. * @param Closable Whether this window has a close button that removes the window. * @param AlwaysOnTop Whether this window should be forcibly put in front of any other window when clicked. * A generic, Flash-based window class, created for use in FlxDebugger. openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Clean up memory. <_HX_SUPER__destroy public="1" set="method" line="31"> * Resize the window. Subject to pre-specified minimums, maximums, and bounding rectangles. * * @param Width How wide to make the window. * @param Height How tall to make the window. <_HX_SUPER__resize public="1" set="method" line="31"> * Change the position of the window. Subject to pre-specified bounding rectangles. * * @param X Desired X position of top left corner of the window. * @param Y Desired Y position of top left corner of the window. <_HX_SUPER__reposition public="1" set="method" line="31"> <_HX_SUPER__updateBounds public="1" set="method" line="31"> <_HX_SUPER__setVisible public="1" set="method" line="31"> <_HX_SUPER__toggleVisible public="1" set="method" line="31"> <_HX_SUPER__loadSaveData set="method" line="31"> <_HX_SUPER__update public="1" set="method" line="31"> * Used to set up basic mouse listeners.. <_HX_SUPER__init set="method" line="31"> * Mouse movement handler. Figures out if mouse is over handle or header bar or what. <_HX_SUPER__onMouseMove set="method" line="31"> * Figure out if window is being repositioned (clicked on header) or resized (clicked on handle). <_HX_SUPER__onMouseDown set="method" line="31"> * User let go of header bar or handler (or nothing), so turn off drag and resize behaviors. <_HX_SUPER__onMouseUp set="method" line="31"> * Keep the window within the pre-specified bounding rectangle. <_HX_SUPER__bound public="1" set="method" line="31"> * Update the Flash shapes to match the new size, and reposition the header, shadow, and handle accordingly. <_HX_SUPER__updateSize set="method" line="31"> <_HX_SUPER__close public="1" set="method" line="31"> <__interp> openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.debug.Window.GraphicWindowHandle flixel.system.debug.Window "Entry Value" "Entry Type" false hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__getTextUntilCaret set="method" line="148"> <_HX_SUPER__getCaretIndex set="method" line="148"> <_HX_SUPER__onKeyUp set="method" line="148"> <_HX_SUPER__invokeCompletion set="method" line="148"> <_HX_SUPER__getGlobals set="method" line="148"> <_HX_SUPER__getCharXPosition set="method" line="148"> <_HX_SUPER__getCompletedText set="method" line="148"> <_HX_SUPER__completed set="method" line="148"> <_HX_SUPER__selectionChanged set="method" line="148"> <_HX_SUPER__getReadableType set="method" line="148"> <_HX_SUPER__completionClosed set="method" line="148"> <_HX_SUPER__getPathBeforeDot set="method" line="148"> <_HX_SUPER__getWordAfterDot set="method" line="148"> <_HX_SUPER__getLastWord set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.debug.completion.CompletionHandler [] 0 0 0 closer to the filter) have a higher priority]]> * Custom startsWith() that ignores leading underscores. openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() 150 20 0xFF5F5F5F 0xFF6D6D6D 4 false openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__initBitmapDatas set="method" line="148"> <_HX_SUPER__setItem public="1" set="method" line="148"> <_HX_SUPER__set_selected set="method" line="148"> <__interp> openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.debug.completion.CompletionListEntry 0xFF444444 0xFF222222 openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__updateHandle public="1" set="method" line="148"> <__interp> openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.debug.completion.CompletionListScrollBar <_HX_SUPER__show public="1" set="method" line="148"> <_HX_SUPER__setY public="1" set="method" line="148"> <_HX_SUPER__close public="1" set="method" line="148"> <_HX_SUPER__createPopupEntries set="method" line="148"> <_HX_SUPER__createScrollBar set="method" line="148"> <_HX_SUPER__onKeyDown set="method" line="148"> <_HX_SUPER__updateIndices set="method" line="148"> <_HX_SUPER__bound set="method" line="148"> <_HX_SUPER__updateEntries set="method" line="148"> <_HX_SUPER__updateLabels set="method" line="148"> <_HX_SUPER__updateSelectedItem set="method" line="148"> <_HX_SUPER__setItems set="method" line="148"> <_HX_SUPER__filterItems set="method" line="148"> closer to the filter) have a higher priority]]> <_HX_SUPER__sortItems set="method" line="148"> * Custom startsWith() that ignores leading underscores. <_HX_SUPER__startsWithExt set="method" line="148"> <_HX_SUPER__set_filter set="method" line="148"> <__interp> openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.debug.completion.CompletionList 50 0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__getPreviousCommand public="1" set="method" line="148"> <_HX_SUPER__getNextCommand public="1" set="method" line="148"> <_HX_SUPER__addCommand public="1" set="method" line="148"> <_HX_SUPER__clear public="1" set="method" line="148"> <_HX_SUPER__get_isEmpty set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.debug.console.ConsoleHistory * The hscript parser to make strings into haxe code. * The custom hscript interpreter to run the haxe code from the parser. * Sets up the hscript parser and interpreter. * Converts the input string into its AST form to be executed. * * @param Input The user's input command. * @return The parsed out AST. * Parses and runs the input command. * * @param Input The user's input command. * @return Whatever the input code evaluates to. * Runs the input expression. * @param Parsed The parsed form of the user's input command. * @return Whatever the input code evaluates to. * Register a new object to use in any command. * * @param ObjectAlias The name with which you want to access the object. * @param AnyObject The object to register. * Register a new function to use in any command. * * @param FunctionAlias The name with which you want to access the function. * @param Function The function to register. * Shortcut to log a text with the Console LogStyle. * * @param Text The text to log. * A set of helper functions used by the console. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() [] [] 0 false true false false [] <__instanceFields expr="[]"> [] { rethrow : false } { doException : true } * hscript doesn't use property access by default... have to make our own. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.debug.console.ConsoleUtil flixel.system.debug.console.ConsoleUtil.Interp <_HX_SUPER__getGlobals public="1" set="method" line="148"> <_HX_SUPER__get set="method" line="148"> <_HX_SUPER__set set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.debug.console.ConsoleUtil flixel.system.debug.console.ConsoleUtil.Interp new FlxTypedGroup() new FlxPoint() false false false true * Control if an outline should be drawn on selected elements. * Tools can set this property to `false` if they want to draw custom * selection marks, for instance. <_container> <_customCursor> <_tools expr="[]"> [] <_turn expr="2"> 2 <_keysDown expr="new Map()"> new Map() <_keysUp expr="new Map()"> new Map() <_wasMouseVisible> <_wasUsingSystemCursor> <_debuggerInteraction expr="false"> false <_flixelPointer expr="new FlxPointer()"> new FlxPointer() * Add a new tool to the interaction system. * * Any tool added to the interaction system must extend the class * `flixel.system.debug.interaction.tools.Tool`. The class contains several methods * that can be used to provide new funcionalities to the interaction, or they can be * overridden to alter existing behavior. For instance, tools can draw things on the * screen, they can be activated when the user clicks a button, and so on. Check * the classes in the package `flixel.system.debug.interaction.tools` for examples. * * @param tool instance of a tool that will be added to the interaction system. * Clean up memory. * Called after the game state has been drawn. * Obtain a reference to a tool that has been added to the interaction system and is * available for use. This method can be used to access information provided by any * tool in the system, or to change their behavior. * * @param className name of the class to be fetched, e.g. `flixel.system.debug.interaction.tools.Pointer`. * @return Tool reference to the first tool found whose type matches the class name provided. If no tool is found, `null` is returned. * Informs whether the interactive debug is in use or not. Usage is defined * as the interactive debug being visible and one of its tools is selected/active. * * @return `true` if the interactive debug is visible and one of its tools is selected/active. flixel.group.FlxTypedGroup * Find all items within an area. In order to improve performance and reduce temporary allocations, * the method has no return, you must pass an array where items will be placed. The method decides * if an item is within the searching area or not by checking if the item's hitbox (obtained from * `getHitbox()`) overlaps the area parameter. * * @param items array where the method will place all found items. Any previous content in the array will be preserved. * @param members array where the method will recursively search for items. * @param area a rectangle that describes the area where the method should search within. * Adds a new functionality to Flixel debugger that allows any object * on the screen to be dragged, moved or deleted while the game is * still running. * * @author Fernando Bevilacqua (dovyski@gmail.com) openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__handleDebuggerVisibilityChanged set="method" line="31"> <_HX_SUPER__updateMouse set="method" line="31"> <_HX_SUPER__handleMouseClick set="method" line="31"> <_HX_SUPER__belongsToDebugger set="method" line="148"> <_HX_SUPER__handleMouseInDebugger set="method" line="31"> <_HX_SUPER__handleKeyEvent set="method" line="31"> <_HX_SUPER__countToolsWithUIButton set="method" line="148"> * Add a new tool to the interaction system. * * Any tool added to the interaction system must extend the class * `flixel.system.debug.interaction.tools.Tool`. The class contains several methods * that can be used to provide new funcionalities to the interaction, or they can be * overridden to alter existing behavior. For instance, tools can draw things on the * screen, they can be activated when the user clicks a button, and so on. Check * the classes in the package `flixel.system.debug.interaction.tools` for examples. * * @param tool instance of a tool that will be added to the interaction system. <_HX_SUPER__addTool public="1" set="method" line="31"> * Clean up memory. <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__isActive public="1" set="method" line="148"> <_HX_SUPER__update public="1" set="method" line="31"> * Called after the game state has been drawn. <_HX_SUPER__postDraw set="method" line="31"> <_HX_SUPER__getDebugGraphics public="1" set="method" line="148"> <_HX_SUPER__drawItemsSelection set="method" line="31"> * Obtain a reference to a tool that has been added to the interaction system and is * available for use. This method can be used to access information provided by any * tool in the system, or to change their behavior. * * @param className name of the class to be fetched, e.g. `flixel.system.debug.interaction.tools.Pointer`. * @return Tool reference to the first tool found whose type matches the class name provided. If no tool is found, `null` is returned. <_HX_SUPER__getTool public="1" set="method" line="148"> <_HX_SUPER__toggleVisible public="1" set="method" line="31"> <_HX_SUPER__registerCustomCursor public="1" set="method" line="31"> <_HX_SUPER__updateCustomCursors public="1" set="method" line="31"> <_HX_SUPER__saveSystemCursorInfo set="method" line="31"> <_HX_SUPER__restoreSystemCursor set="method" line="31"> <_HX_SUPER__setActiveTool public="1" set="method" line="31"> <_HX_SUPER__setSystemCursorVisibility set="method" line="31"> <_HX_SUPER__setToolsCursorVisibility set="method" line="31"> <_HX_SUPER__clearSelection public="1" set="method" line="31"> <_HX_SUPER__keyPressed public="1" set="method" line="148"> <_HX_SUPER__keyJustPressed public="1" set="method" line="148"> * Informs whether the interactive debug is in use or not. Usage is defined * as the interactive debug being visible and one of its tools is selected/active. * * @return `true` if the interactive debug is visible and one of its tools is selected/active. <_HX_SUPER__isInUse public="1" set="method" line="148"> <_HX_SUPER__findItemsWithinState public="1" set="method" line="31"> flixel.group.FlxTypedGroup * Find all items within an area. In order to improve performance and reduce temporary allocations, * the method has no return, you must pass an array where items will be placed. The method decides * if an item is within the searching area or not by checking if the item's hitbox (obtained from * `getHitbox()`) overlaps the area parameter. * * @param items array where the method will place all found items. Any previous content in the array will be preserved. * @param members array where the method will recursively search for items. * @param area a rectangle that describes the area where the method should search within. <_HX_SUPER__findItemsWithinArea public="1" set="method" line="31"> <__interp> openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.debug.interaction.Interaction "__ASSET__:bitmap_flixel_system_debug_interaction_tools_GraphicEraserTool" { fillRGBA : 0xFFFFFFFF, transparent : true } openfl.utils._internal.AssetsMacro.embedBitmap() openfl.utils._internal.AssetsMacro.embedBitmap() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() "assets/images/debugger/buttons/eraser.png" "" <_name expr=""(Unknown tool)""> "(Unknown tool)" <_shortcut> <_brain> * Set the default icon for the tool. The default icon is used when * the tool is selected in the interaction window toolbar. Tools * can have more than one cursor, e.g. a custom cursor to indicate * that a specific action is happening. Use `setCursorInUse()` to * learn more about custom cursors. * Make the tool use a custom cursor that it is not its default one. * This is particularly useful to indicate to users that a particular * action of the tool is happening, e.g. rotating something. * Any custom cursor to be used must be previously registed via * `Interaction#registerCustomCursor()`. * * @param customCursorName Name of the custom cursor that will be used from now on for the tool. If an empty string is informed, the tool's default icon (informed via `setCursor()`) will be used. * Make the tool use its default cursor, which was informed via `setCursor()`. * The base class of all tools in the interactive debug. * * @author Fernando Bevilacqua (dovyski@gmail.com) openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() { remove : false } * A tool to delete items from the screen. * * @author Fernando Bevilacqua (dovyski@gmail.com) openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__init public="1" set="method" line="148"> <_HX_SUPER__update public="1" set="method" line="31"> <_HX_SUPER__activate public="1" set="method" line="31"> <_HX_SUPER__doDeletion set="method" line="31"> { remove : false } <_HX_SUPER__findAndDelete set="method" line="31"> { remove : false } <_HX_SUPER__removeFromMemory set="method" line="31"> <__interp> openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.debug.interaction.tools.Eraser.GraphicEraserTool flixel.system.debug.interaction.tools.Eraser "__ASSET__:bitmap_flixel_system_debug_interaction_tools_GraphicMoverTool" { fillRGBA : 0xFFFFFFFF, transparent : true } openfl.utils._internal.AssetsMacro.embedBitmap() openfl.utils._internal.AssetsMacro.embedBitmap() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() "assets/images/debugger/buttons/mover.png" <_dragging expr="false"> false <_lastCursorPosition> * A tool to move selected items. * * @author Fernando Bevilacqua (dovyski@gmail.com) openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__init public="1" set="method" line="148"> <_HX_SUPER__update public="1" set="method" line="31"> <_HX_SUPER__stopDragging set="method" line="31"> <_HX_SUPER__startDragging set="method" line="31"> <_HX_SUPER__doDragging set="method" line="31"> <__interp> openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.debug.interaction.tools.Mover.GraphicMoverTool flixel.system.debug.interaction.tools.Mover "__ASSET__:bitmap_flixel_system_debug_interaction_tools_GraphicCursorCross" { fillRGBA : 0xFFFFFFFF, transparent : true } openfl.utils._internal.AssetsMacro.embedBitmap() openfl.utils._internal.AssetsMacro.embedBitmap() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() "assets/images/debugger/cursorCross.png" <_selectionStartPoint expr="new FlxPoint()"> new FlxPoint() <_selectionEndPoint expr="new FlxPoint()"> new FlxPoint() <_selectionHappening expr="false"> false <_selectionCancelled expr="false"> false <_selectionArea expr="new FlxRect()"> new FlxRect() <_itemsInSelectionArea expr="[]"> [] * Start a selection area. A selection area is a rectangular shaped area * whose boundaries will be used to select game elements. * Cancel any selection activity that is happening, removing the selection rectangle from the screen. * Any item within the (canceled) selection area will be ignored. If you want to stop the selection * and actually process the action/items, use `stopSelection()`. { findItems : true } * Stop any selection activity that is happening. * * @param findItems If `true` (default), all items within the (stopped) selection area will be included in the list of selected items of the tool. * We register the current selection to the console for easy interaction. * A tool to use the mouse cursor to select game elements. * * @author Fernando Bevilacqua (dovyski@gmail.com) openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__init public="1" set="method" line="148"> <_HX_SUPER__update public="1" set="method" line="31"> <_HX_SUPER__calculateSelectionArea set="method" line="31"> * Start a selection area. A selection area is a rectangular shaped area * whose boundaries will be used to select game elements. <_HX_SUPER__startSelection public="1" set="method" line="31"> * Cancel any selection activity that is happening, removing the selection rectangle from the screen. * Any item within the (canceled) selection area will be ignored. If you want to stop the selection * and actually process the action/items, use `stopSelection()`. <_HX_SUPER__cancelSelection public="1" set="method" line="31"> { findItems : true } * Stop any selection activity that is happening. * * @param findItems If `true` (default), all items within the (stopped) selection area will be included in the list of selected items of the tool. <_HX_SUPER__stopSelection public="1" set="method" line="31"> { findItems : true } * We register the current selection to the console for easy interaction. <_HX_SUPER__updateConsoleSelection set="method" line="148"> <_HX_SUPER__handleItemAddition set="method" line="31"> <_HX_SUPER__draw public="1" set="method" line="31"> <__interp> openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.debug.interaction.tools.Pointer.GraphicCursorCross flixel.system.debug.interaction.tools.Pointer <_HX_SUPER__init public="1" set="method" line="148"> <_HX_SUPER__update public="1" set="method" line="31"> <_HX_SUPER__draw public="1" set="method" line="31"> <_HX_SUPER__activate public="1" set="method" line="31"> <_HX_SUPER__deactivate public="1" set="method" line="31"> <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__isActive public="1" set="method" line="148"> <_HX_SUPER__setButton set="method" line="31"> * Set the default icon for the tool. The default icon is used when * the tool is selected in the interaction window toolbar. Tools * can have more than one cursor, e.g. a custom cursor to indicate * that a specific action is happening. Use `setCursorInUse()` to * learn more about custom cursors. <_HX_SUPER__setCursor set="method" line="31"> * Make the tool use a custom cursor that it is not its default one. * This is particularly useful to indicate to users that a particular * action of the tool is happening, e.g. rotating something. * Any custom cursor to be used must be previously registed via * `Interaction#registerCustomCursor()`. * * @param customCursorName Name of the custom cursor that will be used from now on for the tool. If an empty string is informed, the tool's default icon (informed via `setCursor()`) will be used. <_HX_SUPER__setCursorInUse set="method" line="31"> * Make the tool use its default cursor, which was informed via `setCursor()`. <_HX_SUPER__useDefaultCursor set="method" line="31"> <_HX_SUPER__onButtonClicked set="method" line="31"> <_HX_SUPER__getName public="1" set="method" line="148"> <__interp> openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.debug.interaction.tools.Tool "__ASSET__:bitmap_flixel_system_debug_interaction_tools_GraphicTransformTool" { fillRGBA : 0xFFFFFFFF, transparent : true } openfl.utils._internal.AssetsMacro.embedBitmap() openfl.utils._internal.AssetsMacro.embedBitmap() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() "assets/images/debugger/buttons/transform.png" "__ASSET__:bitmap_flixel_system_debug_interaction_tools_GraphicTransformCursorDefault" { fillRGBA : 0xFFFFFFFF, transparent : true } openfl.utils._internal.AssetsMacro.embedBitmap() openfl.utils._internal.AssetsMacro.embedBitmap() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() "assets/images/debugger/cursorCross.png" "__ASSET__:bitmap_flixel_system_debug_interaction_tools_GraphicTransformCursorScaleY" { fillRGBA : 0xFFFFFFFF, transparent : true } openfl.utils._internal.AssetsMacro.embedBitmap() openfl.utils._internal.AssetsMacro.embedBitmap() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() "assets/images/debugger/cursors/transformScaleY.png" "__ASSET__:bitmap_flixel_system_debug_interaction_tools_GraphicTransformCursorScaleX" { fillRGBA : 0xFFFFFFFF, transparent : true } openfl.utils._internal.AssetsMacro.embedBitmap() openfl.utils._internal.AssetsMacro.embedBitmap() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() "assets/images/debugger/cursors/transformScaleX.png" "__ASSET__:bitmap_flixel_system_debug_interaction_tools_GraphicTransformCursorScaleXY" { fillRGBA : 0xFFFFFFFF, transparent : true } openfl.utils._internal.AssetsMacro.embedBitmap() openfl.utils._internal.AssetsMacro.embedBitmap() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() "assets/images/debugger/cursors/transformScaleXY.png" "__ASSET__:bitmap_flixel_system_debug_interaction_tools_GraphicTransformCursorRotate" { fillRGBA : 0xFFFFFFFF, transparent : true } openfl.utils._internal.AssetsMacro.embedBitmap() openfl.utils._internal.AssetsMacro.embedBitmap() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() "assets/images/debugger/cursors/transformRotate.png" 5.0 3.0 5.0 10.0 "transformRotate" "transformScaleX" "transformScaleY" "transformScaleXY" 0 1 2 3 <_actionTargetStartScale expr="new FlxPoint()"> new FlxPoint() <_actionTargetStartAngle> <_actionStartPoint expr="new FlxPoint()"> new FlxPoint() <_actionHappening> <_actionMarker> <_actionScaleDirection expr="new FlxPoint()"> new FlxPoint() <_tooltip> <_markers expr="[]"> [] <_target> <_targetArea expr="new FlxRect()"> new FlxRect() <_mouseCursor expr="new FlxPoint()"> new FlxPoint() * Start an interaction with a marker. Depending on the marker being used, the interaction * can be to resize or rotate something. * Stop any interaction activity that is happening with any marker. * A tool to scale and rotate selected game elements. * * @author Fernando Bevilacqua (dovyski@gmail.com) openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__init public="1" set="method" line="148"> <_HX_SUPER__updateTargetArea set="method" line="31"> * Start an interaction with a marker. Depending on the marker being used, the interaction * can be to resize or rotate something. <_HX_SUPER__startAction set="method" line="31"> * Stop any interaction activity that is happening with any marker. <_HX_SUPER__stopAction set="method" line="31"> <_HX_SUPER__getCursorNameByMarker set="method" line="148"> <_HX_SUPER__handleInteractionsWithMarkersUI set="method" line="31"> <_HX_SUPER__formatFloat set="method" line="148"> <_HX_SUPER__showTooltip set="method" line="31"> <_HX_SUPER__updateScaleActionDirection set="method" line="31"> <_HX_SUPER__updateScaleAction set="method" line="31"> <_HX_SUPER__updateRotateAction set="method" line="31"> <_HX_SUPER__updateAction set="method" line="31"> <_HX_SUPER__updateMarkersPosition set="method" line="31"> <_HX_SUPER__updateMarkersRotation set="method" line="31"> <_HX_SUPER__update public="1" set="method" line="31"> <_HX_SUPER__drawTargetAreaOutline set="method" line="31"> <_HX_SUPER__drawMarkers set="method" line="31"> <_HX_SUPER__draw public="1" set="method" line="31"> <_HX_SUPER__activate public="1" set="method" line="31"> <_HX_SUPER__deactivate public="1" set="method" line="31"> <__interp> openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.debug.interaction.tools.Transform.GraphicTransformTool flixel.system.debug.interaction.tools.Transform.GraphicTransformCursorDefault flixel.system.debug.interaction.tools.Transform.GraphicTransformCursorScaleY flixel.system.debug.interaction.tools.Transform.GraphicTransformCursorScaleX flixel.system.debug.interaction.tools.Transform.GraphicTransformCursorScaleXY flixel.system.debug.interaction.tools.Transform.GraphicTransformCursorRotate flixel.system.debug.interaction.tools.Transform new LogStyle() new LogStyle("[WARNING] ", "D9F85C", 12, false, false, false, "flixel/sounds/beep", true) new LogStyle("[ERROR] ", "FF8888", 12, false, false, false, "flixel/sounds/beep", true) new LogStyle("[NOTICE] ", "5CF878", 12, false) ", "5A96FA", 12, false)]]> * A prefix which is always attached to the start of the logged data. * A sound to be played when this LogStyle is used. * Whether the console should be forced to open when this LogStyle is used. * A callback function that is called when this LogStyle is used. { OpenConsole : false, Underlined : false, Italic : false, Bold : false, Size : 12, Color : "FFFFFF", Prefix : "" } * Create a new LogStyle to be used in conjunction with FlxG.log.advanced() * * @param Prefix A prefix which is always attached to the start of the logged data. * @param Color The text color. * @param Size The text size. * @param Bold Whether the text is bold or not. * @param Italic Whether the text is italic or not. * @param Underlined Whether the text is underlined or not. * @param ErrorSound A sound to be played when this LogStyle is used. * @param OpenConsole Whether the console should be forced to open when this LogStyle is used. * @param CallbackFunction A callback function that is called when this LogStyle is used. * A class that allows you to create a custom style for FlxG.log.advanced(). * Also used internally for the pre-defined styles. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.debug.log.LogStyle "__ASSET__:bitmap_flixel_system_debug_stats_GraphicMinimizeButton" { fillRGBA : 0xFFFFFFFF, transparent : true } openfl.utils._internal.AssetsMacro.embedBitmap() openfl.utils._internal.AssetsMacro.embedBitmap() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() "assets/images/debugger/buttons/minimize.png" "__ASSET__:bitmap_flixel_system_debug_stats_GraphicMaximizeButton" { fillRGBA : 0xFFFFFFFF, transparent : true } openfl.utils._internal.AssetsMacro.embedBitmap() openfl.utils._internal.AssetsMacro.embedBitmap() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() "assets/images/debugger/buttons/maximize.png" <__defaultTextFormat static="1"> <__missingFontWarning expr="new Map()" line="128" static="1"> new Map() When set to `true` and the text field is not in focus, Flash Player highlights the selection in the text field in gray. When set to `false` and the text field is not in focus, Flash Player does not highlight the selection in the text field. @default false Controls automatic sizing and alignment of text fields. Acceptable values for the `TextFieldAutoSize` constants: `TextFieldAutoSize.NONE`(the default), `TextFieldAutoSize.LEFT`, `TextFieldAutoSize.RIGHT`, and `TextFieldAutoSize.CENTER`. If `autoSize` is set to `TextFieldAutoSize.NONE` (the default) no resizing occurs. If `autoSize` is set to `TextFieldAutoSize.LEFT`, the text is treated as left-justified text, meaning that the left margin of the text field remains fixed and any resizing of a single line of the text field is on the right margin. If the text includes a line break(for example, `"\n"` or `"\r"`), the bottom is also resized to fit the next line of text. If `wordWrap` is also set to `true`, only the bottom of the text field is resized and the right side remains fixed. If `autoSize` is set to `TextFieldAutoSize.RIGHT`, the text is treated as right-justified text, meaning that the right margin of the text field remains fixed and any resizing of a single line of the text field is on the left margin. If the text includes a line break(for example, `"\n" or "\r")`, the bottom is also resized to fit the next line of text. If `wordWrap` is also set to `true`, only the bottom of the text field is resized and the left side remains fixed. If `autoSize` is set to `TextFieldAutoSize.CENTER`, the text is treated as center-justified text, meaning that any resizing of a single line of the text field is equally distributed to both the right and left margins. If the text includes a line break(for example, `"\n"` or `"\r"`), the bottom is also resized to fit the next line of text. If `wordWrap` is also set to `true`, only the bottom of the text field is resized and the left and right sides remain fixed. @throws ArgumentError The `autoSize` specified is not a member of openfl.text.TextFieldAutoSize. Specifies whether the text field has a background fill. If `true`, the text field has a background fill. If `false`, the text field has no background fill. Use the `backgroundColor` property to set the background color of a text field. @default false The color of the text field background. The default value is `0xFFFFFF`(white). This property can be retrieved or set, even if there currently is no background, but the color is visible only if the text field has the `background` property set to `true`. Specifies whether the text field has a border. If `true`, the text field has a border. If `false`, the text field has no border. Use the `borderColor` property to set the border color. @default false The color of the text field border. The default value is `0x000000`(black). This property can be retrieved or set, even if there currently is no border, but the color is visible only if the text field has the `border` property set to `true`. An integer(1-based index) that indicates the bottommost line that is currently visible in the specified text field. Think of the text field as a window onto a block of text. The `scrollV` property is the 1-based index of the topmost visible line in the window. All the text between the lines indicated by `scrollV` and `bottomScrollV` is currently visible in the text field. The index of the insertion point(caret) position. If no insertion point is displayed, the value is the position the insertion point would be if you restored focus to the field(typically where the insertion point last was, or 0 if the field has not had focus). Selection span indexes are zero-based(for example, the first position is 0, the second position is 1, and so on). false ` and `

    ` to place line breaks in the text field. Set the `condenseWhite` property before setting the `htmlText` property.]]> Specifies the format applied to newly inserted text, such as text entered by a user or text inserted with the `replaceSelectedText()` method. **Note:** When selecting characters to be replaced with `setSelection()` and `replaceSelectedText()`, the `defaultTextFormat` will be applied only if the text has been selected up to and including the last character. Here is an example: ``` var my_txt:TextField new TextField(); my_txt.text = "Flash Macintosh version"; var my_fmt:TextFormat = new TextFormat(); my_fmt.color = 0xFF0000; my_txt.defaultTextFormat = my_fmt; my_txt.setSelection(6,15); // partial text selected - defaultTextFormat not applied my_txt.setSelection(6,23); // text selected to end - defaultTextFormat applied my_txt.replaceSelectedText("Windows version"); ``` When you access the `defaultTextFormat` property, the returned TextFormat object has all of its properties defined. No property is `null`. **Note:** You can't set this property if a style sheet is applied to the text field. @throws Error This method cannot be used on a text field with a style sheet. Specifies whether the text field is a password text field. If the value of this property is `true`, the text field is treated as a password text field and hides the input characters using asterisks instead of the actual characters. If `false`, the text field is not treated as a password text field. When password mode is enabled, the Cut and Copy commands and their corresponding keyboard shortcuts will not function. This security mechanism prevents an unscrupulous user from using the shortcuts to discover a password on an unattended computer. @default false Specifies whether to render by using embedded font outlines. If `false`, Flash Player renders the text field by using device fonts. If you set the `embedFonts` property to `true` for a text field, you must specify a font for that text by using the `font` property of a TextFormat object applied to the text field. If the specified font is not embedded in the SWF file, the text is not displayed. @default false The type of grid fitting used for this text field. This property applies only if the `openfl.text.AntiAliasType` property of the text field is set to `openfl.text.AntiAliasType.ADVANCED`. The type of grid fitting used determines whether Flash Player forces strong horizontal and vertical lines to fit to a pixel or subpixel grid, or not at all. For the `openfl.text.GridFitType` property, you can use the following string values: | String value | Description | | --- | --- | | `openfl.text.GridFitType.NONE` | Specifies no grid fitting. Horizontal and vertical lines in the glyphs are not forced to the pixel grid. This setting is recommended for animation or for large font sizes. | | `openfl.text.GridFitType.PIXEL` | Specifies that strong horizontal and vertical lines are fit to the pixel grid. This setting works only for left-aligned text fields. To use this setting, the `openfl.dispaly.AntiAliasType` property of the text field must be set to `openfl.text.AntiAliasType.ADVANCED`. This setting generally provides the best legibility for left-aligned text. | | `openfl.text.GridFitType.SUBPIXEL` | Specifies that strong horizontal and vertical lines are fit to the subpixel grid on an LCD monitor. To use this setting, the `openfl.text.AntiAliasType` property of the text field must be set to `openfl.text.AntiAliasType.ADVANCED`. The `openfl.text.GridFitType.SUBPIXEL` setting is often good for right-aligned or centered dynamic text, and it is sometimes a useful trade-off for animation versus text quality. | @default pixel ` tag creates a hypertext link and supports the following attributes:

    • `target`: Specifies the name of the target window where you load the page. Options include `_self`, `_blank`, `_parent`, and `_top`. The `_self` option specifies the current frame in the current window, `_blank` specifies a new window, `_parent` specifies the parent of the current frame, and `_top` specifies the top-level frame in the current window.
    • `href`: Specifies a URL or an ActionScript `link` event.The URL can be either absolute or relative to the location of the SWF file that is loading the page. An example of an absolute reference to a URL is `http://www.adobe.com`; an example of a relative reference is `/index.html`. Absolute URLs must be prefixed with http://; otherwise, Flash Player or AIR treats them as relative URLs. You can use the `link` event to cause the link to execute an ActionScript function in a SWF file instead of opening a URL. To specify a `link` event, use the event scheme instead of the http scheme in your `href` attribute. An example is `href="event:myText"` instead of `href="http://myURL"`; when the user clicks a hypertext link that contains the event scheme, the text field dispatches a `link` TextEvent with its `text` property set to "`myText`". You can then create an ActionScript function that executes whenever the link TextEvent is dispatched. You can also define `a:link`, `a:hover`, and `a:active` styles for anchor tags by using style sheets.
    | | Bold tag | The `` tag renders text as bold. A bold typeface must be available for the font used. | | Break tag | The `
    ` tag creates a line break in the text field. Set the text field to be a multiline text field to use this tag. | | Font tag | The `` tag specifies a font or list of fonts to display the text.The font tag supports the following attributes:
    • `color`: Only hexadecimal color (`#FFFFFF`) values are supported.
    • `face`: Specifies the name of the font to use. As shown in the following example, you can specify a list of comma-delimited font names, in which case Flash Player selects the first available font. If the specified font is not installed on the local computer system or isn't embedded in the SWF file, Flash Player selects a substitute font.
    • `size`: Specifies the size of the font. You can use absolute pixel sizes, such as 16 or 18, or relative point sizes, such as +2 or -4.
    | | Image tag | The `` tag lets you embed external image files (JPEG, GIF, PNG), SWF files, and movie clips inside text fields. Text automatically flows around images you embed in text fields. You must set the text field to be multiline to wrap text around an image.
    The `` tag supports the following attributes:
    • `src`: Specifies the URL to an image or SWF file, or the linkage identifier for a movie clip symbol in the library. This attribute is required; all other attributes are optional. External files (JPEG, GIF, PNG, and SWF files) do not show until they are downloaded completely.
    • `width`: The width of the image, SWF file, or movie clip being inserted, in pixels.
    • `height`: The height of the image, SWF file, or movie clip being inserted, in pixels.
    • `align`: Specifies the horizontal alignment of the embedded image within the text field. Valid values are `left` and `right`. The default value is `left`.
    • `hspace`: Specifies the amount of horizontal space that surrounds the image where no text appears. The default value is 8.
    • `vspace`: Specifies the amount of vertical space that surrounds the image where no text appears. The default value is 8.
    • `id`: Specifies the name for the movie clip instance (created by Flash Player) that contains the embedded image file, SWF file, or movie clip. This approach is used to control the embedded content with ActionScript.
    • `checkPolicyFile`: Specifies that Flash Player checks for a URL policy file on the server associated with the image domain. If a policy file exists, SWF files in the domains listed in the file can access the data of the loaded image, for example, by calling the `BitmapData.draw()` method with this image as the `source` parameter. For more information related to security, see the Flash Player Developer Center Topic: [Security](http://www.adobe.com/go/devnet_security_en).
    Flash displays media embedded in a text field at full size. To specify the dimensions of the media you are embedding, use the `` tag `height` and `width` attributes.
    In general, an image embedded in a text field appears on the line following the `` tag. However, when the `` tag is the first character in the text field, the image appears on the first line of the text field.
    For AIR content in the application security sandbox, AIR ignores `img` tags in HTML content in ActionScript TextField objects. This is to prevent possible phishing attacks. | | Italic tag | The `` tag displays the tagged text in italics. An italic typeface must be available for the font used. | | List item tag | The `
  • ` tag places a bullet in front of the text that it encloses.
    **Note:** Because Flash Player and AIR do not recognize ordered and unordered list tags (`
      ` and `
        `, they do not modify how your list is rendered. All lists are unordered and all list items use bullets. | | Paragraph tag | The `

        ` tag creates a new paragraph. The text field must be set to be a multiline text field to use this tag. The `

        ` tag supports the following attributes:

        • align: Specifies alignment of text within the paragraph; valid values are `left`, `right`, `justify`, and `center`.
        • class: Specifies a CSS style class defined by a openfl.text.StyleSheet object.
        | | Span tag | The `` tag is available only for use with CSS text styles. It supports the following attribute:
        • class: Specifies a CSS style class defined by a openfl.text.StyleSheet object.
        | | Text format tag | The `` tag lets you use a subset of paragraph formatting properties of the TextFormat class within text fields, including line leading, indentation, margins, and tab stops. You can combine `` tags with the built-in HTML tags.
        The `` tag has the following attributes:
      • `blockindent`: Specifies the block indentation in points; corresponds to `TextFormat.blockIndent`.
      • `indent`: Specifies the indentation from the left margin to the first character in the paragraph; corresponds to `TextFormat.indent`. Both positive and negative numbers are acceptable.
      • `leading`: Specifies the amount of leading (vertical space) between lines; corresponds to `TextFormat.leading`. Both positive and negative numbers are acceptable.
      • `leftmargin`: Specifies the left margin of the paragraph, in points; corresponds to `TextFormat.leftMargin`.
      • `rightmargin`: Specifies the right margin of the paragraph, in points; corresponds to `TextFormat.rightMargin`.
      • `tabstops`: Specifies custom tab stops as an array of non-negative integers; corresponds to `TextFormat.tabStops`.
      | | Underline tag | The `` tag underlines the tagged text. | Flash Player and AIR support the following HTML entities: | Entity | Description | | --- | --- | | &lt; | < (less than) | | &gt; | > (greater than) | | &amp; | & (ampersand) | | &quot; | " (double quotes) | | &apos; | ' (apostrophe, single quote) | Flash Player and AIR also support explicit character codes, such as & (ASCII ampersand) and € (Unicode € symbol).]]> The number of characters in a text field. A character such as tab (`\t`) counts as one character. The maximum number of characters that the text field can contain, as entered by a user. A script can insert more text than `maxChars` allows; the `maxChars` property indicates only how much text a user can enter. If the value of this property is `0`, a user can enter an unlimited amount of text. @default 0 The maximum value of `scrollH`. The maximum value of `scrollV`. A Boolean value that indicates whether Flash Player automatically scrolls multiline text fields when the user clicks a text field and rolls the mouse wheel. By default, this value is `true`. This property is useful if you want to prevent mouse wheel scrolling of text fields, or implement your own text field scrolling. Indicates whether field is a multiline text field. If the value is `true`, the text field is multiline; if the value is `false`, the text field is a single-line text field. In a field of type `TextFieldType.INPUT`, the `multiline` value determines whether the `Enter` key creates a new line(a value of `false`, and the `Enter` key is ignored). If you paste text into a `TextField` with a `multiline` value of `false`, newlines are stripped out of the text. @default false Defines the number of text lines in a multiline text field. If `wordWrap` property is set to `true`, the number of lines increases when text wraps. This property does not synchronize with the Embed font options in the Property inspector. If the string begins with a caret(^) character, all characters are initially accepted and succeeding characters in the string are excluded from the set of accepted characters. If the string does not begin with a caret(^) character, no characters are initially accepted and succeeding characters in the string are included in the set of accepted characters. The following example allows only uppercase characters, spaces, and numbers to be entered into a text field: `my_txt.restrict = "A-Z 0-9";` The following example includes all characters, but excludes lowercase letters: `my_txt.restrict = "^a-z";` You can use a backslash to enter a ^ or - verbatim. The accepted backslash sequences are \-, \^ or \\. The backslash must be an actual character in the string, so when specified in ActionScript, a double backslash must be used. For example, the following code includes only the dash(-) and caret(^): `my_txt.restrict = "\\-\\^";` The ^ can be used anywhere in the string to toggle between including characters and excluding characters. The following code includes only uppercase letters, but excludes the uppercase letter Q: `my_txt.restrict = "A-Z^Q";` You can use the `\u` escape sequence to construct `restrict` strings. The following code includes only the characters from ASCII 32(space) to ASCII 126(tilde). `my_txt.restrict = "\u0020-\u007E";` @default null]]> The current horizontal scrolling position. If the `scrollH` property is 0, the text is not horizontally scrolled. This property value is an integer that represents the horizontal position in pixels. The units of horizontal scrolling are pixels, whereas the units of vertical scrolling are lines. Horizontal scrolling is measured in pixels because most fonts you typically use are proportionally spaced; that is, the characters can have different widths. Flash Player performs vertical scrolling by line because users usually want to see a complete line of text rather than a partial line. Even if a line uses multiple fonts, the height of the line adjusts to fit the largest font in use. **Note: **The `scrollH` property is zero-based, not 1-based like the `scrollV` vertical scrolling property. The vertical position of text in a text field. The `scrollV` property is useful for directing users to a specific paragraph in a long passage, or creating scrolling text fields. The units of vertical scrolling are lines, whereas the units of horizontal scrolling are pixels. If the first line displayed is the first line in the text field, scrollV is set to 1(not 0). Horizontal scrolling is measured in pixels because most fonts are proportionally spaced; that is, the characters can have different widths. Flash performs vertical scrolling by line because users usually want to see a complete line of text rather than a partial line. Even if there are multiple fonts on a line, the height of the line adjusts to fit the largest font in use. A Boolean value that indicates whether the text field is selectable. The value `true` indicates that the text is selectable. The `selectable` property controls whether a text field is selectable, not whether a text field is editable. A dynamic text field can be selectable even if it is not editable. If a dynamic text field is not selectable, the user cannot select its text. If `selectable` is set to `false`, the text in the text field does not respond to selection commands from the mouse or keyboard, and the text cannot be copied with the Copy command. If `selectable` is set to `true`, the text in the text field can be selected with the mouse or keyboard, and the text can be copied with the Copy command. You can select text this way even if the text field is a dynamic text field instead of an input text field. @default true The zero-based character index value of the first character in the current selection. For example, the first character is 0, the second character is 1, and so on. If no text is selected, this property is the value of `caretIndex`. The zero-based character index value of the last character in the current selection. For example, the first character is 0, the second character is 1, and so on. If no text is selected, this property is the value of `caretIndex`. The sharpness of the glyph edges in this text field. This property applies only if the `openfl.text.AntiAliasType` property of the text field is set to `openfl.text.AntiAliasType.ADVANCED`. The range for `sharpness` is a number from -400 to 400. If you attempt to set `sharpness` to a value outside that range, Flash sets the property to the nearest value in the range(either -400 or 400). @default 0 Attaches a style sheet to the text field. For information on creating style sheets, see the StyleSheet class and the _ActionScript 3.0 Developer's Guide_. You can change the style sheet associated with a text field at any time. If you change the style sheet in use, the text field is redrawn with the new style sheet. You can set the style sheet to `null` or `undefined` to remove the style sheet. If the style sheet in use is removed, the text field is redrawn without a style sheet. **Note:** If the style sheet is removed, the contents of both `TextField.text` and ` TextField.htmlText` change to incorporate the formatting previously applied by the style sheet. To preserve the original `TextField.htmlText` contents without the formatting, save the value in a variable before removing the style sheet. A string that is the current text in the text field. Lines are separated by the carriage return character(`'\r'`, ASCII 13). This property contains unformatted text in the text field, without HTML tags. To get the text in HTML form, use the `htmlText` property. The color of the text in a text field, in hexadecimal format. The hexadecimal color system uses six digits to represent color values. Each digit has 16 possible values or characters. The characters range from 0-9 and then A-F. For example, black is `0x000000`; white is `0xFFFFFF`. @default 0(0x000000) The height of the text in pixels. The interaction mode property, Default value is TextInteractionMode.NORMAL. On mobile platforms, the normal mode implies that the text can be scrolled but not selected. One can switch to the selectable mode through the in-built context menu on the text field. On Desktop, the normal mode implies that the text is in scrollable as well as selection mode. The type of the text field. Either one of the following TextFieldType constants: `TextFieldType.DYNAMIC`, which specifies a dynamic text field, which a user cannot edit, or `TextFieldType.INPUT`, which specifies an input text field, which a user can edit. @default dynamic @throws ArgumentError The `type` specified is not a member of openfl.text.TextFieldType. Specifies whether to copy and paste the text formatting along with the text. When set to `true`, Flash Player copies and pastes formatting (such as alignment, bold, and italics) when you copy and paste between text fields. Both the origin and destination text fields for the copy and paste procedure must have `useRichTextClipboard` set to `true`. The default value is `false`. <__bounds> <__caretIndex> <__cursorTimer> <__dirty> <__displayAsPassword> <__domRender> <__inputEnabled> <__isHTML> <__layoutDirty> <__mouseScrollVCounter expr="0"> 0 <__mouseWheelEnabled> <__offsetX> <__offsetY> <__selectionIndex> <__showCursor> <__styleSheet> <__text> <__htmlText> <__textEngine> <__textFormat> Appends the string specified by the `newText` parameter to the end of the text of the text field. This method is more efficient than an addition assignment(`+=`) on a `text` property (such as `someTextField.text += moreText`), particularly for a text field that contains a significant amount of content. @param newText The string to append to the existing text. Returns a rectangle that is the bounding box of the character. @param charIndex The zero-based index value for the character (for example, the first position is 0, the second position is 1, and so on). @return A rectangle with `x` and `y` minimum and maximum values defining the bounding box of the character. Returns the zero-based index value of the character at the point specified by the `x` and `y` parameters. @param x The _x_ coordinate of the character. @param y The _y_ coordinate of the character. @return The zero-based index value of the character(for example, the first position is 0, the second position is 1, and so on). Returns -1 if the point is not over any character. Given a character index, returns the index of the first character in the same paragraph. @param charIndex The zero-based index value of the character (for example, the first character is 0, the second character is 1, and so on). @return The zero-based index value of the first character in the same paragraph. @throws RangeError The character index specified is out of range. ` tag. The `` tag is in the following format: ```html ``` @param id The `id` to match (in the `id` attribute of the `` tag). @return The display object corresponding to the image or SWF file with the matching `id` attribute in the `` tag of the text field. For media loaded from an external source, this object is a Loader object, and, once loaded, the media object is a child of that Loader object. For media embedded in the SWF file, it is the loaded object. If no `` tag with the matching `id` exists, the method returns `null`.]]> Returns the zero-based index value of the line containing the character specified by the `charIndex` parameter. @param charIndex The zero-based index value of the character (for example, the first character is 0, the second character is 1, and so on). @return The zero-based index value of the line. @throws RangeError The character index specified is out of range. Returns the number of characters in a specific text line. @param lineIndex The line number for which you want the length. @return The number of characters in the line. @throws RangeError The line number specified is out of range. Returns metrics information about a given text line. @param lineIndex The line number for which you want metrics information. @return A TextLineMetrics object. @throws RangeError The line number specified is out of range. Returns the character index of the first character in the line that the `lineIndex` parameter specifies. @param lineIndex The zero-based index value of the line(for example, the first line is 0, the second line is 1, and so on). @return The zero-based index value of the first character in the line. @throws RangeError The line number specified is out of range. Returns the text of the line specified by the `lineIndex` parameter. @param lineIndex The zero-based index value of the line(for example, the first line is 0, the second line is 1, and so on). @return The text string contained in the specified line. @throws RangeError The line number specified is out of range. Given a character index, returns the length of the paragraph containing the given character. The length is relative to the first character in the paragraph (as returned by `getFirstCharInParagraph()`), not to the character index passed in. @param charIndex The zero-based index value of the character (for example, the first character is 0, the second character is 1, and so on). @return Returns the number of characters in the paragraph. @throws RangeError The character index specified is out of range. { endIndex : -1, beginIndex : -1 } Returns a TextFormat object that contains formatting information for the range of text that the `beginIndex` and `endIndex` parameters specify. Only properties that are common to the entire text specified are set in the resulting TextFormat object. Any property that is _mixed_, meaning that it has different values at different points in the text, has a value of `null`. If you do not specify values for these parameters, this method is applied to all the text in the text field. The following table describes three possible usages: | Usage | Description | | --- | --- | | `my_textField.getTextFormat()` | Returns a TextFormat object containing formatting information for all text in a text field. Only properties that are common to all text in the text field are set in the resulting TextFormat object. Any property that is _mixed_, meaning that it has different values at different points in the text, has a value of `null`. | | `my_textField.getTextFormat(beginIndex:Number)` | Returns a TextFormat object containing a copy of the text format of the character at the `beginIndex` position. | | `my_textField.getTextFormat(beginIndex:Number,endIndex:Number)` | Returns a TextFormat object containing formatting information for the span of text from `beginIndex` to `endIndex-1`. Only properties that are common to all of the text in the specified range are set in the resulting TextFormat object. Any property that is mixed (that is, has different values at different points in the range) has its value set to `null`. | @return The TextFormat object that represents the formatting properties for the specified text. @throws RangeError The `beginIndex` or `endIndex` specified is out of range. Returns true if an embedded font is available with the specified `fontName` and `fontStyle` where `Font.fontType` is `openfl.text.FontType.EMBEDDED`. Starting with Flash Player 10, two kinds of embedded fonts can appear in a SWF file. Normal embedded fonts are only used with TextField objects. CFF embedded fonts are only used with the openfl.text.engine classes. The two types are distinguished by the `fontType` property of the `Font` class, as returned by the `enumerateFonts()` function. TextField cannot use a font of type `EMBEDDED_CFF`. If `embedFonts` is set to `true` and the only font available at run time with the specified name and style is of type `EMBEDDED_CFF`, Flash Player fails to render the text, as if no embedded font were available with the specified name and style. If both `EMBEDDED` and `EMBEDDED_CFF` fonts are available with the same name and style, the `EMBEDDED` font is selected and text renders with the `EMBEDDED` font. @param fontName The name of the embedded font to check. @param fontStyle Specifies the font style to check. Use `openfl.text.FontStyle` @return `true` if a compatible embedded font is available, otherwise `false`. @throws ArgumentError The `fontStyle` specified is not a member of `openfl.text.FontStyle`. Replaces the range of characters that the `beginIndex` and `endIndex` parameters specify with the contents of the `newText` parameter. As designed, the text from `beginIndex` to `endIndex-1` is replaced. **Note:** This method does not work if a style sheet is applied to the text field. @param beginIndex The zero-based index value for the start position of the replacement range. @param endIndex The zero-based index position of the first character after the desired text span. @param newText The text to use to replace the specified range of characters. @throws Error This method cannot be used on a text field with a style sheet. Sets as selected the text designated by the index values of the first and last characters, which are specified with the `beginIndex` and `endIndex` parameters. If the two parameter values are the same, this method sets the insertion point, as if you set the `caretIndex` property. @param beginIndex The zero-based index value of the first character in the selection(for example, the first character is 0, the second character is 1, and so on). @param endIndex The zero-based index value of the last character in the selection. { endIndex : -1, beginIndex : -1 } Applies the text formatting that the `format` parameter specifies to the specified text in a text field. The value of `format` must be a TextFormat object that specifies the desired text formatting changes. Only the non-null properties of `format` are applied to the text field. Any property of `format` that is set to `null` is not applied. By default, all of the properties of a newly created TextFormat object are set to `null`. **Note:** This method does not work if a style sheet is applied to the text field. The `setTextFormat()` method changes the text formatting applied to a range of characters or to the entire body of text in a text field. To apply the properties of format to all text in the text field, do not specify values for `beginIndex` and `endIndex`. To apply the properties of the format to a range of text, specify values for the `beginIndex` and the `endIndex` parameters. You can use the `length` property to determine the index values. The two types of formatting information in a TextFormat object are character level formatting and paragraph level formatting. Each character in a text field can have its own character formatting settings, such as font name, font size, bold, and italic. For paragraphs, the first character of the paragraph is examined for the paragraph formatting settings for the entire paragraph. Examples of paragraph formatting settings are left margin, right margin, and indentation. Any text inserted manually by the user, or replaced by the `replaceSelectedText()` method, receives the default text field formatting for new text, and not the formatting specified for the text insertion point. To set the default formatting for new text, use `defaultTextFormat`. @param format A TextFormat object that contains character and paragraph formatting information. @throws Error This method cannot be used on a text field with a style sheet. @throws RangeError The `beginIndex` or `endIndex` specified is out of range. <__allowMouseFocus set="method" line="1597" override="1"> <__caretBeginningOfLine set="method" line="1604"> <__caretBeginningOfNextLine set="method" line="1609"> <__caretBeginningOfPreviousLine set="method" line="1623"> <__caretEndOfLine set="method" line="1642"> <__caretNextCharacter set="method" line="1656"> <__caretNextLine set="method" line="1664"> <__caretPreviousCharacter set="method" line="1674"> <__caretPreviousLine set="method" line="1682"> <__disableInput set="method" line="1692"> <__dispatch set="method" line="1707" override="1"> <__enableInput set="method" line="1735"> <__getAdvance get="inline" set="null" line="1776"> <__getBounds set="method" line="1785" override="1"> <__getCharBoundaries set="method" line="1799"> <__getCharIndexOnDifferentLine set="method" line="1831"> <__getCursor set="method" line="1868" override="1"> <__getGroup set="method" line="1884"> { precise : false } <__getPosition set="method" line="1933"> <__hitTest set="method" line="1965" override="1"> <__hitTestMask set="method" line="1989" override="1"> <__replaceSelectedText set="method" line="2005"> { restrict : true } <__replaceText set="method" line="2028"> <__startCursorTimer set="method" line="2158"> <__startTextInput set="method" line="2174"> <__stopCursorTimer set="method" line="2190"> <__stopTextInput set="method" line="2206"> <__updateLayout set="method" line="2216"> <__updateScrollH set="method" line="2248"> <__updateScrollV set="method" line="2322"> <__updateMouseDrag set="method" line="2384"> <__updateText set="method" line="2414"> <__updateTransforms set="method" line="2474" override="1"> { overrideTransform : null } Creates a new TextField instance. After you create the TextField instance, call the `addChild()` or `addChildAt()` method of the parent DisplayObjectContainer object to add the TextField instance to the display list. The default size for a text field is 100 x 100 pixels. You can use the TextField class to perform low-level text rendering. However, in Flex, you typically use the Label, Text, TextArea, and TextInput controls to process text. You can give a text field an instance name in the Property inspector and use the methods and properties of the TextField class to manipulate it with ActionScript. TextField instance names are displayed in the Movie Explorer and in the Insert Target Path dialog box in the Actions panel. To create a text field dynamically, use the `TextField()` constructor. The methods of the TextField class let you set, select, and manipulate text in a dynamic or input text field that you create during authoring or at runtime. ActionScript provides several ways to format your text at runtime. The TextFormat class lets you set character and paragraph formatting for TextField objects. You can apply Cascading Style Sheets(CSS) styles to text fields by using the `TextField.styleSheet` property and the StyleSheet class. You can use CSS to style built-in HTML tags, define new formatting tags, or apply styles. You can assign HTML formatted text, which optionally uses CSS styles, directly to a text field. HTML text that you assign to a text field can contain embedded media(movie clips, SWF files, GIF files, PNG files, and JPEG files). The text wraps around the embedded media in the same way that a web browser wraps text around media embedded in an HTML document. Flash Player supports a subset of HTML tags that you can use to format text. See the list of supported HTML tags in the description of the `htmlText` property. @event change Dispatched after a control value is modified, unlike the `textInput` event, which is dispatched before the value is modified. Unlike the W3C DOM Event Model version of the `change` event, which dispatches the event only after the control loses focus, the ActionScript 3.0 version of the `change` event is dispatched any time the control changes. For example, if a user types text into a text field, a `change` event is dispatched after every keystroke. @event link Dispatched when a user clicks a hyperlink in an HTML-enabled text field, where the URL begins with "event:". The remainder of the URL after "event:" is placed in the text property of the LINK event. **Note:** The default behavior, adding the text to the text field, occurs only when Flash Player generates the event, which in this case happens when a user attempts to input text. You cannot put text into a text field by sending it `textInput` events. @event scroll Dispatched by a TextField object _after_ the user scrolls. @event textInput Flash Player dispatches the `textInput` event when a user enters one or more characters of text. Various text input methods can generate this event, including standard keyboards, input method editors(IMEs), voice or speech recognition systems, and even the act of pasting plain text with no formatting or style information. @event textInteractionModeChange Flash Player dispatches the `textInteractionModeChange` event when a user changes the interaction mode of a text field. for example on Android, one can toggle from NORMAL mode to SELECTION mode using context menu options]]> "tags=\"haxe,release\"" openfl.display.Graphics openfl.geom.ColorTransform openfl.geom.Matrix openfl.geom.Rectangle openfl.text._internal.TextEngine openfl.text.TextFormat hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__onMouseUp set="method" line="31"> <_HX_SUPER__onKeyUp set="method" line="31"> <_HX_SUPER__onKeyDown set="method" line="31"> <_HX_SUPER__cycleValue set="method" line="31"> <_HX_SUPER__selectEnd set="method" line="31"> <_HX_SUPER__cycleNumericValue set="method" line="31"> <_HX_SUPER__cycleEnumValue set="method" line="31"> <_HX_SUPER__onFocusLost set="method" line="148"> <_HX_SUPER__submit public="1" set="method" line="31"> <_HX_SUPER__setIsEditing set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.debug.watch.EditableTextField * A Visual Studio-style "watch" window, for use in the debugger overlay. * Track the values of any public variable in real-time, and/or edit their values on the fly. openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.debug.watch.Tracker flixel.system.debug.watch.Tracker.TrackerProfile <_HX_SUPER__toString public="1" set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.debug.watch.Tracker flixel.system.debug.watch.Tracker.TrackerProfile 4 20 125 openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * `object.field` resolved via `Reflect.getProperty()`. * Manually updated values. * Haxe expression evaluated with hscript. * A function that returns the value to display. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__getTextColor set="method" line="148"> <_HX_SUPER__updateSize public="1" set="method" line="31"> <_HX_SUPER__updateName set="method" line="148"> <_HX_SUPER__setNameText set="method" line="148"> <_HX_SUPER__getValue set="method" line="148"> <_HX_SUPER__getFormattedValue set="method" line="148"> <_HX_SUPER__submitValue set="method" line="31"> <_HX_SUPER__updateValue public="1" set="method" line="148"> <_HX_SUPER__getNameWidth public="1" set="method" line="148"> <_HX_SUPER__getMinWidth public="1" set="method" line="148"> <_HX_SUPER__destroy public="1" set="method" line="148"> <__interp> openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.debug.watch.WatchEntry <__interp> openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.debug.watch.Watch <_HX_SUPER__onAssetsReload public="1" set="method" line="31"> * New context handler. * Regenerates tilesheets for all dumped graphics objects in the cache. <_HX_SUPER__onContext public="1" set="method" line="31"> * Dumps bits of all graphics in the cache. This frees some memory, but you can't read/write pixels on those graphics anymore. * You can call undump() method for each FlxGraphic (or undumpCache()) object which will restore it again. <_HX_SUPER__dumpCache public="1" set="method" line="31"> * Restores graphics of all dumped objects in the cache. <_HX_SUPER__undumpCache public="1" set="method" line="31"> { Unique : false } * Generates a new BitmapData object (a colored rectangle) and caches it. * * @param Width How wide the rectangle should be. * @param Height How high the rectangle should be. * @param Color What color the rectangle should be (0xAARRGGBB) * @param Unique Ensures that the bitmap data uses a new slot in the cache. * @param Key Force the cache to use a specific Key to index the bitmap. * @return The BitmapData we just created. <_HX_SUPER__create public="1" set="method" line="148"> { Unique : false } { Unique : false } * Loads a bitmap from a file, clones it if necessary and caches it. * @param Graphic Optional FlxGraphics object to create FlxGraphic from. * @param Frames Optional FlxFramesCollection object to create FlxGraphic from. * @param Bitmap Optional BitmapData object to create FlxGraphic from. * @param BitmapClass Optional Class for BitmapData to create FlxGraphic from. * @param Str Optional String key to use for FlxGraphic instantiation. * @param Unique Ensures that the bitmap data uses a new slot in the cache. * @param Key Force the cache to use a specific Key to index the bitmap. * @return The FlxGraphic we just created. <_HX_SUPER__add public="1" set="method" line="148"> { Unique : false } * Gets key from bitmap cache for specified BitmapData * * @param bmd BitmapData to find in cache * @return BitmapData's key or null if there isn't such BitmapData in cache <_HX_SUPER__findKeyForBitmap public="1" set="method" line="148"> { unique : false } * Creates string key for further caching. * * @param systemKey The first string key to use as a base for a new key. It's usually a key from openfl.Assets ("assets/image.png"). * @param userKey The second string key to use as a base for a new key. It's usually a key provided by the user * @param unique Whether generated key should be unique or not. * @return Created key. <_HX_SUPER__generateKey public="1" set="method" line="148"> { unique : false } * Gets unique key for bitmap cache * * @param baseKey key's prefix * @return unique key <_HX_SUPER__getUniqueKey public="1" set="method" line="148"> * Generates key from provided base key and information about tile size and offsets in spritesheet * and the region of image to use as spritesheet graphics source. * * @param baseKey Beginning of the key. Usually it is the key for original spritesheet graphics (like "assets/tile.png") * @param frameSize the size of tile in spritesheet * @param frameSpacing offsets between tiles in offsets * @param region region of image to use as spritesheet graphics source * @return Generated key for spritesheet with inserted spaces between tiles <_HX_SUPER__getKeyWithSpacesAndBorders public="1" set="method" line="148"> * Totally removes specified FlxGraphic object. * @param FlxGraphic object you want to remove and destroy. <_HX_SUPER__remove public="1" set="method" line="31"> * Totally removes FlxGraphic object with specified key. * @param key the key for cached FlxGraphic object. <_HX_SUPER__removeByKey public="1" set="method" line="31"> <_HX_SUPER__removeIfNoUse public="1" set="method" line="31"> * Clears image cache (and destroys those images). * Graphics object will be removed and destroyed only if it shouldn't persist in the cache and its useCount is 0. <_HX_SUPER__clearCache public="1" set="method" line="31"> * Maps the entire cache as destroyable, aka must be cleared. <_HX_SUPER__mapCacheAsDestroyable public="1" set="method" line="148"> * Completely resets bitmap cache, which means destroying ALL of the cached FlxGraphic objects. <_HX_SUPER__reset public="1" set="method" line="31"> * Removes all unused graphics from cache, * but skips graphics which should persist in cache and shouldn't be destroyed on no use. <_HX_SUPER__clearUnused public="1" set="method" line="31"> <_HX_SUPER__get_maxTextureSize set="method" line="148"> <_HX_SUPER__get_whitePixel set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.frontEnds.BitmapFrontEnd * Clears the bitmapLog window and adds the entire cache to it. <_HX_SUPER__viewCache public="1" set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.frontEnds.BitmapLogFrontEnd { Destroy : true } * Remove a camera from the game. * * @param Camera The camera you want to remove. * @param Destroy Whether to call destroy() on the camera, default value is true. <_HX_SUPER__remove public="1" set="method" line="31"> { Destroy : true } * If set to true, the camera is listed as a default draw target, meaning `FlxBasics` * render to the specified camera if the `FlxBasic` has a null `cameras` value. * @see flixel.FlxBasic.cameras * * @param camera The camera you wish to change. * @param value If false, FlxBasics will not render to it unless you add it to their `cameras` list. * @since 4.9.0 <_HX_SUPER__setDefaultDrawTarget public="1" set="method" line="148"> * Dumps all the current cameras and resets to just one camera. * Handy for doing split-screen especially. * * @param NewCamera Optional; specify a specific camera object to be the new main camera. <_HX_SUPER__reset public="1" set="method" line="31"> { Force : false, Duration : 1, Color : FlxColor.WHITE } * All screens are filled with this color and gradually return to normal. * * @param Color The color you want to use. * @param Duration How long it takes for the flash to fade. * @param OnComplete A function you want to run when the flash finishes. * @param Force Force the effect to reset. <_HX_SUPER__flash public="1" set="method" line="31"> { Force : false, Duration : 1, Color : FlxColor.WHITE } { Force : false, FadeIn : false, Duration : 1, Color : FlxColor.BLACK } * The screen is gradually filled with this color. * * @param Color The color you want to use. * @param Duration How long it takes for the fade to finish. * @param FadeIn True fades from a color, false fades to it. * @param OnComplete A function you want to run when the fade finishes. * @param Force Force the effect to reset. <_HX_SUPER__fade public="1" set="method" line="31"> { Force : false, FadeIn : false, Duration : 1, Color : FlxColor.BLACK } { Force : true, Duration : 0.5, Intensity : 0.05 } * A simple screen-shake effect. * * @param Intensity Percentage of screen size representing the maximum distance that the screen can move while shaking. * @param Duration The length in seconds that the shaking effect should last. * @param OnComplete A function you want to run when the shake effect finishes. * @param Force Force the effect to reset (default = true, unlike flash() and fade()!). * @param Axes On what axes to shake. Default value is XY / both. <_HX_SUPER__shake public="1" set="method" line="31"> { Force : true, Duration : 0.5, Intensity : 0.05 } flixel.FlxGame * Resizes and moves cameras when the game resizes (onResize signal). <_HX_SUPER__resize set="method" line="31"> <_HX_SUPER__get_bgColor set="method" line="148"> <_HX_SUPER__set_bgColor set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.frontEnds.CameraFrontEnd <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.frontEnds.ConsoleFrontEnd { UpdateLayout : true, ToggleMode : false } * Create and add a new debugger button. * * @param Position Either LEFT, CENTER or RIGHT. * @param Icon The icon to use for the button * @param UpHandler The function to be called when the button is pressed. * @param ToggleMode Whether this is a toggle button or not. * @param UpdateLayout Whether to update the button layout. * @return The added button. <_HX_SUPER__addButton public="1" set="method" line="148"> { UpdateLayout : true, ToggleMode : false } * Creates a new tracker window if there exists a tracking profile for the class / class of the object. * By default, flixel classes like FlxBasic, FlxRect and FlxPoint are supported. * * @param ObjectOrClass The object or class to track * @param WindowTitle Title of the tracker window, uses the class name by default <_HX_SUPER__track public="1" set="method" line="148"> { UpdateLayout : true } * Removes and destroys a button from the debugger. * * @param Button The FlxSystemButton instance to remove. * @param UpdateLayout Whether to update the button layout. <_HX_SUPER__removeButton public="1" set="method" line="31"> { UpdateLayout : true } <_HX_SUPER__set_drawDebug set="method" line="148"> flixel.FlxGame.onFocus <_HX_SUPER__set_visible set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.frontEnds.DebuggerFrontEnd <_HX_SUPER__reset public="1" set="method" line="31"> flixel.FlxGame flixel.FlxState.resetSubState <_HX_SUPER__onStateSwitch set="method" line="31"> <_HX_SUPER__destroy set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.frontEnds.InputFrontEnd { FireOnce : false } * Add an advanced log message to the debugger by also specifying a LogStyle. Backend to FlxG.log.add(), FlxG.log.warn(), FlxG.log.error() and FlxG.log.notice(). * * @param Data Any Data to log. * @param Style The LogStyle to use, for example LogStyle.WARNING. You can also create your own by importing the LogStyle class. * @param FireOnce Whether you only want to log the Data in case it hasn't been added already <_HX_SUPER__advanced public="1" set="method" line="31"> { FireOnce : false } * Internal function used as a interface between trace() and add(). * * @param Data The data that has been traced * @param Inf Information about the position at which trace() was called <_HX_SUPER__processTraceData set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.frontEnds.LogFrontEnd [] * An array container for plugins. * Retrieves a plugin based on its class name from the global plugin array. * * @param ClassType The class name of the plugin you want to retrieve. See the FlxPath or FlxTimer constructors for example usage. * @return The plugin object, or null if no matching plugin was found. * Removes an instance of a plugin from the global plugin array. * * @param Plugin The plugin instance you want to remove. * @return The same FlxPlugin-based plugin you passed in. * Removes all instances of a plugin from the global plugin array. * * @param ClassType The class name of the plugin type you want removed from the array. * @return Whether or not at least one instance of this plugin type was removed. flixel.FlxGame * Used by the game object to call update() on all the plugins. flixel.FlxGame * Used by the game object to call draw() on all the plugins. flixel.FlxG * Accessed via `FlxG.plugins`. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Removes all instances of a plugin from the global plugin array. * * @param ClassType The class name of the plugin type you want removed from the array. * @return Whether or not at least one instance of this plugin type was removed. <_HX_SUPER__removeType public="1" set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.frontEnds.PluginFrontEnd <_HX_SUPER__get_stateSwitched set="method" line="148"> <_HX_SUPER__get_gameStarted set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.frontEnds.SignalFrontEnd * A handy container for a background music object. false * Whether or not the game sounds are muted. * Set this hook to get a callback whenever the volume changes. * Function should take the form myVolumeHandler(volume:Float). [PLUS, NUMPADPLUS] * The key codes used to increase volume (see FlxG.keys for the keys available). * Default keys: + (and numpad +). Set to null to deactivate. [MINUS, NUMPADMINUS] * The keys to decrease volume (see FlxG.keys for the keys available). * Default keys: - (and numpad -). Set to null to deactivate. [ZERO, NUMPADZERO] * The keys used to mute / unmute the game (see FlxG.keys for the keys available). * Default keys: 0 (and numpad 0). Set to null to deactivate. true * Whether or not the soundTray should be shown when any of the * volumeUp-, volumeDown- or muteKeys is pressed. new FlxSoundGroup() * The group sounds played via playMusic() are added to unless specified otherwise. new FlxSoundGroup() * The group sounds in load() / play() / stream() are added to unless specified otherwise. ()]]> * A list of all the sounds being played in the game. 1 * Set this to a number between 0 and 1 to change the global volume. true * Whenever switching volume is enabled or not. { Looped : true, Volume : 1 } * Set up and play a looping background soundtrack. * * @param Music The sound file you want to loop in the background. * @param Volume How loud the sound should be, from 0 to 1. * @param Looped Whether to loop this music. * @param Group The group to add this sound to. { AutoPlay : false, AutoDestroy : false, Looped : false, Volume : 1 } * Creates a new FlxSound object. * * @param EmbeddedSound The embedded sound resource you want to play. To stream, use the optional URL parameter instead. * @param Volume How loud to play it (0 to 1). * @param Looped Whether to loop this sound. * @param Group The group to add this sound to. * @param AutoDestroy Whether to destroy this sound when it finishes playing. * Leave this value set to "false" if you want to re-use this FlxSound instance. * @param AutoPlay Whether to play the sound. * @param URL Load a sound from an external web resource instead. Only used if EmbeddedSound = null. * @param OnComplete Called when the sound finished playing. * @param OnLoad Called when the sound finished loading. Called immediately for succesfully loaded embedded sounds. * @return A FlxSound object. { AutoPlay : false } * Method for sound caching (especially useful on mobile targets). The game may freeze * for some time the first time you try to play a sound if you don't use this method. * * @param EmbeddedSound Name of sound assets specified in your .xml project file * @return Cached Sound object * Calls FlxG.sound.cache() on all sounds that are embedded. * WARNING: can lead to high memory usage. { AutoDestroy : true, Looped : false, Volume : 1 } * Plays a sound from an embedded sound. Tries to recycle a cached sound first. * * @param EmbeddedSound The embedded sound resource you want to play. * @param Volume How loud to play it (0 to 1). * @param Looped Whether to loop this sound. * @param Group The group to add this sound to. * @param AutoDestroy Whether to destroy this sound when it finishes playing. * Leave this value set to "false" if you want to re-use this FlxSound instance. * @param OnComplete Called when the sound finished playing * @return A FlxSound object. { AutoDestroy : true, Looped : false, Volume : 1 } * Plays a sound from a URL. Tries to recycle a cached sound first. * NOTE: Just calls FlxG.sound.load() with AutoPlay == true. * * @param URL Load a sound from an external web resource instead. * @param Volume How loud to play it (0 to 1). * @param Looped Whether to loop this sound. * @param Group The group to add this sound to. * @param AutoDestroy Whether to destroy this sound when it finishes playing. * Leave this value set to "false" if you want to re-use this FlxSound instance. * @param OnComplete Called when the sound finished playing * @param OnLoad Called when the sound finished loading. * @return A FlxSound object. * Pause all sounds currently playing. * Resume playing existing sounds. { ForceDestroy : false } * Called by FlxGame on state changes to stop and destroy sounds. * * @param ForceDestroy Kill sounds even if persist is true. * Toggles muted, also activating the sound tray. * Changes the volume by a certain amount, also activating the sound tray. * Shows the sound tray if it is enabled. flixel.FlxGame * Called by the game loop to make sure the sounds get updated each frame. flixel.FlxGame flixel.FlxGame * Loads saved sound preferences if they exist. * Accessed via `FlxG.sound`. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() flixel.FlxG { Looped : true, Volume : 1 } * Set up and play a looping background soundtrack. * * @param Music The sound file you want to loop in the background. * @param Volume How loud the sound should be, from 0 to 1. * @param Looped Whether to loop this music. * @param Group The group to add this sound to. <_HX_SUPER__playMusic public="1" set="method" line="31"> { Looped : true, Volume : 1 } { AutoPlay : false, AutoDestroy : false, Looped : false, Volume : 1 } * Creates a new FlxSound object. * * @param EmbeddedSound The embedded sound resource you want to play. To stream, use the optional URL parameter instead. * @param Volume How loud to play it (0 to 1). * @param Looped Whether to loop this sound. * @param Group The group to add this sound to. * @param AutoDestroy Whether to destroy this sound when it finishes playing. * Leave this value set to "false" if you want to re-use this FlxSound instance. * @param AutoPlay Whether to play the sound. * @param URL Load a sound from an external web resource instead. Only used if EmbeddedSound = null. * @param OnComplete Called when the sound finished playing. * @param OnLoad Called when the sound finished loading. Called immediately for succesfully loaded embedded sounds. * @return A FlxSound object. <_HX_SUPER__load public="1" set="method" line="148"> { AutoPlay : false, AutoDestroy : false, Looped : false, Volume : 1 } { AutoPlay : false } <_HX_SUPER__loadHelper set="method" line="148"> { AutoPlay : false } * Calls FlxG.sound.cache() on all sounds that are embedded. * WARNING: can lead to high memory usage. <_HX_SUPER__cacheAll public="1" set="method" line="31"> { AutoDestroy : true, Looped : false, Volume : 1 } * Plays a sound from an embedded sound. Tries to recycle a cached sound first. * * @param EmbeddedSound The embedded sound resource you want to play. * @param Volume How loud to play it (0 to 1). * @param Looped Whether to loop this sound. * @param Group The group to add this sound to. * @param AutoDestroy Whether to destroy this sound when it finishes playing. * Leave this value set to "false" if you want to re-use this FlxSound instance. * @param OnComplete Called when the sound finished playing * @return A FlxSound object. <_HX_SUPER__play public="1" set="method" line="148"> { AutoDestroy : true, Looped : false, Volume : 1 } { AutoDestroy : true, Looped : false, Volume : 1 } * Plays a sound from a URL. Tries to recycle a cached sound first. * NOTE: Just calls FlxG.sound.load() with AutoPlay == true. * * @param URL Load a sound from an external web resource instead. * @param Volume How loud to play it (0 to 1). * @param Looped Whether to loop this sound. * @param Group The group to add this sound to. * @param AutoDestroy Whether to destroy this sound when it finishes playing. * Leave this value set to "false" if you want to re-use this FlxSound instance. * @param OnComplete Called when the sound finished playing * @param OnLoad Called when the sound finished loading. * @return A FlxSound object. <_HX_SUPER__stream public="1" set="method" line="148"> { AutoDestroy : true, Looped : false, Volume : 1 } * Pause all sounds currently playing. <_HX_SUPER__pause public="1" set="method" line="31"> * Resume playing existing sounds. <_HX_SUPER__resume public="1" set="method" line="31"> { ForceDestroy : false } * Called by FlxGame on state changes to stop and destroy sounds. * * @param ForceDestroy Kill sounds even if persist is true. <_HX_SUPER__destroy public="1" set="method" line="31"> { ForceDestroy : false } <_HX_SUPER__destroySound set="method" line="31"> * Toggles muted, also activating the sound tray. <_HX_SUPER__toggleMuted public="1" set="method" line="31"> * Changes the volume by a certain amount, also activating the sound tray. <_HX_SUPER__changeVolume public="1" set="method" line="31"> * Shows the sound tray if it is enabled. <_HX_SUPER__showSoundTray public="1" set="method" line="31"> flixel.FlxGame * Called by the game loop to make sure the sounds get updated each frame. <_HX_SUPER__update set="method" line="31"> flixel.FlxGame <_HX_SUPER__onFocusLost set="method" line="31"> flixel.FlxGame <_HX_SUPER__onFocus set="method" line="31"> * Loads saved sound preferences if they exist. <_HX_SUPER__loadSavedPrefs set="method" line="31"> <_HX_SUPER__set_volume set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.frontEnds.SoundFrontEnd false * Whether the debugger has been paused. false * Whether a "1 frame step forward" was requested. * Pause the main game loop * Resume the main game loop from FlxG.vcr.pause(); flixel.FlxG * Accessed via `FlxG.vcr`. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Pause the main game loop <_HX_SUPER__pause public="1" set="method" line="31"> * Resume the main game loop from FlxG.vcr.pause(); <_HX_SUPER__resume public="1" set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.frontEnds.VCRFrontEnd * Add an expression to the watch list in the debugger. * The expression gets evaluated with hscript, and you can see its current value all the time. * * @param expression A Haxe expression written as a string that will be evaluated and watched. * @param displayName Optional, display your own string instead of the expression string: e.g. "enemy count". * @since 4.1.0 <_HX_SUPER__addExpression public="1" set="method" line="31"> * Remove an expression from the watch list in the debugger. * * @param displayName The display name of the registered expression, if you supplied one, or the Haxe expression that you want to remove, in string form. * @since 4.1.0 <_HX_SUPER__removeExpression public="1" set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.frontEnds.WatchFrontEnd hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.macros.FlxMacroUtil hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.replay.CodeValuePair * The random number generator seed value for this recording. * The current frame for this recording. * The number of frames in this recording. * Whether the replay has finished playing or not. <_frames> * Internal container for all the frames in this replay. <_capacity> * Internal tracker for max number of frames we can fit before growing the _frames again. <_marker> * Internal helper variable for keeping track of where we are in _frames during recording or replay. * Clean up memory. * Create a new gameplay recording. Requires the current random number generator seed. * * @param Seed The current seed from the random number generator. * Load replay data from a String object. * Strings can come from embedded assets or external * files loaded through the debugger overlay. * @param FileContents A String object containing a gameplay recording. * Save the current recording data off to a String object. * Basically goes through and calls FrameRecord.save() on each frame in the replay. * return The gameplay recording in simple ASCII format. * Get the current input data from the input managers and store it in a new frame record. * Get the current frame record data and load it into the input managers. * Reset the replay back to the first frame. * Common initialization terms used by both create() and load() to set up the replay object. * Instantiate a new replay object. Doesn't actually do much until you call create() or load(). * The replay object both records and replays game recordings, * as well as handle saving and loading replays to and from files. * Gameplay recordings are essentially a list of keyboard and mouse inputs, * but since Flixel is fairly deterministic, we can use these to play back * recordings of gameplay with a decent amount of fidelity. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Clean up memory. <_HX_SUPER__destroy public="1" set="method" line="31"> * Create a new gameplay recording. Requires the current random number generator seed. * * @param Seed The current seed from the random number generator. <_HX_SUPER__create public="1" set="method" line="31"> * Load replay data from a String object. * Strings can come from embedded assets or external * files loaded through the debugger overlay. * @param FileContents A String object containing a gameplay recording. <_HX_SUPER__load public="1" set="method" line="31"> * Save the current recording data off to a String object. * Basically goes through and calls FrameRecord.save() on each frame in the replay. * return The gameplay recording in simple ASCII format. <_HX_SUPER__save public="1" set="method" line="148"> * Get the current input data from the input managers and store it in a new frame record. <_HX_SUPER__recordFrame public="1" set="method" line="31"> * Get the current frame record data and load it into the input managers. <_HX_SUPER__playNextFrame public="1" set="method" line="31"> * Reset the replay back to the first frame. <_HX_SUPER__rewind public="1" set="method" line="31"> * Common initialization terms used by both create() and load() to set up the replay object. <_HX_SUPER__init set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.replay.FlxReplay * Which frame of the game loop this record is from or for. * An array of simple integer pairs referring to what key is pressed, and what state its in. * A container for the 4 mouse state integers. * Load this frame record with input data from the input managers. * @param Frame What frame it is. * @param Keys Keyboard data from the keyboard manager. * @param Mouse Mouse data from the mouse manager. * @return A reference to this FrameRecord object. * Clean up memory. * Save the frame record data to array simple ASCII string. * @return A String object containing the relevant frame record data. * Load the frame record data from array simple ASCII string. * @param Data A String object containing the relevant frame record data. * Instantiate array new frame record. * Helper class for the new replay system. Represents all the game inputs for one "frame" or "step" of the game loop. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Load this frame record with input data from the input managers. * @param Frame What frame it is. * @param Keys Keyboard data from the keyboard manager. * @param Mouse Mouse data from the mouse manager. * @return A reference to this FrameRecord object. <_HX_SUPER__create public="1" set="method" line="148"> * Clean up memory. <_HX_SUPER__destroy public="1" set="method" line="31"> * Save the frame record data to array simple ASCII string. * @return A String object containing the relevant frame record data. <_HX_SUPER__save public="1" set="method" line="148"> * Load the frame record data from array simple ASCII string. * @param Data A String object containing the relevant frame record data. <_HX_SUPER__load public="1" set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.replay.FrameRecord * The state of the mouse wheel. * Instantiate a new mouse input record. * * @param X The main X value of the mouse in screen space. * @param Y The main Y value of the mouse in screen space. * @param Button The state of the left mouse button. * @param Wheel The state of the mouse wheel. * A helper class for the frame records, part of the replay/demo/recording system. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.replay.MouseRecord <_HX_SUPER__onMeasure public="1" set="method" line="31"> <_HX_SUPER__updateGameSize set="method" line="31"> <_HX_SUPER__updateDeviceSize set="method" line="31"> <_HX_SUPER__updateScaleOffset set="method" line="31"> <_HX_SUPER__updateOffsetX set="method" line="31"> <_HX_SUPER__updateOffsetY set="method" line="31"> <_HX_SUPER__updateGamePosition set="method" line="31"> <_HX_SUPER__set_horizontalAlign set="method" line="148"> <_HX_SUPER__set_verticalAlign set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.scaleModes.BaseScaleMode * `FillScaleMode` is a scaling mode which stretches and squashes the game to exactly fit the provided window. * This may result in the graphics of your game being distorted if the user resizes their game window. * * To enable it in your project, use `FlxG.scaleMode = new FillScaleMode();`. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__updateGamePosition set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.scaleModes.FillScaleMode false false { fixedHeight : false, fixedWidth : false } * `FixedScaleAdjustSizeScaleMode` is a scaling mode which maintains the game's scene at a fixed size. * This will clip off the edges of the scene for dimensions which are too small. * However, unlike `FixedScaleMode`, this mode will extend the width of the current scene to match the window scale. * The result is that objects that would be offscreen on smaller window sizes will be visible in larger ones. * * Note that compared with `StageSizeScaleMode`, this scale mode aligns with the center of the game's screen, * so the coordinates 0,0 may not be located at the top left of your game window. * * To enable it in your project, use `FlxG.scaleMode = new FixedScaleAdjustSizeScaleMode();`. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__onMeasure public="1" set="method" line="31"> <_HX_SUPER__updateGameSize set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.scaleModes.FixedScaleAdjustSizeScaleMode * `FixedScaleMode` is a scaling mode which maintains the game's scene at a fixed size. * This will clip off the edges of the scene for dimensions which are too small, * and leave black margins on the sides for dimensions which are too large. * * To enable it in your project, use `FlxG.scaleMode = new FixedScaleMode();`. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__updateGameSize set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.scaleModes.FixedScaleMode * `PixelPerfectScaleMode` is a scaling mode which maintains the game's aspect ratio. * When you shrink or grow the window, the width and height of the game will adjust, * either scaling the game or adding black bars as needed. * * However, it will only scale the game by integer factors, to maintain pixel perfect rendering. * This may cause the game window to be windowboxed on all sides, scaling the game up only when there is * enough room to exactly double the render scale. * * To enable it in your project, use `FlxG.scaleMode = new PixelPerfectScaleMode();`. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__updateGameSize set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.scaleModes.PixelPerfectScaleMode <_HX_SUPER__updateGameSize set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.scaleModes.RatioScaleMode <_widthScale> <_heightScale> * `RelativeScaleMode` is a scaling mode which stretches and squashes the game to exactly fit the provided window. * It acts similar to the `FillScaleMode`, however there is one major difference. * `RelativeScaleMode` takes two parameters, which represent the width scale and height scale. * * For example, `RelativeScaleMode(1, 0.5)` will cause the game to take up 100% of the window width, * but only 50% of the window height, filling in the remaining space with a black margin. * * To enable it in your project, use `FlxG.scaleMode = new RelativeScaleMode();`. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__setScale public="1" set="method" line="31"> <_HX_SUPER__updateGameSize set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.scaleModes.RelativeScaleMode * `StageSizeScaleMode` is a scaling mode which maintains the game's scene at a fixed size. * This will clip off the edges of the scene for dimensions which are too small. * However, unlike `FixedScaleMode`, this mode will extend the width of the current scene to match the window scale. * The result is that objects that would be offscreen on smaller window sizes will be visible in larger ones. * * Note that compared with `FixedScaleAdjustSizeScaleMode`, this scale mode aligns with the top left of the game's screen. * The coordinates 0,0 are always located at the top left of your game window. * * To enable it in your project, use `FlxG.scaleMode = new StageSizeScaleMode();`. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__onMeasure public="1" set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.scaleModes.StageSizeScaleMode * Redraws the big arrow on the focus lost screen. openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Redraws the big arrow on the focus lost screen. <_HX_SUPER__draw public="1" set="method" line="31"> <__interp> openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.ui.FlxFocusLostScreen "flixel/sounds/beep" The sound that'll play when you change volume. new TextField() * "VOLUME" text. * Because reading any data from DisplayObject is insanely expensive in hxcpp, keep track of whether we need to update it or not. <_timer> * Helps us auto-hide the sound tray after a volume change. <_bars> * Helps display the volume bars on the sound tray. <_width expr="80"> 80 * How wide the sound tray background is. <_defaultScale expr="2.0"> 2.0 * This function just updates the soundtray object. { Silent : false } * Makes the little volume tray slide out. * * @param Silent Whether or not it should beep. * Sets up the "sound tray", the little volume meter that pops down sometimes. * The flixel sound tray, the little volume meter that pops down sometimes. openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * This function just updates the soundtray object. <_HX_SUPER__update public="1" set="method" line="31"> { Silent : false } * Makes the little volume tray slide out. * * @param Silent Whether or not it should beep. <_HX_SUPER__show public="1" set="method" line="31"> { Silent : false } <_HX_SUPER__screenCenter public="1" set="method" line="31"> <__interp> openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.ui.FlxSoundTray * The function to be called when the button is pressed. true * Whether or not the downHandler function will be called when * the button is clicked. false * Whether this is a toggle button or not. If so, a Boolean representing the current * state will be passed to the callback function, and the alpha value will be lowered when toggled. false * Whether the button has been toggled in toggleMode. <_icon> * The icon this button uses. <_mouseDown expr="false"> false * Whether the mouse has been pressed while over this button. * Change the Icon of the button * * @param Icon The new icon to use for the button. { ToggleMode : false } * Create a new FlxSystemButton * * @param Icon The icon to use for the button. * @param UpHandler The function to be called when the button is pressed. * @param ToggleMode Whether this is a toggle button or not. * A basic button for the debugger, extends flash.display.Sprite. * Cannot be used in a FlxState. openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Change the Icon of the button * * @param Icon The new icon to use for the button. <_HX_SUPER__changeIcon public="1" set="method" line="31"> <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__onMouseUp set="method" line="31"> <_HX_SUPER__onMouseDown set="method" line="31"> <_HX_SUPER__set_toggled set="method" line="148"> <__interp> openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.system.ui.FlxSystemButton * Font for text rendering. "" * Text to display. <_colorParams expr="new ColorTransform()"> new ColorTransform() * Helper object to avoid many ColorTransform allocations <_lines expr="[]"> [] * Helper array which contains actual strings for rendering. <_linesWidth expr="[]"> [] * Helper array which contains width of each displayed lines. FlxTextAlign.LEFT * Specifies how the text field should align text. * JUSTIFY alignment isn't supported. * Note: 'autoSize' must be set to false or alignment won't show any visual differences. 0 * The distance to add between lines. 0 * The distance to add between letters. false * Whether to convert text to upper case or not. true * A Boolean value that indicates whether the text field has word wrap. true * Whether word wrapping algorithm should wrap lines by words or by single character. * Default value is true. true * Whether this text field have fixed width or not. * Default value if true. 0 * Number of pixels between text and text field border * Width of the text in this text field. * Height of the text in this text field. * Height of the single line of text (without lineSpacing). 4 * Number of space characters in one tab. FlxColor.WHITE * The color of the text in 0xAARRGGBB format. * Result color of text will be multiplication of textColor and color. false * Whether to use textColor while rendering or not. NONE * Use a border style FlxColor.BLACK * The color of the border in 0xAARRGGBB format 1 * The size of the border, in pixels. 0 * How many iterations do use when drawing the border. 0: only 1 iteration, 1: one iteration for every pixel in borderSize * A value of 1 will have the best quality for large border sizes, but might reduce performance when changing text. * NOTE: If the borderSize is 1, borderQuality of 0 or 1 will have the exact same effect (and performance). * Offset that is applied to the shadow border style, if active. * x and y are multiplied by borderSize. Default is (1, 1), or lower-right corner. false * Specifies whether the text should have background FlxColor.TRANSPARENT * Specifies the color of background true * Specifies whether the text field will break into multiple lines or not on overflow. * Reflects how many lines have this text field. <_fieldWidth> true true true * Helper bitmap buffer for text pixels but without any color transformations * Clears all resources used. { Force : false } * Forces graphic regeneration for this text field. { useTiles : false } { RunOnCpp : false } * Calculates the size of text field. * Calculates width of the line with provided index * * @param lineIndex index of the line in _lines array * @return The width of the line * Calculates width of provided string (for current font). * * @param str String to calculate width for * @return The width of result bitmap text. * Just cuts the lines which are too long to fit in the field. * Automatically wraps text by figuring out how many characters can fit on a * single line, and splitting the remainder onto a new line. * Helper function for splitting line of text into separate words. * * @param line line to split. * @param words result array to fill with words. * Wraps provided line by words. * * @param words The array of words in the line to process. * @param newLines Array to fill with result lines. * Wraps provided line by characters (as in standart flash text fields). * * @param words The array of words in the line to process. * @param newLines Array to fill with result lines. { useTiles : false } * Internal method for updating helper data for text rendering { useTiles : false } { useTiles : false } { useTiles : false, isFront : true } { isFront : true } { isFront : true } { Quality : 1, Size : 1, Color : 0 } * Set border's style (shadow, outline, etc), color, and size all in one go! * * @param Style outline style * @param Color outline color in flash 0xAARRGGBB format * @param Size outline size in pixels * @param Quality outline quality - # of iterations to use when drawing. 0:just 1, 1:equal number to BorderSize * Sets the width of the text field. If the text does not fit, it will spread on multiple lines. * Checks if the specified code is one of the Unicode Combining Diacritical Marks * @param Code The charactercode we want to check * @return Bool Returns true if the code is a Unicode Combining Diacritical Mark * Constructs a new text field component. * Warning: The default font may work incorrectly on HTML5 * and is utterly unreliable on Brave Browser with shields up. * * @param font Optional parameter for component's font prop * Extends FlxSprite to support rendering text. * Can tint, fade, rotate and scale just like a sprite. * Doesn't really animate though, as far as I know. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Clears all resources used. <_HX_SUPER__destroy public="1" set="method" line="31"> { Force : false } * Forces graphic regeneration for this text field. <_HX_SUPER__drawFrame public="1" set="method" line="31"> { Force : false } <_HX_SUPER__updateHitbox set="method" line="148"> <_HX_SUPER__draw public="1" set="method" line="31"> <_HX_SUPER__set_clipRect set="method" line="148"> <_HX_SUPER__set_color set="method" line="148"> <_HX_SUPER__set_alpha set="method" line="148"> <_HX_SUPER__set_textColor set="method" line="148"> <_HX_SUPER__set_useTextColor set="method" line="148"> { RunOnCpp : false } <_HX_SUPER__calcFrame set="method" line="31"> { RunOnCpp : false } <_HX_SUPER__set_text set="method" line="148"> <_HX_SUPER__updateText set="method" line="31"> * Calculates the size of text field. <_HX_SUPER__computeTextSize set="method" line="31"> * Calculates width of the line with provided index * * @param lineIndex index of the line in _lines array * @return The width of the line <_HX_SUPER__getLineWidth public="1" set="method" line="148"> * Calculates width of provided string (for current font). * * @param str String to calculate width for * @return The width of result bitmap text. <_HX_SUPER__getStringWidth public="1" set="method" line="148"> * Just cuts the lines which are too long to fit in the field. <_HX_SUPER__cutLines set="method" line="31"> * Automatically wraps text by figuring out how many characters can fit on a * single line, and splitting the remainder onto a new line. <_HX_SUPER__wrap set="method" line="31"> * Helper function for splitting line of text into separate words. * * @param line line to split. * @param words result array to fill with words. <_HX_SUPER__splitLineIntoWords set="method" line="31"> * Wraps provided line by words. * * @param words The array of words in the line to process. * @param newLines Array to fill with result lines. <_HX_SUPER__wrapLineByWord set="method" line="31"> * Wraps provided line by characters (as in standart flash text fields). * * @param words The array of words in the line to process. * @param newLines Array to fill with result lines. <_HX_SUPER__wrapLineByCharacter set="method" line="31"> { useTiles : false } * Internal method for updating helper data for text rendering <_HX_SUPER__updateTextBitmap set="method" line="31"> { useTiles : false } { useTiles : false } <_HX_SUPER__drawLine set="method" line="31"> { useTiles : false } <_HX_SUPER__blitLine set="method" line="31"> <_HX_SUPER__tileLine set="method" line="31"> { useTiles : false } <_HX_SUPER__updatePixels set="method" line="31"> { useTiles : false } { useTiles : false, isFront : true } <_HX_SUPER__drawText set="method" line="31"> { useTiles : false, isFront : true } { isFront : true } <_HX_SUPER__blitText set="method" line="31"> { isFront : true } { isFront : true } <_HX_SUPER__tileText set="method" line="31"> { isFront : true } <_HX_SUPER__get_fieldWidth set="method" line="148"> * Sets the width of the text field. If the text does not fit, it will spread on multiple lines. <_HX_SUPER__set_fieldWidth set="method" line="148"> <_HX_SUPER__set_alignment set="method" line="148"> <_HX_SUPER__set_multiLine set="method" line="148"> <_HX_SUPER__set_font set="method" line="148"> <_HX_SUPER__set_lineSpacing set="method" line="148"> <_HX_SUPER__set_letterSpacing set="method" line="148"> <_HX_SUPER__set_autoUpperCase set="method" line="148"> <_HX_SUPER__set_wordWrap set="method" line="148"> <_HX_SUPER__set_wrapByWord set="method" line="148"> <_HX_SUPER__set_autoSize set="method" line="148"> <_HX_SUPER__set_padding set="method" line="148"> <_HX_SUPER__set_numSpacesInTab set="method" line="148"> <_HX_SUPER__set_background set="method" line="148"> <_HX_SUPER__set_backgroundColor set="method" line="148"> <_HX_SUPER__set_borderStyle set="method" line="148"> <_HX_SUPER__set_borderColor set="method" line="148"> <_HX_SUPER__set_borderSize set="method" line="148"> <_HX_SUPER__set_borderQuality set="method" line="148"> <_HX_SUPER__get_numLines set="method" line="148"> <_HX_SUPER__get_textWidth set="method" line="148"> <_HX_SUPER__get_textHeight set="method" line="148"> <_HX_SUPER__get_lineHeight set="method" line="148"> <_HX_SUPER__get_width set="method" line="148"> <_HX_SUPER__get_height set="method" line="148"> * Checks if the specified code is one of the Unicode Combining Diacritical Marks * @param Code The charactercode we want to check * @return Bool Returns true if the code is a Unicode Combining Diacritical Mark <_HX_SUPER__isUnicodeComboMark set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.text.FlxBitmapText * The leading (vertical space between lines) of the text. * @since 4.10.0 * The border color if the text has a shadow or a border * @param FontColor Font color, in `0xRRGGBB` format. Inherits from the default format by default. * @param Bold Whether the text should be bold (must be supported by the font). `false` by default. * @param Italic Whether the text should be in italics (must be supported by the font). Only works on Flash. `false` by default. * @param BorderColor Border color, in `0xAARRGGBB` format. By default, no border (`null` / transparent). hscript.UsingHandler.build() hscript.ClassExtendMacro.build() flixel.text.FlxText.applyFormats hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * A simple shadow to the lower-right. * Use `FlxText.shadowOffset` for custom placement. * Outline on all 8 sides * Outline, optimized using only 4 draw calls (might not work for narrow and/or 1-pixel fonts) hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() cast "left"
      cast "center" * Warning: on Flash, this can have a negative impact on performance * of multiline texts that are frequently regenerated (especially with * `borderStyle == OUTLINE`) due to a workaround for blurry rendering.
      cast "right" cast "justify" hscript.UsingHandler.build() hscript.ClassExtendMacro.build()
      cast "left"
      cast "center" * Warning: on Flash, this can have a negative impact on performance * of multiline texts that are frequently regenerated (especially with * `borderStyle == OUTLINE`) due to a workaround for blurry rendering.
      cast "right" cast "justify" hscript.UsingHandler.build() hscript.ClassExtendMacro.build()
      hscript.UsingHandler.build() hscript.ClassExtendMacro.build() cast ("left", flixel.text.FlxTextAlign)
      cast ("center", flixel.text.FlxTextAlign) * Warning: on Flash, this can have a negative impact on performance * of multiline texts that are frequently regenerated (especially with * `borderStyle == OUTLINE`) due to a workaround for blurry rendering.
      cast ("right", flixel.text.FlxTextAlign) cast ("justify", flixel.text.FlxTextAlign) hscript.UsingHandler.build() hscript.ClassExtendMacro.build()
      <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.text.FlxText flixel.text.FlxText.FlxTextFormat flixel.text.FlxText.FlxTextFormatRange flixel.text.FlxText.FlxTextFormatMarkerPair flixel.text.FlxText.FlxTextBorderStyle flixel.text.FlxText.FlxTextAlign flixel.text.FlxText.FlxTextAlign flixel.text.FlxText.AlignType <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.text.FlxText flixel.text.FlxText.FlxTextFormat flixel.text.FlxText.FlxTextFormatRange flixel.text.FlxText.FlxTextFormatMarkerPair flixel.text.FlxText.FlxTextBorderStyle flixel.text.FlxText.FlxTextAlign flixel.text.FlxText.FlxTextAlign flixel.text.FlxText.AlignType <_HX_SUPER__set_leading set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.text.FlxText flixel.text.FlxText.FlxTextFormat flixel.text.FlxText.FlxTextFormatRange flixel.text.FlxText.FlxTextFormatMarkerPair flixel.text.FlxText.FlxTextBorderStyle flixel.text.FlxText.FlxTextAlign flixel.text.FlxText.FlxTextAlign flixel.text.FlxText.AlignType * Clean up memory. <_HX_SUPER__destroy public="1" set="method" line="31"> { Force : false } <_HX_SUPER__drawFrame public="1" set="method" line="31"> { Force : false } * Stamps text onto specified atlas object and loads graphic from this atlas. * WARNING: Changing text after stamping it on the atlas will break the atlas, so do it only for * static texts and only after making all the text customizing (like `size`, `alignment`, `color`, etc.) * * @param atlas atlas to stamp graphic to. * @return whether the graphic was stamped on the atlas successfully <_HX_SUPER__stampOnAtlas public="1" set="method" line="148"> "); * text.applyMarkup("Hey @Buddy@, what is going @on?@", [yellow, green]); * ``` * * @param input The text you want to format * @param rules `FlxTextFormat`s to selectively apply, paired with marker strings]]> <_HX_SUPER__applyMarkup public="1" set="method" line="148"> { End : -1, Start : -1 } * Adds another format to this `FlxText` * * @param Format The format to be added. * @param Start The start index of the string where the format will be applied. * @param End The end index of the string where the format will be applied. <_HX_SUPER__addFormat public="1" set="method" line="148"> { End : -1, Start : -1 } * Removes a specific `FlxTextFormat` from this text. * If a range is specified, this only removes the format when it touches that range. <_HX_SUPER__removeFormat public="1" set="method" line="148"> * Clears all the formats applied. <_HX_SUPER__clearFormats public="1" set="method" line="148"> { EmbeddedFont : true, BorderColor : FlxColor.TRANSPARENT, Color : FlxColor.WHITE, Size : 8 } * You can use this if you have a lot of text parameters to set instead of the individual properties. * * @param Font The name of the font face for the text display. * @param Size The size of the font (in pixels essentially). * @param Color The color of the text in `0xRRGGBB` format. * @param Alignment The desired alignment * @param BorderStyle Which border style to use * @param BorderColor Color for the border, `0xAARRGGBB` format * @param EmbeddedFont Whether this text field uses embedded fonts or not * @return This `FlxText` instance (nice for chaining stuff together, if you're into that). <_HX_SUPER__setFormat public="1" set="method" line="148"> { EmbeddedFont : true, BorderColor : FlxColor.TRANSPARENT, Color : FlxColor.WHITE, Size : 8 } <_HX_SUPER__updateHitbox set="method" line="148"> <_HX_SUPER__set_fieldWidth set="method" line="148"> <_HX_SUPER__get_fieldWidth set="method" line="148"> <_HX_SUPER__set_autoSize set="method" line="148"> <_HX_SUPER__get_autoSize set="method" line="148"> <_HX_SUPER__set_text set="method" line="148"> <_HX_SUPER__set_size set="method" line="148"> <_HX_SUPER__set_color set="method" line="148"> <_HX_SUPER__set_font set="method" line="148"> <_HX_SUPER__set_systemFont set="method" line="148"> <_HX_SUPER__set_bold set="method" line="148"> <_HX_SUPER__set_italic set="method" line="148"> <_HX_SUPER__set_wordWrap set="method" line="148"> <_HX_SUPER__set_alignment set="method" line="148"> <_HX_SUPER__set_borderStyle set="method" line="148"> <_HX_SUPER__set_borderColor set="method" line="148"> <_HX_SUPER__set_borderSize set="method" line="148"> <_HX_SUPER__set_borderQuality set="method" line="148"> <_HX_SUPER__set_graphic set="method" line="148"> <_HX_SUPER__get_width set="method" line="148"> <_HX_SUPER__get_height set="method" line="148"> <_HX_SUPER__updateColorTransform set="method" line="31"> <_HX_SUPER__regenGraphic set="method" line="31"> * Internal function to draw textField to a BitmapData, if flash it calculates every line x to avoid blurry lines. <_HX_SUPER__drawTextFieldTo set="method" line="31"> <_HX_SUPER__draw public="1" set="method" line="31"> { RunOnCpp : false } * Internal function to update the current animation frame. * * @param RunOnCpp Whether the frame should also be recalculated if we're on a non-flash target <_HX_SUPER__calcFrame set="method" line="31"> { RunOnCpp : false } <_HX_SUPER__applyBorderStyle set="method" line="31"> { UseBorderColor : false } <_HX_SUPER__applyFormats set="method" line="31"> { UseBorderColor : false } { withAlign : true } <_HX_SUPER__copyTextFormat set="method" line="31"> { withAlign : true } * A helper function for updating the TextField that we use for rendering. * * @return A writable copy of `TextField.defaultTextFormat`. <_HX_SUPER__dtfCopy set="method" line="148"> <_HX_SUPER__set_frames set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.text.FlxText flixel.text.FlxText.FlxTextFormat flixel.text.FlxText.FlxTextFormatRange flixel.text.FlxText.FlxTextFormatMarkerPair flixel.text.FlxText.FlxTextBorderStyle flixel.text.FlxText.FlxTextAlign flixel.text.FlxText.FlxTextAlign flixel.text.FlxText.AlignType [0, 0, 0, 0, 2, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 11, 11, 0, 0, 13, 13, 0, 14, 0, 0, 0, 0, 18, 18, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 51, 0, 0, 53, 53, 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 62, 62, 0, 0, 64, 64, 0, 65, 0, 0, 0, 0, 69, 69, 0, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 86, 0, 0, 88, 88, 0, 89, 0, 0, 0, 0, 93, 93, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 159, 0, 0, 0, 162, 0, 163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, 0, 0, 0, 175, 0, 176, 0, 0, 0, 0, 0, 181, 0, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 199, 0, 0, 0, 202, 0, 203, 0, 0, 0, 0, 0, 208, 0, 209] new FlxDiagonalPathfinder() OFF * Set this flag to use one of the 16-tile binary auto-tile algorithms (OFF, AUTO, or ALT). 0 0 0 * Set this to create your own image index remapper, so you can create your own tile layouts. * Mostly useful in combination with the auto-tilers. * * Normally, each tile's value in _data corresponds to the index of a * tile frame in the tilesheet. With this active, each value in _data * is a lookup value to that index in customTileRemap. * * Example: * customTileRemap = [10,9,8,7,6] * means: 0=10, 1=9, 2=8, 3=7, 4=6 <_randomIndices> * If these next two arrays are not null, you're telling FlxTilemap to * draw random tiles in certain places. * * _randomIndices is a list of tilemap values that should be replaced * by a randomly selected value. The available values are chosen from * the corresponding array in randomize_choices * * So if you have: * randomIndices = [12,14] * randomChoices = [[0,1,2],[3,4,5,6,7]] * * Everywhere the tilemap has a value of 12 it will be replaced by 0, 1, or, 2 * Everywhere the tilemap has a value of 14 it will be replaced by 3, 4, 5, 6, 7 <_randomChoices> <_randomLambda> * Setting this function allows you to control which choice will be selected for each element within _randomIndices array. * Must return a 0-1 value that gets multiplied by _randomChoices[randIndex].length; <_tileObjects expr="[]"> [] * Internal collection of tile objects, one for each type of tile in the map (NOT one for every single tile in the whole map). <_startingIndex expr="0"> 0 * Internal, used to sort of insert blank tiles in front of the tiles in the provided graphic. <_data> * Internal representation of the actual tile data, as a large 1D array of integers. <_drawIndex expr="0"> 0 <_collideIndex expr="0"> 0 * Virtual methods, must be implemented in each renderers { midpoint : true } * Shoots a ray from the start point to the end point. * If/when it passes through a tile, it stores that point and returns false. * Note: In flixel 5.0.0, this was redone, the old method is now `rayStep` * * @param start The world coordinates of the start of the ray. * @param end The world coordinates of the end of the ray. * @param result Optional result vector, to avoid creating a new instance to be returned. * Only returned if the line enters the rect. * @return Returns true if the ray made it from Start to End without hitting anything. * Returns false and fills Result if a tile was hit. { resolution : 1 } * Shoots a ray from the start point to the end point. * If/when it passes through a tile, it stores that point and returns false. * This method checks at steps and can miss, for better results use `ray()` * @since 5.0.0 * * @param start The world coordinates of the start of the ray. * @param end The world coordinates of the end of the ray. * @param result Optional result vector, to avoid creating a new instance to be returned. * Only returned if the line enters the rect. * @param resolution Defaults to 1, meaning check every tile or so. Higher means more checks! * @return Returns true if the ray made it from Start to End without hitting anything. * Returns false and fills Result if a tile was hit. * Calculates at which point where the given line, from start to end, first enters the tilemap. * If the line starts inside the tilemap, a copy of start is returned. * If the line never enters the tilemap, null is returned. * * Note: If a result vector is supplied and the line is outside the tilemap, null is returned * and the supplied result is unchanged * @since 5.0.0 * * @param start The start of the line * @param end The end of the line * @param result Optional result vector, to avoid creating a new instance to be returned. * Only returned if the line enters the tilemap. * @return The point of entry of the line into the tilemap, if possible. * Calculates at which point where the given line, from start to end, was last inside the tilemap. * If the line ends inside the tilemap, a copy of end is returned. * If the line is never inside the tilemap, null is returned. * * Note: If a result vector is supplied and the line is outside the tilemap, null is returned * and the supplied result is unchanged * @since 5.0.0 * * @param start The start of the line * @param end The end of the line * @param result Optional result vector, to avoid creating a new instance to be returned. * Only returned if the line enters the tilemap. * @return The point of exit of the line from the tilemap, if possible. { flipCallbackParams : false } { dirty : true } { collideIndex : 1, drawIndex : 1, startingIndex : 0, tileHeight : 0, tileWidth : 0 } * Load the tilemap with string data and a tile graphic. * * @param mapData A csv-formatted string indicating what order the tiles should go in (or the path to that file) * @param tileGraphic All the tiles you want to use, arranged in a strip corresponding to the numbers in MapData. * @param tileWidth The width of your tiles (e.g. 8) - defaults to height of the tile graphic if unspecified. * @param tileHeight The height of your tiles (e.g. 8) - defaults to width if unspecified. * @param autoTile Whether to load the map using an automatic tile placement algorithm (requires 16 tiles!). * Setting this to either AUTO or ALT will override any values you put for StartingIndex, DrawIndex, or CollideIndex. * @param startingIndex Used to sort of insert empty tiles in front of the provided graphic. * Default is 0, usually safest ot leave it at that. Ignored if AutoTile is set. * @param drawIndex Initializes all tile objects equal to and after this index as visible. * Default value is 1. Ignored if AutoTile is set. * @param collideIndex Initializes all tile objects equal to and after this index as allowCollisions = ANY. * Default value is 1. Ignored if AutoTile is set. * Can override and customize per-tile-type collision behavior using setTileProperties(). * @return A reference to this instance of FlxTilemap, for chaining as usual :) { collideIndex : 1, drawIndex : 1, startingIndex : 0, tileHeight : 0, tileWidth : 0 } * Load the tilemap with string data and a tile graphic. * * @param mapData An array containing the (non-negative) tile indices. * @param widthInTiles The width of the tilemap in tiles * @param heightInTiles The height of the tilemap in tiles * @param tileGraphic All the tiles you want to use, arranged in a strip corresponding to the numbers in MapData. * @param tileWidth The width of your tiles (e.g. 8) - defaults to height of the tile graphic if unspecified. * @param tileHeight The height of your tiles (e.g. 8) - defaults to width if unspecified. * @param autoTile Whether to load the map using an automatic tile placement algorithm (requires 16 tiles!). * Setting this to either AUTO or ALT will override any values you put for StartingIndex, DrawIndex, or CollideIndex. * @param startingIndex Used to sort of insert empty tiles in front of the provided graphic. * Default is 0, usually safest ot leave it at that. Ignored if AutoTile is set. * @param drawIndex Initializes all tile objects equal to and after this index as visible. * Default value is 1. Ignored if AutoTile is set. * @param collideIndex Initializes all tile objects equal to and after this index as allowCollisions = ANY. * Default value is 1. Ignored if AutoTile is set. * Can override and customize per-tile-type collision behavior using setTileProperties(). * @return A reference to this instance of FlxTilemap, for chaining as usual :) { collideIndex : 1, drawIndex : 1, startingIndex : 0, tileHeight : 0, tileWidth : 0 } * Load the tilemap with string data and a tile graphic. * * @param mapData A 2D array containing the (non-negative) tile indices. The length of the inner arrays should be consistent. * @param tileGraphic All the tiles you want to use, arranged in a strip corresponding to the numbers in MapData. * @param tileWidth The width of your tiles (e.g. 8) - defaults to height of the tile graphic if unspecified. * @param tileHeight The height of your tiles (e.g. 8) - defaults to width if unspecified. * @param autoTile Whether to load the map using an automatic tile placement algorithm (requires 16 tiles!). * Setting this to either AUTO or ALT will override any values you put for StartingIndex, DrawIndex, or CollideIndex. * @param startingIndex Used to sort of insert empty tiles in front of the provided graphic. * Default is 0, usually safest ot leave it at that. Ignored if AutoTile is set. * @param drawIndex Initializes all tile objects equal to and after this index as visible. * Default value is 1. Ignored if AutoTile is set. * @param collideIndex Initializes all tile objects equal to and after this index as allowCollisions = ANY. * Default value is 1. Ignored if AutoTile is set. * Can override and customize per-tile-type collision behavior using setTileProperties(). * @return A reference to this instance of FlxTilemap, for chaining as usual :) { collideIndex : 1, drawIndex : 1, startingIndex : 0, tileHeight : 0, tileWidth : 0, scale : 1, invert : false } * Load the tilemap with image data and a tile graphic. * Black pixels are flagged as 'solid' by default, non-black pixels are set as non-colliding. Black pixels must be PURE BLACK. * @param mapGraphic The image you want to use as a source of map data, where each pixel is a tile (or more than one tile if you change Scale's default value). Preferably black and white. * @param invert Load white pixels as solid instead. * @param scale Default is 1. Scale of 2 means each pixel forms a 2x2 block of tiles, and so on. * @param colorMap An array of color values (alpha values are ignored) in the order they're intended to be assigned as indices * @param tileGraphic All the tiles you want to use, arranged in a strip corresponding to the numbers in MapData. * @param tileWidth The width of your tiles (e.g. 8) - defaults to height of the tile graphic if unspecified. * @param tileHeight The height of your tiles (e.g. 8) - defaults to width if unspecified. * @param autoTile Whether to load the map using an automatic tile placement algorithm (requires 16 tiles!). * Setting this to either AUTO or ALT will override any values you put for StartingIndex, DrawIndex, or CollideIndex. * @param startingIndex Used to sort of insert empty tiles in front of the provided graphic. * Default is 0, usually safest ot leave it at that. Ignored if AutoTile is set. * @param drawIndex Initializes all tile objects equal to and after this index as visible. * Default value is 1. Ignored if AutoTile is set. * @param collideIndex Initializes all tile objects equal to and after this index as allowCollisions = ANY. * Default value is 1. Ignored if AutoTile is set. * Can override and customize per-tile-type collision behavior using setTileProperties(). * @return A reference to this instance of FlxTilemap, for chaining as usual :) * @since 4.1.0 { collideIndex : 1, drawIndex : 1, startingIndex : 0, tileHeight : 0, tileWidth : 0 } * An internal function used by the binary auto-tilers. (16 tiles) * * @param index The index of the tile you want to analyze. * An internal function used by the binary auto-tilers. (47 tiles) * * @param index The index of the tile you want to analyze. 7, 1-->4, 2-->12" * @param randomIndices Array of ints indicating which tile indices should be randomized. Ex: [7,4,12] means "replace tile index of 7, 4, or 12 with a randomized value" * @param randomChoices A list of int-arrays that serve as the corresponding choices to randomly choose from. Ex: indices = [7,4], choices = [[1,2],[3,4,5]], 7 will be replaced by either 1 or 2, 4 will be replaced by 3, 4, or 5. * @param randomLambda A custom randomizer function, should return value between 0.0 and 1.0. Initialize your random seed before passing this in! If not defined, will default to unseeded Math.random() calls.]]> * Check the value of a particular tile. * * @param x The X coordinate of the tile (in tiles, not pixels). * @param y The Y coordinate of the tile (in tiles, not pixels). * @return An integer containing the value of the tile at this spot in the array. * Get the value of a tile in the tilemap by index. * * @param index The slot in the data array (Y * widthInTiles + X) where this tile is stored. * @return An integer containing the value of the tile at this spot in the array. * Gets the collision flags of tile by index. * * @param index Tile index returned by getTile or getTileByIndex * @return The internal collision flag for the requested tile. * Returns a new array full of every map index of the requested tile type. * * @param index The requested tile type. * @return An Array with a list of all map indices of that tile type. { updateGraphics : true } * Change the data and graphic of a tile in the tilemap. * * @param x The X coordinate of the tile (in tiles, not pixels). * @param y The Y coordinate of the tile (in tiles, not pixels). * @param tile The new integer data you wish to inject. * @param updateGraphics Whether the graphical representation of this tile should change. * @return Whether or not the tile was actually changed. { updateGraphics : true } * Change the data and graphic of a tile in the tilemap. * * @param index The slot in the data array (Y * widthInTiles + X) where this tile is stored. * @param tile The new integer data you wish to inject. * @param updateGraphics Whether the graphical representation of this tile should change. * @return Whether or not the tile was actually changed. { range : 1, allowCollisions : ANY } * Adjust collision settings and/or bind a callback function to a range of tiles. * This callback function, if present, is triggered by calls to overlap() or overlapsWithCallback(). * * @param tile The tile or tiles you want to adjust. * @param allowCollisions Modify the tile or tiles to only allow collisions from certain directions, use FlxObject constants NONE, ANY, LEFT, RIGHT, etc. Default is "ANY". * @param callback The function to trigger, e.g. lavaCallback(Tile:FlxObject, Object:FlxObject). * @param callbackFilter If you only want the callback to go off for certain classes or objects based on a certain class, set that class here. * @param range If you want this callback to work for a bunch of different tiles, input the range here. Default value is 1. { simple : false } * Fetches the tilemap data array. * * @param simple If true, returns the data as copy, as a series of 1s and 0s (useful for auto-tiling stuff). * Default value is false, meaning it will return the actual data array (NOT a copy). * @return An array the size of the tilemap full of integers indicating tile placement. { diagonalPolicy : WIDE, simplify : LINE } * Find a path through the tilemap. Any tile with any collision flags set is treated as impassable. * If no path is discovered then a null reference is returned. * * @param start The start point in world coordinates. * @param end The end point in world coordinates. * @param simplify Whether to run a basic simplification algorithm over the path data, removing * extra points that are on the same line. Default value is true. * @param raySimplify Whether to run an extra raycasting simplification algorithm over the remaining * path data. This can result in some close corners being cut, and should be * used with care if at all (yet). Default value is false. * @param diagonalPolicy How to treat diagonal movement. (Default is WIDE, count +1 tile for diagonal movement) * @return An Array of FlxPoints, containing all waypoints from the start to the end. If no path could be found, * then a null reference is returned. { simplify : LINE } * Find a path through the tilemap. Any tile with any collision flags set is treated as impassable. * If no path is discovered then a null reference is returned. * @since 5.0.0 * * @param pathfinder Decides how to move and evaluate the paths for comparison. * @param start The start point in world coordinates. * @param end The end point in world coordinates. * @param simplify Whether to run a basic simplification algorithm over the path data, removing * extra points that are on the same line. Default value is true. * @param raySimplify Whether to run an extra raycasting simplification algorithm over the remaining * path data. This can result in some close corners being cut, and should be * used with care if at all (yet). Default value is false. * @return An Array of FlxPoints, containing all waypoints from the start to the end. If no path could be found, * then a null reference is returned. { stopOnEnd : true, diagonalPolicy : WIDE } * Pathfinding helper function, floods a grid with distance information until it finds the end point. * NOTE: Currently this process does NOT use any kind of fancy heuristic! It's pretty brute. * * @param startIndex The starting tile's map index. * @param endIndex The ending tile's map index. * @param diagonalPolicy How to treat diagonal movement. * @param stopOnEnd Whether to stop at the end or not (default true) * @return An array of FlxPoint nodes. If the end tile could not be found, then a null Array is returned instead. { stopOnEnd : true, diagonalPolicy : WIDE } * Pathfinding helper function, floods a grid with distance information until it finds the end point. * NOTE: Currently this process does NOT use any kind of fancy heuristic! It's pretty brute. * @since 5.0.0 * * @param startIndex The starting tile's map index. * @param endIndex The ending tile's map index. * @param policy Decides how to move and evaluate the paths for comparison. * @param stopOnEnd Whether to stop at the end or not (default true) * @return An array of FlxPoint nodes. If the end tile could not be found, then a null Array is returned instead. { inScreenSpace : false } flixel.group.FlxTypedGroup * Checks to see if some FlxObject overlaps this FlxObject object in world space. * If the group has a LOT of things in it, it might be faster to use FlxG.overlaps(). * WARNING: Currently tilemaps do NOT support screen space overlap checks! * * @param object The object being tested. * @param inScreenSpace Whether to take scroll factors into account when checking for overlap. * @param camera Specify which game camera you want. If null, getScreenPosition() will just grab the first global camera. * @return Whether or not the two objects overlap. { inScreenSpace : false, y : 0.0, x : 0.0 } { inScreenSpace : false } flixel.group.FlxTypedGroup * Checks to see if this FlxObject were located at the given position, would it overlap the FlxObject or FlxGroup? * This is distinct from overlapsPoint(), which just checks that point, rather than taking the object's size into account. * WARNING: Currently tilemaps do NOT support screen space overlap checks! * * @param x The X position you want to check. Pretends this object (the caller, not the parameter) is located here. * @param y The Y position you want to check. Pretends this object (the caller, not the parameter) is located here. * @param objectOrGroup The object or group being tested. * @param inScreenSpace Whether to take scroll factors into account when checking for overlap. Default is false, or "only compare in world space." * @param camera Specify which game camera you want. If null getScreenPosition() will just grab the first global camera. * @return Whether or not the two objects overlap. { inScreenSpace : false } * Checks to see if a point in 2D world space overlaps this FlxObject object. * * @param worldPoint The point in world space you want to check. * @param inScreenSpace Whether to take scroll factors into account when checking for overlap. * @param camera Specify which game camera you want. If null getScreenPosition() will just grab the first global camera. * @return Whether or not the point overlaps this object. * Get the world coordinates and size of the entire tilemap as a FlxRect. * * @param bounds Optional, pass in a pre-existing FlxRect to prevent instantiation of a new object. * @return A FlxRect containing the world coordinates and size of the entire tilemap. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Good for levels with thin walls that don't need interior corner art. * Better for levels with thick walls that look better with interior corner art. * Better for all, but need 47 tiles. * @since 4.6.0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() null * This function is called whenever an object hits a tile of this type. * This function should take the form myFunction(Tile:FlxTile,Object:FlxObject):void. * Defaults to null, set through FlxTilemap.setTileProperties(). * Each tile can store its own filter class for their callback functions. * That is, the callback will only be triggered if an object with a class * type matching the filter touched it. * Defaults to null, set through FlxTilemap.setTileProperties(). * A reference to the tilemap this tile object belongs to. * The index of this tile type in the core map data. * For example, if your map only has 16 kinds of tiles in it, * this number is usually between 0 and 15. 0 * The current map index of this tile object at this moment. * You can think of tile objects as moving around the tilemap helping with collisions. * This value is only reliable and useful if used from the callback function. * Frame graphic for this tile. * Clean up memory. * Instantiate this new tile object. This is usually called from FlxTilemap.loadMap(). * * @param Tilemap A reference to the tilemap object creating the tile. * @param Index The actual core map data index for this tile type. * @param Width The width of the tile. * @param Height The height of the tile. * @param Visible Whether the tile is visible or not. * @param AllowCollisions The collision flags for the object. By default this value is ANY or NONE depending on the parameters sent to loadMap(). * A simple helper object for FlxTilemap that helps expand collision opportunities and control. * You can use FlxTilemap.setTileProperties() to alter the collision properties and * callback functions and filters for this object to do things like one-way tiles or whatever. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Clean up memory. <_HX_SUPER__destroy public="1" set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.tile.FlxTile { empties : 0 } * Fills the block with a randomly arranged selection of frames. * * @param TileFrames The frames that should fill this block. * @param Empties The number of "empty" tiles to add to the auto-fill algorithm (e.g. 8 tiles + 4 empties = 1/3 of block will be open holes). * @return This tile block. { Empties : 0, TileHeight : 0, TileWidth : 0 } * Fills the block with a randomly arranged selection of graphics from the image provided. * * @param TileGraphic The graphic class that contains the tiles that should fill this block. * @param TileWidth The width of a single tile in the graphic. * @param TileHeight The height of a single tile in the graphic. * @param Empties The number of "empty" tiles to add to the auto-fill algorithm (e.g. 8 tiles + 4 empties = 1/3 of block will be open holes). * @return This tile block. * Creates a new FlxBlock object with the specified position and size. * * @param X The X position of the block. * @param Y The Y position of the block. * @param Width The width of the block. * @param Height The height of the block. * This is a basic "environment object" class, used to create simple walls and floors. * It can be filled with a random selection of tiles to quickly add detail. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__destroy public="1" set="method" line="31"> { empties : 0 } * Fills the block with a randomly arranged selection of frames. * * @param TileFrames The frames that should fill this block. * @param Empties The number of "empty" tiles to add to the auto-fill algorithm (e.g. 8 tiles + 4 empties = 1/3 of block will be open holes). * @return This tile block. <_HX_SUPER__loadFrames public="1" set="method" line="148"> { empties : 0 } { Empties : 0, TileHeight : 0, TileWidth : 0 } * Fills the block with a randomly arranged selection of graphics from the image provided. * * @param TileGraphic The graphic class that contains the tiles that should fill this block. * @param TileWidth The width of a single tile in the graphic. * @param TileHeight The height of a single tile in the graphic. * @param Empties The number of "empty" tiles to add to the auto-fill algorithm (e.g. 8 tiles + 4 empties = 1/3 of block will be open holes). * @return This tile block. <_HX_SUPER__loadTiles public="1" set="method" line="148"> { Empties : 0, TileHeight : 0, TileWidth : 0 } <_HX_SUPER__setTile public="1" set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.tile.FlxTileblock "__ASSET__:bitmap_flixel_tile_GraphicAuto" { fillRGBA : 0xFFFFFFFF, transparent : true } openfl.utils._internal.AssetsMacro.embedBitmap() openfl.utils._internal.AssetsMacro.embedBitmap() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() "assets/images/tile/autotiles.png" "__ASSET__:bitmap_flixel_tile_GraphicAutoAlt" { fillRGBA : 0xFFFFFFFF, transparent : true } openfl.utils._internal.AssetsMacro.embedBitmap() openfl.utils._internal.AssetsMacro.embedBitmap() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() "assets/images/tile/autotiles_alt.png" "__ASSET__:bitmap_flixel_tile_GraphicAutoFull" { fillRGBA : 0xFFFFFFFF, transparent : true } openfl.utils._internal.AssetsMacro.embedBitmap() openfl.utils._internal.AssetsMacro.embedBitmap() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() "assets/images/tile/autotiles_full.png" 2 false "useScaleHaxe is no longer needed" * DISABLED, the static var `defaultFramePadding` fixes the tearing issue in a more performant * and visually appealing way. * Changes the size of this tilemap. Default is (1, 1). * Anything other than the default is very slow with blitting! FlxSprite.defaultAntialiasing * Controls whether the object is smoothed when rotated, affects performance. * @since 4.1.0 * * @see FlxSprite.defaultAntialiasing FlxPoint.get() * Use to offset the drawing position of the tilemap, * just like FlxSprite. * Rendering variables. 0xffffff * Tints the whole sprite to a color (0xRRGGBB format) - similar to OpenGL vertex colors. You can use * 0xAARRGGBB colors, but the alpha value will simply be ignored. To change the opacity use alpha. 1.0 * Set alpha to a number between 0 and 1 to change the opacity of the sprite. new ColorTransform() null * Blending modes, just like Photoshop or whatever, e.g. "multiply", "screen", etc. 0 * The unscaled width of a single tile. 0 * The unscaled height of a single tile. 0 * The scaled width of a single tile. 0 * The scaled height of a single tile. * The scaled width of the entire map. * The scaled height of the entire map. * GLSL shader for this tilemap. Only works with OpenFL Next or WebGL. * Avoid changing it frequently as this is a costly operation. * @since 4.1.0 <_flashPoint expr="new Point()"> new Point() * Rendering helper, minimize new object instantiation on repetitive methods. <_flashRect expr="new Rectangle()"> new Rectangle() * Rendering helper, minimize new object instantiation on repetitive methods. <_buffers expr="[]"> [] * Internal list of buffers, one for each camera, used for drawing the tilemaps. <_helperPoint> * Rendering helper, minimize new object instantiation on repetitive methods. Used only in tile rendering mode <_matrix> * Rendering helper, used for tile's frame transformations (only in tile rendering mode). <_checkBufferChanges expr="false"> false * Whether buffers need to be checked again next draw(). * Clean up memory. * Check and see if this object is currently on screen. Differs from `FlxObject`'s implementation * in that it takes the actual graphic into account, not just the hitbox or bounding box or whatever. * * @param camera Specify which game camera you want. If `null`, it will just grab the first global camera. * @return Whether the object is on screen or not. * Draws the tilemap buffers to the cameras. { dirty : true } * Set the dirty flag on all the tilemap buffers. * Basically forces a reset of the drawn tilemaps, even if it wasn't necessary. * * @param dirty Whether to flag the tilemap buffers as dirty or not. { flipCallbackParams : false } * Checks if the Object overlaps any tiles with any collision flags set, * and calls the specified callback function (if there is one). * Also calls the tile's registered callback if the filter matches. * * @param object The FlxObject you are checking for overlaps against. * @param callback An optional function that takes the form "myCallback(Object1:FlxObject,Object2:FlxObject)", where Object1 is a FlxTile object, and Object2 is the object passed in in the first parameter of this method. * @param flipCallbackParams Used to preserve A-B list ordering from FlxObject.separate() - returns the FlxTile object as the second parameter instead. * @param position Optional, specify a custom position for the tilemap (useful for overlapsAt()-type functionality). * @return Whether there were overlaps, or if a callback was specified, whatever the return value of the callback was. { midpoint : true } { midpoint : true } * Returns a new array full of every coordinate of the requested tile type. * * @param index The requested tile type. * @param midpoint Whether to return the coordinates of the tile midpoint, or upper left corner. Default is true, return midpoint. * @return An Array with a list of all the coordinates of that tile type. { updateWorld : true, border : 0 } * Call this function to lock the automatic camera to the map's edges. * * @param camera Specify which game camera you want. If null getScreenPosition() will just grab the first global camera. * @param border Adjusts the camera follow boundary by whatever number of tiles you specify here. Handy for blocking off deadends that are offscreen, etc. Use a negative number to add padding instead of hiding the edges. * @param updateWorld Whether to update the collision system's world size, default value is true. * Shoots a ray from the start point to the end point. * If/when it passes through a tile, it stores that point and returns false. * Note: In flixel 5.0.0, this was redone, the old method is now `rayStep` * * @param start The world coordinates of the start of the ray. * @param end The world coordinates of the end of the ray. * @param result Optional result vector, to avoid creating a new instance to be returned. * Only returned if the line enters the rect. * @return Returns true if the ray made it from Start to End without hitting anything. * Returns false and fills Result if a tile was hit. { resolution : 1 } * Shoots a ray from the start point to the end point. * If/when it passes through a tile, it stores that point and returns false. * This method checks at steps and can miss, for better results use `ray()` * @since 5.0.0 * * @param start The world coordinates of the start of the ray. * @param end The world coordinates of the end of the ray. * @param result Optional result vector, to avoid creating a new instance to be returned. * @param resolution Defaults to 1, meaning check every tile or so. Higher means more checks! * Only returned if the line enters the rect. * @return Returns true if the ray made it from Start to End without hitting anything. * Returns false and fills Result if a tile was hit. { NewTile : 0 } * Change a particular tile to FlxSprite. Or just copy the graphic if you dont want any changes to map data itself. * * @param x The X coordinate of the tile (in tiles, not pixels). * @param y The Y coordinate of the tile (in tiles, not pixels). * @param newTile New tile for the map data. Use -1 if you dont want any changes. Default = 0 (empty) * @param spriteFactory Method for converting FlxTile to FlxSprite. If null then will be used defaultTileToSprite() method. * @return FlxSprite. * Use this method so the tilemap buffers are updated, e.g. when resizing your game flixel.FlxCamera * Internal function that actually renders the tilemap to the tilemap buffer. Called by draw(). * * @param buffer The FlxTilemapBuffer you are rendering to. * @param camera The related FlxCamera, mainly for scroll values. * Internal function to clean up the map loading code. * Just generates a wireframe box the size of a tile with the specified color. * Internal function for setting graphic property for this object. * It changes graphic' useCount also for better memory tracking. * Default method for generating FlxSprite from FlxTile * * @param tileProperties properties for new sprite * @return New FlxSprite with specified graphic * Get the world coordinates and size of the entire tilemap as a FlxRect. * * @param bounds Optional, pass in a pre-existing FlxRect to prevent instantiation of a new object. * @return A FlxRect containing the world coordinates and size of the entire tilemap. * This is a traditional tilemap display and collision class. It takes a string of comma-separated * numbers and then associates those values with tiles from the sheet you pass in. It also includes * some handy static parsers that can convert arrays or images into strings that can be loaded. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() 0 * The current X position of the buffer. 0 * The current Y position of the buffer. 0 * The width of the buffer (usually just a few tiles wider than the camera). 0 * The height of the buffer (usually just a few tiles taller than the camera). false * Whether the buffer needs to be redrawn. 0 * How many rows of tiles fit in this buffer. 0 * How many columns of tiles fit in this buffer. * Whether or not the coordinates should be rounded during draw(), true by default (recommended for pixel art). * Only affects tilesheet rendering and rendering using BitmapData.draw() in blitting. * (copyPixels() only renders on whole pixels by nature). Causes draw() to be used if false, which is more expensive. * The actual buffer BitmapData. (Only used if FlxG.renderBlit == true) false <_flashRect> <_matrix> <_prevTilemapX> * Variables related to calculation of dirty value <_prevTilemapY> <_prevTilemapScaleX> <_prevTilemapScaleY> <_prevTilemapScrollX> <_prevTilemapScrollY> <_prevCameraScrollX> <_prevCameraScrollY> <_prevCameraScaleX> <_prevCameraScaleY> <_prevCameraWidth> <_prevCameraHeight> { ScaleY : 1.0, ScaleX : 1.0 } * Clean up memory. { Color : FlxColor.TRANSPARENT } * Fill the buffer with the specified color. * Default value is transparent. * * @param Color What color to fill with, in 0xAARRGGBB hex format. { ScaleY : 1.0, ScaleX : 1.0 } * Just stamps this buffer onto the specified camera at the specified location. * * @param Camera Which camera to draw the buffer onto. * @param FlashPoint Where to draw the buffer at in camera coordinates. { ScaleX : 1.0 } flixel.FlxCamera.viewWidth { ScaleY : 1.0 } flixel.FlxCamera.viewHeight * Check if object is rendered pixel perfect on a specific camera. * Check if tilemap or camera has changed (scrolled, moved, resized or scaled) since the previous frame. * If so, then it means that we need to redraw this buffer. * @param Tilemap Tilemap to check against. It's a tilemap this buffer belongs to. * @param Camera Camera to check against. It's a camera this buffer is used for drawing on. * @return The value of dirty flag. { ScaleY : 1.0, ScaleX : 1.0 } * Instantiates a new camera-specific buffer for storing the visual tilemap data. * * @param TileWidth The width of the tiles in this tilemap. * @param TileHeight The height of the tiles in this tilemap. * @param WidthInTiles How many tiles wide the tilemap is. * @param HeightInTiles How many tiles tall the tilemap is. * @param Camera Which camera this buffer relates to. * A helper object to keep tilemap drawing performance decent across the new multi-camera system. * Pretty much don't even have to think about this class unless you are doing some crazy hacking. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() { ScaleY : 1.0, ScaleX : 1.0 } <_HX_SUPER__resize public="1" set="method" line="31"> { ScaleY : 1.0, ScaleX : 1.0 } * Clean up memory. <_HX_SUPER__destroy public="1" set="method" line="31"> { Color : FlxColor.TRANSPARENT } * Fill the buffer with the specified color. * Default value is transparent. * * @param Color What color to fill with, in 0xAARRGGBB hex format. <_HX_SUPER__fill public="1" set="method" line="31"> { Color : FlxColor.TRANSPARENT } { ScaleY : 1.0, ScaleX : 1.0 } * Just stamps this buffer onto the specified camera at the specified location. * * @param Camera Which camera to draw the buffer onto. * @param FlashPoint Where to draw the buffer at in camera coordinates. <_HX_SUPER__draw public="1" set="method" line="31"> { ScaleY : 1.0, ScaleX : 1.0 } <_HX_SUPER__colorTransform public="1" set="method" line="31"> { ScaleX : 1.0 } flixel.FlxCamera.viewWidth <_HX_SUPER__updateColumns public="1" set="method" line="31"> { ScaleX : 1.0 } { ScaleY : 1.0 } flixel.FlxCamera.viewHeight <_HX_SUPER__updateRows public="1" set="method" line="31"> { ScaleY : 1.0 } * Check if object is rendered pixel perfect on a specific camera. <_HX_SUPER__isPixelPerfectRender public="1" set="method" line="148"> * Check if tilemap or camera has changed (scrolled, moved, resized or scaled) since the previous frame. * If so, then it means that we need to redraw this buffer. * @param Tilemap Tilemap to check against. It's a tilemap this buffer belongs to. * @param Camera Camera to check against. It's a camera this buffer is used for drawing on. * @return The value of dirty flag. <_HX_SUPER__isDirty public="1" set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.tile.FlxTilemapBuffer * Clean up memory. <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__set_frames set="method" line="148"> <_HX_SUPER__onGameResized set="method" line="31"> <_HX_SUPER__onCameraChanged set="method" line="31"> <_HX_SUPER__cacheGraphics set="method" line="31"> <_HX_SUPER__padTileFrames set="method" line="148"> <_HX_SUPER__initTileObjects set="method" line="31"> <_HX_SUPER__computeDimensions set="method" line="31"> <_HX_SUPER__updateMap set="method" line="31"> * Check and see if this object is currently on screen. Differs from `FlxObject`'s implementation * in that it takes the actual graphic into account, not just the hitbox or bounding box or whatever. * * @param camera Specify which game camera you want. If `null`, it will just grab the first global camera. * @return Whether the object is on screen or not. <_HX_SUPER__isOnScreen public="1" set="method" line="148"> * Draws the tilemap buffers to the cameras. <_HX_SUPER__draw public="1" set="method" line="31"> <_HX_SUPER__refreshBuffers set="method" line="31"> { dirty : true } * Set the dirty flag on all the tilemap buffers. * Basically forces a reset of the drawn tilemaps, even if it wasn't necessary. * * @param dirty Whether to flag the tilemap buffers as dirty or not. <_HX_SUPER__setDirty public="1" set="method" line="31"> { dirty : true } { flipCallbackParams : false } * Checks if the Object overlaps any tiles with any collision flags set, * and calls the specified callback function (if there is one). * Also calls the tile's registered callback if the filter matches. * * @param object The FlxObject you are checking for overlaps against. * @param callback An optional function that takes the form "myCallback(Object1:FlxObject,Object2:FlxObject)", where Object1 is a FlxTile object, and Object2 is the object passed in in the first parameter of this method. * @param flipCallbackParams Used to preserve A-B list ordering from FlxObject.separate() - returns the FlxTile object as the second parameter instead. * @param position Optional, specify a custom position for the tilemap (useful for overlapsAt()-type functionality). * @return Whether there were overlaps, or if a callback was specified, whatever the return value of the callback was. <_HX_SUPER__overlapsWithCallback public="1" set="method" line="148"> { flipCallbackParams : false } <_HX_SUPER__getTileIndexByCoords public="1" set="method" line="148"> { midpoint : true } <_HX_SUPER__getTileCoordsByIndex public="1" set="method" line="148"> { midpoint : true } { midpoint : true } * Returns a new array full of every coordinate of the requested tile type. * * @param index The requested tile type. * @param midpoint Whether to return the coordinates of the tile midpoint, or upper left corner. Default is true, return midpoint. * @return An Array with a list of all the coordinates of that tile type. <_HX_SUPER__getTileCoords public="1" set="method" line="148"> { midpoint : true } { updateWorld : true, border : 0 } * Call this function to lock the automatic camera to the map's edges. * * @param camera Specify which game camera you want. If null getScreenPosition() will just grab the first global camera. * @param border Adjusts the camera follow boundary by whatever number of tiles you specify here. Handy for blocking off deadends that are offscreen, etc. Use a negative number to add padding instead of hiding the edges. * @param updateWorld Whether to update the collision system's world size, default value is true. <_HX_SUPER__follow public="1" set="method" line="31"> { updateWorld : true, border : 0 } * Shoots a ray from the start point to the end point. * If/when it passes through a tile, it stores that point and returns false. * Note: In flixel 5.0.0, this was redone, the old method is now `rayStep` * * @param start The world coordinates of the start of the ray. * @param end The world coordinates of the end of the ray. * @param result Optional result vector, to avoid creating a new instance to be returned. * Only returned if the line enters the rect. * @return Returns true if the ray made it from Start to End without hitting anything. * Returns false and fills Result if a tile was hit. <_HX_SUPER__ray set="method" line="148"> <_HX_SUPER__checkColumn set="method" line="148"> { resolution : 1 } * Shoots a ray from the start point to the end point. * If/when it passes through a tile, it stores that point and returns false. * This method checks at steps and can miss, for better results use `ray()` * @since 5.0.0 * * @param start The world coordinates of the start of the ray. * @param end The world coordinates of the end of the ray. * @param result Optional result vector, to avoid creating a new instance to be returned. * @param resolution Defaults to 1, meaning check every tile or so. Higher means more checks! * Only returned if the line enters the rect. * @return Returns true if the ray made it from Start to End without hitting anything. * Returns false and fills Result if a tile was hit. <_HX_SUPER__rayStep set="method" line="148"> { resolution : 1 } { NewTile : 0 } * Change a particular tile to FlxSprite. Or just copy the graphic if you dont want any changes to map data itself. * * @param x The X coordinate of the tile (in tiles, not pixels). * @param y The Y coordinate of the tile (in tiles, not pixels). * @param newTile New tile for the map data. Use -1 if you dont want any changes. Default = 0 (empty) * @param spriteFactory Method for converting FlxTile to FlxSprite. If null then will be used defaultTileToSprite() method. * @return FlxSprite. <_HX_SUPER__tileToSprite public="1" set="method" line="148"> { NewTile : 0 } * Use this method so the tilemap buffers are updated, e.g. when resizing your game <_HX_SUPER__updateBuffers public="1" set="method" line="31"> flixel.FlxCamera * Internal function that actually renders the tilemap to the tilemap buffer. Called by draw(). * * @param buffer The FlxTilemapBuffer you are rendering to. * @param camera The related FlxCamera, mainly for scroll values. <_HX_SUPER__drawTilemap set="method" line="31"> * Internal function to clean up the map loading code. * Just generates a wireframe box the size of a tile with the specified color. <_HX_SUPER__updateTile set="method" line="31"> <_HX_SUPER__set_antialiasing set="method" line="148"> * Internal function for setting graphic property for this object. * It changes graphic' useCount also for better memory tracking. <_HX_SUPER__set_graphic set="method" line="148"> <_HX_SUPER__set_pixelPerfectRender set="method" line="148"> <_HX_SUPER__set_alpha set="method" line="148"> <_HX_SUPER__set_color set="method" line="148"> <_HX_SUPER__updateColorTransform set="method" line="31"> <_HX_SUPER__set_blend set="method" line="148"> <_HX_SUPER__setScaleXYCallback set="method" line="31"> <_HX_SUPER__setScaleXCallback set="method" line="31"> <_HX_SUPER__setScaleYCallback set="method" line="31"> * Default method for generating FlxSprite from FlxTile * * @param tileProperties properties for new sprite * @return New FlxSprite with specified graphic <_HX_SUPER__defaultTileToSprite set="method" line="148"> <_HX_SUPER__set_allowCollisions set="method" line="148"> * Get the world coordinates and size of the entire tilemap as a FlxRect. * * @param bounds Optional, pass in a pre-existing FlxRect to prevent instantiation of a new object. * @return A FlxRect containing the world coordinates and size of the entire tilemap. <_HX_SUPER__getBounds set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.tile.FlxTilemap.GraphicAuto flixel.tile.FlxTilemap.GraphicAutoAlt flixel.tile.FlxTilemap.GraphicAutoFull flixel.tile.FlxTilemap flixel.tile.FlxTilemap.FlxTileProperties Math.PI / 2 Easing constants 2 * Math.PI / .45 1 / 2.75 2 / 2.75 1.5 / 2.75 2.5 / 2.75 2.25 / 2.75 2.625 / 2.75 1 0.4 @since 4.3.0 @since 4.3.0 @since 4.3.0 @since 4.3.0 @since 4.3.0 @since 4.3.0 @since 4.3.0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.tweens.FlxEase flixel.tweens.FlxEase.EaseFunction @since 4.5.0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() cast 1 * Persistent Tween type, will stop when it finishes. cast 2 * Looping Tween type, will restart immediately when it finishes. cast 4 * "To and from" Tween type, will play tween hither and thither cast 8 * Oneshot Tween type, will stop and remove itself from its core container when it finishes. cast 16 * Backward Tween type, will play tween in reverse direction hscript.UsingHandler.build() hscript.ClassExtendMacro.build() cast 1 * Persistent Tween type, will stop when it finishes. cast 2 * Looping Tween type, will restart immediately when it finishes. cast 4 * "To and from" Tween type, will play tween hither and thither cast 8 * Oneshot Tween type, will stop and remove itself from its core container when it finishes. cast 16 * Backward Tween type, will play tween in reverse direction hscript.UsingHandler.build() hscript.ClassExtendMacro.build() FlxTweenType.PERSIST "Use FlxTweenType.PERSIST instead" * Deprecated, use `FlxTweenType.PERSIST` instead. FlxTweenType.LOOPING "Use FlxTweenType.LOOPING instead" * Deprecated, use `FlxTweenType.LOOPING` instead. FlxTweenType.PINGPONG "Use FlxTweenType.PINGPONG instead" * Deprecated, use `FlxTweenType.PINGPONG` instead. FlxTweenType.ONESHOT "Use FlxTweenType.ONESHOT instead" * Deprecated, use `FlxTweenType.ONESHOT` instead. FlxTweenType.BACKWARD "Use FlxTweenType.BACKWARD instead" * Deprecated, use `FlxTweenType.BACKWARD` instead. * The global tweening manager that handles global tweens * @since 4.2.0 { Duration : 1 } * Tweens numeric public properties of an Object. Shorthand for creating a VarTween, starting it and adding it to the TweenManager. * * ```haxe * FlxTween.tween(Object, { x: 500, y: 350, "scale.x": 2 }, 2.0, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT }); * ``` * * @param Object The object containing the properties to tween. * @param Values An object containing key/value pairs of properties and target values. * @param Duration Duration of the tween in seconds. * @param Options A structure with tween options. * @return The added VarTween object. { Duration : 1 } * Tweens some numeric value. Shorthand for creating a NumTween, starting it and adding it to the TweenManager. Using it in * conjunction with a TweenFunction requires more setup, but is faster than VarTween because it doesn't use Reflection. * * ```haxe * function tweenFunction(s:FlxSprite, v:Float) { s.alpha = v; } * FlxTween.num(1, 0, 2.0, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT }, tweenFunction.bind(mySprite)); * ``` * * Trivia: For historical reasons, you can use either onUpdate or TweenFunction to accomplish the same thing, but TweenFunction * gives you the updated Float as a direct argument. * * @param FromValue Start value. * @param ToValue End value. * @param Duration Duration of the tween. * @param Options A structure with tween options. * @param TweenFunction A function to be called when the tweened value updates. It is recommended not to use an anonymous * function if you are maximizing performance, as those will be compiled to Dynamics on cpp. * @return The added NumTween object. { Duration : 1 } * Tweens numeric value which represents angle. Shorthand for creating a AngleTween object, starting it and adding it to the TweenManager. * * ```haxe * FlxTween.angle(Sprite, -90, 90, 2.0, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT }); * ``` * * @param Sprite Optional Sprite whose angle should be tweened. * @param FromAngle Start angle. * @param ToAngle End angle. * @param Duration Duration of the tween. * @param Options A structure with tween options. * @return The added AngleTween object. { Duration : 1 } * Tweens numeric value which represents color. Shorthand for creating a ColorTween object, starting it and adding it to a TweenPlugin. * * ```haxe * FlxTween.color(Sprite, 2.0, 0x000000, 0xffffff, 0.0, 1.0, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT }); * ``` * * @param Sprite Optional Sprite whose color should be tweened. * @param Duration Duration of the tween in seconds. * @param FromColor Start color. * @param ToColor End color. * @param Options A structure with tween options. * @return The added ColorTween object. { UseDuration : true, DurationOrSpeed : 1 } * Create a new LinearMotion tween. * * ```haxe * FlxTween.linearMotion(Object, 0, 0, 500, 20, 5, false, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT }); * ``` * * @param Object The object to move (FlxObject or FlxSpriteGroup) * @param FromX X start. * @param FromY Y start. * @param ToX X finish. * @param ToY Y finish. * @param DurationOrSpeed Duration (in seconds) or speed of the movement. * @param UseDuration Whether to use the previous param as duration or speed. * @param Options A structure with tween options. * @return The LinearMotion object. { UseDuration : true, DurationOrSpeed : 1 } * Create a new QuadMotion tween. * * ```haxe * FlxTween.quadMotion(Object, 0, 100, 300, 500, 100, 2, 5, false, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT }); * ``` * * @param Object The object to move (FlxObject or FlxSpriteGroup) * @param FromX X start. * @param FromY Y start. * @param ControlX X control, used to determine the curve. * @param ControlY Y control, used to determine the curve. * @param ToX X finish. * @param ToY Y finish. * @param DurationOrSpeed Duration (in seconds) or speed of the movement. * @param UseDuration Whether to use the previous param as duration or speed. * @param Options A structure with tween options. * @return The QuadMotion object. { Duration : 1 } * Create a new CubicMotion tween. * * ```haxe * FlxTween.cubicMotion(_sprite, 0, 0, 500, 100, 400, 200, 100, 100, 2, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT }); * ``` * * @param Object The object to move (FlxObject or FlxSpriteGroup) * @param FromX X start. * @param FromY Y start. * @param aX First control x. * @param aY First control y. * @param bX Second control x. * @param bY Second control y. * @param ToX X finish. * @param ToY Y finish. * @param Duration Duration of the movement in seconds. * @param Options A structure with tween options. * @return The CubicMotion object. { UseDuration : true, DurationOrSpeed : 1 } * Create a new CircularMotion tween. * * ```haxe * FlxTween.circularMotion(Object, 250, 250, 50, 0, true, 2, true, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT }); * ``` * * @param Object The object to move (FlxObject or FlxSpriteGroup) * @param CenterX X position of the circle's center. * @param CenterY Y position of the circle's center. * @param Radius Radius of the circle. * @param Angle Starting position on the circle. * @param Clockwise If the motion is clockwise. * @param DurationOrSpeed Duration of the movement in seconds. * @param UseDuration Duration of the movement. * @param Ease Optional easer function. * @param Options A structure with tween options. * @return The CircularMotion object. { UseDuration : true, DurationOrSpeed : 1 } * Create a new LinearPath tween. * * ```haxe * FlxTween.linearPath(Object, [FlxPoint.get(0, 0), FlxPoint.get(100, 100)], 2, true, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT }); * ``` * * @param Object The object to move (FlxObject or FlxSpriteGroup) * @param Points An array of at least 2 FlxPoints defining the path * @param DurationOrSpeed Duration (in seconds) or speed of the movement. * @param UseDuration Whether to use the previous param as duration or speed. * @param Options A structure with tween options. * @return The LinearPath object. { UseDuration : true, DurationOrSpeed : 1 } * Create a new QuadPath tween. * * ```haxe * FlxTween.quadPath(Object, [FlxPoint.get(0, 0), FlxPoint.get(200, 200), FlxPoint.get(400, 0)], 2, true, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT }); * ``` * * @param Object The object to move (FlxObject or FlxSpriteGroup) * @param Points An array of at least 3 FlxPoints defining the path * @param DurationOrSpeed Duration (in seconds) or speed of the movement. * @param UseDuration Whether to use the previous param as duration or speed. * @param Options A structure with tween options. * @return The QuadPath object. * Cancels all related tweens on the specified object. * * Note: Any tweens with the specified fields are cancelled, if the tween has other properties they * will also be cancelled. * * @param Object The object with tweens to cancel. * @param FieldPaths Optional list of the tween field paths to search for. If null or empty, all tweens on the specified * object are canceled. Allows dot paths to check child properties. * * @since 4.9.0 * Immediately updates all tweens on the specified object with the specified fields that * are not looping (type `FlxTween.LOOPING` or `FlxTween.PINGPONG`) and `active` through * their endings, triggering their `onComplete` callbacks. * * Note: if they haven't yet begun, this will first trigger their `onStart` callback. * * Note: their `onComplete` callbacks are triggered in the next frame. * To trigger them immediately, call `FlxTween.globalManager.update(0);` after this function. * * In no case should it trigger an `onUpdate` callback. * * Note: Any tweens with the specified fields are completed, if the tween has other properties they * will also be completed. * * @param Object The object with tweens to complete. * @param FieldPaths Optional list of the tween field paths to search for. If null or empty, all tweens on * the specified object are completed. Allows dot paths to check child properties. * * @since 4.9.0 * The manager to which this tween belongs * @since 4.2.0 false 0 * Value between `0` and `1` that indicates how far along this tween is in its completion. * A value of `0.33` means that the tween is `33%` complete. 0 0 * How many times this tween has been executed / has finished so far - useful to * stop the `LOOPING` and `PINGPONG` types after a certain amount of time 0 * Seconds to wait until starting this tween, 0 by default 0 * Seconds to wait between loops of this tween, 0 by default <_secondsSinceStart expr="0"> 0 <_delayToUse expr="0"> 0 <_running expr="false"> false <_waitingForRestart expr="false"> false <_chainedTweens> <_nextTweenInChain> * Specify a tween to be executed when this one has finished * (useful for creating "tween chains"). * How many seconds to delay the execution of the next tween in a tween chain. * Starts the Tween, or restarts it if it's currently running. * Immediately stops the Tween and removes it from its * `manager` without calling the `onComplete` callback. * * Yields control to the next chained Tween if one exists. * Immediately stops the Tween and removes it from its * `manager` without calling the `onComplete` callback * or yielding control to the next chained Tween if one exists. * * If control has already been passed on, forwards the cancellation * request along the chain to the currently active Tween. * * @since 4.3.0 * Called when the tween ends, either via finish() or cancel(). * In case the tween.active was set to false in onComplete(), * the tween should not be restarted yet. * Returns true if this is tweening the specified field on the specified object. * * @param Object The object. * @param Field Optional tween field. Ignored if null. * * @since 4.9.0 * Set both type of delays for this tween. * * @param startDelay Seconds to wait until starting this tween, 0 by default. * @param loopDelay Seconds to wait between loops of this tween, 0 by default. * This function is called when tween is created, or recycled. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Tween type - bit field of `FlxTween`'s static type constants. * Seconds to wait until starting this tween, `0` by default. * Optional update callback function. * Optional start callback function. * Optional complete callback function. * Seconds to wait between loops of this tween, `0` by default. * Optional easer function (see `FlxEase`). hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_tweens set="null" expr="[]"> [] * A list of all FlxTween objects. { Duration : 1 } * Tweens numeric public properties of an Object. Shorthand for creating a VarTween, starting it and adding it to the TweenManager. * * ```haxe * FlxTween.tween(Object, { x: 500, y: 350, "scale.x": 2 }, 2.0, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT }); * ``` * * @param Object The object containing the properties to tween. * @param Values An object containing key/value pairs of properties and target values. * @param Duration Duration of the tween in seconds. * @param Options A structure with tween options. * @return The added VarTween object. * @since 4.2.0 { Duration : 1 } * Tweens some numeric value. Shorthand for creating a NumTween, starting it and adding it to the TweenManager. Using it in * conjunction with a TweenFunction requires more setup, but is faster than VarTween because it doesn't use Reflection. * * ```haxe * function tweenFunction(s:FlxSprite, v:Float) { s.alpha = v; } * FlxTween.num(1, 0, 2.0, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT }, tweenFunction.bind(mySprite)); * ``` * * Trivia: For historical reasons, you can use either onUpdate or TweenFunction to accomplish the same thing, but TweenFunction * gives you the updated Float as a direct argument. * * @param FromValue Start value. * @param ToValue End value. * @param Duration Duration of the tween. * @param Options A structure with tween options. * @param TweenFunction A function to be called when the tweened value updates. It is recommended not to use an anonymous * function if you are maximizing performance, as those will be compiled to Dynamics on cpp. * @return The added NumTween object. * @since 4.2.0 { Duration : 1 } * Tweens numeric value which represents angle. Shorthand for creating a AngleTween object, starting it and adding it to the TweenManager. * * ```haxe * FlxTween.angle(Sprite, -90, 90, 2.0, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT }); * ``` * * @param Sprite Optional Sprite whose angle should be tweened. * @param FromAngle Start angle. * @param ToAngle End angle. * @param Duration Duration of the tween. * @param Options A structure with tween options. * @return The added AngleTween object. * @since 4.2.0 { Duration : 1 } * Tweens numeric value which represents color. Shorthand for creating a ColorTween object, starting it and adding it to a TweenPlugin. * * ```haxe * FlxTween.color(Sprite, 2.0, 0x000000, 0xffffff, 0.0, 1.0, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT }); * ``` * * @param Sprite Optional Sprite whose color should be tweened. * @param Duration Duration of the tween in seconds. * @param FromColor Start color. * @param ToColor End color. * @param Options A structure with tween options. * @return The added ColorTween object. * @since 4.2.0 { UseDuration : true, DurationOrSpeed : 1 } * Create a new LinearMotion tween. * * ```haxe * FlxTween.linearMotion(Object, 0, 0, 500, 20, 5, false, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT }); * ``` * * @param Object The object to move (FlxObject or FlxSpriteGroup) * @param FromX X start. * @param FromY Y start. * @param ToX X finish. * @param ToY Y finish. * @param DurationOrSpeed Duration (in seconds) or speed of the movement. * @param UseDuration Whether to use the previous param as duration or speed. * @param Options A structure with tween options. * @return The LinearMotion object. * @since 4.2.0 { UseDuration : true, DurationOrSpeed : 1 } * Create a new QuadMotion tween. * * ```haxe * FlxTween.quadMotion(Object, 0, 100, 300, 500, 100, 2, 5, false, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT }); * ``` * * @param Object The object to move (FlxObject or FlxSpriteGroup) * @param FromX X start. * @param FromY Y start. * @param ControlX X control, used to determine the curve. * @param ControlY Y control, used to determine the curve. * @param ToX X finish. * @param ToY Y finish. * @param DurationOrSpeed Duration (in seconds) or speed of the movement. * @param UseDuration Whether to use the previous param as duration or speed. * @param Options A structure with tween options. * @return The QuadMotion object. * @since 4.2.0 { Duration : 1 } * Create a new CubicMotion tween. * * ```haxe * FlxTween.cubicMotion(_sprite, 0, 0, 500, 100, 400, 200, 100, 100, 2, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT }); * ``` * * @param Object The object to move (FlxObject or FlxSpriteGroup) * @param FromX X start. * @param FromY Y start. * @param aX First control x. * @param aY First control y. * @param bX Second control x. * @param bY Second control y. * @param ToX X finish. * @param ToY Y finish. * @param Duration Duration of the movement in seconds. * @param Options A structure with tween options. * @return The CubicMotion object. * @since 4.2.0 { UseDuration : true, DurationOrSpeed : 1 } * Create a new CircularMotion tween. * * ```haxe * FlxTween.circularMotion(Object, 250, 250, 50, 0, true, 2, true, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT }); * ``` * * @param Object The object to move (FlxObject or FlxSpriteGroup) * @param CenterX X position of the circle's center. * @param CenterY Y position of the circle's center. * @param Radius Radius of the circle. * @param Angle Starting position on the circle. * @param Clockwise If the motion is clockwise. * @param DurationOrSpeed Duration of the movement in seconds. * @param UseDuration Duration of the movement. * @param Ease Optional easer function. * @param Options A structure with tween options. * @return The CircularMotion object. * @since 4.2.0 { UseDuration : true, DurationOrSpeed : 1 } * Create a new LinearPath tween. * * ```haxe * FlxTween.linearPath(Object, [FlxPoint.get(0, 0), FlxPoint.get(100, 100)], 2, true, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT }); * ``` * * @param Object The object to move (FlxObject or FlxSpriteGroup) * @param Points An array of at least 2 FlxPoints defining the path * @param DurationOrSpeed Duration (in seconds) or speed of the movement. * @param UseDuration Whether to use the previous param as duration or speed. * @param Options A structure with tween options. * @return The LinearPath object. * @since 4.2.0 { UseDuration : true, DurationOrSpeed : 1 } * Create a new QuadPath tween. * * ```haxe * FlxTween.quadPath(Object, [FlxPoint.get(0, 0), FlxPoint.get(200, 200), FlxPoint.get(400, 0)], 2, true, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT }); * ``` * * @param Object The object to move (FlxObject or FlxSpriteGroup) * @param Points An array of at least 3 FlxPoints defining the path * @param DurationOrSpeed Duration (in seconds) or speed of the movement. * @param UseDuration Whether to use the previous param as duration or speed. * @param Options A structure with tween options. * @return The QuadPath object. * @since 4.2.0 { Destroy : true } flixel.tweens.FlxTween * Remove a FlxTween. * * @param Tween The FlxTween to remove. * @param Destroy Whether you want to destroy the FlxTween * @return The removed FlxTween object. * Removes all FlxTweens. * Cancels all related tweens on the specified object. * * Note: Any tweens with the specified fields are cancelled, if the tween has other properties they * will also be cancelled. * * @param Object The object with tweens to cancel. * @param FieldPaths Optional list of the tween field paths to search for. If null or empty, all tweens on the specified * object are canceled. Allows dot paths to check child properties. * * @since 4.9.0 * Immediately updates all tweens on the specified object with the specified fields that * are not looping (type `FlxTween.LOOPING` or `FlxTween.PINGPONG`) and `active` through * their endings, triggering their `onComplete` callbacks. * * Note: if they haven't yet begun, this will first trigger their `onStart` callback. * * Note: their `onComplete` callbacks are triggered in the next frame. * To trigger them immediately, call `FlxTween.globalManager.update(0);` after this function. * * In no case should it trigger an `onUpdate` callback. * * Note: Any tweens with the specified fields are completed, if the tween has other properties they * will also be completed. * * @param Object The object with tweens to complete. * @param FieldPaths Optional list of the tween field paths to search for. If null or empty, all tweens on * the specified object are completed. Allows dot paths to check child properties. * * @since 4.9.0 * Internal helper for iterating tweens with specific parameters. * * Note: loops backwards to allow removals. * * @param Object The object with tweens you are searching for. * @param FieldPaths Optional list of the tween field paths to check. If null or empty, any tween of the specified * object will match. Allows dot paths to check child properties. * @param Function The function to call on each matching tween. * * @since 4.9.0 * Immediately updates all tweens that are not looping (type `FlxTween.LOOPING` or `FlxTween.PINGPONG`) * and `active` through their endings, triggering their `onComplete` callbacks. * * Note: if they haven't yet begun, this will first trigger their `onStart` callback. * * Note: their `onComplete` callbacks are triggered in the next frame. * To trigger them immediately, call `FlxTween.globalManager.update(0);` after this function. * * In no case should it trigger an `onUpdate` callback. * * @since 4.2.0 * Applies a function to all tweens * * @param Function A function that modifies one tween at a time * @since 4.2.0 * A simple manager for tracking and updating game tween objects. * Normally accessed via the static `FlxTween.globalManager` rather than being created separately. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() flixel.tweens flixel.tweens.FlxTween hscript.UsingHandler.build() hscript.ClassExtendMacro.build() cast (1, flixel.tweens.FlxTweenType) * Persistent Tween type, will stop when it finishes. cast (2, flixel.tweens.FlxTweenType) * Looping Tween type, will restart immediately when it finishes. cast (4, flixel.tweens.FlxTweenType) * "To and from" Tween type, will play tween hither and thither cast (8, flixel.tweens.FlxTweenType) * Oneshot Tween type, will stop and remove itself from its core container when it finishes. cast (16, flixel.tweens.FlxTweenType) * Backward Tween type, will play tween in reverse direction hscript.UsingHandler.build() hscript.ClassExtendMacro.build() { Duration : 1 } * Tweens numeric public properties of an Object. Shorthand for creating a VarTween, starting it and adding it to the TweenManager. * * ```haxe * FlxTween.tween(Object, { x: 500, y: 350, "scale.x": 2 }, 2.0, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT }); * ``` * * @param Object The object containing the properties to tween. * @param Values An object containing key/value pairs of properties and target values. * @param Duration Duration of the tween in seconds. * @param Options A structure with tween options. * @return The added VarTween object. * @since 4.2.0 <_HX_SUPER__tween public="1" set="method" line="148"> { Duration : 1 } { Duration : 1 } * Tweens some numeric value. Shorthand for creating a NumTween, starting it and adding it to the TweenManager. Using it in * conjunction with a TweenFunction requires more setup, but is faster than VarTween because it doesn't use Reflection. * * ```haxe * function tweenFunction(s:FlxSprite, v:Float) { s.alpha = v; } * FlxTween.num(1, 0, 2.0, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT }, tweenFunction.bind(mySprite)); * ``` * * Trivia: For historical reasons, you can use either onUpdate or TweenFunction to accomplish the same thing, but TweenFunction * gives you the updated Float as a direct argument. * * @param FromValue Start value. * @param ToValue End value. * @param Duration Duration of the tween. * @param Options A structure with tween options. * @param TweenFunction A function to be called when the tweened value updates. It is recommended not to use an anonymous * function if you are maximizing performance, as those will be compiled to Dynamics on cpp. * @return The added NumTween object. * @since 4.2.0 <_HX_SUPER__num public="1" set="method" line="148"> { Duration : 1 } { Duration : 1 } * Tweens numeric value which represents angle. Shorthand for creating a AngleTween object, starting it and adding it to the TweenManager. * * ```haxe * FlxTween.angle(Sprite, -90, 90, 2.0, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT }); * ``` * * @param Sprite Optional Sprite whose angle should be tweened. * @param FromAngle Start angle. * @param ToAngle End angle. * @param Duration Duration of the tween. * @param Options A structure with tween options. * @return The added AngleTween object. * @since 4.2.0 <_HX_SUPER__angle public="1" set="method" line="148"> { Duration : 1 } { Duration : 1 } * Tweens numeric value which represents color. Shorthand for creating a ColorTween object, starting it and adding it to a TweenPlugin. * * ```haxe * FlxTween.color(Sprite, 2.0, 0x000000, 0xffffff, 0.0, 1.0, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT }); * ``` * * @param Sprite Optional Sprite whose color should be tweened. * @param Duration Duration of the tween in seconds. * @param FromColor Start color. * @param ToColor End color. * @param Options A structure with tween options. * @return The added ColorTween object. * @since 4.2.0 <_HX_SUPER__color public="1" set="method" line="148"> { Duration : 1 } { UseDuration : true, DurationOrSpeed : 1 } * Create a new LinearMotion tween. * * ```haxe * FlxTween.linearMotion(Object, 0, 0, 500, 20, 5, false, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT }); * ``` * * @param Object The object to move (FlxObject or FlxSpriteGroup) * @param FromX X start. * @param FromY Y start. * @param ToX X finish. * @param ToY Y finish. * @param DurationOrSpeed Duration (in seconds) or speed of the movement. * @param UseDuration Whether to use the previous param as duration or speed. * @param Options A structure with tween options. * @return The LinearMotion object. * @since 4.2.0 <_HX_SUPER__linearMotion public="1" set="method" line="148"> { UseDuration : true, DurationOrSpeed : 1 } { UseDuration : true, DurationOrSpeed : 1 } * Create a new QuadMotion tween. * * ```haxe * FlxTween.quadMotion(Object, 0, 100, 300, 500, 100, 2, 5, false, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT }); * ``` * * @param Object The object to move (FlxObject or FlxSpriteGroup) * @param FromX X start. * @param FromY Y start. * @param ControlX X control, used to determine the curve. * @param ControlY Y control, used to determine the curve. * @param ToX X finish. * @param ToY Y finish. * @param DurationOrSpeed Duration (in seconds) or speed of the movement. * @param UseDuration Whether to use the previous param as duration or speed. * @param Options A structure with tween options. * @return The QuadMotion object. * @since 4.2.0 <_HX_SUPER__quadMotion public="1" set="method" line="148"> { UseDuration : true, DurationOrSpeed : 1 } { Duration : 1 } * Create a new CubicMotion tween. * * ```haxe * FlxTween.cubicMotion(_sprite, 0, 0, 500, 100, 400, 200, 100, 100, 2, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT }); * ``` * * @param Object The object to move (FlxObject or FlxSpriteGroup) * @param FromX X start. * @param FromY Y start. * @param aX First control x. * @param aY First control y. * @param bX Second control x. * @param bY Second control y. * @param ToX X finish. * @param ToY Y finish. * @param Duration Duration of the movement in seconds. * @param Options A structure with tween options. * @return The CubicMotion object. * @since 4.2.0 <_HX_SUPER__cubicMotion public="1" set="method" line="148"> { Duration : 1 } { UseDuration : true, DurationOrSpeed : 1 } * Create a new CircularMotion tween. * * ```haxe * FlxTween.circularMotion(Object, 250, 250, 50, 0, true, 2, true, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT }); * ``` * * @param Object The object to move (FlxObject or FlxSpriteGroup) * @param CenterX X position of the circle's center. * @param CenterY Y position of the circle's center. * @param Radius Radius of the circle. * @param Angle Starting position on the circle. * @param Clockwise If the motion is clockwise. * @param DurationOrSpeed Duration of the movement in seconds. * @param UseDuration Duration of the movement. * @param Ease Optional easer function. * @param Options A structure with tween options. * @return The CircularMotion object. * @since 4.2.0 <_HX_SUPER__circularMotion public="1" set="method" line="148"> { UseDuration : true, DurationOrSpeed : 1 } { UseDuration : true, DurationOrSpeed : 1 } * Create a new LinearPath tween. * * ```haxe * FlxTween.linearPath(Object, [FlxPoint.get(0, 0), FlxPoint.get(100, 100)], 2, true, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT }); * ``` * * @param Object The object to move (FlxObject or FlxSpriteGroup) * @param Points An array of at least 2 FlxPoints defining the path * @param DurationOrSpeed Duration (in seconds) or speed of the movement. * @param UseDuration Whether to use the previous param as duration or speed. * @param Options A structure with tween options. * @return The LinearPath object. * @since 4.2.0 <_HX_SUPER__linearPath public="1" set="method" line="148"> { UseDuration : true, DurationOrSpeed : 1 } { UseDuration : true, DurationOrSpeed : 1 } * Create a new QuadPath tween. * * ```haxe * FlxTween.quadPath(Object, [FlxPoint.get(0, 0), FlxPoint.get(200, 200), FlxPoint.get(400, 0)], 2, true, { ease: easeFunction, onStart: onStart, onUpdate: onUpdate, onComplete: onComplete, type: ONESHOT }); * ``` * * @param Object The object to move (FlxObject or FlxSpriteGroup) * @param Points An array of at least 3 FlxPoints defining the path * @param DurationOrSpeed Duration (in seconds) or speed of the movement. * @param UseDuration Whether to use the previous param as duration or speed. * @param Options A structure with tween options. * @return The QuadPath object. * @since 4.2.0 <_HX_SUPER__quadPath public="1" set="method" line="148"> { UseDuration : true, DurationOrSpeed : 1 } <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__update public="1" set="method" line="31"> { Destroy : true } flixel.tweens.FlxTween * Remove a FlxTween. * * @param Tween The FlxTween to remove. * @param Destroy Whether you want to destroy the FlxTween * @return The removed FlxTween object. <_HX_SUPER__remove set="method" line="148"> { Destroy : true } * Removes all FlxTweens. <_HX_SUPER__clear public="1" set="method" line="31"> * Cancels all related tweens on the specified object. * * Note: Any tweens with the specified fields are cancelled, if the tween has other properties they * will also be cancelled. * * @param Object The object with tweens to cancel. * @param FieldPaths Optional list of the tween field paths to search for. If null or empty, all tweens on the specified * object are canceled. Allows dot paths to check child properties. * * @since 4.9.0 <_HX_SUPER__cancelTweensOf public="1" set="method" line="31"> * Immediately updates all tweens on the specified object with the specified fields that * are not looping (type `FlxTween.LOOPING` or `FlxTween.PINGPONG`) and `active` through * their endings, triggering their `onComplete` callbacks. * * Note: if they haven't yet begun, this will first trigger their `onStart` callback. * * Note: their `onComplete` callbacks are triggered in the next frame. * To trigger them immediately, call `FlxTween.globalManager.update(0);` after this function. * * In no case should it trigger an `onUpdate` callback. * * Note: Any tweens with the specified fields are completed, if the tween has other properties they * will also be completed. * * @param Object The object with tweens to complete. * @param FieldPaths Optional list of the tween field paths to search for. If null or empty, all tweens on * the specified object are completed. Allows dot paths to check child properties. * * @since 4.9.0 <_HX_SUPER__completeTweensOf public="1" set="method" line="31"> * Internal helper for iterating tweens with specific parameters. * * Note: loops backwards to allow removals. * * @param Object The object with tweens you are searching for. * @param FieldPaths Optional list of the tween field paths to check. If null or empty, any tween of the specified * object will match. Allows dot paths to check child properties. * @param Function The function to call on each matching tween. * * @since 4.9.0 <_HX_SUPER__forEachTweensOf set="method" line="148"> * Immediately updates all tweens that are not looping (type `FlxTween.LOOPING` or `FlxTween.PINGPONG`) * and `active` through their endings, triggering their `onComplete` callbacks. * * Note: if they haven't yet begun, this will first trigger their `onStart` callback. * * Note: their `onComplete` callbacks are triggered in the next frame. * To trigger them immediately, call `FlxTween.globalManager.update(0);` after this function. * * In no case should it trigger an `onUpdate` callback. * * @since 4.2.0 <_HX_SUPER__completeAll public="1" set="method" line="31"> * Applies a function to all tweens * * @param Function A function that modifies one tween at a time * @since 4.2.0 <_HX_SUPER__forEach public="1" set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.tweens.FlxTween.FlxTweenType flixel.tweens.FlxTween.FlxTweenType flixel.tweens.FlxTween flixel.tweens.FlxTween.TweenCallback flixel.tweens.FlxTween.TweenOptions flixel.tweens.FlxTween.FlxTweenManager flixel.tweens.FlxTween.TweenProperty flixel.tweens.FlxTween.FlxTweenType_HSC <_HX_SUPER__resolveTweenOptions set="method" line="148"> <_HX_SUPER__destroy public="1" set="method" line="31"> * Specify a tween to be executed when this one has finished * (useful for creating "tween chains"). <_HX_SUPER__then public="1" set="method" line="148"> * How many seconds to delay the execution of the next tween in a tween chain. <_HX_SUPER__wait public="1" set="method" line="148"> <_HX_SUPER__addChainedTween set="method" line="148"> <_HX_SUPER__update set="method" line="31"> * Starts the Tween, or restarts it if it's currently running. <_HX_SUPER__start public="1" set="method" line="148"> * Immediately stops the Tween and removes it from its * `manager` without calling the `onComplete` callback. * * Yields control to the next chained Tween if one exists. <_HX_SUPER__cancel public="1" set="method" line="31"> * Immediately stops the Tween and removes it from its * `manager` without calling the `onComplete` callback * or yielding control to the next chained Tween if one exists. * * If control has already been passed on, forwards the cancellation * request along the chain to the currently active Tween. * * @since 4.3.0 <_HX_SUPER__cancelChain public="1" set="method" line="31"> <_HX_SUPER__finish set="method" line="31"> * Called when the tween ends, either via finish() or cancel(). <_HX_SUPER__onEnd set="method" line="31"> <_HX_SUPER__setVarsOnEnd set="method" line="31"> <_HX_SUPER__processTweenChain set="method" line="31"> <_HX_SUPER__doNextTween set="method" line="31"> <_HX_SUPER__setChain set="method" line="31"> * In case the tween.active was set to false in onComplete(), * the tween should not be restarted yet. <_HX_SUPER__restart set="method" line="31"> * Returns true if this is tweening the specified field on the specified object. * * @param Object The object. * @param Field Optional tween field. Ignored if null. * * @since 4.9.0 <_HX_SUPER__isTweenOf set="method" line="148"> * Set both type of delays for this tween. * * @param startDelay Seconds to wait until starting this tween, 0 by default. * @param loopDelay Seconds to wait between loops of this tween, 0 by default. <_HX_SUPER__setDelays set="method" line="148"> <_HX_SUPER__set_startDelay set="method" line="148"> <_HX_SUPER__set_loopDelay set="method" line="148"> <_HX_SUPER__set_percent set="method" line="148"> <_HX_SUPER__set_type set="method" line="148"> <_HX_SUPER__set_active set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.tweens.FlxTween.FlxTweenType flixel.tweens.FlxTween.FlxTweenType flixel.tweens.FlxTween flixel.tweens.FlxTween.TweenCallback flixel.tweens.FlxTween.TweenOptions flixel.tweens.FlxTween.FlxTweenManager flixel.tweens.FlxTween.TweenProperty * Optional sprite object whose angle to tween <_start> <_range> * Clean up references * Tweens the value from one angle to another. * * @param FromAngle Start angle. * @param ToAngle End angle. * @param Duration Duration of the tween. * Tweens from one angle to another. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Clean up references <_HX_SUPER__destroy public="1" set="method" line="148"> * Tweens the value from one angle to another. * * @param FromAngle Start angle. * @param ToAngle End angle. * @param Duration Duration of the tween. <_HX_SUPER__tween public="1" set="method" line="148"> <_HX_SUPER__update set="method" line="31"> <_HX_SUPER__isTweenOf set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.tweens.misc.AngleTween * Optional sprite object whose color to tween * Clean up references * Tweens the color to a new color and an alpha to a new alpha. * * @param Duration Duration of the tween. * @param FromColor Start color. * @param ToColor End color. * @param Sprite Optional sprite object whose color to tween. * @return The ColorTween. * Tweens a color's red, green, and blue properties * independently. Can also tween an alpha value. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Clean up references <_HX_SUPER__destroy public="1" set="method" line="148"> * Tweens the color to a new color and an alpha to a new alpha. * * @param Duration Duration of the tween. * @param FromColor Start color. * @param ToColor End color. * @param Sprite Optional sprite object whose color to tween. * @return The ColorTween. <_HX_SUPER__tween public="1" set="method" line="148"> <_HX_SUPER__update set="method" line="31"> <_HX_SUPER__isTweenOf set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.tweens.misc.ColorTween * The current value. <_tweenFunction> <_start> <_range> * Clean up references * Tweens the value from one value to another. * * @param fromValue Start value. * @param toValue End value. * @param duration Duration of the tween. * @param tweenFunction Optional tween function. See FlxTween.num() * Tweens a numeric value. See FlxTween.num() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Clean up references <_HX_SUPER__destroy public="1" set="method" line="31"> * Tweens the value from one value to another. * * @param fromValue Start value. * @param toValue End value. * @param duration Duration of the tween. * @param tweenFunction Optional tween function. See FlxTween.num() <_HX_SUPER__tween public="1" set="method" line="148"> <_HX_SUPER__update set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.tweens.misc.NumTween <_object> <_properties> <_propertyInfos> * Tweens multiple numeric public properties. * * @param object The object containing the properties. * @param properties An object containing key/value pairs of properties and target values. * @param duration Duration of the tween. * Tweens multiple numeric properties of an object simultaneously. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Tweens multiple numeric public properties. * * @param object The object containing the properties. * @param properties An object containing key/value pairs of properties and target values. * @param duration Duration of the tween. <_HX_SUPER__tween public="1" set="method" line="148"> <_HX_SUPER__update set="method" line="31"> <_HX_SUPER__initializeVars set="method" line="31"> <_HX_SUPER__setStartValues set="method" line="148"> <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__isTweenOf set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.tweens.misc.VarTween flixel.tweens.misc.VarTween.VarTweenProperty 0 * Current x position of the Tween. 0 * Current y position of the Tween. <_object> <_wasObjectImmovable> * Base class for motion Tweens. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() 0 * The current position on the circle. * The circumference of the current circle motion. <_centerX expr="0"> 0 <_centerY expr="0"> 0 <_radius expr="0"> 0 <_angleStart expr="0"> 0 <_angleFinish expr="0"> 0 { UseDuration : true } * Starts moving along a circle. * * @param CenterX X position of the circle's center. * @param CenterY Y position of the circle's center. * @param Radius Radius of the circle. * @param Angle Starting position on the circle. * @param Clockwise If the motion is clockwise. * @param DurationOrSpeed Duration of the movement. * @param UseDuration Duration of the movement. * Determines a circular motion. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() { UseDuration : true } * Starts moving along a circle. * * @param CenterX X position of the circle's center. * @param CenterY Y position of the circle's center. * @param Radius Radius of the circle. * @param Angle Starting position on the circle. * @param Clockwise If the motion is clockwise. * @param DurationOrSpeed Duration of the movement. * @param UseDuration Duration of the movement. <_HX_SUPER__setMotion public="1" set="method" line="148"> { UseDuration : true } <_HX_SUPER__update set="method" line="31"> <_HX_SUPER__get_circumference set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.tweens.motion.CircularMotion <_fromX expr="0"> 0 <_fromY expr="0"> 0 <_toX expr="0"> 0 <_toY expr="0"> 0 <_aX expr="0"> 0 <_aY expr="0"> 0 <_bX expr="0"> 0 <_bY expr="0"> 0 <_ttt expr="0"> 0 <_tt expr="0"> 0 * Starts moving along the curve. * * @param fromX X start. * @param fromY Y start. * @param aX First control x. * @param aY First control y. * @param bX Second control x. * @param bY Second control y. * @param toX X finish. * @param toY Y finish. * @param duration Duration of the movement. * Determines motion along a cubic curve. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Starts moving along the curve. * * @param fromX X start. * @param fromY Y start. * @param aX First control x. * @param aY First control y. * @param bX Second control x. * @param bY Second control y. * @param toX X finish. * @param toY Y finish. * @param duration Duration of the movement. <_HX_SUPER__setMotion public="1" set="method" line="148"> <_HX_SUPER__update set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.tweens.motion.CubicMotion * Length of the current line of movement. <_fromX expr="0"> 0 <_fromY expr="0"> 0 <_moveX expr="0"> 0 <_moveY expr="0"> 0 <_distance expr="-1"> -1 { UseDuration : true } * Starts moving along a line. * * @param FromX X start. * @param FromY Y start. * @param ToX X finish. * @param ToY Y finish. * @param DurationOrSpeed Duration or speed of the movement. * @param UseDuration Whether to use the previous param as duration or speed. * Determines motion along a line, from one point to another. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() { UseDuration : true } * Starts moving along a line. * * @param FromX X start. * @param FromY Y start. * @param ToX X finish. * @param ToY Y finish. * @param DurationOrSpeed Duration or speed of the movement. * @param UseDuration Whether to use the previous param as duration or speed. <_HX_SUPER__setMotion public="1" set="method" line="148"> { UseDuration : true } <_HX_SUPER__update set="method" line="31"> <_HX_SUPER__get_distance set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.tweens.motion.LinearMotion 0 * The full length of the path. <_pointD> <_pointT> <_speed expr="0"> 0 <_index expr="0"> 0 <_last> <_prevPoint> <_nextPoint> { UseDuration : true } * Starts moving along the path. * * @param DurationOrSpeed Duration or speed of the movement. * @param UseDuration Whether to use the previous param as duration or speed. { y : 0, x : 0 } { index : 0 } * Updates the path, preparing it for motion. * Determines linear motion along a set of points. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__destroy public="1" set="method" line="31"> { UseDuration : true } * Starts moving along the path. * * @param DurationOrSpeed Duration or speed of the movement. * @param UseDuration Whether to use the previous param as duration or speed. <_HX_SUPER__setMotion public="1" set="method" line="148"> { UseDuration : true } { y : 0, x : 0 } <_HX_SUPER__addPoint public="1" set="method" line="148"> { y : 0, x : 0 } { index : 0 } <_HX_SUPER__getPoint public="1" set="method" line="148"> { index : 0 } <_HX_SUPER__start public="1" set="method" line="148"> <_HX_SUPER__update set="method" line="31"> * Updates the path, preparing it for motion. <_HX_SUPER__updatePath set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.tweens.motion.LinearPath <_HX_SUPER__destroy public="1" set="method" line="31"> <_HX_SUPER__setObject public="1" set="method" line="148"> <_HX_SUPER__update set="method" line="31"> <_HX_SUPER__onEnd set="method" line="31"> <_HX_SUPER__postUpdate set="method" line="31"> <_HX_SUPER__isTweenOf set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.tweens.motion.Motion * The distance of the entire curve. <_distance expr="-1"> -1 <_fromX expr="0"> 0 <_fromY expr="0"> 0 <_toX expr="0"> 0 <_toY expr="0"> 0 <_controlX expr="0"> 0 <_controlY expr="0"> 0 { UseDuration : true } * Starts moving along the curve. * * @param FromX X start. * @param FromY Y start. * @param ControlX X control, used to determine the curve. * @param ControlY Y control, used to determine the curve. * @param ToX X finish. * @param ToY Y finish. * @param DurationOrSpeed Duration or speed of the movement. * @param UseDuration Duration of the movement. * Determines motion along p1 quadratic curve. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() { UseDuration : true } * Starts moving along the curve. * * @param FromX X start. * @param FromY Y start. * @param ControlX X control, used to determine the curve. * @param ControlY Y control, used to determine the curve. * @param ToX X finish. * @param ToY Y finish. * @param DurationOrSpeed Duration or speed of the movement. * @param UseDuration Duration of the movement. <_HX_SUPER__setMotion public="1" set="method" line="148"> { UseDuration : true } <_HX_SUPER__update set="method" line="31"> <_HX_SUPER__get_distance set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.tweens.motion.QuadMotion <_points> <_distance expr="0"> 0 <_speed expr="0"> 0 <_index expr="0"> 0 <_numSegs expr="0"> 0 <_updateCurve expr="true"> true <_curveT> <_curveD> <_a> <_b> <_c> { UseDuration : true } * Starts moving along the path. * * @param DurationOrSpeed Duration or speed of the movement. * @param UseDuration Whether to use the previous param as duration or speed. { y : 0, x : 0 } * Adds the point to the path. { index : 0 } * Gets the point on the path. * A series of points which will determine a path from the * beginning point to the end point using quadratic curves. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__destroy public="1" set="method" line="31"> { UseDuration : true } * Starts moving along the path. * * @param DurationOrSpeed Duration or speed of the movement. * @param UseDuration Whether to use the previous param as duration or speed. <_HX_SUPER__setMotion public="1" set="method" line="148"> { UseDuration : true } { y : 0, x : 0 } * Adds the point to the path. <_HX_SUPER__addPoint public="1" set="method" line="148"> { y : 0, x : 0 } { index : 0 } * Gets the point on the path. <_HX_SUPER__getPoint public="1" set="method" line="148"> { index : 0 } <_HX_SUPER__start public="1" set="method" line="148"> <_HX_SUPER__update set="method" line="31"> <_HX_SUPER__updatePath set="method" line="31"> <_HX_SUPER__getCurveLength set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.tweens.motion.QuadPath 0 * Used with public variable status, means not highlighted or pressed. 1 * Used with public variable status, means highlighted (usually from mouse over). 2 * Used with public variable status, means pressed (usually from mouse click). <_analogs expr="[]" line="71" static="1"> [] * A list of analogs that are currently active. NORMAL * Shows the current state of the button. * The background of the joystick, also known as the base. * This function is called when the button is released. * This function is called when the button is pressed down. * This function is called when the mouse goes over the button. * This function is called when the button is hold down. <_currentTouch> * The current pointer that's active on the analog. <_tempTouches expr="[]"> [] * Helper array for checking touches <_zone expr="FlxRect.get()"> FlxRect.get() * The area which the joystick will react. <_radius expr="0"> 0 * The radius in which the stick can move. <_direction expr="0"> 0 <_amount expr="0"> 0 <_ease> * The speed of easing when the thumb is released. * Creates the background of the analog stick. * Creates the thumb of the analog stick. * Creates the touch zone. It's based on the size of the background. * The thumb will react when the mouse is in the zone. * Clean up memory. * Update the behavior. * Returns the angle in degrees. * Whether the thumb is pressed or not. * Whether the thumb is just pressed or not. * Whether the thumb is just released or not. { Ease : 0.25, Radius : 0, Y : 0, X : 0 } * Create a virtual thumbstick - useful for input on mobile devices. * * @param X The X-coordinate of the point in space. * @param Y The Y-coordinate of the point in space. * @param Radius The radius where the thumb can move. If 0, half the base's width will be used. * @param Ease Used to smoothly back thumb to center. Must be between 0 and (FlxG.updateFrameRate / 60). * @param BaseGraphic The graphic you want to display as base of the joystick. * @param ThumbGraphic The graphic you want to display as thumb of the joystick. * A virtual thumbstick - useful for input on mobile devices. * * @author Ka Wing Chin hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Creates the background of the analog stick. <_HX_SUPER__createBase set="method" line="31"> * Creates the thumb of the analog stick. <_HX_SUPER__createThumb set="method" line="31"> * Creates the touch zone. It's based on the size of the background. * The thumb will react when the mouse is in the zone. <_HX_SUPER__createZone set="method" line="31"> * Clean up memory. <_HX_SUPER__destroy public="1" set="method" line="31"> * Update the behavior. <_HX_SUPER__update public="1" set="method" line="31"> <_HX_SUPER__updateAnalog set="method" line="148"> * Returns the angle in degrees. <_HX_SUPER__getAngle public="1" set="method" line="148"> <_HX_SUPER__get_justPressed set="method" line="148"> <_HX_SUPER__get_justReleased set="method" line="148"> <_HX_SUPER__set_x set="method" line="148"> <_HX_SUPER__set_y set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.ui.FlxAnalog hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__destroy public="1" set="method" line="31"> * Track the parent FlxSprites x/y coordinates. For example if you wanted your sprite to have a floating health-bar above their head. * If your health bar is 10px tall and you wanted it to appear above your sprite, then set offsetY to be -10 * If you wanted it to appear below your sprite, and your sprite was 32px tall, then set offsetY to be 32. Same applies to offsetX. * * @param offsetX The offset on X in relation to the origin x/y of the parent * @param offsetY The offset on Y in relation to the origin x/y of the parent * @see stopTrackingParent <_HX_SUPER__trackParent public="1" set="method" line="31"> { offsetY : 0, offsetX : 0, track : false } * Sets a parent for this FlxBar. Instantly replaces any previously set parent and refreshes the bar. * * @param parentRef A reference to an object in your game that you wish the bar to track * @param variable The variable of the object that is used to determine the bar position. For example if the parent was an FlxSprite this could be "health" to track the health value * @param track If you wish the FlxBar to track the x/y coordinates of parent set to true (default false) * @param offsetX The offset on X in relation to the origin x/y of the parent * @param offsetY The offset on Y in relation to the origin x/y of the parent <_HX_SUPER__setParent public="1" set="method" line="31"> { offsetY : 0, offsetX : 0, track : false } * Tells the health bar to stop following the parent sprite. The given posX and posY values are where it will remain on-screen. * * @param posX X coordinate of the health bar now it's no longer tracking the parent sprite * @param posY Y coordinate of the health bar now it's no longer tracking the parent sprite <_HX_SUPER__stopTrackingParent public="1" set="method" line="31"> { killOnEmpty : false } * Sets callbacks which will be triggered when the value of this FlxBar reaches min or max. * Functions will only be called once and not again until the value changes. * Optionally the FlxBar can be killed if it reaches min, but if will fire the empty callback first (if set) * * @param onEmpty The function that is called if the value of this FlxBar reaches min * @param onFilled The function that is called if the value of this FlxBar reaches max * @param killOnEmpty If set it will call FlxBar.kill() if the value reaches min <_HX_SUPER__setCallbacks public="1" set="method" line="31"> { killOnEmpty : false } * Set the minimum and maximum allowed values for the FlxBar * * @param min The minimum value. I.e. for a progress bar this would be zero (nothing loaded yet) * @param max The maximum value the bar can reach. I.e. for a progress bar this would typically be 100. <_HX_SUPER__setRange public="1" set="method" line="31"> { border : FlxColor.WHITE, showBorder : false } * Creates a solid-colour filled health bar in the given colours, with optional 1px thick border. * All colour values are in 0xAARRGGBB format, so if you want a slightly transparent health bar give it lower AA values. * * @param empty The color of the bar when empty in 0xAARRGGBB format (the background colour) * @param fill The color of the bar when full in 0xAARRGGBB format (the foreground colour) * @param showBorder Should the bar be outlined with a 1px solid border? * @param border The border colour in 0xAARRGGBB format * @return This FlxBar object with generated images for front and background. <_HX_SUPER__createFilledBar public="1" set="method" line="148"> { border : FlxColor.WHITE, showBorder : false } { border : FlxColor.WHITE, showBorder : false } * Creates a solid-colour filled background for health bar in the given colour, with optional 1px thick border. * * @param empty The color of the bar when empty in 0xAARRGGBB format (the background colour) * @param showBorder Should the bar be outlined with a 1px solid border? * @param border The border colour in 0xAARRGGBB format * @return This FlxBar object with generated image for rendering health bar background. <_HX_SUPER__createColoredEmptyBar public="1" set="method" line="148"> { border : FlxColor.WHITE, showBorder : false } { border : FlxColor.WHITE, showBorder : false } * Creates a solid-colour filled foreground for health bar in the given colour, with optional 1px thick border. * @param fill The color of the bar when full in 0xAARRGGBB format (the foreground colour) * @param showBorder Should the bar be outlined with a 1px solid border? * @param border The border colour in 0xAARRGGBB format * @return This FlxBar object with generated image for rendering actual values. <_HX_SUPER__createColoredFilledBar public="1" set="method" line="148"> { border : FlxColor.WHITE, showBorder : false } { border : FlxColor.WHITE, showBorder : false, rotation : 180, chunkSize : 1 } * Creates a gradient filled health bar using the given colour ranges, with optional 1px thick border. * All colour values are in 0xAARRGGBB format, so if you want a slightly transparent health bar give it lower AA values. * * @param empty Array of colour values used to create the gradient of the health bar when empty, each colour must be in 0xAARRGGBB format (the background colour) * @param fill Array of colour values used to create the gradient of the health bar when full, each colour must be in 0xAARRGGBB format (the foreground colour) * @param chunkSize If you want a more old-skool looking chunky gradient, increase this value! * @param rotation Angle of the gradient in degrees. 90 = top to bottom, 180 = left to right. Any angle is valid * @param showBorder Should the bar be outlined with a 1px solid border? * @param border The border colour in 0xAARRGGBB format * @return This FlxBar object with generated images for front and background. <_HX_SUPER__createGradientBar public="1" set="method" line="148"> { border : FlxColor.WHITE, showBorder : false, rotation : 180, chunkSize : 1 } { border : FlxColor.WHITE, showBorder : false, rotation : 180, chunkSize : 1 } * Creates a gradient filled background for health bar using the given colour range, with optional 1px thick border. * * @param empty Array of colour values used to create the gradient of the health bar when empty, each colour must be in 0xAARRGGBB format (the background colour) * @param chunkSize If you want a more old-skool looking chunky gradient, increase this value! * @param rotation Angle of the gradient in degrees. 90 = top to bottom, 180 = left to right. Any angle is valid * @param showBorder Should the bar be outlined with a 1px solid border? * @param border The border colour in 0xAARRGGBB format * @return This FlxBar object with generated image for background rendering. <_HX_SUPER__createGradientEmptyBar public="1" set="method" line="148"> { border : FlxColor.WHITE, showBorder : false, rotation : 180, chunkSize : 1 } { border : FlxColor.WHITE, showBorder : false, rotation : 180, chunkSize : 1 } * Creates a gradient filled foreground for health bar using the given colour range, with optional 1px thick border. * * @param fill Array of colour values used to create the gradient of the health bar when full, each colour must be in 0xAARRGGBB format (the foreground colour) * @param chunkSize If you want a more old-skool looking chunky gradient, increase this value! * @param rotation Angle of the gradient in degrees. 90 = top to bottom, 180 = left to right. Any angle is valid * @param showBorder Should the bar be outlined with a 1px solid border? * @param border The border colour in 0xAARRGGBB format * @return This FlxBar object with generated image for rendering actual values. <_HX_SUPER__createGradientFilledBar public="1" set="method" line="148"> { border : FlxColor.WHITE, showBorder : false, rotation : 180, chunkSize : 1 } { fillBackground : FlxColor.LIME, emptyBackground : FlxColor.BLACK } * Creates a health bar filled using the given bitmap images. * You can provide "empty" (background) and "fill" (foreground) images. either one or both images (empty / fill), and use the optional empty/fill colour values * All colour values are in 0xAARRGGBB format, so if you want a slightly transparent health bar give it lower AA values. * NOTE: This method doesn't check if the empty image doesn't have the same size as fill image. * * @param empty Bitmap image used as the background (empty part) of the health bar, if null the emptyBackground colour is used * @param fill Bitmap image used as the foreground (filled part) of the health bar, if null the fillBackground colour is used * @param emptyBackground If no background (empty) image is given, use this colour value instead. 0xAARRGGBB format * @param fillBackground If no foreground (fill) image is given, use this colour value instead. 0xAARRGGBB format * @return This FlxBar object with generated images for front and background. <_HX_SUPER__createImageBar public="1" set="method" line="148"> { fillBackground : FlxColor.LIME, emptyBackground : FlxColor.BLACK } { emptyBackground : FlxColor.BLACK } * Loads given bitmap image for health bar background. * * @param empty Bitmap image used as the background (empty part) of the health bar, if null the emptyBackground colour is used * @param emptyBackground If no background (empty) image is given, use this colour value instead. 0xAARRGGBB format * @return This FlxBar object with generated image for background rendering. <_HX_SUPER__createImageEmptyBar public="1" set="method" line="148"> { emptyBackground : FlxColor.BLACK } { fillBackground : FlxColor.LIME } * Loads given bitmap image for health bar foreground. * * @param fill Bitmap image used as the foreground (filled part) of the health bar, if null the fillBackground colour is used * @param fillBackground If no foreground (fill) image is given, use this colour value instead. 0xAARRGGBB format * @return This FlxBar object with generated image for rendering actual values. <_HX_SUPER__createImageFilledBar public="1" set="method" line="148"> { fillBackground : FlxColor.LIME } <_HX_SUPER__set_fillDirection set="method" line="148"> <_HX_SUPER__updateValueFromParent set="method" line="31"> * Updates health bar view according its current value. * Called when the health bar detects a change in the health of the parent. <_HX_SUPER__updateBar public="1" set="method" line="31"> * Stamps health bar background on its pixels <_HX_SUPER__updateEmptyBar public="1" set="method" line="31"> * Stamps health bar foreground on its pixels <_HX_SUPER__updateFilledBar public="1" set="method" line="31"> <_HX_SUPER__update public="1" set="method" line="31"> <_HX_SUPER__draw public="1" set="method" line="31"> <_HX_SUPER__set_pixels set="method" line="148"> <_HX_SUPER__toString public="1" set="method" line="148"> <_HX_SUPER__get_percent set="method" line="148"> <_HX_SUPER__get_floorPercent set="method" line="148"> <_HX_SUPER__set_percent set="method" line="148"> <_HX_SUPER__set_value set="method" line="148"> <_HX_SUPER__get_value set="method" line="148"> <_HX_SUPER__set_numDivisions set="method" line="148"> <_HX_SUPER__get_frontFrames set="method" line="148"> <_HX_SUPER__set_frontFrames set="method" line="148"> <_HX_SUPER__get_backFrames set="method" line="148"> <_HX_SUPER__set_backFrames set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.ui.FlxBar flixel.ui.FlxBar.FlxBarFillDirection * Updates the size of the text field to match the button. { Y : 0, X : 0 } * A button with `FlxBitmapText` field as a `label`. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Updates the size of the text field to match the button. <_HX_SUPER__resetHelpers set="method" line="31"> <_HX_SUPER__update public="1" set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.ui.FlxBitmapTextButton 0 * Used with public variable status, means not highlighted or pressed. 1 * Used with public variable status, means highlighted (usually from mouse over). 2 * Used with public variable status, means pressed (usually from mouse click). * Shortcut to setting label.text * Updates the size of the text field to match the button. { Y : 0, X : 0 } * Creates a new `FlxButton` object with a gray background * and a callback function on the UI thread. * * @param X The x position of the button. * @param Y The y position of the button. * @param Text The text that you want to appear on the button. * @param OnClick The function to call whenever the button is clicked. * A simple button class that calls a function when clicked by the mouse. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * The callback function to call when this even fires. * The sound to play when this event fires. * Cleans up memory. * Fires this event (calls the callback and plays the sound) * @param Callback The callback function to call when this even fires. * @param sound The sound to play when this event fires. * Helper function for `FlxButton` which handles its events. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Updates the size of the text field to match the button. <_HX_SUPER__resetHelpers set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.ui.FlxButton flixel.ui.FlxButton.FlxTypedButton flixel.ui.FlxButton.FlxButtonEvent <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.ui.FlxButton flixel.ui.FlxButton.FlxTypedButton flixel.ui.FlxButton.FlxButtonEvent { align : "center", color : 0x333333, size : 8 } * Generates text graphic for button's label. * * @param Text text for button's label * @param font font name for button's label * @param size font size for button's label * @param color text color for button's label * @param align text align for button's label * @return this button with generated text graphic. { Y : 0, X : 0 } * Creates a new FlxButton object with a gray background * and a callback function on the UI thread. * * @param X The x position of the button. * @param Y The y position of the button. * @param Text The text that you want to appear on the button. * @param OnClick The function to call whenever the button is clicked. * A simple button class that calls a function when clicked by the mouse. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() { align : "center", color : 0x333333, size : 8 } * Generates text graphic for button's label. * * @param Text text for button's label * @param font font name for button's label * @param size font size for button's label * @param color text color for button's label * @param align text align for button's label * @return this button with generated text graphic. <_HX_SUPER__createTextLabel public="1" set="method" line="148"> { align : "center", color : 0x333333, size : 8 } <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.ui.FlxSpriteButton * Group of directions buttons. * Group of action buttons. * @param X The x-position of the button. * @param Y The y-position of the button. * @param Width The width of the button. * @param Height The height of the button. * @param Graphic The image of the button. It must contains 3 frames (`NORMAL`, `HIGHLIGHT`, `PRESSED`). * @param Callback The callback for the button. * @return The button * Create a gamepad which contains 4 directional buttons and 4 action buttons. * * @param DPadMode The D-Pad mode. `FULL` for example. * @param ActionMode The action buttons mode. `A_B_C` for example. * A gamepad which contains 4 directional buttons and 4 action buttons. * It's easy to set the callbacks and to customize the layout. * * @author Ka Wing Chin hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__destroy public="1" set="method" line="31"> * @param X The x-position of the button. * @param Y The y-position of the button. * @param Width The width of the button. * @param Height The height of the button. * @param Graphic The image of the button. It must contains 3 frames (`NORMAL`, `HIGHLIGHT`, `PRESSED`). * @param Callback The callback for the button. * @return The button <_HX_SUPER__createButton public="1" set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.ui.FlxVirtualPad flixel.ui.FlxVirtualPad.FlxDPadMode flixel.ui.FlxVirtualPad.FlxActionMode * Swaps two elements of an array, which are located at indices `index1` and `index2` * @param array The array whose elements need to be swapped * @param index1 The index of one of the elements to be swapped * @param index2 The index of the other element to be swapped * @return The array * Swaps two elements of an array, which are located at indices `index1` and `index2` and also checks if the indices are valid before swapping * @param array The array whose elements need to be swapped * @param index1 The index of one of the elements to be swapped * @param index2 The index of the other element to be swapped * @return The array * Swaps two items, `item1` and `item2` which are in the array * @param array The array whose elements need to be swapped * @param item1 One of the elements of the array which needs to be swapped * @param item2 The other element of the array which needs to be swapped * @return The array * Swaps two items, `item1` and `item2` which are in the array, but only if both elements are present in the array * @param array The array whose elements need to be swapped * @param item1 One of the elements of the array which needs to be swapped * @param item2 The other element of the array which needs to be swapped * @return The array { recursive : false } * Clears an array structure, but leaves the object data untouched * Useful for cleaning up temporary references to data you want to preserve. * WARNING: Can lead to memory leaks. * * @param array The array to clear out * @param Recursive Whether to search for arrays inside of arr and clear them out, too * Compares the contents with `==` to see if the two arrays are the same. * Also takes null arrays and the length of the arrays into account. * Returns the last element of an array or `null` if the array is `null` / empty. * Pushes the element into the array (and if the array is null, creates it first) and returns the array. * @since 4.6.0 * Returns true if the array is not null and contains the element. * @since 5.0.0 * A set of functions for array manipulation. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.util.FlxArrayUtil hscript.UsingHandler.build() hscript.ClassExtendMacro.build() cast 0x01 cast 0x10 cast 0x11 cast 0x00 * Whether the horizontal axis is anebled * Whether the vertical axis is anebled * Internal helper to reference self hscript.UsingHandler.build() hscript.ClassExtendMacro.build() cast 0x01 cast 0x10 cast 0x11 cast 0x00 * Whether the horizontal axis is anebled * Whether the vertical axis is anebled * Internal helper to reference self hscript.UsingHandler.build() hscript.ClassExtendMacro.build() cast (0x01, flixel.util.FlxAxes) cast (0x10, flixel.util.FlxAxes) cast (0x11, flixel.util.FlxAxes) cast (0x00, flixel.util.FlxAxes) hscript.UsingHandler.build() hscript.ClassExtendMacro.build() 8 * Maximum number of BitmapData to hold in the pool. 0 * Current number of BitmapData present in the pool. <_head expr="null" line="28" static="1"> null <_tail expr="null" line="29" static="1"> null <_rect expr="new Rectangle()" line="31" static="1"> new Rectangle() { exactSize : false, transparent : true } = [w, h] may be returned.]]> * Adds bmd to the pool for future use. * Disposes of all the BitmapData in the pool. * BitmapData pool class. * * Notes on implementation: * get() starts searching for a suitable BitmapData from the start of the pool list * put() adds the BitmapData to the start of the pool list (removing the last one if the pool exceeds maxLength) * * @author azrafe7 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() FlxBitmapDataPoolNode hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.util.FlxBitmapDataPool flixel.util.FlxBitmapDataPool.FlxBitmapDataPoolNode <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.util.FlxBitmapDataPool flixel.util.FlxBitmapDataPool.FlxBitmapDataPoolNode new FlxMatrix() * Performs per-channel blending from a source image to a destination image. * * @param sourceBitmapData The input bitmap image to use. The source image can be a different BitmapData object, or it can refer to the current BitmapData object. * @param sourceRect A rectangle that defines the area of the source image to use as input. * @param destBitmapData The output bitmap image to use. * @param destPoint The point within the destination image (the current BitmapData instance) that corresponds to the upper-left corner of the source rectangle. * @param redMultiplier A hexadecimal uint value by which to multiply the red channel value. * @param greenMultiplier A hexadecimal uint value by which to multiply the green channel value. * @param blueMultiplier A hexadecimal uint value by which to multiply the blue channel value. * @param alphaMultiplier A hexadecimal uint value by which to multiply the alpha transparency value. * Compares two BitmapData objects. * * @param Bitmap1 The source BitmapData object to compare with. * @param Bitmap2 The BitmapData object to compare with the source BitmapData object. * @return If the two BitmapData objects have the same dimensions (width and height), * the method returns a new BitmapData object that has the difference between the two objects. * If the BitmapData objects are equivalent, the method returns the number 0. * If the widths of the BitmapData objects are not equal, the method returns the number -3. * If the heights of the BitmapData objects are not equal, the method returns the number -4. * Returns the amount of bytes a bitmapData occupies in memory. { fetchPositions : false } * Replaces all BitmapData's pixels with specified color with newColor pixels. * WARNING: very expensive (especially on big graphics) as it iterates over every single pixel. * * @param bitmapData BitmapData to change * @param color Color to replace * @param newColor New color * @param fetchPositions Whether we need to store positions of pixels which colors were replaced * @param rect area to apply color replacement. Optional, uses whole image area if the rect is null * @return Array replaced pixels positions * Gets image without spaces between tiles and generates new one with spaces and adds borders around them. * @param bitmapData original image without spaces between tiles. * @param frameSize the size of tile in spritesheet. * @param spacing spaces between tiles to add. * @param border how many times to copy border of tiles. * @param region region of image to use as a source graphics for spritesheet. Default value is null, which means that whole image will be used. * @return Image for spritesheet with inserted spaces between tiles. * Helper method for copying border pixels around tiles. * It modifies provided image, and assumes that there are spaces between tile images already. * * @param bitmapData image with spaces between tiles to fill with border pixels * @param frameWidth tile width * @param frameHeight tile height * @param spaceX horizontal spacing between tiles * @param spaceY vertical spacing between tiles * @param borderX how many times to copy border of tiles on horizontal axis. * @param borderY how many times to copy border of tiles on vertical axis. * @param horizontalFrames how many columns of tiles on provided image. * @param verticalFrames how many rows of tiles on provided image. * @return Modified spritesheet with copied pixels around tile images. * @since 4.1.0 { autoBuffer : false, antiAliasing : false, rotations : 16 } * Generates BitmapData with prerotated brush stamped on it * * @param brush The image you want to rotate and stamp. * @param rotations The number of rotation frames the final sprite should have. For small sprites this can be quite a large number (360 even) without any problems. * @param antiAliasing Whether to use high quality rotations when creating the graphic. Default is false. * @param autoBuffer Whether to automatically increase the image size to accommodate rotated corners. Default is false. Will create frames that are 150% larger on each axis than the original frame or graphic. * @return Created BitmapData with stamped prerotations on it. * Just a collection of BitmapData utility methods. * Just for cross-platform stuff, since not all methods are implemented across all targets. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.util.FlxBitmapDataUtil new FlxPoint() new FlxPoint() new FlxPoint() new FlxPoint() new FlxMatrix() new FlxMatrix() new FlxMatrix() new FlxRect() new FlxRect() new FlxRect() new Rectangle() { AlphaTolerance : 1 } * A Pixel Perfect Collision check between two FlxSprites. It will do a bounds check first, and if that passes it will run a * pixel perfect match on the intersecting area. Works with rotated and animated sprites. May be slow, so use it sparingly. * * @param Contact The first FlxSprite to test against * @param Target The second FlxSprite to test again, sprite order is irrelevant * @param AlphaTolerance The tolerance value above which alpha pixels are included. Default to 1 (anything that is not fully invisible). * @param Camera If the collision is taking place in a camera other than FlxG.camera (the default/current) then pass it here * @return Whether the sprites collide { AlphaTolerance : 1 } * A Pixel Perfect Collision check between a given x/y coordinate and an FlxSprite * * @param PointX The x coordinate of the point given in local space (relative to the FlxSprite, not game world coordinates) * @param PointY The y coordinate of the point given in local space (relative to the FlxSprite, not game world coordinates) * @param Target The FlxSprite to check the point against * @param AlphaTolerance The alpha tolerance level above which pixels are counted as colliding. Default to 1 (anything that is not fully invisible). * @return Boolean True if the x/y point collides with the FlxSprite, false if not { AdjustWorldBounds : false, PlaceOutside : true } * Creates a "wall" around the given camera which can be used for FlxSprite collision * * @param Camera The FlxCamera to use for the wall bounds (can be FlxG.camera for the current one) * @param Placement Whether to place the camera wall outside or inside * @param Thickness The thickness of the wall in pixels * @param AdjustWorldBounds Adjust the FlxG.worldBounds based on the wall (true) or leave alone (false) * @return FlxGroup The 4 FlxTileblocks that are created are placed into this FlxGroup which should be added to your State * Calculates at which point where the given line, from start to end, first enters the rect. * If the line starts inside the rect, a copy of start is returned. * If the line never enters the rect, null is returned. * * Note: If a result vector is supplied and the line is outside the rect, null is returned * and the supplied result is unchanged * @since 5.0.0 * * @param rect The rect being entered * @param start The start of the line * @param end The end of the line * @param result Optional result vector, to avoid creating a new instance to be returned. * Only returned if the line enters the rect. * @return The point of entry of the line into the rect, if possible. * Calculates at which point where the given line, from start to end, was last inside the rect. * If the line ends inside the rect, a copy of end is returned. * If the line is never inside the rect, null is returned. * * Note: If a result vector is supplied and the line is outside the rect, null is returned * and the supplied result is unchanged * @since 5.0.0 * * @param rect The rect being exited * @param start The start of the line * @param end The end of the line * @param result Optional result vector, to avoid creating a new instance to be returned. * Only returned if the line enters the rect. * @return The point of exit of the line from the rect, if possible. * FlxCollision * * @link http://www.photonstorm.com * @author Richard Davey / Photon Storm hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.util.FlxCollision * Class representing a color, based on Int. Provides a variety of methods for creating and converting colors. * * FlxColors can be written as Ints. This means you can pass a hex value such as * 0xff123456 to a function expecting a FlxColor, and it will automatically become a FlxColor "object". * Similarly, FlxColors may be treated as Ints. * * Note that when using properties of a FlxColor other than ARGB, the values are ultimately stored as * ARGB values, so repeatedly manipulating HSB/HSL/CMYK values may result in a gradual loss of precision. * * @author Joe Williamson (JoeCreates) hscript.UsingHandler.build() hscript.ClassExtendMacro.build() 0x00000000 0xFFFFFFFF 0xFF808080 0xFF000000 0xFF008000 0xFF00FF00 0xFFFFFF00 0xFFFFA500 0xFFFF0000 0xFF800080 0xFF0000FF 0xFF8B4513 0xFFFFC0CB 0xFFFF00FF 0xFF00FFFF FlxMacroUtil.buildMap("flixel.util.FlxColor") ` whose values are the static colors of `FlxColor`. * You can add more colors for `FlxColor.fromString(String)` if you need.]]> * The red, green and blue channels of this color as a 24 bit integer (from 0 to 0xFFFFFF) * The hue of the color in degrees (from 0 to 359) * The saturation of the color (from 0 to 1) * The brightness (aka value) of the color (from 0 to 1) * The lightness of the color (from 0 to 1) ~/^(0x|#)(([A-F0-9]{2}){3,4})$/ * Create a color from the least significant four bytes of an Int * * @param Value And Int with bytes in the format 0xAARRGGBB * @return The color as a FlxColor { Alpha : 255 } * Generate a color from integer RGB values (0 to 255) * * @param Red The red value of the color from 0 to 255 * @param Green The green value of the color from 0 to 255 * @param Blue The green value of the color from 0 to 255 * @param Alpha How opaque the color should be, from 0 to 255 * @return The color as a FlxColor { Alpha : 1 } * Generate a color from float RGB values (0 to 1) * * @param Red The red value of the color from 0 to 1 * @param Green The green value of the color from 0 to 1 * @param Blue The green value of the color from 0 to 1 * @param Alpha How opaque the color should be, from 0 to 1 * @return The color as a FlxColor { Alpha : 1 } * Generate a color from CMYK values (0 to 1) * * @param Cyan The cyan value of the color from 0 to 1 * @param Magenta The magenta value of the color from 0 to 1 * @param Yellow The yellow value of the color from 0 to 1 * @param Black The black value of the color from 0 to 1 * @param Alpha How opaque the color should be, from 0 to 1 * @return The color as a FlxColor { Alpha : 1 } * Generate a color from HSB (aka HSV) components. * * @param Hue A number between 0 and 360, indicating position on a color strip or wheel. * @param Saturation A number between 0 and 1, indicating how colorful or gray the color should be. 0 is gray, 1 is vibrant. * @param Brightness (aka Value) A number between 0 and 1, indicating how bright the color should be. 0 is black, 1 is full bright. * @param Alpha How opaque the color should be, either between 0 and 1 or 0 and 255. * @return The color as a FlxColor { Alpha : 1 } * Generate a color from HSL components. * * @param Hue A number between 0 and 360, indicating position on a color strip or wheel. * @param Saturation A number between 0 and 1, indicating how colorful or gray the color should be. 0 is gray, 1 is vibrant. * @param Lightness A number between 0 and 1, indicating the lightness of the color * @param Alpha How opaque the color should be, either between 0 and 1 or 0 and 255. * @return The color as a FlxColor output in hex): * * - `0x00FF00` -> `0xFF00FF00` * - `0xAA4578C2` -> `0xAA4578C2` * - `#0000FF` -> `0xFF0000FF` * - `#3F000011` -> `0x3F000011` * - `GRAY` -> `0xFF808080` * - `blue` -> `0xFF0000FF` * * @param str The string to be parsed * @return A `FlxColor` or `null` if the `String` couldn't be parsed]]> { Alpha : 255 } * Get HSB color wheel values in an array which will be 360 elements in size * * @param Alpha Alpha value for each color of the color wheel, between 0 (transparent) and 255 (opaque) * @return HSB color wheel as Array of FlxColors { Factor : 0.5 } * Get an interpolated color based on two different colors. * * @param Color1 The first color * @param Color2 The second color * @param Factor Value from 0 to 1 representing how much to shift Color1 toward Color2 * @return The interpolated color * Create a gradient from one color to another * * @param Color1 The color to shift from * @param Color2 The color to shift to * @param Steps How many colors the gradient should have * @param Ease An optional easing function, such as those provided in FlxEase * @return An array of colors of length Steps, shifting from Color1 to Color2 A * B * Multiply the RGB channels of two FlxColors A + B * Add the RGB channels of two FlxColors A - B * Subtract the RGB channels of one FlxColor from another * Returns a Complementary Color Harmony of this color. * A complementary hue is one directly opposite the color given on the color wheel * * @return The complimentary color { Threshold : 30 } * Returns an Analogous Color Harmony for the given color. * An Analogous harmony are hues adjacent to each other on the color wheel * * @param Threshold Control how adjacent the colors will be (default +- 30 degrees) * @return Object containing 3 properties: original (the original color), warmer (the warmer analogous color) and colder (the colder analogous color) { Threshold : 30 } * Returns an Split Complement Color Harmony for this color. * A Split Complement harmony are the two hues on either side of the color's Complement * * @param Threshold Control how adjacent the colors will be to the Complement (default +- 30 degrees) * @return Object containing 3 properties: original (the original color), warmer (the warmer analogous color) and colder (the colder analogous color) * Returns a Triadic Color Harmony for this color. A Triadic harmony are 3 hues equidistant * from each other on the color wheel. * * @return Object containing 3 properties: color1 (the original color), color2 and color3 (the equidistant colors) * Return a 24 bit version of this color (i.e. without an alpha value) * * @return A 24 bit version of this color { Prefix : true, Alpha : true } * Return a String representation of the color in the format * * @param Alpha Whether to include the alpha value in the hes string * @param Prefix Whether to include "0x" prefix at start of string * @return A string of length 10 in the format 0xAARRGGBB * Return a String representation of the color in the format #RRGGBB * * @return A string of length 7 in the format #RRGGBB * Get a string of color information about this color * * @return A string containing information about this color { Factor : 0.2 } * Get a darkened version of this color * * @param Factor Value from 0 to 1 of how much to progress toward black. * @return A darkened version of this color { Factor : 0.2 } * Get a lightened version of this color * * @param Factor Value from 0 to 1 of how much to progress toward white. * @return A lightened version of this color * Get the inversion of this color * * @return The inversion of this color { Alpha : 255 } * Set RGB values as integers (0 to 255) * * @param Red The red value of the color from 0 to 255 * @param Green The green value of the color from 0 to 255 * @param Blue The green value of the color from 0 to 255 * @param Alpha How opaque the color should be, from 0 to 255 * @return This color { Alpha : 1 } * Set RGB values as floats (0 to 1) * * @param Red The red value of the color from 0 to 1 * @param Green The green value of the color from 0 to 1 * @param Blue The green value of the color from 0 to 1 * @param Alpha How opaque the color should be, from 0 to 1 * @return This color { Alpha : 1 } * Set CMYK values as floats (0 to 1) * * @param Cyan The cyan value of the color from 0 to 1 * @param Magenta The magenta value of the color from 0 to 1 * @param Yellow The yellow value of the color from 0 to 1 * @param Black The black value of the color from 0 to 1 * @param Alpha How opaque the color should be, from 0 to 1 * @return This color * Set HSB (aka HSV) components * * @param Hue A number between 0 and 360, indicating position on a color strip or wheel. * @param Saturation A number between 0 and 1, indicating how colorful or gray the color should be. 0 is gray, 1 is vibrant. * @param Brightness (aka Value) A number between 0 and 1, indicating how bright the color should be. 0 is black, 1 is full bright. * @param Alpha How opaque the color should be, either between 0 and 1 or 0 and 255. * @return This color * Set HSL components. * * @param Hue A number between 0 and 360, indicating position on a color strip or wheel. * @param Saturation A number between 0 and 1, indicating how colorful or gray the color should be. 0 is gray, 1 is vibrant. * @param Lightness A number between 0 and 1, indicating the lightness of the color * @param Alpha How opaque the color should be, either between 0 and 1 or 0 and 255 * @return This color * Private utility function to perform common operations between setHSB and setHSL <_new public="1" set="method" line="566" static="1"> { Value : 0 } hscript.UsingHandler.build() hscript.ClassExtendMacro.build() 0x00000000 0xFFFFFFFF 0xFF808080 0xFF000000 0xFF008000 0xFF00FF00 0xFFFFFF00 0xFFFFA500 0xFFFF0000 0xFF800080 0xFF0000FF 0xFF8B4513 0xFFFFC0CB 0xFFFF00FF 0xFF00FFFF FlxMacroUtil.buildMap("flixel.util.FlxColor") ` whose values are the static colors of `FlxColor`. * You can add more colors for `FlxColor.fromString(String)` if you need.]]> * The red, green and blue channels of this color as a 24 bit integer (from 0 to 0xFFFFFF) * The hue of the color in degrees (from 0 to 359) * The saturation of the color (from 0 to 1) * The brightness (aka value) of the color (from 0 to 1) * The lightness of the color (from 0 to 1) ~/^(0x|#)(([A-F0-9]{2}){3,4})$/ * Create a color from the least significant four bytes of an Int * * @param Value And Int with bytes in the format 0xAARRGGBB * @return The color as a FlxColor { Alpha : 255 } * Generate a color from integer RGB values (0 to 255) * * @param Red The red value of the color from 0 to 255 * @param Green The green value of the color from 0 to 255 * @param Blue The green value of the color from 0 to 255 * @param Alpha How opaque the color should be, from 0 to 255 * @return The color as a FlxColor { Alpha : 1 } * Generate a color from float RGB values (0 to 1) * * @param Red The red value of the color from 0 to 1 * @param Green The green value of the color from 0 to 1 * @param Blue The green value of the color from 0 to 1 * @param Alpha How opaque the color should be, from 0 to 1 * @return The color as a FlxColor { Alpha : 1 } * Generate a color from CMYK values (0 to 1) * * @param Cyan The cyan value of the color from 0 to 1 * @param Magenta The magenta value of the color from 0 to 1 * @param Yellow The yellow value of the color from 0 to 1 * @param Black The black value of the color from 0 to 1 * @param Alpha How opaque the color should be, from 0 to 1 * @return The color as a FlxColor { Alpha : 1 } * Generate a color from HSB (aka HSV) components. * * @param Hue A number between 0 and 360, indicating position on a color strip or wheel. * @param Saturation A number between 0 and 1, indicating how colorful or gray the color should be. 0 is gray, 1 is vibrant. * @param Brightness (aka Value) A number between 0 and 1, indicating how bright the color should be. 0 is black, 1 is full bright. * @param Alpha How opaque the color should be, either between 0 and 1 or 0 and 255. * @return The color as a FlxColor { Alpha : 1 } * Generate a color from HSL components. * * @param Hue A number between 0 and 360, indicating position on a color strip or wheel. * @param Saturation A number between 0 and 1, indicating how colorful or gray the color should be. 0 is gray, 1 is vibrant. * @param Lightness A number between 0 and 1, indicating the lightness of the color * @param Alpha How opaque the color should be, either between 0 and 1 or 0 and 255. * @return The color as a FlxColor output in hex): * * - `0x00FF00` -> `0xFF00FF00` * - `0xAA4578C2` -> `0xAA4578C2` * - `#0000FF` -> `0xFF0000FF` * - `#3F000011` -> `0x3F000011` * - `GRAY` -> `0xFF808080` * - `blue` -> `0xFF0000FF` * * @param str The string to be parsed * @return A `FlxColor` or `null` if the `String` couldn't be parsed]]> { Alpha : 255 } * Get HSB color wheel values in an array which will be 360 elements in size * * @param Alpha Alpha value for each color of the color wheel, between 0 (transparent) and 255 (opaque) * @return HSB color wheel as Array of FlxColors { Factor : 0.5 } * Get an interpolated color based on two different colors. * * @param Color1 The first color * @param Color2 The second color * @param Factor Value from 0 to 1 representing how much to shift Color1 toward Color2 * @return The interpolated color * Create a gradient from one color to another * * @param Color1 The color to shift from * @param Color2 The color to shift to * @param Steps How many colors the gradient should have * @param Ease An optional easing function, such as those provided in FlxEase * @return An array of colors of length Steps, shifting from Color1 to Color2 A * B * Multiply the RGB channels of two FlxColors A + B * Add the RGB channels of two FlxColors A - B * Subtract the RGB channels of one FlxColor from another * Returns a Complementary Color Harmony of this color. * A complementary hue is one directly opposite the color given on the color wheel * * @return The complimentary color { Threshold : 30 } * Returns an Analogous Color Harmony for the given color. * An Analogous harmony are hues adjacent to each other on the color wheel * * @param Threshold Control how adjacent the colors will be (default +- 30 degrees) * @return Object containing 3 properties: original (the original color), warmer (the warmer analogous color) and colder (the colder analogous color) { Threshold : 30 } * Returns an Split Complement Color Harmony for this color. * A Split Complement harmony are the two hues on either side of the color's Complement * * @param Threshold Control how adjacent the colors will be to the Complement (default +- 30 degrees) * @return Object containing 3 properties: original (the original color), warmer (the warmer analogous color) and colder (the colder analogous color) * Returns a Triadic Color Harmony for this color. A Triadic harmony are 3 hues equidistant * from each other on the color wheel. * * @return Object containing 3 properties: color1 (the original color), color2 and color3 (the equidistant colors) * Return a 24 bit version of this color (i.e. without an alpha value) * * @return A 24 bit version of this color { Prefix : true, Alpha : true } * Return a String representation of the color in the format * * @param Alpha Whether to include the alpha value in the hes string * @param Prefix Whether to include "0x" prefix at start of string * @return A string of length 10 in the format 0xAARRGGBB * Return a String representation of the color in the format #RRGGBB * * @return A string of length 7 in the format #RRGGBB * Get a string of color information about this color * * @return A string containing information about this color { Factor : 0.2 } * Get a darkened version of this color * * @param Factor Value from 0 to 1 of how much to progress toward black. * @return A darkened version of this color { Factor : 0.2 } * Get a lightened version of this color * * @param Factor Value from 0 to 1 of how much to progress toward white. * @return A lightened version of this color * Get the inversion of this color * * @return The inversion of this color { Alpha : 255 } * Set RGB values as integers (0 to 255) * * @param Red The red value of the color from 0 to 255 * @param Green The green value of the color from 0 to 255 * @param Blue The green value of the color from 0 to 255 * @param Alpha How opaque the color should be, from 0 to 255 * @return This color { Alpha : 1 } * Set RGB values as floats (0 to 1) * * @param Red The red value of the color from 0 to 1 * @param Green The green value of the color from 0 to 1 * @param Blue The green value of the color from 0 to 1 * @param Alpha How opaque the color should be, from 0 to 1 * @return This color { Alpha : 1 } * Set CMYK values as floats (0 to 1) * * @param Cyan The cyan value of the color from 0 to 1 * @param Magenta The magenta value of the color from 0 to 1 * @param Yellow The yellow value of the color from 0 to 1 * @param Black The black value of the color from 0 to 1 * @param Alpha How opaque the color should be, from 0 to 1 * @return This color * Set HSB (aka HSV) components * * @param Hue A number between 0 and 360, indicating position on a color strip or wheel. * @param Saturation A number between 0 and 1, indicating how colorful or gray the color should be. 0 is gray, 1 is vibrant. * @param Brightness (aka Value) A number between 0 and 1, indicating how bright the color should be. 0 is black, 1 is full bright. * @param Alpha How opaque the color should be, either between 0 and 1 or 0 and 255. * @return This color * Set HSL components. * * @param Hue A number between 0 and 360, indicating position on a color strip or wheel. * @param Saturation A number between 0 and 1, indicating how colorful or gray the color should be. 0 is gray, 1 is vibrant. * @param Lightness A number between 0 and 1, indicating the lightness of the color * @param Alpha How opaque the color should be, either between 0 and 1 or 0 and 255 * @return This color * Private utility function to perform common operations between setHSB and setHSL <_new public="1" set="method" line="566" static="1"> { Value : 0 } hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() cast (0x00000000, FlxColor) cast (0xFFFFFFFF, FlxColor) cast (0xFF808080, FlxColor) cast (0xFF000000, FlxColor) cast (0xFF008000, FlxColor) cast (0xFF00FF00, FlxColor) cast (0xFFFFFF00, FlxColor) cast (0xFFFFA500, FlxColor) cast (0xFFFF0000, FlxColor) cast (0xFF800080, FlxColor) cast (0xFF0000FF, FlxColor) cast (0xFF8B4513, FlxColor) cast (0xFFFFC0CB, FlxColor) cast (0xFFFF00FF, FlxColor) cast (0xFF00FFFF, FlxColor) FlxMacroUtil.buildMap("flixel.util.FlxColor") ` whose values are the static colors of `FlxColor`. * You can add more colors for `FlxColor.fromString(String)` if you need.]]> cast (~/^(0x|#)(([A-F0-9]{2}){3,4})$/, EReg) * Create a color from the least significant four bytes of an Int * * @param Value And Int with bytes in the format 0xAARRGGBB * @return The color as a FlxColor { Alpha : 255 } * Generate a color from integer RGB values (0 to 255) * * @param Red The red value of the color from 0 to 255 * @param Green The green value of the color from 0 to 255 * @param Blue The green value of the color from 0 to 255 * @param Alpha How opaque the color should be, from 0 to 255 * @return The color as a FlxColor { Alpha : 1 } * Generate a color from float RGB values (0 to 1) * * @param Red The red value of the color from 0 to 1 * @param Green The green value of the color from 0 to 1 * @param Blue The green value of the color from 0 to 1 * @param Alpha How opaque the color should be, from 0 to 1 * @return The color as a FlxColor { Alpha : 1 } * Generate a color from CMYK values (0 to 1) * * @param Cyan The cyan value of the color from 0 to 1 * @param Magenta The magenta value of the color from 0 to 1 * @param Yellow The yellow value of the color from 0 to 1 * @param Black The black value of the color from 0 to 1 * @param Alpha How opaque the color should be, from 0 to 1 * @return The color as a FlxColor { Alpha : 1 } * Generate a color from HSB (aka HSV) components. * * @param Hue A number between 0 and 360, indicating position on a color strip or wheel. * @param Saturation A number between 0 and 1, indicating how colorful or gray the color should be. 0 is gray, 1 is vibrant. * @param Brightness (aka Value) A number between 0 and 1, indicating how bright the color should be. 0 is black, 1 is full bright. * @param Alpha How opaque the color should be, either between 0 and 1 or 0 and 255. * @return The color as a FlxColor { Alpha : 1 } * Generate a color from HSL components. * * @param Hue A number between 0 and 360, indicating position on a color strip or wheel. * @param Saturation A number between 0 and 1, indicating how colorful or gray the color should be. 0 is gray, 1 is vibrant. * @param Lightness A number between 0 and 1, indicating the lightness of the color * @param Alpha How opaque the color should be, either between 0 and 1 or 0 and 255. * @return The color as a FlxColor output in hex): * * - `0x00FF00` -> `0xFF00FF00` * - `0xAA4578C2` -> `0xAA4578C2` * - `#0000FF` -> `0xFF0000FF` * - `#3F000011` -> `0x3F000011` * - `GRAY` -> `0xFF808080` * - `blue` -> `0xFF0000FF` * * @param str The string to be parsed * @return A `FlxColor` or `null` if the `String` couldn't be parsed]]> { Alpha : 255 } * Get HSB color wheel values in an array which will be 360 elements in size * * @param Alpha Alpha value for each color of the color wheel, between 0 (transparent) and 255 (opaque) * @return HSB color wheel as Array of FlxColors { Factor : 0.5 } * Get an interpolated color based on two different colors. * * @param Color1 The first color * @param Color2 The second color * @param Factor Value from 0 to 1 representing how much to shift Color1 toward Color2 * @return The interpolated color * Create a gradient from one color to another * * @param Color1 The color to shift from * @param Color2 The color to shift to * @param Steps How many colors the gradient should have * @param Ease An optional easing function, such as those provided in FlxEase * @return An array of colors of length Steps, shifting from Color1 to Color2 A * B * Multiply the RGB channels of two FlxColors A + B * Add the RGB channels of two FlxColors A - B * Subtract the RGB channels of one FlxColor from another hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Returns whether red, green, or blue multipliers are set to anything other than 1. * Returns whether red, green, blue, or alpha multipliers are set to anything other than 1. * Returns whether red, green, or blue offsets are set to anything other than 0. * Returns whether red, green, blue, or alpha offsets are set to anything other than 0. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.util.FlxColorTransformUtil * Checks if an object is not null before calling destroy(), always returns null. * * @param object An IFlxDestroyable object that will be destroyed if it's not null. * @return null * Destroy every element of an array of IFlxDestroyables * * @param array An Array of IFlxDestroyable objects * @return null * Checks if an object is not null before putting it back into the pool, always returns null. * * @param object An IFlxPooled object that will be put back into the pool if it's not null * @return null * Puts all objects in an Array of IFlxPooled objects back into * the pool by calling FlxDestroyUtil.put() on them * * @param array An Array of IFlxPooled objects * @return null * Checks if a BitmapData object is not null before calling dispose() on it, always returns null. * * @param Bitmap A BitmapData to be disposed if not null * @return null * Checks if a BitmapData object is not null and it's size isn't equal to specified one before calling dispose() on it. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.util.FlxDestroyUtil flixel.util.FlxDestroyUtil.IFlxDestroyable * Simple enum for orthogonal directions. Can be combined into `FlxDirectionFlags`. * @since 4.10.0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() cast 0x0001 cast 0x0010 cast 0x0100 cast 0x1000 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() cast 0x0001 cast 0x0010 cast 0x0100 cast 0x1000 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() cast (0x0001, flixel.util.FlxDirection) cast (0x0010, flixel.util.FlxDirection) cast (0x0100, flixel.util.FlxDirection) cast (0x1000, flixel.util.FlxDirection) hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Uses bit flags to create a list of orthogonal directions. useful for * many `FlxObject` features like `allowCollisions` and `touching`. * @since 4.10.0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() cast 0x0001 cast 0x0010 cast 0x0100 cast 0x1000 cast 0x0000 Special-case constant meaning no directions. cast 0x0100 Special-case constant meaning "up". cast 0x1000 Special-case constant meaning "down" cast 0x0011 Special-case constant meaning "left" and "right". cast 0x1111 Special-case constant meaning any, or all directions. * Calculates the angle (in degrees) of the facing flags. * Returns 0 if two opposing flags are true. * @since 5.0.0 * Calculates the angle (in radians) of the facing flags. * Returns 0 if two opposing flags are true. * @since 5.0.0 * Returns true if this contains **all** of the supplied flags. * Returns true if this contains **any** of the supplied flags. * Creates a new `FlxDirections` that includes the supplied directions. * Creates a new `FlxDirections` that excludes the supplied directions. * Generates a FlxDirectonFlags instance from 4 bools * @since 5.0.0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() cast 0x0001 cast 0x0010 cast 0x0100 cast 0x1000 cast 0x0000 Special-case constant meaning no directions. cast 0x0100 Special-case constant meaning "up". cast 0x1000 Special-case constant meaning "down" cast 0x0011 Special-case constant meaning "left" and "right". cast 0x1111 Special-case constant meaning any, or all directions. * Calculates the angle (in degrees) of the facing flags. * Returns 0 if two opposing flags are true. * @since 5.0.0 * Calculates the angle (in radians) of the facing flags. * Returns 0 if two opposing flags are true. * @since 5.0.0 * Returns true if this contains **all** of the supplied flags. * Returns true if this contains **any** of the supplied flags. * Creates a new `FlxDirections` that includes the supplied directions. * Creates a new `FlxDirections` that excludes the supplied directions. * Generates a FlxDirectonFlags instance from 4 bools * @since 5.0.0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() cast (0x0001, flixel.util.FlxDirectionFlags) cast (0x0010, flixel.util.FlxDirectionFlags) cast (0x0100, flixel.util.FlxDirectionFlags) cast (0x1000, flixel.util.FlxDirectionFlags) cast (0x0000, flixel.util.FlxDirectionFlags) Special-case constant meaning no directions. cast (0x0100, flixel.util.FlxDirectionFlags) Special-case constant meaning "up". cast (0x1000, flixel.util.FlxDirectionFlags) Special-case constant meaning "down" cast (0x0011, flixel.util.FlxDirectionFlags) Special-case constant meaning "left" and "right". cast (0x1111, flixel.util.FlxDirectionFlags) Special-case constant meaning any, or all directions. * Generates a FlxDirectonFlags instance from 4 bools * @since 5.0.0 hscript.UsingHandler.build() hscript.ClassExtendMacro.build() { rotation : 90, chunkSize : 1 } { interpolate : true, rotation : 90, chunkSize : 1 } { interpolate : true, rotation : 90, chunkSize : 1 } * Creates a FlxSprite of the given width/height with a colour gradient flowing through it. * * @param width The width of the FlxSprite (and therefore gradient) * @param height The height of the FlxSprite (and therefore gradient) * @param colors An array of colour values for the gradient to cycle through * @param chunkSize If you want a more old-skool looking chunky gradient, increase this value! * @param rotation Angle of the gradient in degrees. 90 = top to bottom, 180 = left to right. Any angle is valid * @param interpolate Interpolate the colours? True uses RGB interpolation, false uses linear RGB * @return A FlxSprite containing your gradient (if valid parameters given!) { interpolate : true, rotation : 90, chunkSize : 1 } { interpolate : true, rotation : 90, chunkSize : 1, destY : 0, destX : 0 } * Creates a new gradient and overlays that on-top of the given FlxSprite at the destX/destY coordinates (default 0,0) * Use low alpha values in the colours to have the gradient overlay and not destroy the image below * * @param dest The FlxSprite to overlay the gradient onto * @param width The width of the FlxSprite (and therefore gradient) * @param height The height of the FlxSprite (and therefore gradient) * @param colors An array of colour values for the gradient to cycle through * @param destX The X offset the gradient is drawn at (default 0) * @param destY The Y offset the gradient is drawn at (default 0) * @param chunkSize If you want a more old-skool looking chunky gradient, increase this value! * @param rotation Angle of the gradient in degrees. 90 = top to bottom, 180 = left to right. Any angle is valid * @param interpolate Interpolate the colours? True uses RGB interpolation, false uses linear RGB * @return The composited FlxSprite (for chaining, if you need) { interpolate : true, rotation : 90, chunkSize : 1, destY : 0, destX : 0 } * Creates a new gradient and overlays that on-top of the given BitmapData at the destX/destY coordinates (default 0,0) * Use low alpha values in the colours to have the gradient overlay and not destroy the image below * * @param dest The BitmapData to overlay the gradient onto * @param width The width of the FlxSprite (and therefore gradient) * @param height The height of the FlxSprite (and therefore gradient) * @param colors An array of colour values for the gradient to cycle through * @param destX The X offset the gradient is drawn at (default 0) * @param destY The Y offset the gradient is drawn at (default 0) * @param chunkSize If you want a more old-skool looking chunky gradient, increase this value! * @param rotation Angle of the gradient in degrees. 90 = top to bottom, 180 = left to right. Any angle is valid * @param interpolate Interpolate the colours? True uses RGB interpolation, false uses linear RGB * @return The composited BitmapData * Adds a set of color gradient creation / rendering functions * * @version 1.6 - May 9th 2011 * @link http://www.photonstorm.com * @author Richard Davey / Photon Storm * @see Requires FlxMath hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.util.FlxGradient flixel.util.FlxGradient.GradientMatrix
      hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * DEPRECATED - `FlxPath` was moved to the `flixel.path` package. Update your imports. * * @see [Flixel 5.0.0 Migration guide](https://github.com/HaxeFlixel/flixel/wiki/Flixel-5.0.0-Migration-guide) hscript.UsingHandler.build() hscript.ClassExtendMacro.build() "FlxPath was moved to the package: `flixel.path`" <_pool expr="[]"> [] <_class> <_count expr="0"> 0 * Objects aren't actually removed from the array in order to improve performance. * _count keeps track of the valid, accessible pool objects. * A generic container that facilitates pooling and recycling of objects. * WARNING: Pooled objects must have parameter-less constructors: function new() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() ObjectEncoding.DEFAULT The default object encoding (AMF version) for all local shared objects created in the SWF file. When local shared objects are written to disk, the `SharedObject.defaultObjectEncoding` property indicates which Action Message Format version should be used: the ActionScript 3.0 format (AMF3) or the ActionScript 1.0 or 2.0 format (AMF0). For more information about object encoding, including the difference between encoding in local and remote shared objects, see the description of the `objectEncoding` property. The default value of `SharedObject.defaultObjectEncoding` is set to use the ActionScript 3.0 format, AMF3. If you need to write local shared objects that ActionScript 2.0 or 1.0 SWF files can read, set `SharedObject.defaultObjectEncoding` to use the ActionScript 1.0 or ActionScript 2.0 format, `openfl.net.ObjectEncoding.AMF0`, at the beginning of your script, before you create any local shared objects. All local shared objects created thereafter will use AMF0 encoding and can interact with older content. You cannot change the `objectEncoding` value of existing local shared objects by setting `SharedObject.defaultObjectEncoding` after the local shared objects have been created. To set the object encoding on a per-object basis, rather than for all shared objects created by the SWF file, set the objectEncoding property of the local shared object instead. <__sharedObjects static="1"> { secure : false, localPath : null } ? #` @param localPath The full or partial path to the SWF file that created the shared object, and that determines where the shared object will be stored locally. If you do not specify this parameter, the full path is used. @param secure Determines whether access to this shared object is restricted to SWF files that are delivered over an HTTPS connection. If your SWF file is delivered over HTTPS, this parameter's value has the following effects: * If this parameter is set to `true`, Flash Player creates a new secure shared object or gets a reference to an existing secure shared object. This secure shared object can be read from or written to only by SWF files delivered over HTTPS that call `SharedObject.getLocal()` with the `secure` parameter set to `true`. * If this parameter is set to `false`, Flash Player creates a new shared object or gets a reference to an existing shared object that can be read from or written to by SWF files delivered over non-HTTPS connections. If your SWF file is delivered over a non-HTTPS connection and you try to set this parameter to `true`, the creation of a new shared object (or the access of a previously created secure shared object) fails and `null` is returned. Regardless of the value of this parameter, the created shared objects count toward the total amount of disk space allowed for a domain. The following diagram shows the use of the `secure` parameter: @return A reference to a shared object that is persistent locally and is available only to the current client. If Flash Player can't create or find the shared object(for example, if `localPath` was specified but no such directory exists), this method throws an exception. @throws Error Flash Player cannot create the shared object for whatever reason. This error might occur is if persistent shared object creation and storage by third-party Flash content is prohibited(does not apply to local content). Users can prohibit third-party persistent shared objects on the Global Storage Settings panel of the Settings Manager, located at [http://www.adobe.com/support/documentation/en/flashplayer/help/settings_manager03.html](http://www.adobe.com/support/documentation/en/flashplayer/help/settings_manager03.html).]]> { secure : false, persistence : false, remotePath : null } ? ? #` @param remotePath The URI of the server on which the shared object will be stored. This URI must be identical to the URI of the NetConnection object passed to the `connect()` method. @param persistence Specifies whether the attributes of the shared object's data property are persistent locally, remotely, or both. This parameter can also specify where the shared object will be stored locally. Acceptable values are as follows: * A value of `false` specifies that the shared object is not persistent on the client or server. * A value of `true` specifies that the shared object is persistent only on the server. * A full or partial local path to the shared object indicates that the shared object is persistent on the client and the server. On the client, it is stored in the specified path; on the server, it is stored in a subdirectory within the application directory. **Note:** If the user has chosen to never allow local storage for this domain, the object will not be saved locally, even if a local path is specified for persistence. For more information, see the class description. @param secure Determines whether access to this shared object is restricted to SWF files that are delivered over an HTTPS connection. For more information, see the description of the `secure` parameter in the `getLocal` method entry. @return A reference to an object that can be shared across multiple clients. @throws Error Flash Player can't create or find the shared object. This might occur if nonexistent paths were specified for the `remotePath` and `persistence` parameters.]]> <__getPath set="method" line="879" static="1"> <__mkdir set="method" line="916" static="1"> <__resolveClass set="method" line="964" static="1"> Indicates the object on which callback methods are invoked. The default object is `this`. You can set the client property to another object, and callback methods will be invoked on that other object. @throws TypeError The `client` property must be set to a non-null object. The collection of attributes assigned to the `data` property of the object; these attributes can be shared and stored. Each attribute can be an object of any ActionScript or JavaScript type - Array, Number, Boolean, ByteArray, XML, and so on. For example, the following lines assign values to various aspects of a shared object: For remote shared objects used with a server, all attributes of the `data` property are available to all clients connected to the shared object, and all attributes are saved if the object is persistent. If one client changes the value of an attribute, all clients now see the new value. Specifies the number of times per second that a client's changes to a shared object are sent to the server. Use this method when you want to control the amount of traffic between the client and the server. For example, if the connection between the client and server is relatively slow, you may want to set `fps` to a relatively low value. Conversely, if the client is connected to a multiuser application in which timing is important, you may want to set `fps` to a relatively high value. Setting `fps` will trigger a `sync` event and update all changes to the server. If you only want to update the server manually, set `fps` to 0. Changes are not sent to the server until the `sync` event has been dispatched. That is, if the response time from the server is slow, updates may be sent to the server less frequently than the value specified in this property. The object encoding (AMF version) for this shared object. When a local shared object is written to disk, the `objectEncoding` property indicates which Action Message Format version should be used: the ActionScript 3.0 format (AMF3) or the ActionScript 1.0 or 2.0 format (AMF0). Object encoding is handled differently depending if the shared object is local or remote. * **Local shared objects**. You can get or set the value of the `objectEncoding` property for local shared objects. The value of `objectEncoding` affects what formatting is used for _writing_ this local shared object. If this local shared object must be readable by ActionScript 2.0 or 1.0 SWF files, set `objectEncoding` to `ObjectEncoding.AMF0`. Even if object encoding is set to write AMF3, Flash Player can still read AMF0 local shared objects. That is, if you use the default value of this property, `ObjectEncoding.AMF3`, your SWF file can still read shared objects created by ActionScript 2.0 or 1.0 SWF files. * **Remote shared objects**. When connected to the server, a remote shared object inherits its `objectEncoding` setting from the associated NetConnection instance (the instance used to connect to the remote shared object). When not connected to the server, a remote shared object inherits the `defaultObjectEncoding` setting from the associated NetConnection instance. Because the value of a remote shared object's `objectEncoding` property is determined by the NetConnection instance, this property is read-only for remote shared objects. @throws ReferenceError You attempted to set the value of the `objectEncoding` property on a remote shared object. This property is read-only for remote shared objects because its value is determined by the associated NetConnection instance. The current size of the shared object, in bytes. Flash calculates the size of a shared object by stepping through all of its data properties; the more data properties the object has, the longer it takes to estimate its size. Estimating object size can take significant processing time, so you may want to avoid using this method unless you have a specific need for it. <__localPath> <__name> For local shared objects, purges all of the data and deletes the shared object from the disk. The reference to the shared object is still active, but its data properties are deleted. For remote shared objects used with Flash Media Server, `clear()` disconnects the object and purges all of the data. If the shared object is locally persistent, this method also deletes the shared object from the disk. The reference to the shared object is still active, but its data properties are deleted. Closes the connection between a remote shared object and the server. If a remote shared object is locally persistent, the user can make changes to the local copy of the object after this method is called. Any changes made to the local object are sent to the server the next time the user connects to the remote shared object. { params : null } Connects to a remote shared object on a server through a specified NetConnection object. Use this method after calling `getRemote()`. When a connection is successful, the `sync` event is dispatched. Before attempting to work with a remote shared object, first check for any errors using a `try..catch..finally` statement. Then, listen for and handle the `sync` event before you make changes to the shared object. Any changes made locally — before the `sync` event is dispatched — might be lost. Call the `connect()` method to connect to a remote shared object, for example: ```as3 var myRemoteSO:SharedObject = SharedObject.getRemote("mo", myNC.uri, false); myRemoteSO.connect(myNC); ``` @param myConnection A NetConnection object that uses the Real-Time Messaging Protocol (RTMP), such as a NetConnection object used to communicate with Flash Media Server. @param params A string defining a message to pass to the remote shared object on the server. Cannot be used with Flash Media Server. @throws Error Flash Player could not connect to the specified remote shared object. Verify that the NetConnection instance is valid and connected and that the remote shared object was successfully created on the server. { minDiskSpace : 0 } Immediately writes a locally persistent shared object to a local file. If you don't use this method, Flash Player writes the shared object to a file when the shared object session ends - that is, when the SWF file is closed, when the shared object is garbage-collected because it no longer has any references to it, or when you call `SharedObject.clear()` or `SharedObject.close()`. If this method returns `SharedObjectFlushStatus.PENDING`, Flash Player displays a dialog box asking the user to increase the amount of disk space available to objects from this domain. To allow space for the shared object to grow when it is saved in the future, which avoids return values of `PENDING`, pass a value for `minDiskSpace`. When Flash Player tries to write the file, it looks for the number of bytes passed to `minDiskSpace`, instead of looking for enough space to save the shared object at its current size. For example, if you expect a shared object to grow to a maximum size of 500 bytes, even though it might start out much smaller, pass 500 for `minDiskSpace`. If Flash asks the user to allot disk space for the shared object, it asks for 500 bytes. After the user allots the requested amount of space, Flash won't have to ask for more space on future attempts to flush the object(as long as its size doesn't exceed 500 bytes). After the user responds to the dialog box, this method is called again. A `netStatus` event is dispatched with a `code` property of `SharedObject.Flush.Success` or `SharedObject.Flush.Failed`. @param minDiskSpace The minimum disk space, in bytes, that must be allotted for this object. @return Either of the following values: * `SharedObjectFlushStatus.PENDING`: The user has permitted local information storage for objects from this domain, but the amount of space allotted is not sufficient to store the object. Flash Player prompts the user to allow more space. To allow space for the shared object to grow when it is saved, thus avoiding a `SharedObjectFlushStatus.PENDING` return value, pass a value for `minDiskSpace`. * `SharedObjectFlushStatus.FLUSHED`: The shared object has been successfully written to a file on the local disk. @throws Error Flash Player cannot write the shared object to disk. This error might occur if the user has permanently disallowed local information storage for objects from this domain. **Note:** Local content can always write shared objects from third-party domains(domains other than the domain in the current browser address bar) to disk, even if writing of third-party shared objects to disk is disallowed. Broadcasts a message to all clients connected to a remote shared object, including the client that sent the message. To process and respond to the message, create a callback function attached to the shared object. Indicates to the server that the value of a property in the shared object has changed. This method marks properties as _dirty_, which means changed. Call the `SharedObject.setProperty()` to create properties for a shared object. The `SharedObject.setProperty()` method implements `setDirty()`. In most cases, such as when the value of a property is a primitive type like String or Number, you can call `setProperty()` instead of calling `setDirty()`. However, when the value of a property is an object that contains its own properties, call `setDirty()` to indicate when a value within the object has changed. @param propertyName The name of the property that has changed. { value : null } Flash Media Server documentation. **Note:** The `SharedObject.setProperty()` method implements the `setDirty()` method. In most cases, such as when the value of a property is a primitive type like String or Number, you would use `setProperty()` instead of `setDirty`. However, when the value of a property is an object that contains its own properties, use `setDirty()` to indicate when a value within the object has changed. In general, it is a good idea to call `setProperty()` rather than `setDirty()`, because `setProperty()` updates a property value only when that value has changed, whereas `setDirty()` forces synchronization on all subscribed clients. @param propertyName The name of the property in the shared object. @param value The value of the property (an ActionScript object), or `null` to delete the property.]]> The SharedObject class is used to read and store limited amounts of data on a user's computer or on a server. Shared objects offer real-time data sharing between multiple client SWF files and objects that are persistent on the local computer or remote server. Local shared objects are similar to browser cookies and remote shared objects are similar to real-time data transfer devices. To use remote shared objects, you need Adobe Flash Media Server. Use shared objects to do the following: * **Maintain local persistence**. This is the simplest way to use a shared object, and does not require Flash Media Server. For example, you can call `SharedObject.getLocal()` to create a shared object in an application, such as a calculator with memory. When the user closes the calculator, Flash Player saves the last value in a shared object on the user's computer. The next time the calculator is run, it contains the values it had previously. Alternatively, if you set the shared object's properties to `null` before the calculator application is closed, the next time the application runs, it opens without any values. Another example of maintaining local persistence is tracking user preferences or other data for a complex website, such as a record of which articles a user read on a news site. Tracking this information allows you to display articles that have already been read differently from new, unread articles. Storing this information on the user's computer reduces server load. * **Store and share data on Flash Media Server**. A shared object can store data on the server for other clients to retrieve. For example, call `SharedObject.getRemote()` to create a remote shared object, such as a phone list, that is persistent on the server. Whenever a client makes changes to the shared object, the revised data is available to all clients currently connected to the object or who later connect to it. If the object is also persistent locally, and a client changes data while not connected to the server, the data is copied to the remote shared object the next time the client connects to the object. * **Share data in real time**. A shared object can share data among multiple clients in real time. For example, you can open a remote shared object that stores a list of users connected to a chat room that is visible to all clients connected to the object. When a user enters or leaves the chat room, the object is updated and all clients that are connected to the object see the revised list of chat room users. To create a local shared object, call `SharedObject.getLocal()`. To create a remote shared object, call `SharedObject.getRemote()`. When an application closes, shared objects are _flushed_, or written to a disk. You can also call the `flush()` method to explicitly write data to a disk. **Local disk space considerations.** Local shared objects have some limitations that are important to consider as you design your application. Sometimes SWF files may not be allowed to write local shared objects, and sometimes the data stored in local shared objects can be deleted without your knowledge. Flash Player users can manage the disk space that is available to individual domains or to all domains. When users decrease the amount of disk space available, some local shared objects may be deleted. Flash Player users also have privacy controls that can prevent third-party domains(domains other than the domain in the current browser address bar) from reading or writing local shared objects. **Note**: SWF files that are stored and run on a local computer, not from a remote server, can always write third-party shared objects to disk. For more information about third-party shared objects, see the [Global Storage Settings panel](http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager03.html) in Flash Player Help. It's a good idea to check for failures related to the amount of disk space and to user privacy controls. Perform these checks when you call `getLocal()` and `flush()`: * `SharedObject.getLocal()` - Flash Player throws an exception when a call to this method fails, such as when the user has disabled third-party shared objects and the domain of your SWF file does not match the domain in the browser address bar. * `SharedObject.flush()` - Flash Player throws an exception when a call to this method fails. It returns `SharedObjectFlushStatus.FLUSHED` when it succeeds. It returns `SharedObjectFlushStatus.PENDING` when additional storage space is needed. Flash Player prompts the user to allow an increase in storage space for locally saved information. Thereafter, the `netStatus` event is dispatched with an information object indicating whether the flush failed or succeeded. If your SWF file attempts to create or modify local shared objects, make sure that your SWF file is at least 215 pixels wide and at least 138 pixels high(the minimum dimensions for displaying the dialog box that prompts users to increase their local shared object storage limit). If your SWF file is smaller than these dimensions and an increase in the storage limit is required, `SharedObject.flush()` fails, returning `SharedObjectFlushedStatus.PENDING` and dispatching the `netStatus` event. **Remote shared objects.** With Flash Media Server, you can create and use remote shared objects, that are shared in real-time by all clients connected to your application. When one client changes a property of a remote shared object, the property is changed for all connected clients. You can use remote shared objects to synchronize clients, for example, users in a multi-player game. Each remote shared object has a `data` property which is an Object with properties that store data. Call `setProperty()` to change an property of the data object. The server updates the properties, dispatches a `sync` event, and sends the properties back to the connected clients. You can choose to make remote shared objects persistent on the client, the server, or both. By default, Flash Player saves locally persistent remote shared objects up to 100K in size. When you try to save a larger object, Flash Player displays the Local Storage dialog box, which lets the user allow or deny local storage for the shared object. Make sure your Stage size is at least 215 by 138 pixels; this is the minimum size Flash requires to display the dialog box. If the user selects Allow, the server saves the shared object and dispatches a `netStatus` event with a `code` property of `SharedObject.Flush.Success`. If the user select Deny, the server does not save the shared object and dispatches a `netStatus` event with a `code` property of `SharedObject.Flush.Failed`. @event asyncError Dispatched when an exception is thrown asynchronously - that is, from native asynchronous code. @event netStatus Dispatched when a SharedObject instance is reporting its status or error condition. The `netStatus` event contains an `info` property, which is an information object that contains specific information about the event, such as whether a connection attempt succeeded or whether the shared object was successfully written to the local disk. @event sync Dispatched when a remote shared object has been updated by the server. "tags=\"haxe,release\"" * Returns the company name listed in the Project.xml * Whether the save exists, checks both the old and new path. * Whether the save exists, checks the NEW location * Whether the save exists, checks the LEGACY location { minDiskSpace : 0 } \AppData\Roaming\\.sol"``` * - Mac: ```"/Users//Library/Application Support//.sol"``` * * If localPath is null, the Project.xml's app company metadata is used. FlxG.save's default bind * args are `bind(app.company, app.file)`. * * ## Legacy Paths * Openfl's default save location are created using app metadata from the Project.xml * - Windows: ```"C:\Users\\AppData\Roaming\\\\.sol"``` * - Mac: ```"/Users//Library/Application Support////.sol"``` * * This prevents 2 different HaxeFlixel apps from using each other's save files, but cross-save * referencing is a really cool idea so let's allow it!]]> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() openfl.net.SharedObject * The initial state, call bind() in order to use. * The save is set up correctly. * There was an issue. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Clean up memory. <_HX_SUPER__destroy public="1" set="method" line="31"> ? #` * @param path The full or partial path to the file that created the shared object. * Mainly used to differentiate from other FlxSaves. If you do not specify * this parameter, the company name specified in your Project.xml is used. * @return Whether or not you successfully connected to the save data.]]> <_HX_SUPER__bind public="1" set="method" line="148"> { minFileSize : 0, eraseSave : true, overwrite : false } * Creates a new FlxSave and copies the data from old to new, * flushes the new save (if changed) and then optionally erases the old save. * * @param name The name of the save. * @param path The full or partial path to the file that created the save. * @param overwrite Whether the data should overwrite, should the 2 saves share data fields. defaults to false. * @param eraseSave Whether to erase the save after successfully migrating the data. defaults to true. * @param minFileSize If you need X amount of space for your save, specify it here. * @return Whether or not you successfully found, merged and flushed data. <_HX_SUPER__mergeDataFrom public="1" set="method" line="148"> { minFileSize : 0, eraseSave : true, overwrite : false } { minFileSize : 0, overwrite : false } * Copies the given data over to this save and flushes (if changed). * * @param sourceData The data to merge * @param overwrite Whether the data should overwrite, should the 2 saves share data fields. defaults to false. * @param minFileSize If you need X amount of space for your save, specify it here. * @return Whether or not you successfully saved the data. <_HX_SUPER__mergeData public="1" set="method" line="148"> { minFileSize : 0, overwrite : false } { minFileSize : 0 } * A way to safely call flush() and destroy() on your save file. * Will correctly handle storage size popups and all that good stuff. * If you don't want to save your changes first, just call destroy() instead. * * @param minFileSize If you need X amount of space for your save, specify it here. * @return The result of result of the flush() call (see below for more details). <_HX_SUPER__close public="1" set="method" line="148"> { minFileSize : 0 } { minFileSize : 0 } * Writes the local shared object to disk immediately. Leaves the object open in memory. * * @param minFileSize If you need X amount of space for your save, specify it here. * @return Whether or not the data was written immediately. False could be an error OR a storage request popup. <_HX_SUPER__flush public="1" set="method" line="148"> { minFileSize : 0 } * Erases everything stored in the local shared object. * Data is immediately erased and the object is saved that way, * so use with caution! * * @return Returns false if the save object is not bound yet. <_HX_SUPER__erase public="1" set="method" line="148"> * Handy utility function for checking and warning if the shared object is bound yet or not. * * @return Whether the shared object was bound yet. <_HX_SUPER__checkStatus set="method" line="148"> <_HX_SUPER__get_name set="method" line="148"> <_HX_SUPER__get_path set="method" line="148"> * Scans the data for any properties. * @since 5.0.0 <_HX_SUPER__isEmpty public="1" set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.util.FlxSave flixel.util.FlxSave.FlxSharedObject flixel.util.FlxSave.FlxSaveStatus { minDiskSpace : 0 } <_HX_SUPER__flush set="method" line="148"> { minDiskSpace : 0 } <_HX_SUPER__clear set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.util.FlxSave flixel.util.FlxSave.FlxSharedObject flixel.util.FlxSave.FlxSaveStatus hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() false hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Typed function reference used to dispatch this signal. false hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_HX_SUPER__dispatch0 public="1" set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.util.FlxSignal flixel.util.FlxSignal.FlxTypedSignal flixel.util.FlxSignal.FlxTypedSignal flixel.util.FlxSignal.FlxSignalHandler flixel.util.FlxSignal.FlxBaseSignal flixel.util.FlxSignal.FlxSignal0 flixel.util.FlxSignal.FlxSignal1 flixel.util.FlxSignal.FlxSignal2 flixel.util.FlxSignal.FlxSignal3 flixel.util.FlxSignal.FlxSignal4 flixel.util.FlxSignal.IFlxSignal flixel.util.FlxSignal.Macro flixel.util.FlxSignal.FlxTypedSignal_HSC <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.util.FlxSignal flixel.util.FlxSignal.FlxTypedSignal flixel.util.FlxSignal.FlxTypedSignal flixel.util.FlxSignal.FlxSignalHandler flixel.util.FlxSignal.FlxBaseSignal flixel.util.FlxSignal.FlxSignal0 flixel.util.FlxSignal.FlxSignal1 flixel.util.FlxSignal.FlxSignal2 flixel.util.FlxSignal.FlxSignal3 flixel.util.FlxSignal.FlxSignal4 flixel.util.FlxSignal.IFlxSignal flixel.util.FlxSignal.Macro -1 1 * You can use this function in FlxTypedGroup.sort() to sort FlxObjects by their y values. * You can use this function as a backend to write a custom sorting function (see byY() for an example). * Helper class for sort() in FlxTypedGroup, but could theoretically be used on regular arrays as well. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.util.FlxSort new Sprite() * Useful helper objects for doing Flash-specific rendering. * Primarily used for "debug visuals" like drawing bounding boxes directly to the screen buffer. flashGfxSprite.graphics * Takes two source images (typically from Embedded bitmaps) and puts the resulting image into the output FlxSprite. * Note: It assumes the source and mask are the same size. Different sizes may result in undesired results. * It works by copying the source image (your picture) into the output sprite. Then it removes all areas of it that do not * have an alpha color value in the mask image. So if you draw a big black circle in your mask with a transparent edge, you'll * get a circular image to appear. * May lead to unexpected results if `source` does not have an alpha channel. * * @param output The FlxSprite you wish the resulting image to be placed in (will adjust width/height of image) * @param source The source image. Typically the one with the image / picture / texture in it. * @param mask The mask to apply. Remember the non-alpha zero areas are the parts that will display. * @return The FlxSprite for chaining * Takes the image data from two FlxSprites and puts the resulting image into the output FlxSprite. * Note: It assumes the source and mask are the same size. Different sizes may result in undesired results. * It works by copying the source image (your picture) into the output sprite. Then it removes all areas of it that do not * have an alpha color value in the mask image. So if you draw a big black circle in your mask with a transparent edge, you'll * get a circular image appear. * May lead to unexpected results if `sprite`'s graphic does not have an alpha channel. * * @param sprite The source FlxSprite. Typically the one with the image / picture / texture in it. * @param mask The FlxSprite containing the mask to apply. Remember the non-alpha zero areas are the parts that will display. * @param output The FlxSprite you wish the resulting image to be placed in (will adjust width/height of image) * @return The output FlxSprite for chaining { Bottom : true, Top : true, Right : true, Left : true } * Checks the x/y coordinates of the FlxSprite and keeps them within the * area of 0, 0, FlxG.width, FlxG.height (i.e. wraps it around the screen) * * @param sprite The FlxSprite to keep within the screen * @param Left Whether to activate screen wrapping on the left side of the screen * @param Right Whether to activate screen wrapping on the right side of the screen * @param Top Whether to activate screen wrapping on the top of the screen * @param Bottom Whether to activate screen wrapping on the bottom of the screen * @return The FlxSprite for chaining { MaxY : 0, MinY : 0, MaxX : 0, MinX : 0 } * Makes sure a FlxSprite doesn't leave the specified area - most common use case is to call this every frame in update(). * If you call this without specifying an area, the game area (FlxG.width / height as max) will be used. Takes the graphic size into account. * * @param sprite The FlxSprite to bound to an area * @param MinX The minimum x position allowed * @param MaxX The maximum x position allowed * @param MinY The minimum y position allowed * @param MaxY The minimum y position allowed * @return The FlxSprite for chaining { edges : ANY } * Checks the sprite's screen bounds of the FlxSprite and keeps them within the camera by wrapping it around. * * @param sprite The FlxSprite to wrap. * @param camera The camera to wrap around. If left null, `FlxG.camera` is used. * @param edges The edges FROM which to wrap. Use constants like `LEFT`, `RIGHT`, `UP|DOWN` or `ANY`. * @return The FlxSprite for chaining * @since 4.11.0 { edges : ANY } * Checks the sprite's screen bounds and keeps it entirely within the camera. * * @param sprite The FlxSprite to restrict. * @param camera The camera resitricting the sprite. If left null, `FlxG.camera` is used. * @param edges The edges to restrict. Use constants like `LEFT`, `RIGHT`, `UP|DOWN` or `ANY`. * @return The FlxSprite for chaining * @since 4.11.0 { spaceFromBounds : false } * Aligns a set of FlxObjects so there is equal spacing between them * * @param objects An Array of FlxObjects * @param startX The base X coordinate to start the spacing from * @param startY The base Y coordinate to start the spacing from * @param horizontalSpacing The amount of pixels between each sprite horizontally. Set to `null` to just keep the current X position of each object. * @param verticalSpacing The amount of pixels between each sprite vertically. Set to `null` to just keep the current Y position of each object. * @param spaceFromBounds If set to true the h/v spacing values will be added to the width/height of the sprite, if false it will ignore this * @param position A function with the signature `(target:FlxObject, x:Float, y:Float):Void`. You can use this to tween objects into their spaced position, etc. * This function draws a line on a FlxSprite from position X1,Y1 * to position X2,Y2 with the specified color. * * @param sprite The FlxSprite to manipulate * @param StartX X coordinate of the line's start point. * @param StartY Y coordinate of the line's start point. * @param EndX X coordinate of the line's end point. * @param EndY Y coordinate of the line's end point. * @param lineStyle A LineStyle typedef containing the params of Graphics.lineStyle() * @param drawStyle A DrawStyle typedef containing the params of BitmapData.draw() * @return The FlxSprite for chaining { FillColor : FlxColor.TRANSPARENT } * This function draws a curve on a FlxSprite from position X1,Y1 * to anchor position X2,Y2 using control points X3,Y3 with the specified color. * * @param sprite The FlxSprite to manipulate * @param StartX X coordinate of the curve's start point. * @param StartY Y coordinate of the curve's start point. * @param EndX X coordinate of the curve's end/anchor point. * @param EndY Y coordinate of the curve's end/anchor point. * @param ControlX X coordinate of the curve's control point. * @param ControlY Y coordinate of the curve's control point. * @param FillColor The ARGB color to fill this curve with. FlxColor.TRANSPARENT (0x0) means no fill. Filling a curve draws a line from End to Start to complete the figure. * @param lineStyle A LineStyle typedef containing the params of Graphics.lineStyle() * @param drawStyle A DrawStyle typedef containing the params of BitmapData.draw() * @return The FlxSprite for chaining { FillColor : FlxColor.WHITE } * This function draws a rectangle on a FlxSprite. * * @param sprite The FlxSprite to manipulate * @param X X coordinate of the rectangle's start point. * @param Y Y coordinate of the rectangle's start point. * @param Width Width of the rectangle * @param Height Height of the rectangle * @param FillColor The ARGB color to fill this rectangle with. FlxColor.TRANSPARENT (0x0) means no fill. * @param lineStyle A LineStyle typedef containing the params of Graphics.lineStyle() * @param drawStyle A DrawStyle typedef containing the params of BitmapData.draw() * @return The FlxSprite for chaining { FillColor : FlxColor.WHITE } * This function draws a rounded rectangle on a FlxSprite. * * @param sprite The FlxSprite to manipulate * @param X X coordinate of the rectangle's start point. * @param Y Y coordinate of the rectangle's start point. * @param Width Width of the rectangle * @param Height Height of the rectangle * @param EllipseWidth The width of the ellipse used to draw the rounded corners * @param EllipseHeight The height of the ellipse used to draw the rounded corners * @param FillColor The ARGB color to fill this rectangle with. FlxColor.TRANSPARENT (0x0) means no fill. * @param lineStyle A LineStyle typedef containing the params of Graphics.lineStyle() * @param drawStyle A DrawStyle typedef containing the params of BitmapData.draw() * @return The FlxSprite for chaining { FillColor : FlxColor.WHITE } * This function draws a rounded rectangle on a FlxSprite. Same as drawRoundRect, * except it allows you to determine the radius of each corner individually. * * @param sprite The FlxSprite to manipulate * @param X X coordinate of the rectangle's start point. * @param Y Y coordinate of the rectangle's start point. * @param Width Width of the rectangle * @param Height Height of the rectangle * @param TopLeftRadius The radius of the top left corner of the rectangle * @param TopRightRadius The radius of the top right corner of the rectangle * @param BottomLeftRadius The radius of the bottom left corner of the rectangle * @param BottomRightRadius The radius of the bottom right corner of the rectangle * @param FillColor The ARGB color to fill this rectangle with. FlxColor.TRANSPARENT (0x0) means no fill. * @param lineStyle A LineStyle typedef containing the params of Graphics.lineStyle() * @param drawStyle A DrawStyle typedef containing the params of BitmapData.draw() * @return The FlxSprite for chaining { FillColor : FlxColor.WHITE, Radius : -1, Y : -1, X : -1 } { FillColor : FlxColor.WHITE } * This function draws an ellipse on a FlxSprite. * * @param sprite The FlxSprite to manipulate * @param X X coordinate of the ellipse's start point. * @param Y Y coordinate of the ellipse's start point. * @param Width Width of the ellipse * @param Height Height of the ellipse * @param FillColor The ARGB color to fill this ellipse with. FlxColor.TRANSPARENT (0x0) means no fill. * @param lineStyle A LineStyle typedef containing the params of Graphics.lineStyle() * @param drawStyle A DrawStyle typedef containing the params of BitmapData.draw() * @return The FlxSprite for chaining { FillColor : FlxColor.WHITE } * This function draws a simple, equilateral triangle on a FlxSprite. * * @param sprite The FlxSprite to manipulate * @param X X position of the triangle * @param Y Y position of the triangle * @param Height Height of the triangle * @param FillColor The ARGB color to fill this triangle with. FlxColor.TRANSPARENT (0x0) means no fill. * @param lineStyle A LineStyle typedef containing the params of Graphics.lineStyle() * @param drawStyle A DrawStyle typedef containing the params of BitmapData.draw() * @return The FlxSprite for chaining { FillColor : FlxColor.WHITE } * This function draws a polygon on a FlxSprite. * * @param sprite The FlxSprite to manipulate * @param Vertices Array of Vertices to use for drawing the polygon * @param FillColor The ARGB color to fill this polygon with. FlxColor.TRANSPARENT (0x0) means no fill. * @param lineStyle A LineStyle typedef containing the params of Graphics.lineStyle() * @param drawStyle A DrawStyle typedef containing the params of BitmapData.draw() * @return The FlxSprite for chaining * Helper function that the drawing functions use at the start to set the color and lineStyle. * * @param FillColor The ARGB color to use for drawing * @param lineStyle A LineStyle typedef containing the params of Graphics.lineStyle() * Helper function that the drawing functions use at the end. * * @param sprite The FlxSprite to draw to * @param drawStyle A DrawStyle typedef containing the params of BitmapData.draw() * @return The FlxSprite for chaining * Just a helper function that is called at the end of the draw functions * to handle a few things related to updating a sprite's graphic. * * @param Sprite The FlxSprite to manipulate * @param drawStyle A DrawStyle typedef containing the params of BitmapData.draw() * @return The FlxSprite for chaining * Just a helper function that is called in the draw functions * to set the lineStyle via Graphics.lineStyle() * * @param lineStyle The lineStyle typedef * Helper function for the default line styles of drawLine() and drawCurve() * * @param lineStyle The lineStyle typedef * Fills this sprite's graphic with a specific color. * * @param Sprite The FlxSprite to manipulate * @param FillColor The color with which to fill the graphic, format 0xAARRGGBB. * @return The FlxSprite for chaining { ForceRestart : true, EndVisibility : true, Interval : 0.04, Duration : 1 } * Returns whether an object is flickering or not. * * @param Object The object to check against. * Stops flickering of the object. Also it will make the object visible. * * @param Object The object to stop flickering. * @return The FlxObject for chaining { Duration : 1 } * Fade in a sprite, tweening alpha to 1. * * @param sprite The object to fade. * @param Duration How long the fade will take (in seconds). * @return The FlxSprite for chaining { Duration : 1 } * Fade out a sprite, tweening alpha to 0. * * @param sprite The object to fade. * @param Duration How long the fade will take (in seconds). * @return The FlxSprite for chaining * Some handy functions for FlxSprite (FlxObject) manipulation, mostly drawing-related. * Note that stage quality impacts the results of the draw() functions - * use FlxG.stage.quality = flash.display.StageQuality.BEST; for best results. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.util.FlxSpriteUtil flixel.util.FlxSpriteUtil.LineStyle flixel.util.FlxSpriteUtil.DrawStyle * Takes two "ticks" timestamps and formats them into the number of seconds that passed as a String. * Useful for logging, debugging, the watch window, or whatever else. * * @param StartTicks The first timestamp from the system. * @param EndTicks The second timestamp from the system. * @return A String containing the formatted time elapsed information. { ShowMS : false } * Format seconds as minutes with a colon, an optionally with milliseconds too. * * @param Seconds The number of seconds (for example, time remaining, time spent, etc). * @param ShowMS Whether to show milliseconds after a "." as well. Default value is false. * @return A nicely formatted String, like "1:03". * Generate a comma-separated string from an array. * Especially useful for tracing or other debug output. * * @param AnyArray Any Array object. * @return A comma-separated String containing the .toString() output of each element in the array. * Generate a comma-separated string representation of the keys of a StringMap. * * @param AnyMap A StringMap object. * @return A String formatted like this: key1, key2, ..., keyX { EnglishStyle : true, ShowDecimal : true } * Automatically commas and decimals in the right places for displaying money amounts. * Does not include a dollar sign or anything, so doesn't really do much * if you call say `FlxString.formatMoney(10, false)`. * However, very handy for displaying large sums or decimal money values. * * @param Amount How much moneys (in dollars, or the equivalent "main" currency - i.e. not cents). * @param ShowDecimal Whether to show the decimals/cents component. * @param EnglishStyle Major quantities (thousands, millions, etc) separated by commas, and decimal by a period. * @return A nicely formatted String. Does not include a dollar sign or anything! { Precision : 2 } 117.74MB]]> * Takes a string and filters out everything but the digits. * * @param Input The input string * @return The output string, digits-only { Underlined : false, Italic : false, Bold : false, Color : "FFFFFF", Size : 12 } * Format a text with html tags - useful for TextField.htmlText. * Used by the log window of the debugger. * * @param Text The text to format * @param Size The text size, using the font-size-tag * @param Color The text color, using font-color-tag * @param Bold Whether the text should be bold (b-tag) * @param Italic Whether the text should be italic (i-tag) * @param Underlined Whether the text should be underlined (u-tag) * @return The html-formatted text. { simple : false } * Get the string name of any class or class instance. Wraps `Type.getClassName()`. * * @param objectOrClass The class or class instance in question. * @param simple Returns only the type name, without package(s). * @return The name of the class as a string. { simple : false } * Get the string name of any enum or enum value. Wraps `Type.getEnumName()`. * * @param enumValueOrEnum The enum value or enum in question. * @param simple Returns only the type name, without package(s). * @return The name of the enum as a string. * @since 4.4.0 * Returns the host from the specified URL. * The host is one of three parts that comprise the authority. (User and port are the other two parts.) * For example, the host for "ftp://anonymous@ftp.domain.test:990/" is "ftp.domain.test". * * @return The host from the URL; or the empty string ("") upon failure. * @since 4.3.0 * Returns the domain from the specified URL. * The domain, in this case, refers specifically to the first and second levels only. * For example, the domain for "api.haxe.org" is "haxe.org". * * @return The domain from the URL; or the empty string ("") upon failure. { Simple : true } * Helper function that uses getClassName to compare two objects' class names. * * @param Obj1 The first object * @param Obj2 The second object * @param Simple Only uses the class name, not the package or packages. * @return Whether they have the same class name or not * Split a comma-separated string into an array of ints * * @param Data String formatted like this: "1, 2, 5, -10, 120, 27" * @return An array of ints * Split a comma-separated string into an array of floats * * @param Data string formatted like this: "1.0,2.1,5.6,1245587.9, -0.00354" * @return An array of floats { Invert : false } * Converts a one-dimensional array of tile data to a comma-separated string. * * @param Data An array full of integer tile references. * @param Width The number of tiles in each row. * @param Invert Recommended only for 1-bit arrays - changes 0s to 1s and vice versa. * @return A comma-separated string containing the level data in a FlxTilemap-friendly format. { Scale : 1, Invert : false } * Converts a BitmapData object to a comma-separated string. Black pixels are flagged as 'solid' by default, * non-black pixels are set as non-colliding. Black pixels must be PURE BLACK. * * @param Bitmap A Flash BitmapData object, preferably black and white. * @param Invert Load white pixels as solid instead. * @param Scale Default is 1. Scale of 2 means each pixel forms a 2x2 block of tiles, and so on. * @param ColorMap An array of color values (alpha values are ignored) in the order they're intended to be assigned as indices * @return A comma-separated string containing the level data in a FlxTilemap-friendly format. { Scale : 1, Invert : false } * Converts a resource image file to a comma-separated string. Black pixels are flagged as 'solid' by default, * non-black pixels are set as non-colliding. Black pixels must be PURE BLACK. * * @param ImageFile An embedded graphic, preferably black and white. * @param Invert Load white pixels as solid instead. * @param Scale Default is 1. Scale of 2 means each pixel forms a 2x2 block of tiles, and so on. * @param ColorMap An array of color values (alpha values are ignored) in the order they're intended to be assigned as indices * @return A comma-separated string containing the level data in a FlxTilemap-friendly format. * Helper function to create a string for toString() functions. Automatically rounds values according to FlxG.debugger.precision. * Strings are formatted in the format: (x: 50 | y: 60 | visible: false) * * @param LabelValuePairs Array with the data for the string * Removes occurrences of a substring by calling `StringTools.replace(s, sub, "")`. * Inserts `insertion` into `s` at index `pos`. * Returns true if `s` equals `null` or is empty. * @since 4.1.0 * Returns an Underscored, or "slugified" string * Example: `"A Tale of Two Cities, Part II"` becomes `"a_tale_of_two_cities__part_ii"` * Returns a string formatted to 'Title Case'. * Example: `"a tale of two cities, pt ii" returns `"A Tale of Two Cities, Part II"` * A class primarily containing functions related * to formatting different data types to strings. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_pool expr="new FlxPool<LabelValuePair>(LabelValuePair)" line="687" static="1"> (LabelValuePair)]]> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.util.FlxStringUtil flixel.util.FlxStringUtil.LabelValuePair <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.util.FlxStringUtil flixel.util.FlxStringUtil.LabelValuePair * The global timer manager that handles global timers * @since 4.2.0 * The manager to which this timer belongs * @since 4.2.0 0 * How many loops the timer was set for. 0 means "looping forever". false * Pauses or checks the pause state of the timer. false * Check to see if the timer is finished. * Function that gets called when timer completes. * Callback should be formed "onTimer(Timer:FlxTimer);" * Read-only: check how much time is left on the timer. * Read-only: The amount of milliseconds that have elapsed since the timer was started * Read-only: check how many loops are left on the timer. * Read-only: how many loops that have elapsed since the timer was started. * Read-only: how far along the timer is, on a scale of 0.0 to 1.0. <_timeCounter expr="0"> 0 * Internal tracker for the actual timer counting up. <_loopsCounter expr="0"> 0 * Internal tracker for the loops counting up. <_inManager expr="false"> false * Clean up memory. { loops : 1, time : 1 } * Starts the timer and adds the timer to the timer manager. * * @param time How many seconds it takes for the timer to go off. * If 0 then timer will fire OnComplete callback only once at the first call of update method (which means that Loops argument will be ignored). * @param onComplete Optional, triggered whenever the time runs out, once for each loop. * Callback should be formed "onTimer(Timer:FlxTimer);" * @param loops How many times the timer should go off. 0 means "looping forever". * @return A reference to itself (handy for chaining or whatever). { newTime : -1 } * Restart the timer using the new duration * @param newTime The duration of this timer in seconds. * Stops the timer and removes it from the timer manager. * Called by the timer manager plugin to update the timer. * If time runs out, the loop counter is advanced, the timer reset, and the callback called if it exists. * If the timer runs out of loops, then the timer calls cancel(). * However, callbacks are called AFTER cancel() is called. flixel.util.FlxTimerManager * Creates a new timer. { FlxG.log.add("The FlxTimer has finished"); }) * ``` * @see [FlxG.fixedTimestep](https://api.haxeflixel.com/flixel/FlxG.html#fixedTimestep) * @see [FlxG.timeScale](https://api.haxeflixel.com/flixel/FlxG.html#timeScale)]]> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_timers expr="[]"> [] * Clean up memory. * Called by FlxG.plugins.update() before the game state has been updated. * Cycles through timers and calls update() on each one. flixel.util.FlxTimer * Add a new timer to the timer manager. * Called when FlxTimer is started. * * @param timer The FlxTimer you want to add to the manager. flixel.util.FlxTimer * Remove a timer from the timer manager. * Called automatically by FlxTimer's cancel() function. * * @param timer The FlxTimer you want to remove from the manager. * Immediately updates all `active`, non-infinite timers to their end points, repeatedly, * until all their loops are finished, resulting in `loopsLeft` callbacks being run. * @since 4.2.0 * Removes all the timers from the timer manager. * Applies a function to all timers * * @param func A function that modifies one timer at a time * @since 4.2.0 * Instantiates a new timer manager. * A simple manager for tracking and updating game timer objects. * Normally accessed via the static `FlxTimer.manager` rather than being created separately. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Clean up memory. <_HX_SUPER__destroy public="1" set="method" line="31"> { loops : 1, time : 1 } * Starts the timer and adds the timer to the timer manager. * * @param time How many seconds it takes for the timer to go off. * If 0 then timer will fire OnComplete callback only once at the first call of update method (which means that Loops argument will be ignored). * @param onComplete Optional, triggered whenever the time runs out, once for each loop. * Callback should be formed "onTimer(Timer:FlxTimer);" * @param loops How many times the timer should go off. 0 means "looping forever". * @return A reference to itself (handy for chaining or whatever). <_HX_SUPER__start public="1" set="method" line="148"> { loops : 1, time : 1 } { newTime : -1 } * Restart the timer using the new duration * @param newTime The duration of this timer in seconds. <_HX_SUPER__reset public="1" set="method" line="148"> { newTime : -1 } * Stops the timer and removes it from the timer manager. <_HX_SUPER__cancel public="1" set="method" line="31"> * Called by the timer manager plugin to update the timer. * If time runs out, the loop counter is advanced, the timer reset, and the callback called if it exists. * If the timer runs out of loops, then the timer calls cancel(). * However, callbacks are called AFTER cancel() is called. <_HX_SUPER__update public="1" set="method" line="31"> flixel.util.FlxTimerManager <_HX_SUPER__onLoopFinished set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.util.FlxTimer flixel.util.FlxTimer.FlxTimerManager * Clean up memory. <_HX_SUPER__destroy public="1" set="method" line="31"> * Called by FlxG.plugins.update() before the game state has been updated. * Cycles through timers and calls update() on each one. <_HX_SUPER__update public="1" set="method" line="31"> flixel.util.FlxTimer * Add a new timer to the timer manager. * Called when FlxTimer is started. * * @param timer The FlxTimer you want to add to the manager. <_HX_SUPER__add set="method" line="31"> flixel.util.FlxTimer * Remove a timer from the timer manager. * Called automatically by FlxTimer's cancel() function. * * @param timer The FlxTimer you want to remove from the manager. <_HX_SUPER__remove set="method" line="31"> * Immediately updates all `active`, non-infinite timers to their end points, repeatedly, * until all their loops are finished, resulting in `loopsLeft` callbacks being run. * @since 4.2.0 <_HX_SUPER__completeAll public="1" set="method" line="31"> * Applies a function to all timers * * @param func A function that modifies one timer at a time * @since 4.2.0 <_HX_SUPER__forEach public="1" set="method" line="148"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.util.FlxTimer flixel.util.FlxTimer.FlxTimerManager * Just an internal helper to deal with the deprecation of `haxe.Utf8` - not considered public API. * Todo: Remove and use Unicode strings hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide <_new public="1" get="inline" set="null" line="36" static="1"> { s : "" } hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <_new public="1" get="inline" set="null" line="36" static="1"> { s : "" } hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.util.FlxUnicodeUtil flixel.util.FlxUnicodeUtil.UnicodeBuffer flixel.util.FlxUnicodeUtil.UnicodeBuffer flixel.util.FlxUnicodeUtil.UnicodeBuffer_HSC
      hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * The minimum value of this property. * The maximum value of this property. true * A flag that can be used to toggle the use of this property. * Handy function to set the minimum and maximum values of this Bounds object in one line. * * @param min The new minimum value of the property. * @param max The new maximum value of the property. Optional, will be set equal to min if ignored. * @return This Bounds instance (nice for chaining stuff together). * Function to compare this FlxBounds to another. * * @param OtherFlxBounds The other FlxBounds to compare to this one. * @return True if the FlxBounds have the same min and max value, false otherwise. * Convert object to readable string name. Useful for debugging, save games, etc. (0, 0)`; * * @param min The minimum value of the property. * @param max The maximum value of the property. Optional, will be set equal to min if ignored.]]> * Helper object for holding minimum and maximum values of various properties. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * The beginning X and Y values of this property. * The ending X and Y values of this property. true * A flag that can be used to toggle the use of this property. * Handy function to set the the beginning and ending range of values for a FlxPoint in one line. * * @param startMinX The minimum possible initial value of X for this property for particles launched from this emitter. * @param startMinY The minimum possible initial value of Y for this property for particles launched from this emitter. Optional, will be set equal to startMinX if ignored. * @param startMaxX The maximum possible initial value of X for this property for particles launched from this emitter. Optional, will be set equal to startMinX if ignored. * @param startMaxY The maximum possible initial value of Y for this property for particles launched from this emitter. Optional, will be set equal to startMinY if ignored. * @param endMinX The minimum possible final value of X for this property for particles launched from this emitter. Optional, will be set equal to startMinX if ignored. * @param endMinY The minimum possible final value of Y for this property for particles launched from this emitter. Optional, will be set equal to startMinY if ignored. * @param endMaxX The maximum possible final value of X for this property for particles launched from this emitter. Optional, will be set equal to endMinX if ignored. * @param endMaxY The maximum possible final value of Y for this property for particles launched from this emitter. Optional, will be set equal to endMinY if ignored. * @return This FlxPointRangeBounds instance (nice for chaining stuff together). * Function to compare this FlxPointRangeBounds to another. * * @param OtherFlxPointRangeBounds The other FlxPointRangeBounds to compare to this one. * @return True if the FlxPointRangeBounds have the same min and max value, false otherwise. * Convert object to readable string name. Useful for debugging, save games, etc. * Create a new FlxPointRangeBounds object. * * @param startMinX The minimum possible initial value of X for this property for particles launched from this emitter. * @param startMinY The minimum possible initial value of Y for this property for particles launched from this emitter. Optional, will be set equal to startMinX if ignored. * @param startMaxX The maximum possible initial value of X for this property for particles launched from this emitter. Optional, will be set equal to startMinX if ignored. * @param startMaxY The maximum possible initial value of Y for this property for particles launched from this emitter. Optional, will be set equal to startMinY if ignored. * @param endMinX The minimum possible final value of X for this property for particles launched from this emitter. Optional, will be set equal to startMinX if ignored. * @param endMinY The minimum possible final value of Y for this property for particles launched from this emitter. Optional, will be set equal to startMinY if ignored. * @param endMaxX The maximum possible final value of X for this property for particles launched from this emitter. Optional, will be set equal to endMinX if ignored. * @param endMaxY The maximum possible final value of Y for this property for particles launched from this emitter. Optional, will be set equal to endMinY if ignored. * @return This FlxPointRangeBounds instance (nice for chaining stuff together). > but this allows a more practical use of set().]]> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Handy function to set the the beginning and ending range of values for a FlxPoint in one line. * * @param startMinX The minimum possible initial value of X for this property for particles launched from this emitter. * @param startMinY The minimum possible initial value of Y for this property for particles launched from this emitter. Optional, will be set equal to startMinX if ignored. * @param startMaxX The maximum possible initial value of X for this property for particles launched from this emitter. Optional, will be set equal to startMinX if ignored. * @param startMaxY The maximum possible initial value of Y for this property for particles launched from this emitter. Optional, will be set equal to startMinY if ignored. * @param endMinX The minimum possible final value of X for this property for particles launched from this emitter. Optional, will be set equal to startMinX if ignored. * @param endMinY The minimum possible final value of Y for this property for particles launched from this emitter. Optional, will be set equal to startMinY if ignored. * @param endMaxX The maximum possible final value of X for this property for particles launched from this emitter. Optional, will be set equal to endMinX if ignored. * @param endMaxY The maximum possible final value of Y for this property for particles launched from this emitter. Optional, will be set equal to endMinY if ignored. * @return This FlxPointRangeBounds instance (nice for chaining stuff together). <_HX_SUPER__set public="1" set="method" line="148"> * Convert object to readable string name. Useful for debugging, save games, etc. <_HX_SUPER__toString public="1" set="method" line="148"> <_HX_SUPER__destroy public="1" set="method" line="31"> <__interp> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hide flixel.util.helpers.FlxPointRangeBounds * The beginning value of this property. * The ending value of this property. true * A flag that can be used to toggle the use of this property. * Handy function to set the initial and final values of this Range object in one line. * * @param start The new beginning value of the property. * @param end The new final value of the property. Optional, will be set equal to start if ignored. * @return This Range instance (nice for chaining stuff together). * Function to compare this FlxRange to another. * * @param OtherFlxRange The other FlxRange to compare to this one. * @return True if the FlxRanges have the same start and end value, false otherwise. * Convert object to readable string name. Useful for debugging, save games, etc. (0, 0); * * @param start The beginning value of the property. * @param end The ending value of the property. Optional, will be set equal to start if ignored.]]> * Helper object for holding beginning and ending values of various properties. hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * The beginning minimum and maximum values of this property. * The ending minimum and maximum values of this property. true * A flag that can be used to toggle the use of this property. * Handy function to set the the beginning and ending range of values for an emitter property in one line. * * @param startMin The minimum possible initial value of this property for particles launched from this emitter. * @param startMax The maximum possible initial value of this property for particles launched from this emitter. Optional, will be set equal to startMin if ignored. * @param endMin The minimum possible final value of this property for particles launched from this emitter. Optional, will be set equal to startMin if ignored. * @param endMax The maximum possible final value of this property for particles launched from this emitter. Optional, will be set equal to startMax if ignored. * @return This RangeBounds instance (nice for chaining stuff together). * Function to compare this FlxRangeBounds to another. * * @param OtherFlxRangeBounds The other FlxRangeBounds to compare to this one. * @return True if the FlxRangeBounds have the same min and max value, false otherwise. * Convert object to readable string name. Useful for debugging, save games, etc. (0, 0, 0, 0); * * @param startMin The minimum possible initial value of this property for particles launched from this emitter. * @param startMax The maximum possible initial value of this property for particles launched from this emitter. Optional, will be set equal to startMin if ignored. * @param endMin The minimum possible final value of this property for particles launched from this emitter. Optional, will be set equal to startMin if ignored. * @param endMax The maximum possible final value of this property for particles launched from this emitter. Optional, will be set equal to startMax if ignored. * @return This RangeBounds instance (nice for chaining stuff together).]]> > but this allows a more practical use of set().]]> hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Useful to limit a Dynamic function argument's type to the specified * type parameters. This does NOT make the use of Dynamic type-safe in * any way (the underlying type is still Dynamic and Std.is() checks + * casts are necessary). hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Useful to limit a Dynamic function argument's type to the specified * type parameters. This does NOT make the use of Dynamic type-safe in * any way (the underlying type is still Dynamic and Std.is() checks + * casts are necessary). hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() * Useful to limit a Dynamic function argument's type to the specified * type parameters. This does NOT make the use of Dynamic type-safe in * any way (the underlying type is still Dynamic and Std.is() checks + * casts are necessary). hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() hscript.UsingHandler.build() hscript.ClassExtendMacro.build() <__3DIDS expr="0" line="32" static="1"> 0 [] { smoothTexture : true } <__cur3DStageID> <_loaders expr="[]"> [] { DefaultZoom : 1, Height : 0, Width : 0, Y : 0, X : 0 } * Returns the total amount of 3D stages (not excluding the ones in use) * @return Int * Returns if a Stage3D is available * @return Bool * Calls dispose() (destroy) on a Away3D asset * @param obj * @return null * @author lunarclient * @see https://twitter.com/lunarcleint * * Help from Ne_Eo * @see https://twitter.com/Ne_Eo_Twitch * Disposes (destroys) the asset and returns null * @param obj * @return T null * The Away3D View true * Set this flag to true to force the View3D to update during the `draw()` call. * Disposes of all the Away3D assets associated with the FlxView3D { height : -1, width : -1, y : 0, x : 0 } * Creates a new instance of a View3D from Away3D and renders it as a FlxSprite * ! Call Flx3DUtil.is3DAvailable(); to make sure a 3D stage is usable * @param x * @param y * @param width Leave as -1 for screen width * @param height Leave as -1 for screen height * @author Ne_Eo * @see https://twitter.com/Ne_Eo_Twitch * * @author lunarcleint * @see https://twitter.com/lunarcleint <__3DIDS expr="0" line="32" static="1"> 0 [] { smoothTexture : true } { smoothTexture : true } <__cur3DStageID> <_loaders expr="[]"> [] { height : -1, width : -1, y : 0, x : 0 } new FlxMatrix() <_skewMatrix expr="new FlxMatrix()" line="276" static="1"> new FlxMatrix() false <_pivot> * the function `draw()` renders the symbol that `anim` has currently plus a pivot that you can toggle on or off. { mainSymbol : false } * This basically renders an element of any kind, both limbs and symbols. * It should be considered as the main function that makes rendering a symbol possible. false FlxPoint.get() new Matrix() * Tranformation matrix for this sprite. * Used only when matrixExposed is set to true false * Bool flag showing whether transformMatrix is used for rendering or not. * False by default, which means that transformMatrix isn't used for rendering { Y : 0, X : 0 } * # Description * `FlxAnimate` is a texture atlas parser from the drawing software *Adobe Animate* (once being *Adobe Flash*). * It tries to replicate how Adobe Animate works on Haxe so it would be considered (as *MrCheemsAndFriends* likes to call it,) a "*Flash--*", in other words, a replica of Animate's work * on the side of drawing, making symbols, etc. * ## WARNINGS * - This does **NOT** convert the frames into a spritesheet * - Since this is some sort of beta, expect that there could be some inconveniences (bugs, crashes, etc). * * @param X The initial X position of the sprite. * @param Y The initial Y position of the sprite. * @param Path The path to the texture atlas, **NOT** the path of the any of the files inside the texture atlas (`Animation.json`, `spritemap.json`, etc). * @param Settings Optional settings for the animation (antialiasing, framerate, reversed, etc.). * The callback function to call when this even fires. * The sound to play when this event fires. * Cleans up memory. * Fires this event (calls the callback and plays the sound) * @param Callback The callback function to call when this even fires. * @param sound The sound to play when this event fires. false Checks if the movieclip should move or not. for having a similar experience to swfs new Map() * When ever the animation is playing. * Internal, used for each skip between frames. new Map() * Internal, the parsed loop type <_parent> <_tick> <_loadAtlas set="method" line="89"> flxanimate.FlxAnimate { Frame : 0, Reverse : false, Force : false, Name : "" } { Y : 0, X : 0, Looped : true, FrameRate : 0 } * Creates an animation using an already made symbol from a texture atlas * @param Name The name of the animation * @param SymbolName the name of the symbol you're looking. if you have two symbols beginning by the same name, use `\` at the end to differ one symbol from another * @param X the *x* axis of the animation. * @param Y the *y* axis of the animation. * @param FrameRate the framerate of the animation. { FrameRate : 0 } * Creates an animation using the indices, looking as a reference the main animation of the texture atlas. * @param Name The name of the animation you're creating * @param Indices The indices you're gonna be using for the animation, like `[0,1,2]`. * @param FrameRate the framerate of the animation. { Y : 0, X : 0, Looped : true, FrameRate : 0 } { Looped : true, FrameRate : 0 } * This adds a new animation by adding a custom timeline, obviously taking as a reference the timeline syntax! * **WARNING**: I, *CheemsAndFriends*, do **NOT** recommend this unless you're using an extern json file to do this! * if you wanna make a custom symbol to play around and is separated from the texture atlas, go ahead! but if you wanna just make a new symbol, * just do it in Flash directly * @param Name The name of the new Symbol. * @param Timeline The timeline which will have the symbol. * @param FrameRate The framerate it'll go, by default is 30. * Redirects the frame into a frame with a frame label of that type. * @param name the name of the label. * Checks the next frame label name you're looking for. * **WARNING: DO NOT** confuse with `anim.curSymbol.getNextToFrameLabel`!! * @param name the name of the frame label. * @return A `String`. WARNING: it can be `null` * Links a callback into a label. * @param label the name of the label. * @param callback the callback you're going to add { frame : null } * The frame rate the animation was exported in the texture atlas in the beginning. * This class shows what framerate the animation was initially set. ["m00", "m01", "m10", "m11", "m30", "m31"] <_parent> flxanimate.animate.FlxKeyFrame * All the other parameters that are exclusive to the symbol (instance, type, symbol name, etc.) * The name of the frame itself. * The matrix that the symbol or bitmap has. * Creates a new `FlxElement` instance. * @param name the name of the element. `WARNING:` this name is dynamic, in other words, this name can used for the limb or the symbol! * @param symbol the symbol settings, ignore this if you want to add a limb. * @param matrix the matrix of the element. flxanimate.animate.FlxSymbol flxanimate.FlxAnimate <_parent> flxanimate.animate.FlxLayer <_elements set="null"> flxanimate.FlxAnimate <_colorEffect get="accessor" set="null"> flxanimate.FlxAnimate { duration : 1 } flxanimate.animate.FlxSymbol <_parent set="accessor"> flxanimate.animate.FlxTimeline <_labels> flxanimate.animate.FlxKeyFrame <_keyframes set="null"> { name : "" } "" <_curFrame> flxanimate.animate.FlxAnim <_shootCallback> flxanimate.FlxAnimate <_tick> flxanimate.FlxAnimate { layer : null } { layer : null } { layer : null } { frame : null } * Gets an element through a specific index from a frame. * @param index The element index. * @param frame The keyframe the element is located. If set to `null`, it will take `curFrame` as a reference. * @return an `FlxElement` instance. { layer : null } { layer : null, frame : null } * Gets an element with a name * @param name this can be either the name of the symbol or the instance. * @param frame The keyframe the element is located. If set to `null`, it will take `curFrame` as a reference. * @param layer Which layer it should take as a reference. if set to `null`, it'll take every layer available. * @return an `FlxElement` instance. { frame : null } { frame : null } flxanimate.animate.FlxAnim <_layers> flxanimate.FlxAnimate { position : 0 } <_colorEffect get="accessor" set="null"> flxanimate.FlxAnimate flxanimate.animate.FlxAnim { loop : Loop, type : Graphic, instance : "", name : null } { effect : null } { filters : null } { colorEffect : None } cast "G" cast "MC" null * Parses the spritemaps into small sprites to use in the animation. * * @param Path Where the Sprites are, normally you use it once when calling FlxAnimate already * @return new sliced limbs for you to use ;) * Sparrow spritesheet format parser with support of both of the versions and making the image completely optional to you. * @param Path The direction of the Xml you want to parse. * @param Image (Optional) the image of the Xml. * @return A new instance of `FlxAtlasFrames` * * @param Path the Json in specific, can be the path of it or the actual json * @param Image the image which the file is referencing **WARNING:** if you set the path as a json, it's obligatory to set the image! * @return A new instance of `FlxAtlasFrames` * Edge Animate * @param Path the Path of the .eas * @param Image (Optional) the Image * @return Cute little Frames to use ;) * Starling spritesheet format parser which uses a preference list from Mac computer shit * @param Path the dir of the preference list * @param Image (Optional) the Image * @return Some recently cooked Frames for you ;) * Cocos2D spritesheet format parser, which basically has 2 versions, * One is basically Starling (2v) and the other one which is a more fucky and weird (3v) * @param Path the Path of the plist * @param Image (Optional) the image * @return Recently made Frames for your dispose ;) * EaselJS spritesheet format parser, pretty weird stuff. * @param Path The Path of the jsFile * @param Image (optional) the Path of the image * @return New frames made for you to use ;) { padding : 0 } <_dateRegex expr="~/(\d{4}-\d{2}-\d{2})(?:T(\d{2}:\d{2}:\d{2})Z)?/" line="536" static="1"> ~/(\d{4}-\d{2}-\d{2})(?:T(\d{2}:\d{2}:\d{2})Z)?/ * Parse an Apple property list XML file into a dynamic object. If * the property list is empty, an empty object will be returned. * @param text Text contents of the property list file. { preShift : 0, signExtend : false } { shiftLeft : false } Returns the PNG header informations. Throws an exception if no header found. Return the PNG palette colors, or null if no palette chunk was found { numChannels : 4 } Converts from BGRA to ARGB and the other way by reversing bytes. Decode the greyscale PNG data and apply filters, extracting only the grey channel if alpha is present. Decode the PNG data and apply filters. By default this will output BGRA low-endian format. You can use the [reverseBytes] function to inverse the bytes to ARGB big-endian format. { level : 9 } Creates PNG data from bytes that contains one bytes (grey values) for each pixel. { level : 9 } Creates PNG data from bytes that contains a one byte palette index for each pixel and a separate palette with 3 RGB bytes per color. { level : 9 } Creates PNG data from bytes that contains three bytes (R,G and B values) for each pixel. { level : 9 } Creates PNG data from bytes that contains four bytes in ARGB format for each pixel. { level : 9 } Creates PNG data from bytes that contains four bytes in BGRA format for each pixel. { level : 9 } hscript.ClassExtendMacro.build() hscript.ClassExtendMacro.build() hscript.ClassExtendMacro.build() <__interp> hscript.ClassExtendMacro.build() hide funkin.chart.BaseGameParser funkin.chart.BaseGameParser.SwagSong funkin.chart.BaseGameParser.SwagSection 0xFF9271FD * Default background colors for songs without bg color { fromMods : true, difficulty : "normal" } { difficulty : "normal" } { difficulty : "normal" } * Saves the chart to the specific song folder path. * @param songFolderPath Path to the song folder (ex: `mods/your mod/songs/song/`) * @param chart Chart to save * @param difficulty Name of the difficulty * @param saveSettings * @return Filtered chart used for saving. hscript.ClassExtendMacro.build() hscript.ClassExtendMacro.build() hscript.ClassExtendMacro.build() hscript.ClassExtendMacro.build() hscript.ClassExtendMacro.build() hscript.ClassExtendMacro.build() hscript.ClassExtendMacro.build() hscript.ClassExtendMacro.build() cast 0 * STRUMLINE IS MARKED AS OPPONENT - WILL BE PLAYED BY CPU, OR PLAYED BY PLAYER IF OPPONENT MODE IS ON cast 1 * STRUMLINE IS MARKED AS PLAYER - WILL BE PLAYED AS PLAYER, OR PLAYED AS CPU IF OPPONENT MODE IS ON cast 2 * STRUMLINE IS MARKED AS ADDITIONAL - WILL BE PLAYED AS CPU EVEN IF OPPONENT MODE IS ENABLED hscript.ClassExtendMacro.build() cast 0 * STRUMLINE IS MARKED AS OPPONENT - WILL BE PLAYED BY CPU, OR PLAYED BY PLAYER IF OPPONENT MODE IS ON cast 1 * STRUMLINE IS MARKED AS PLAYER - WILL BE PLAYED AS PLAYER, OR PLAYED AS CPU IF OPPONENT MODE IS ON cast 2 * STRUMLINE IS MARKED AS ADDITIONAL - WILL BE PLAYED AS CPU EVEN IF OPPONENT MODE IS ENABLED hscript.ClassExtendMacro.build() hscript.ClassExtendMacro.build() cast -1 * CUSTOM EVENT * Params: * - Function Name (String) * - Function Parameters... cast 0 * NO EVENT, MADE FOR UNKNOWN EVENTS / EVENTS THAT CANNOT BE PARSED cast 1 * CAMERA MOVEMENT EVENT * Params: * - Target Strumline ID (Int) cast 2 * BPM CHANGE EVENT * Params: * - Target BPM (Float) cast 3 * ALT ANIM TOGGLE * Params: * - Strum Line which is going to be toggled (Int) * - Whenever its going to be toggled or not (Bool) hscript.ClassExtendMacro.build() cast -1 * CUSTOM EVENT * Params: * - Function Name (String) * - Function Parameters... cast 0 * NO EVENT, MADE FOR UNKNOWN EVENTS / EVENTS THAT CANNOT BE PARSED cast 1 * CAMERA MOVEMENT EVENT * Params: * - Target Strumline ID (Int) cast 2 * BPM CHANGE EVENT * Params: * - Target BPM (Float) cast 3 * ALT ANIM TOGGLE * Params: * - Strum Line which is going to be toggled (Int) * - Whenever its going to be toggled or not (Bool) hscript.ClassExtendMacro.build() <__interp> hscript.ClassExtendMacro.build() hide funkin.chart.Chart funkin.chart.Chart.ChartSaveSettings hscript.ClassExtendMacro.build() 0 0 * Current step * Current beat * Current beat * Current step, as a `Float` (ex: 4.94, instead of 4) * Current beat, as a `Float` (ex: 1.24, instead of 1) * Current beat, as a `Float` (ex: 1.24, instead of 1) * Current song position (in milliseconds). * Current injected script attached to the state. To add one, create a file at path "data/states/stateName" (ex: "data/states/PauseMenuSubstate.hx") true null * Game Controls. (All players / Solo) * Game Controls (Player 1 only) * Game Controls (Player 2 only) hide hide hide { fpsSensitive : false } * Shortcut to `FlxMath.lerp` or `CoolUtil.lerp`, depending on `fpsSensitive` * @param v1 Value 1 * @param v2 Value 2 * @param ratio Ratio * @param fpsSensitive Whenever the ratio should not be adjusted to run at the same speed independent of framerate. * SCRIPTING STUFF { scriptsAllowed : true } hscript.ClassExtendMacro.build() <__callback> PlayState.instance * Substate made for cutscenes. hscript.ClassExtendMacro.build() <_HX_SUPER__update public="1" set="method" line="148"> <_HX_SUPER__close public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.cutscenes.Cutscene [] [] null * Substate made for dialogue cutscenes. To use it in a scripted cutscene, call `startDialogue`. hscript.ClassExtendMacro.build() hscript.ClassExtendMacro.build() <_HX_SUPER__create public="1" set="method" line="148"> <_HX_SUPER__update public="1" set="method" line="148"> <_HX_SUPER__next public="1" set="method" line="148"> <_HX_SUPER__destroy public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.cutscenes.DialogueCutscene funkin.cutscenes.DialogueCutscene.DialogueLine null null true { midSong : false, isFullscreen : false, isWindow : false, outputTo : null, repeat : false } hscript.ClassExtendMacro.build() { midSong : false, isFullscreen : false, isWindow : false, outputTo : null, repeat : false } <_HX_SUPER__playMP4 public="1" set="method" line="30"> { midSong : false, isFullscreen : false, isWindow : false, outputTo : null, repeat : false } <_HX_SUPER__checkFile set="method" line="148"> <_HX_SUPER__onVLCVideoReady set="method" line="148"> <_HX_SUPER__onVLCComplete public="1" set="method" line="148"> <_HX_SUPER__kill public="1" set="method" line="148"> <_HX_SUPER__onVLCError set="method" line="148"> <_HX_SUPER__update set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.cutscenes.MP4Handler * Substate made for scripted cutscenes. * To add cutscenes to your songs, add a `cutscene.hx` file in your song's directory (ex: `songs/song/cutscene.hx`) hscript.ClassExtendMacro.build() <_HX_SUPER__create public="1" set="method" line="148"> <_HX_SUPER__update public="1" set="method" line="148"> <_HX_SUPER__beatHit public="1" set="method" line="148"> <_HX_SUPER__stepHit public="1" set="method" line="148"> <_HX_SUPER__destroy public="1" set="method" line="148"> <_HX_SUPER__startVideo public="1" set="method" line="148"> <_HX_SUPER__startDialogue public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.cutscenes.ScriptedCutscene * Substate made for video cutscenes. To use it in a scripted cutscene, call `startVideo`. hscript.ClassExtendMacro.build() <_HX_SUPER__create public="1" set="method" line="148"> <_HX_SUPER__update public="1" set="method" line="148"> <_HX_SUPER__destroy public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.cutscenes.VideoCutscene { y : 0, x : 0 } hscript.ClassExtendMacro.build() NONE [] 1 1 { Key : null, Unique : false } <__shouldDoScaleProcedure get="inline" set="null" line="168"> <__oldScale> <__skipZoomProcedure expr="false"> false <__doPreZoomScaleProcedure set="method" line="173"> <__doPostZoomScaleProcedure set="method" line="182"> ()]]> { y : 0, x : 0 } DANCE { Frame : 0, Reversed : false, Context : NONE, Force : false } hscript.ClassExtendMacro.build() [] Paths.sound("dialogue/text") Paths.sound("dialogue/next") <__nextText> <__speed> { speed : 0.05 } { speed : 0.02 } hscript.ClassExtendMacro.build() hscript.ClassExtendMacro.build() <_HX_SUPER__popupChar public="1" set="method" line="148"> { speed : 0.05 } <_HX_SUPER__playBubbleAnim public="1" set="method" line="148"> { speed : 0.05 } { speed : 0.02 } <_HX_SUPER__setText public="1" set="method" line="148"> { speed : 0.02 } <_HX_SUPER__update public="1" set="method" line="148"> <_HX_SUPER__destroy public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.cutscenes.dialogue.DialogueBox funkin.cutscenes.dialogue.DialogueBox.CharPosDef NONE hscript.ClassExtendMacro.build() hscript.ClassExtendMacro.build() cast -1 cast 0 cast 1 hscript.ClassExtendMacro.build() cast -1 cast 0 cast 1 hscript.ClassExtendMacro.build() <_HX_SUPER__show public="1" set="method" line="148"> <_HX_SUPER__hide public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.cutscenes.dialogue.DialogueCharacter funkin.cutscenes.dialogue.DialogueCharacter.DialogueCharTweenContext funkin.cutscenes.dialogue.DialogueCharacter.DialogueCharTweenContext 0 0 new GraphicCacheSprite() * Dummy sprite used to cache graphics to GPU. false * Whenever the Conductor auto update should be enabled or not. * Current step * Current beat * Current beat * Current step, as a `Float` (ex: 4.94, instead of 4) * Current beat, as a `Float` (ex: 1.24, instead of 1) * Current beat, as a `Float` (ex: 1.24, instead of 1) * Current song position (in milliseconds). * Game Controls. (All players / Solo) * Game Controls (Player 1 only) * Game Controls (Player 2 only) * Current injected script attached to the state. To add one, create a file at path "data/states/stateName" (ex: data/states/FreeplayState) true null hide hide hide { fpsSensitive : false } * Shortcut to `FlxMath.lerp` or `CoolUtil.lerp`, depending on `fpsSensitive` * @param v1 Value 1 * @param v2 Value 2 * @param ratio Ratio * @param fpsSensitive Whenever the ratio should not be adjusted to run at the same speed independent of framerate. * SCRIPTING STUFF { scriptsAllowed : true } hscript.ClassExtendMacro.build()
      Type.getClass(FlxG.state) hscript.ClassExtendMacro.build()
      hscript.ClassExtendMacro.build() 120 0 0 <__firstFrame expr="true"> true hscript.ClassExtendMacro.build() hscript.ClassExtendMacro.build() <_HX_SUPER__create public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.editors.DebugOptions funkin.editors.DebugOptions.DebugOptionsScreen <__interp> hscript.ClassExtendMacro.build() hide funkin.editors.DebugOptions funkin.editors.DebugOptions.DebugOptionsScreen [{ name : "Chart Editor", iconID : 0, state : funkin.editors.charter.CharterSelection }, { name : "Character Editor", iconID : 1, state : null }, { name : "Stage Editor", iconID : 2, state : null }, { name : "UI Debug State", iconID : 3, state : UIDebugState }, { name : "Debug Options", iconID : 4, state : DebugOptions }] [] 0 FlxPoint.get() FlxPoint.get() 0 false 0 hscript.ClassExtendMacro.build() hscript.ClassExtendMacro.build() false 0 0 hscript.ClassExtendMacro.build() <_HX_SUPER__create public="1" set="method" line="148"> <_HX_SUPER__update public="1" set="method" line="148"> <_HX_SUPER__changeSelection public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.editors.EditorPicker funkin.editors.EditorPicker.Editor funkin.editors.EditorPicker.EditorPickerOption <_HX_SUPER__update public="1" set="method" line="148"> <_HX_SUPER__destroy public="1" set="method" line="148"> <_HX_SUPER__flicker public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.editors.EditorPicker funkin.editors.EditorPicker.Editor funkin.editors.EditorPicker.EditorPickerOption "default" hscript.ClassExtendMacro.build() <_HX_SUPER__create public="1" set="method" line="148"> <_HX_SUPER__exit public="1" set="method" line="148"> <_HX_SUPER__update public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.editors.EditorTreeMenu null null null <__rect> <__mousePos> hscript.ClassExtendMacro.build() hscript.ClassExtendMacro.build() <_HX_SUPER__create public="1" set="method" line="148"> <_HX_SUPER__update public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.editors.UIDebugState <__song> <__diff> ()]]> 0xFF272727 0xFF545454 [] * ACTUAL CHART DATA new CharterNoteGroup() * CAMERAS [] [] [] false * NOTE AND CHARTER GRID LOGIC HERE new FlxPoint() <_edit_undo set="method" line="414"> <_playback_play set="method" line="441"> <_edit_redo set="method" line="452"> <_playback_metronome set="method" line="476"> <_playback_muteinst set="method" line="479"> <_playback_mutevoices set="method" line="483"> <__crochet> 0 <__camZoom expr="1"> 1 <_file_exit set="method" line="540"> <_edit_delete set="method" line="543"> <_playback_back set="method" line="547"> <_playback_forward set="method" line="551"> <_playback_start set="method" line="555"> <_playback_end set="method" line="559"> <_chart_zoomin set="method" line="563"> <_chart_zoomout set="method" line="567"> <_chart_zoomreset set="method" line="571"> hscript.ClassExtendMacro.build() hscript.ClassExtendMacro.build() hscript.ClassExtendMacro.build() 1 hscript.ClassExtendMacro.build() [] <__lastDrawCameras expr="[]"> [] <__rect expr="new FlxRect()"> new FlxRect() <__oldDefCams> false false false null ARROW * Called whenever the sprite is being hovered by the mouse. hscript.ClassExtendMacro.build() funkin.editors.ui.UIState funkin.editors.ui.UIUtil hscript.ClassExtendMacro.build() <_HX_SUPER__draw public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.editors.charter.CharterBackdrop funkin.editors.charter.CharterBackdrop.CharterBackdropDummy <_HX_SUPER__updateButton public="1" set="method" line="148"> <_HX_SUPER__draw public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.editors.charter.CharterBackdrop funkin.editors.charter.CharterBackdrop.CharterBackdropDummy false { type : 0, susLength : 0 } <__passed expr="false"> false hscript.ClassExtendMacro.build() <__loopSprite> 0 0 <__currentlyLooping expr="false"> false { recursive : false } hscript.ClassExtendMacro.build() { recursive : false } <_HX_SUPER__forEach public="1" set="method" line="148"> { recursive : false } <_HX_SUPER__draw public="1" set="method" line="148"> <_HX_SUPER__update public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.editors.charter.CharterNoteGroup <_HX_SUPER__updateButton public="1" set="method" line="148"> { type : 0, susLength : 0 } <_HX_SUPER__updatePos public="1" set="method" line="148"> { type : 0, susLength : 0 } <_HX_SUPER__kill public="1" set="method" line="148"> <_HX_SUPER__update public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.editors.charter.CharterNote hscript.ClassExtendMacro.build() <_HX_SUPER__create public="1" set="method" line="148"> <_HX_SUPER__update public="1" set="method" line="148"> <_HX_SUPER__onMenuChange public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.editors.charter.CharterSelection <_HX_SUPER__get_chart set="method" line="148"> <_HX_SUPER__create public="1" set="method" line="148"> <_HX_SUPER__loadSong public="1" set="method" line="148"> <_HX_SUPER__beatHit public="1" set="method" line="148"> <_HX_SUPER__updateNoteLogic public="1" set="method" line="148"> <_HX_SUPER__deleteNote public="1" set="method" line="148"> <_HX_SUPER__deleteNotes public="1" set="method" line="148"> <_edit_undo set="method" line="74" override="1"> <_HX_SUPER___edit_undo set="method" line="148"> <_playback_play set="method" line="74" override="1"> <_HX_SUPER___playback_play set="method" line="148"> <_edit_redo set="method" line="74" override="1"> <_HX_SUPER___edit_redo set="method" line="148"> <_playback_metronome set="method" line="74" override="1"> <_HX_SUPER___playback_metronome set="method" line="148"> <_playback_muteinst set="method" line="74" override="1"> <_HX_SUPER___playback_muteinst set="method" line="148"> <_playback_mutevoices set="method" line="74" override="1"> <_HX_SUPER___playback_mutevoices set="method" line="148"> <_HX_SUPER__update public="1" set="method" line="148"> <_file_exit set="method" line="74" override="1"> <_HX_SUPER___file_exit set="method" line="148"> <_edit_delete set="method" line="74" override="1"> <_HX_SUPER___edit_delete set="method" line="148"> <_playback_back set="method" line="74" override="1"> <_HX_SUPER___playback_back set="method" line="148"> <_playback_forward set="method" line="74" override="1"> <_HX_SUPER___playback_forward set="method" line="148"> <_playback_start set="method" line="74" override="1"> <_HX_SUPER___playback_start set="method" line="148"> <_playback_end set="method" line="74" override="1"> <_HX_SUPER___playback_end set="method" line="148"> <_chart_zoomin set="method" line="74" override="1"> <_HX_SUPER___chart_zoomin set="method" line="148"> <_chart_zoomout set="method" line="74" override="1"> <_HX_SUPER___chart_zoomout set="method" line="148"> <_chart_zoomreset set="method" line="74" override="1"> <_HX_SUPER___chart_zoomreset set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.editors.charter.Charter funkin.editors.charter.Charter.CharterChange funkin.editors.charter.Charter.CharterStrumline 120 20 0 false <__setSize set="method" line="116"> hscript.ClassExtendMacro.build() null { h : 32, w : 120 } hscript.ClassExtendMacro.build() <_HX_SUPER__resize public="1" set="method" line="148"> <_HX_SUPER__onHovered public="1" set="method" line="148"> <_HX_SUPER__update public="1" set="method" line="148"> <_HX_SUPER__draw public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.editors.ui.UIButton false null { w : 0, checked : false } hscript.ClassExtendMacro.build() <_HX_SUPER__update public="1" set="method" line="148"> <_HX_SUPER__draw public="1" set="method" line="148"> <_HX_SUPER__onHovered public="1" set="method" line="148"> <_HX_SUPER__updateButton public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.editors.ui.UICheckbox [] [] <__oobDeletion expr="true"> true hscript.ClassExtendMacro.build() hscript.ClassExtendMacro.build() hscript.ClassExtendMacro.build() hscript.ClassExtendMacro.build() <_HX_SUPER__create public="1" set="method" line="148"> <_HX_SUPER__select public="1" set="method" line="148"> <_HX_SUPER__update public="1" set="method" line="148"> <_HX_SUPER__destroy public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.editors.ui.UIContextMenu funkin.editors.ui.UIContextMenu.UIContextMenuCallback funkin.editors.ui.UIContextMenu.UIContextMenuOption funkin.editors.ui.UIContextMenu.UIContextMenuOptionSpr <_HX_SUPER__draw public="1" set="method" line="148"> <_HX_SUPER__onHovered public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.editors.ui.UIContextMenu funkin.editors.ui.UIContextMenu.UIContextMenuCallback funkin.editors.ui.UIContextMenu.UIContextMenuOption funkin.editors.ui.UIContextMenu.UIContextMenuOptionSpr <_HX_SUPER__updateButton public="1" set="method" line="148"> <_HX_SUPER__resize public="1" set="method" line="148"> <_HX_SUPER__draw public="1" set="method" line="148"> <__setSize set="method" line="74" override="1"> <_HX_SUPER____setSize set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.editors.ui.UISliceSprite <_HX_SUPER__update public="1" set="method" line="148"> <_HX_SUPER__draw public="1" set="method" line="148"> <_HX_SUPER__drawSuper public="1" set="method" line="148"> <_HX_SUPER__drawMembers public="1" set="method" line="148"> <_HX_SUPER__destroy public="1" set="method" line="148"> <_HX_SUPER__updateButton public="1" set="method" line="148"> * Called whenever the sprite is being hovered by the mouse. <_HX_SUPER__onHovered public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.editors.ui.UISprite <_HX_SUPER__create public="1" set="method" line="148"> <_HX_SUPER__updateButtonHandler public="1" set="method" line="148"> <_HX_SUPER__updateRectButtonHandler public="1" set="method" line="148"> <_HX_SUPER__tryUpdate public="1" set="method" line="148"> <_HX_SUPER__destroy public="1" set="method" line="148"> <_HX_SUPER__openContextMenu public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.editors.ui.UIState { Border : true, Size : 16, FieldWidth : 0, Y : 0, X : 0 } hscript.ClassExtendMacro.build() { color : 0xFFFFFFFF, size : 15 } hscript.ClassExtendMacro.build() <__interp> hscript.ClassExtendMacro.build() hide funkin.editors.ui.UIText false hscript.ClassExtendMacro.build() null hscript.ClassExtendMacro.build() <_HX_SUPER__update public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.editors.ui.UITopMenu funkin.editors.ui.UITopMenu.UITopMenuButton <_HX_SUPER__update public="1" set="method" line="148"> <_HX_SUPER__onHovered public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.editors.ui.UITopMenu funkin.editors.ui.UITopMenu.UITopMenuButton { y : 0, x : 0 } `. Also checks childrens. * @param topMenuOptions]]> hscript.ClassExtendMacro.build() <__interp> hscript.ClassExtendMacro.build() hide funkin.editors.ui.UIUtil [] new CustomShader("engine/editorBlur") <c path="String"/> hscript.ClassExtendMacro.build() hscript.ClassExtendMacro.build() hscript.ClassExtendMacro.build() <_HX_SUPER__onSubstateOpen public="1" set="method" line="148"> <_HX_SUPER__create public="1" set="method" line="148"> <_HX_SUPER__destroy public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.editors.ui.UIWarningSubstate funkin.editors.ui.UIWarningSubstate.WarningCamShader funkin.editors.ui.UIWarningSubstate.WarningButton <__stunnedTime expr="0"> 0 <__lockAnimThisFrame expr="false"> false false false false false "bf" Math.NEGATIVE_INFINITY 4 false null "bf-dead" new FlxPoint(0, 0) new FlxPoint(0, 0) { Frame : 0, Reversed : false, Force : true, Context : SING, suffix : "" } <__baseFlipped expr="false"> false false false * FOR GF DANCING SHIT true * Whenever the character should dance on beat or not. Set to false for `gf`, since the dance animation is automatically handled by PlayState. 1 * Interval at which the character will dance (higher number = slower dance) <__reverseDrawProcedure expr="false"> false <__drawingShadowFrame expr="false"> false <__oldColorTransform expr="new ColorTransform()"> new ColorTransform() { Frame : 0, Reversed : false, Context : NONE, Force : false } { switchAnims : true, isPlayer : false, character : "bf" } hscript.ClassExtendMacro.build() funkin.desktop.editors.CharacterEditor funkin.game.StrumLine funkin.game.PlayState hscript.ClassExtendMacro.build() <_HX_SUPER__set_stunned set="method" line="148"> { Frame : 0, Reversed : false, Force : true, Context : SING, suffix : "" } <_HX_SUPER__playSingAnim public="1" set="method" line="148"> { Frame : 0, Reversed : false, Force : true, Context : SING, suffix : "" } <_HX_SUPER__update set="method" line="148"> * FOR GF DANCING SHIT <_HX_SUPER__dance public="1" set="method" line="148"> <_HX_SUPER__tryDance public="1" set="method" line="148"> <_HX_SUPER__beatHit public="1" set="method" line="148"> <_HX_SUPER__stepHit public="1" set="method" line="148"> <_HX_SUPER__getScreenBounds public="1" set="method" line="148"> <_HX_SUPER__draw public="1" set="method" line="148"> { Frame : 0, Reversed : false, Context : NONE, Force : false } <_HX_SUPER__playAnim public="1" set="method" line="30"> { Frame : 0, Reversed : false, Context : NONE, Force : false } <_HX_SUPER__destroy public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.game.Character funkin.game.Character.CharacterShadowFrame 0 0 false { retrySFX : "gameOverEnd", lossSFX : "gameOverSFX", gameOverSong : "gameOver", player : true, character : "bf-dead" } hscript.ClassExtendMacro.build() <_HX_SUPER__create public="1" set="method" line="148"> <_HX_SUPER__update set="method" line="148"> <_HX_SUPER__beatHit set="method" line="148"> <_HX_SUPER__endBullshit set="method" line="30"> <__interp> hscript.ClassExtendMacro.build() hide funkin.game.GameOverSubstate * Used for FreeplayState! If you use it elsewhere, prob gonna annoying 1, 20 => 0]]]> Frame Index]]> * Helper for HScript who can't make maps * @param steps Something like this: `[[0, 1], [20, 0]]` { isPlayer : false, char : "bf" } hscript.ClassExtendMacro.build() * Helper for HScript who can't make maps * @param steps Something like this: `[[0, 1], [20, 0]]` <_HX_SUPER__setHealthSteps public="1" set="method" line="148"> <_HX_SUPER__update set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.game.HealthIcon new Map() new Map() { diff : "normal" } { diff : "normal" } hscript.ClassExtendMacro.build() hscript.ClassExtendMacro.build() <__interp> hscript.ClassExtendMacro.build() hide funkin.game.Highscore funkin.game.Highscore.SongScore false { smoothing : false } hscript.ClassExtendMacro.build() <_HX_SUPER__update public="1" set="method" line="148"> { smoothing : false } <_HX_SUPER__drawPixels public="1" set="method" line="30"> { smoothing : false } <__interp> hscript.ClassExtendMacro.build() hide funkin.game.HudCamera 160 * 0.7 <__customNoteTypeExists expr="[]" line="92" static="1"> [] 0 0 false false false false * Whenever that note should be avoided by Botplay. * The note that comes before this one (sustain and not) * The note that comes after this one (sustain and not) * The next sustain after this one "default" * Name of the splash. 0 false true 0 null null <__strumCameras public="1" expr="null"> null hide <__strum public="1" expr="null"> null hide <__noteAngle public="1" expr="0"> 0 hide "" null true false true * Whenever the position of the note should be relative to the strum position or not. * For example, if this is true, a note at the position 0; 0 will be on the strum, instead of at the top left of the screen. 0.5 1 { sustainOffset : 0, sustainLength : 0, sustain : false } hscript.ClassExtendMacro.build() funkin.game.PlayState <__loopSprite> 0 <__currentlyLooping expr="false"> false { recursive : false } { recursive : false } { Splice : false } hscript.ClassExtendMacro.build() <_HX_SUPER__addNotes public="1" set="method" line="148"> <_HX_SUPER__sortNotes public="1" set="method" line="148"> <_HX_SUPER__update public="1" set="method" line="148"> <_HX_SUPER__draw public="1" set="method" line="148"> { recursive : false } <_HX_SUPER__forEach public="1" set="method" line="148"> { recursive : false } { recursive : false } <_HX_SUPER__forEachAlive public="1" set="method" line="148"> { recursive : false } { Splice : false } <_HX_SUPER__remove public="1" set="method" line="148"> { Splice : false } <__interp> hscript.ClassExtendMacro.build() hide funkin.game.NoteGroup <_HX_SUPER__set_strumLine set="method" line="148"> <_HX_SUPER__get_mustPress set="method" line="148"> <_HX_SUPER__get_strumID set="method" line="148"> <_HX_SUPER__get_noteType set="method" line="148"> <_HX_SUPER__drawComplex set="method" line="148"> <_HX_SUPER__draw set="method" line="148"> <_HX_SUPER__update set="method" line="148"> <_HX_SUPER__updateSustain public="1" set="method" line="148"> <_HX_SUPER__setClipRect public="1" set="method" line="148"> <_HX_SUPER__set_clipRect set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.game.Note null * Current PlayState instance. * SONG DATA (Chart, Metadata) false * Whenever the song is being played in Story Mode. null * The week data of the current week [] * The remaining songs in the Story Mode playlist. "normal" * The selected difficulty name false * Whenever the week is coming from the mods folder or not. false * Whenever the song has been started with opponent mode on. false // * Whenever the song has been started with co-op mode on. * Previous cam follow. 0 * Score for the current week. 6 * Zoom for the pixel assets. * Script Pack of all the scripts being ran. [] * Array of all the players in the stage. "gameOver" * Game Over Song. (assets/music/gameOver.ogg) "gameOverSFX" * Game Over Song. (assets/sounds/gameOverSFX.ogg) "gameOverEnd" * Game Over End SFX, used when retrying. (assets/sounds/gameOverEnd.ogg) * Current Stage. true * Whenever the score will save when you beat the song. * Whenever the player can die. Options.ghostTapping * Whenever Ghost Tapping is enabled. * Whenever the opponent can die. 0 * Current scroll speed for all strums. * To set a scroll speed for a specific strum, use `strum.scrollSpeed`. * Whenever the game is in downscroll or not. (Can be set) hide hide * Instrumental sound (Inst.ogg). * Vocals sound (Vocals.ogg). * Dad character * Girlfriend character * Boyfriend character * Strum line position 0 * Number of ratings. * Object defining the camera follow target. * Player strums. * CPU strums. * Shortcut to `playerStrums`. * Shortcut to `cpuStrums`. * Note splashes container true * Whenever the vocals should be muted when a note is missed. true * Whenever the player can press 7, 8 or 9 to access the debug menus. false * Whenever cam zooming is enabled, enables on a note hit if not cancelled. 4 * Interval of cam zooming (beats). * For example: if set to 4, the camera will zoom every 4 beats. 1 * How strong the cam zooms should be (defaults to 1) 1.35 * Maximum amount of zoom for the camera. "" * Current song name (lowercase) "" * Current stage name * Interval at which Girlfriend dances. 1 * Current health. Goes from 0 to maxHealth (defaults to 2) 2 * Maximum health the player can have. Defaults to 2. 0 * Current combo. !Options.ghostTapping * Whenever the misses should show "Combo Breaks" instead of "Misses" * Health bar background. * Health bar. false * Whenever the music has been generated. false * Whenever the song is currently being started. * Player's icon * Opponent's icon * Camera for the HUD (notes, misses). * Camera for the game (stages, characters) 0 * The player's current score. 0 * The player's amount of misses. * The player's accuracy (shortcut to `accuracyPressedNotes / totalAccuracyAmount`). 0 * The number of pressed notes. 0 * The total accuracy amount. * FunkinText that shows your score. * FunkinText that shows your amount of misses. * FunkinText that shows your accuracy. 1.05 * Camera zoom at which the game lerps to. false * Whenever the game is currently in a cutscene or not. isStoryMode * Whenever the game should play the cutscenes. Defaults to whenever the game is currently in Story Mode or not. null * Cutscene script path. null * End cutscene script path. * Last rating (may be null) * Timer for the start countdown [] * Remaining events 0 * Current camera target. -1 means no automatic camera targetting. 5 * Length of the intro countdown. [null, "game/ready", "game/set", "game/go"] * Array of sprites for the intro. ["intro3", "intro2", "intro1", "introGo"] * Array of sounds for the intro. false * Whenever the game is paused or not. false * Whenever the countdown has started or not. true * Whenever the game can be paused or not. new FlxTextFormat(0xFF888888, false, false, 0) * Format for the accuracy rating. false * Whenever the song is ending or not. * Group containing all of the combo sprites. [null] * Array containing all of the note types names. Options.hitWindow * Hit window, in milliseconds. Defaults to 250ms unless changed in options. * Base game hit window is 175ms. <_startCountdownCalled expr="false"> false hide <__vocalOffsetViolation expr="0"> 0 hide [new ComboRating(0, "F", 0xFFFF4444), new ComboRating(0.5, "E", 0xFFFF8844), new ComboRating(0.7, "D", 0xFFFFAA44), new ComboRating(0.8, "C", 0xFFFFFF44), new ComboRating(0.85, "B", 0xFFAAFF44), new ComboRating(0.9, "A", 0xFF88FF44), new ComboRating(0.95, "S", 0xFF44FFFF), new ComboRating(1, "S++", 0xFF44FFFF)] * All combo ratings. "" "" <__cachedGraphics expr="[]"> [] * Updates the rating. hide hide * Function used to update Discord Presence. * This function is dynamic, which means you can do `updateDiscordPresence = function() {}` in scripts. { prefix : "" } * Starts a cutscene. * @param prefix Custom prefix. Using `midsong-` will require you to for example rename your video cutscene to `songs/song/midsong-cutscene.mp4` instead of `songs/song/cutscene.mp4` * @param cutsceneScriptPath Optional: Custom script path. * @param callback Callback called after the cutscene ended. If equals to `null`, `startCountdown` will be called. hide * Creates a fake countdown. hide hide hide hide hide hide * Returns the Discord RPC icon. <__songPlaying expr="false"> false <__wasAutoPause expr="false"> false hide hide hide * Pauses the game. hide <__updateNote_event public="1" expr="null"> null hide * Forces a game over. * @param character Character which died. Default to `boyfriend`. * @param deathCharID Character ID (name) for game over. Default to whatever is specified in the character's XML. * @param gameOverSong Song for the game over screen. Default to `this.gameOverSong` (`gameOver`) * @param lossSFX SFX at the beginning of the game over (Mic drop). Default to `this.lossSFX` (`gameOverSFX`) * @param retrySFX SFX played whenever the player retries. Defaults to `retrySFX` (`gameOverEnd`) * Ends the song. * Immediately switches to the next song, or goes back to the Story/Freeplay menu. <__funcsToExec expr="[]"> [] <__pressed expr="[]"> [] <__justPressed expr="[]"> [] <__justReleased expr="[]"> [] * Misses a note * @param note Note to miss. * @param direction Specify a custom direction in case note is null. * @param player Specify a custom player in case note is null. hide * Hits a note * @param note Note to hit. hide hide hide hscript.ClassExtendMacro.build() flixel.text.FlxText.FlxTextFormatRange funkin.game.StrumLine hscript.ClassExtendMacro.build() hscript.ClassExtendMacro.build() hide <_HX_SUPER__set_downscroll set="method" line="148"> hide <_HX_SUPER__get_downscroll set="method" line="148"> <_HX_SUPER__get_accuracy set="method" line="148"> <_HX_SUPER__set_accuracy set="method" line="148"> * Updates the rating. <_HX_SUPER__updateRating public="1" set="method" line="148"> <_HX_SUPER__set_maxHealth set="method" line="148"> hide <_HX_SUPER__create public="1" set="method" line="148"> hide <_HX_SUPER__createPost public="1" set="method" line="148"> { prefix : "" } * Starts a cutscene. * @param prefix Custom prefix. Using `midsong-` will require you to for example rename your video cutscene to `songs/song/midsong-cutscene.mp4` instead of `songs/song/cutscene.mp4` * @param cutsceneScriptPath Optional: Custom script path. * @param callback Callback called after the cutscene ended. If equals to `null`, `startCountdown` will be called. <_HX_SUPER__startCutscene public="1" set="method" line="148"> { prefix : "" } hide <_HX_SUPER__startCountdown public="1" set="method" line="30"> * Creates a fake countdown. <_HX_SUPER__countdown public="1" set="method" line="148"> hide <_HX_SUPER__startSong set="method" line="30"> <_HX_SUPER__destroy public="1" set="method" line="148"> hide <_HX_SUPER__generateSong set="method" line="30"> hide <_HX_SUPER__sortByShit set="method" line="148"> hide <_HX_SUPER__openSubState set="method" line="148"> hide <_HX_SUPER__closeSubState set="method" line="148"> hide <_HX_SUPER__onFocus public="1" set="method" line="30"> hide <_HX_SUPER__onFocusLost public="1" set="method" line="30"> hide <_HX_SUPER__resyncVocals set="method" line="30"> * Pauses the game. <_HX_SUPER__pauseGame public="1" set="method" line="148"> hide <_HX_SUPER__update public="1" set="method" line="148"> <_HX_SUPER__executeEvent public="1" set="method" line="148"> * Forces a game over. * @param character Character which died. Default to `boyfriend`. * @param deathCharID Character ID (name) for game over. Default to whatever is specified in the character's XML. * @param gameOverSong Song for the game over screen. Default to `this.gameOverSong` (`gameOver`) * @param lossSFX SFX at the beginning of the game over (Mic drop). Default to `this.lossSFX` (`gameOverSFX`) * @param retrySFX SFX played whenever the player retries. Defaults to `retrySFX` (`gameOverEnd`) <_HX_SUPER__gameOver public="1" set="method" line="148"> * Ends the song. <_HX_SUPER__endSong public="1" set="method" line="30"> * Immediately switches to the next song, or goes back to the Story/Freeplay menu. <_HX_SUPER__nextSong public="1" set="method" line="148"> <_HX_SUPER__registerSmoothTransition public="1" set="method" line="148"> <_HX_SUPER__keyShit set="method" line="30"> * Misses a note * @param note Note to miss. * @param direction Specify a custom direction in case note is null. * @param player Specify a custom player in case note is null. <_HX_SUPER__noteMiss public="1" set="method" line="30"> hide <_HX_SUPER__getNoteType public="1" set="method" line="148"> * Hits a note * @param note Note to hit. <_HX_SUPER__goodNoteHit public="1" set="method" line="30"> hide <_HX_SUPER__stepHit set="method" line="148"> hide <_HX_SUPER__measureHit set="method" line="148"> hide <_HX_SUPER__beatHit set="method" line="148"> <_HX_SUPER__get_boyfriend set="method" line="148"> <_HX_SUPER__set_boyfriend set="method" line="148"> <_HX_SUPER__get_dad set="method" line="148"> <_HX_SUPER__set_dad set="method" line="148"> <_HX_SUPER__get_gf set="method" line="148"> <_HX_SUPER__set_gf set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.game.PlayState funkin.game.PlayState.ComboRating funkin.game.PlayState.PlayStateTransitionData <__interp> hscript.ClassExtendMacro.build() hide funkin.game.PlayState funkin.game.PlayState.ComboRating funkin.game.PlayState.PlayStateTransitionData true * Whenever the splash group has successfully loaded or not. * XML data for the note splashes. [] * Animation names sorted by strum IDs. * Use `getSplashAnim` to get one. <__splash> * Creates a new Splash group * @param path Path to the splash data (xml) hscript.ClassExtendMacro.build() <_HX_SUPER__getSplashAnim public="1" set="method" line="148"> <_HX_SUPER__showOnStrum public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.game.SplashGroup [] * Map containing all of the splashes group. * Returns a group of splashes, and creates it if it doesn't exist. * @param path Path to the splashes XML (`Paths.xml('splashes/splash')`) <_firstDraw expr="true"> true <__grp> hscript.ClassExtendMacro.build() * Returns a group of splashes, and creates it if it doesn't exist. * @param path Path to the splashes XML (`Paths.xml('splashes/splash')`) <_HX_SUPER__getSplashGroup public="1" set="method" line="148"> <_HX_SUPER__destroy public="1" set="method" line="148"> <_HX_SUPER__draw public="1" set="method" line="148"> <_HX_SUPER__showSplash public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.game.SplashHandler [] [] { def : false } hscript.ClassExtendMacro.build() hscript.ClassExtendMacro.build() hscript.ClassExtendMacro.build() <_HX_SUPER__getSprite public="1" set="method" line="148"> <_HX_SUPER__getCharGroup public="1" set="method" line="148"> <_HX_SUPER__addCharPos public="1" set="method" line="148"> { def : false } <_HX_SUPER__isCharFlipped public="1" set="method" line="148"> { def : false } <_HX_SUPER__applyCharStuff public="1" set="method" line="148"> <_HX_SUPER__beatHit public="1" set="method" line="148"> <_HX_SUPER__stepHit public="1" set="method" line="148"> <_HX_SUPER__measureHit public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.game.Stage funkin.game.Stage.StageCharPos funkin.game.Stage.StageCharPosInfo 565.4866776461628 Note.swagWidth / 2 false -5000 null null [] { force : true } hscript.ClassExtendMacro.build() ()]]> * Signal that triggers whenever a note is hit. Similar to onPlayerHit and onDadHit, except strumline specific. * To add a listener, do * `strumLine.onHit.add(function(e:NoteHitEvent) {});` ()]]> * Signal that triggers whenever a note is missed. Similar to onPlayerMiss and onDadMiss, except strumline specific. * To add a listener, do * `strumLine.onMiss.add(function(e:NoteHitEvent) {});` ()]]> * Signal that triggers whenever a note is being updated. Similar to onNoteUpdate, except strumline specific. * To add a listener, do * `strumLine.onNoteUpdate.add(function(e:NoteUpdateEvent) {});` * Array containing all of the characters "attached" to those strums. false * Whenever this strumline is controlled by cpu or not. false * Whenever this strumline is from the opponent side or the player side. null * Controls assigned to this strumline. null * Chart JSON data assigned to this StrumLine (Codename format) null * Whenever Ghost Tapping is enabled. * Group of all of the notes in this strumline. Using `forEach` on this group will only loop through the first notes for performance reasons. 0.25 <__updateNote_strum> { amount : 4 } * Deletes a note from this strumline. * @param note Note to delete { opponentSide : true, cpu : false, strumOffset : 0.25 } hscript.ClassExtendMacro.build() <_HX_SUPER__get_ghostTapping set="method" line="148"> <_HX_SUPER__generate public="1" set="method" line="148"> <_HX_SUPER__update public="1" set="method" line="148"> <_HX_SUPER__draw public="1" set="method" line="148"> <_HX_SUPER__updateNotes public="1" set="method" line="148"> <_HX_SUPER__updateNote public="1" set="method" line="148"> { amount : 4 } <_HX_SUPER__generateStrums public="1" set="method" line="148"> { amount : 4 } * Deletes a note from this strumline. * @param note Note to delete <_HX_SUPER__deleteNote public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.game.StrumLine <_HX_SUPER__update public="1" set="method" line="148"> <_HX_SUPER__draw public="1" set="method" line="148"> <_HX_SUPER__updateNotePosition public="1" set="method" line="148"> <_HX_SUPER__updateSustain public="1" set="method" line="148"> <_HX_SUPER__updatePlayerInput public="1" set="method" line="148"> <_HX_SUPER__press public="1" set="method" line="148"> { force : true } <_HX_SUPER__playAnim public="1" set="method" line="148"> { force : true } <_HX_SUPER__getAnim public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.game.Strum * Gets all the releases from a specific GitHub repository using the GitHub API. * @param user * @param repository * @return Releases { keepDrafts : false, keepPrereleases : true } * Filters all releases gotten by `getReleases` * @param releases Releases * @param keepPrereleases Whenever to keep Pre-Releases. * @param keepDrafts Whenever to keep Drafts. * @return Filtered releases. <__requestOnGitHubServers public="1" set="method" line="58" static="1"> <__requestBytesOnGitHubServers public="1" set="method" line="71" static="1"> <__parseGitHubException set="method" line="84" static="1"> hscript.ClassExtendMacro.build() hscript.ClassExtendMacro.build() hscript.ClassExtendMacro.build() hscript.ClassExtendMacro.build() <__interp> hscript.ClassExtendMacro.build() hide funkin.github.GitHubException hscript.ClassExtendMacro.build() * Url of the release (GitHub API) * Template URL for asset download link. * ID of the release. * Link to the release on the GitHub website. * Body of the GitHub request (Markdown) * Author of the release * Url for the assets JSON. Also accessible via `GitHubRelease.assets` hscript.ClassExtendMacro.build() * URL to the user on GitHub's servers. * Date of last account update. * Type of the user. * Twitter username of the user. Can be null. * URL on GitHub's API to access this user's starred repositories. * Whenever the user is a GitHub administrator. * Number of public repos this user own. * Number of public gists this user own. * ID of the current node on the GitHub database. * Name of the user. * Username of the user. * ID of the user. * URL to the user on GitHub's website. * Unknown * URL on GitHub's API to access this user's gists. * URL on GitHub's API to access the accounts this user is following. * Number of accounts this user follows. * URL on GitHub's API to access this user's followers. * Number of followers this user have * Date of creation of the account * The company this user belongs to. Can be `null`. * Link to the avatar (profile picture). hscript.ClassExtendMacro.build() hscript.ClassExtendMacro.build() cast "User" cast "Organization" hscript.ClassExtendMacro.build() cast "User" cast "Organization" hscript.ClassExtendMacro.build() <__interp> hscript.ClassExtendMacro.build() hide funkin.github.GitHub * Returns the defined values hscript.ClassExtendMacro.build() <__interp> hscript.ClassExtendMacro.build() hide funkin.macros.DefinesMacro * Returns the current commit number * Returns the current commit hash hscript.ClassExtendMacro.build() <__interp> hscript.ClassExtendMacro.build() hide funkin.macros.GitCommitMacro false hscript.ClassExtendMacro.build() <_HX_SUPER__create public="1" set="method" line="148"> <_HX_SUPER__update public="1" set="method" line="148"> <_HX_SUPER__goToTitle set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.menus.BetaWarningState 1 * How much time a song stays selected until it autoplays. [] * Array containing all of the songs metadatas 0 * Currently selected song 1 * Currently selected difficulty 0 * Currently selected coop/opponent mode * Text containing the score info (PERSONAL BEST: 0) )]]> * Text containing the current coop/opponent mode ([TAB] Co-Op mode) 0 * Currently lerped score. Is updated to go towards `intendedScore`. 0 * Destination for the currently lerped score. * Assigned FreeplaySonglist item. * Black background around the score, the difficulty text and the co-op text. * Background. true * Whenever the player can navigate and select * Group containing all of the alphabets false * Whenever the currently selected song is playing. [] * Array containing all of the icons. * FlxInterpolateColor object for smooth transition between Freeplay colors. 0 * Time elapsed since last autoplay. If this time exceeds `timeUntilAutoplay`, the currently selected song will play. true * Whenever the currently selected song instrumental is playing. null * Path to the currently playing song instrumental. { force : false, change : 0 } * Changes the current difficulty * @param change How much to change. * @param force Force the change if `change` is equal to 0 ["[TAB] Solo", "[TAB] Opponent Mode", "[TAB] Co-Op Mode", "[TAB] Co-Op Mode (Switched)"] * Array containing all labels for Co-Op / Opponent modes. { force : false, change : 0 } * Change the current coop mode context. * @param change How much to change * @param force Force the change, even if `change` is equal to 0. { force : false, change : 0 } * Change the current selection. * @param change How much to change * @param force Force the change, even if `change` is equal to 0. hscript.ClassExtendMacro.build() { useTxt : true } [] { useTxt : true } hscript.ClassExtendMacro.build() <_HX_SUPER__create set="method" line="148"> <_HX_SUPER__update set="method" line="148"> <_HX_SUPER__select public="1" set="method" line="148"> <_HX_SUPER__convertChart public="1" set="method" line="148"> { force : false, change : 0 } * Changes the current difficulty * @param change How much to change. * @param force Force the change if `change` is equal to 0 <_HX_SUPER__changeDiff public="1" set="method" line="148"> { force : false, change : 0 } { force : false, change : 0 } * Change the current coop mode context. * @param change How much to change * @param force Force the change, even if `change` is equal to 0. <_HX_SUPER__changeCoopMode public="1" set="method" line="148"> { force : false, change : 0 } { force : false, change : 0 } * Change the current selection. * @param change How much to change * @param force Force the change, even if `change` is equal to 0. <_HX_SUPER__changeSelection public="1" set="method" line="148"> { force : false, change : 0 } <_HX_SUPER__updateOptionsAlpha set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.menus.FreeplayState funkin.menus.FreeplayState.FreeplaySonglist { useTxt : true } <_HX_SUPER__getSongsFromSource public="1" set="method" line="148"> { useTxt : true } <__interp> hscript.ClassExtendMacro.build() hide funkin.menus.FreeplayState funkin.menus.FreeplayState.FreeplaySonglist false hscript.ClassExtendMacro.build() <_HX_SUPER__create set="method" line="148"> <_HX_SUPER__update set="method" line="148"> <_HX_SUPER__changeThing set="method" line="30"> <__interp> hscript.ClassExtendMacro.build() hide funkin.menus.GitarooPause 0 CoolUtil.coolTextFile(Paths.txt("config/menuItems")) true false { huh : 0 } hscript.ClassExtendMacro.build() <_HX_SUPER__create set="method" line="148"> <_HX_SUPER__update set="method" line="148"> <_HX_SUPER__switchTo public="1" set="method" line="148"> <_HX_SUPER__selectItem set="method" line="148"> { huh : 0 } <_HX_SUPER__changeItem set="method" line="148"> { huh : 0 } <__interp> hscript.ClassExtendMacro.build() hide funkin.menus.MainMenuState [] 0 { force : false } hscript.ClassExtendMacro.build() <_HX_SUPER__create public="1" set="method" line="148"> <_HX_SUPER__update public="1" set="method" line="148"> { force : false } <_HX_SUPER__changeSelection public="1" set="method" line="148"> { force : false } <__interp> hscript.ClassExtendMacro.build() hide funkin.menus.ModSwitchMenu ["Resume", "Restart Song", "Change Controls", "Options", "Exit to menu"] 0 PlayState.instance <__cancelDefault expr="false"> false { change : 0 } { y : 0, x : 0 } hscript.ClassExtendMacro.build() <_HX_SUPER__create set="method" line="148"> <_HX_SUPER__update set="method" line="148"> <_HX_SUPER__selectOption public="1" set="method" line="148"> <_HX_SUPER__destroy set="method" line="148"> { change : 0 } <_HX_SUPER__changeSelection set="method" line="30"> { change : 0 } <__interp> hscript.ClassExtendMacro.build() hide funkin.menus.PauseSubState [] [] 0 0 [] 0 0 true [] <__lastDifficultyTween> { force : false } <__oldDiffName expr="null"> null { force : false } hscript.ClassExtendMacro.build() hscript.ClassExtendMacro.build() hscript.ClassExtendMacro.build() hscript.ClassExtendMacro.build() null hscript.ClassExtendMacro.build() 0 false hscript.ClassExtendMacro.build() <_HX_SUPER__changeCharacter public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.menus.StoryMenuState funkin.menus.StoryMenuState.WeekData funkin.menus.StoryMenuState.WeekSong funkin.menus.StoryMenuState.MenuCharacter funkin.menus.StoryMenuState.MenuCharacterSprite funkin.menus.StoryMenuState.MenuItem <_HX_SUPER__create public="1" set="method" line="148"> <_HX_SUPER__update public="1" set="method" line="148"> <_HX_SUPER__goBack public="1" set="method" line="148"> { force : false } <_HX_SUPER__changeWeek public="1" set="method" line="148"> { force : false } { force : false } <_HX_SUPER__changeDifficulty public="1" set="method" line="148"> { force : false } <_HX_SUPER__loadXMLs public="1" set="method" line="148"> <_HX_SUPER__addCharacter public="1" set="method" line="148"> <_HX_SUPER__getWeeksFromSource public="1" set="method" line="148"> <_HX_SUPER__destroy public="1" set="method" line="148"> <_HX_SUPER__selectWeek public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.menus.StoryMenuState funkin.menus.StoryMenuState.WeekData funkin.menus.StoryMenuState.WeekSong funkin.menus.StoryMenuState.MenuCharacter funkin.menus.StoryMenuState.MenuCharacterSprite funkin.menus.StoryMenuState.MenuItem <_HX_SUPER__startFlashing public="1" set="method" line="30"> <_HX_SUPER__update set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.menus.StoryMenuState funkin.menus.StoryMenuState.WeekData funkin.menus.StoryMenuState.WeekSong funkin.menus.StoryMenuState.MenuCharacter funkin.menus.StoryMenuState.MenuCharacterSprite funkin.menus.StoryMenuState.MenuItem false false [] false false 16 new IntroText(["ninjamuffin99", "phantomArcade", "kawaisprite", "evilsk8er"]), 3 => new IntroText(["ninjamuffin99", "phantomArcade", "kawaisprite", "evilsk8er", "present"]), 4 => new IntroText(), 5 => new IntroText(["In association", "with"]), 7 => new IntroText(["In association", "with", "newgrounds", { name : "newgroundsLogo", path : "menus/titlescreen/newgrounds_logo", scale : 0.8 }]), 8 => new IntroText(), 9 => new IntroText(["{introText1}"]), 11 => new IntroText(["{introText1}", "{introText2}"]), 12 => new IntroText(), 13 => new IntroText(["Friday"]), 14 => new IntroText(["Friday", "Night"]), 15 => new IntroText(["Friday", "Night", "Funkin'"])]]]> false hscript.ClassExtendMacro.build() funkin.mods.ModsFolder funkin.system.MainState [] hscript.ClassExtendMacro.build() hscript.ClassExtendMacro.build() <_HX_SUPER__create public="1" set="method" line="30"> <_HX_SUPER__startIntro set="method" line="148"> <_HX_SUPER__getIntroTextShit public="1" set="method" line="148"> <_HX_SUPER__update set="method" line="148"> <_HX_SUPER__pressEnter public="1" set="method" line="148"> <_HX_SUPER__goToMainMenu set="method" line="148"> <_HX_SUPER__createCoolText public="1" set="method" line="148"> <_HX_SUPER__addMoreText public="1" set="method" line="148"> <_HX_SUPER__deleteCoolText public="1" set="method" line="148"> <_HX_SUPER__beatHit set="method" line="148"> <_HX_SUPER__loadXML public="1" set="method" line="148"> <_HX_SUPER__skipIntro public="1" set="method" line="30"> <__interp> hscript.ClassExtendMacro.build() hide funkin.menus.TitleState funkin.menus.TitleState.IntroText funkin.menus.TitleState.TitleStateImage <_HX_SUPER__show public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.menus.TitleState funkin.menus.TitleState.IntroText funkin.menus.TitleState.TitleStateImage * COPIED DIRECTLY FROM LIME SOURCE CAUSE LIME IS SO FUCKING DUMB!! hscript.ClassExtendMacro.build() <__interp> hscript.ClassExtendMacro.build() hide funkin.mods.LimeLibrarySymbol <_parsedAsset public="1"> <__isCacheValid set="method"> { isLocal : false } <__parseAsset set="method"> hscript.ClassExtendMacro.build() ()]]> hide * INTERNAL - Only use when editing source mods!! null * Current mod folder. Will affect `Paths`. "./mods/" * Path to the `mods` folder. "./addons/" * Path to the `addons` folder. <__firstTime expr="true" line="44" static="1"> true * Whenever its the first time mods has been reloaded. * Initialises `mods` folder by adding callbacks and such. * Switches mod - unloads all the other mods, then load this one. * @param libName { force : false } * Loads a mod library from the specified path. Supports folders and zips. * @param modName Name of the mod * @param force Whenever the mod should be reloaded if it has already been loaded { force : false } { force : false } { force : false } { force : false } hscript.ClassExtendMacro.build() { rootPath : null } { rootPath : null } { rootPath : null } { rootPath : null } ()]]> ()]]> ()]]> ()]]> ()]]> ()]]> >()]]> >()]]> ()]]> ()]]> ()]]> ()]]> <__assetLoaded set="method" line="617"> <__cacheBreak set="method" line="659"> <__fromBundle set="method" line="664"> { manifest : null } <__fromManifest set="method" line="711"> <__resolvePath set="method" line="778"> "tags=\"haxe,release\"" lime.text.Font lime.utils.Assets true "assets/" [] <_parsedAsset public="1" expr="null"> null <__getFiles public="1" set="method" line="88"> { folders : false } <__isCacheValid set="method" line="113"> { isLocalCache : false } <__parseAsset set="method" line="134"> hscript.ClassExtendMacro.build() <_HX_SUPER__getEditedTime public="1" set="method" line="148"> <_HX_SUPER__getAudioBuffer public="1" set="method" line="148"> <_HX_SUPER__getBytes public="1" set="method" line="148"> <_HX_SUPER__getFont public="1" set="method" line="148"> <_HX_SUPER__getImage public="1" set="method" line="148"> <_HX_SUPER__getPath public="1" set="method" line="148"> <__getFiles public="1" set="method" line="74" override="1"> { folders : false } <_HX_SUPER____getFiles public="1" set="method" line="148"> { folders : false } <_HX_SUPER__exists public="1" set="method" line="148"> <_HX_SUPER__getAssetPath set="method" line="148"> <__isCacheValid set="method" line="74" override="1"> { isLocalCache : false } <_HX_SUPER____isCacheValid set="method" line="148"> { isLocalCache : false } <__parseAsset set="method" line="74" override="1"> <_HX_SUPER____parseAsset set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.mods.ModsFolderLibrary <__interp> hscript.ClassExtendMacro.build() hide funkin.mods.ModsFolder false "assets/" [] <_parsedAsset public="1"> <__parseAsset public="1" set="method" line="127"> <__isCacheValid public="1" set="method" line="133"> { isLocal : false } hscript.ClassExtendMacro.build() <_HX_SUPER__getAudioBuffer public="1" set="method" line="148"> <_HX_SUPER__getBytes public="1" set="method" line="148"> <_HX_SUPER__getFont public="1" set="method" line="148"> <_HX_SUPER__getImage public="1" set="method" line="148"> <__parseAsset public="1" set="method" line="74" override="1"> <_HX_SUPER____parseAsset public="1" set="method" line="148"> <__isCacheValid public="1" set="method" line="74" override="1"> { isLocal : false } <_HX_SUPER____isCacheValid public="1" set="method" line="148"> { isLocal : false } <_HX_SUPER__exists public="1" set="method" line="148"> <_HX_SUPER__getAssetPath set="method" line="148"> <_HX_SUPER__getFiles public="1" set="method" line="148"> <_HX_SUPER__getFolders public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.mods.ZipFolderLibrary <__save public="1" static="1"> hide <__eventAdded expr="false" line="15" static="1"> false hide true * SETTINGS false true true true true true true 1 true false false true 250 120 true null true * EDITORS SETTINGS true 120 null * QOL FEATURES "normal" false [A] * PLAYER 1 CONTROLS [S] [W] [D] [A] [S] [W] [D] [ENTER] [BACKSPACE] [ENTER] [R] [TAB] [LEFT] * PLAYER 2 CONTROLS (ALT) [DOWN] [UP] [RIGHT] [LEFT] [DOWN] [UP] [RIGHT] [SPACE] [ESCAPE] [ESCAPE] [] [] * SOLO GETTERS <__flush public="1" set="method" line="9" static="1"> <__load public="1" set="method" line="9" static="1"> hscript.ClassExtendMacro.build() funkin.macros.OptionsMacro.build() funkin.macros.FunkinSaveMacro.build("__save", "__flush", "__load") [{ name : "Notes", settings : [{ name : "{noteLeft}", control : "NOTE_LEFT" }, { name : "{noteDown}", control : "NOTE_DOWN" }, { name : "{noteUp}", control : "NOTE_UP" }, { name : "{noteRight}", control : "NOTE_RIGHT" }] }, { name : "UI", settings : [{ name : "Left", control : "LEFT" }, { name : "Down", control : "DOWN" }, { name : "Up", control : "UP" }, { name : "Right", control : "RIGHT" }, { name : "Accept", control : "ACCEPT" }, { name : "Back", control : "BACK" }, { name : "Reset", control : "RESET" }, { name : "Pause", control : "PAUSE" }] }, { name : "Engine", settings : [{ name : "Switch Mod", control : "SWITCHMOD" }] }] false 0 true [0xFFC24B99, 0xFF00FFFF, 0xFF12FA05, 0xFFF9393F] new FlxObject(0, 0, 2, 2) false true hscript.ClassExtendMacro.build() hscript.ClassExtendMacro.build() hscript.ClassExtendMacro.build() hscript.ClassExtendMacro.build() ", desc : "Change Gameplay options such as Downscroll, Scroll Speed, Naughtyness...", state : GameplayOptions }, { name : "Appearance >", desc : "Change Appearance options such as Flashing menus...", state : AppearanceOptions }, { name : "Miscellaneous >", desc : "Use this menu to reset save data or engine settings.", state : MiscOptions }]]]> * XML STUFF hscript.ClassExtendMacro.build() <_HX_SUPER__create public="1" set="method" line="148"> <_HX_SUPER__exit public="1" set="method" line="148"> * XML STUFF <_HX_SUPER__parseOptionsFromXML public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.options.OptionsMenu <_HX_SUPER__update public="1" set="method" line="148"> <_HX_SUPER__close public="1" set="method" line="148"> <_HX_SUPER__changeSelection public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.options.OptionsScreen <__subMenuClose set="method" line="48"> hscript.ClassExtendMacro.build() <_HX_SUPER__update public="1" set="method" line="148"> <_HX_SUPER__draw public="1" set="method" line="148"> <_HX_SUPER__add public="1" set="method" line="148"> <_HX_SUPER__insert public="1" set="method" line="148"> <_HX_SUPER__setup public="1" set="method" line="148"> <__subMenuClose set="method" line="74" override="1"> <_HX_SUPER____subMenuClose set="method" line="148"> <_HX_SUPER__clearLastMenu public="1" set="method" line="148"> <_HX_SUPER__destroy public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.options.OptionsTree <__interp> hscript.ClassExtendMacro.build() hide funkin.options.Options 0 0 ()]]> ()]]> hscript.ClassExtendMacro.build() <_HX_SUPER__setKeyboardScheme public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.options.PlayerSettings hscript.ClassExtendMacro.build() hscript.ClassExtendMacro.build() <_HX_SUPER__createPost public="1" set="method" line="148"> <_HX_SUPER__onMenuChange public="1" set="method" line="148"> <_HX_SUPER__exit public="1" set="method" line="148"> <_HX_SUPER__onMenuClose public="1" set="method" line="148"> <_HX_SUPER__update public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.options.TreeMenu funkin.options.TreeMenu.OptionCategory funkin.options.TreeMenu.OptionTypeDef <__interp> hscript.ClassExtendMacro.build() hide funkin.options.categories.AppearanceOptions <__interp> hscript.ClassExtendMacro.build() hide funkin.options.categories.GameplayOptions <__interp> hscript.ClassExtendMacro.build() hide funkin.options.categories.MiscOptions true hscript.ClassExtendMacro.build() <_HX_SUPER__update public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.options.keybinds.ChangeKeybindSubState <c path="funkin.ui.Alphabet"/> -1 false { p2 : false } hscript.ClassExtendMacro.build() <_HX_SUPER__update public="1" set="method" line="148"> { p2 : false } <_HX_SUPER__changeKeybind public="1" set="method" line="148"> { p2 : false } <_HX_SUPER__updateText public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.options.keybinds.KeybindSetting <_HX_SUPER__create public="1" set="method" line="148"> <_HX_SUPER__destroy public="1" set="method" line="148"> <_HX_SUPER__update public="1" set="method" line="148"> <_HX_SUPER__changeSelection public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.options.keybinds.KeybindsOptions false hscript.ClassExtendMacro.build() <__text> hscript.ClassExtendMacro.build() FlxPoint.get(1, -1), "unchecked" => FlxPoint.get(-12, -72), "checking" => FlxPoint.get(12, 30)]]]> FlxPoint.get() hscript.ClassExtendMacro.build() <_HX_SUPER__get_selected set="method" line="148"> <_HX_SUPER__update public="1" set="method" line="148"> <_HX_SUPER__onSelect public="1" set="method" line="148"> <_HX_SUPER__destroy public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.options.type.Checkbox hscript.ClassExtendMacro.build() <__interp> hscript.ClassExtendMacro.build() hide funkin.options.type.IconOption <_HX_SUPER__get_controls set="method" line="148"> <_HX_SUPER__onSelect public="1" set="method" line="148"> <_HX_SUPER__update public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.options.type.OptionType <_HX_SUPER__get_text set="method" line="148"> <_HX_SUPER__set_text set="method" line="148"> <_HX_SUPER__draw public="1" set="method" line="148"> <_HX_SUPER__onSelect public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.options.type.TextOption 0 "" 0 "penis" * Class used for saves WITHOUT going through the struggle of type checks * Just add your save variables the way you would do in the Options.hx file. * The macro will automatically generate the `flush` and `load` functions. hscript.ClassExtendMacro.build() funkin.macros.FunkinSaveMacro.build("save", "flush", "load") <__interp> hscript.ClassExtendMacro.build() hide funkin.saves.FunkinSave [] * Use "static var thing = true;" in hscript to use those!! * are reset every mod switch so once you're done with them make sure to make them null!! ["hx", "hscript", "hsc", "hxs", "lua"] * All available script extensions null * Currently executing script. * Creates a script from the specified asset path. The language is automatically determined. * @param path Path in assets * Script name (with extension) null * Path to the script. * Loads the script * HSCRIPT ONLY FOR NOW * Sets the "public" variables map for ScriptPack * Hot-reloads the script, if possible * Traces something as this script. * Calls the function `func` defined in the script. * @param func Name of the function * @param parameters (Optional) Parameters of the function. * @return Result (if void, then null) * Sets a script's parent object so that its properties can be accessed easily. Ex: Passing `PlayState.instance` will allow `boyfriend` to be typed instead of `PlayState.instance.boyfriend`. * @param variable Parent variable. * Gets the variable `variable` from the script's variables. * @param variable Name of the variable. * @return Variable (or null if it doesn't exists) * Gets the variable `variable` from the script's variables. * @param variable Name of the variable. * @return Variable (or null if it doesn't exists) * Shows an error from this script. * @param text Text of the error (ex: Null Object Reference). * @param additionalInfo Additional information you could provide. * PRIVATE HANDLERS - DO NOT TOUCH * Creates a new instance of the script class. * @param path * Class used for scripting. hscript.ClassExtendMacro.build() [] * Simple class for empty scripts or scripts whose language isn't imported yet. hscript.ClassExtendMacro.build() <_HX_SUPER__get public="1" set="method" line="148"> <_HX_SUPER__set public="1" set="method" line="148"> <_HX_SUPER__onCall public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.scripting.DummyScript [] [] hscript.ClassExtendMacro.build() <__interp> hscript.ClassExtendMacro.build() hide funkin.scripting.EventManager * Class for THE Global Script, aka script that runs in the background at all times. hscript.ClassExtendMacro.build() <__interp> hscript.ClassExtendMacro.build() hide funkin.scripting.GlobalScript null <__importedPaths> <_errorHandler set="method" line="86"> hscript.ClassExtendMacro.build() <_HX_SUPER__onCreate public="1" set="method" line="148"> <_HX_SUPER__importFailedCallback set="method" line="148"> <_errorHandler set="method" line="74" override="1"> <_HX_SUPER___errorHandler set="method" line="148"> <_HX_SUPER__setParent public="1" set="method" line="148"> <_HX_SUPER__onLoad public="1" set="method" line="148"> <_HX_SUPER__reload public="1" set="method" line="148"> <_HX_SUPER__onCall set="method" line="148"> <_HX_SUPER__get public="1" set="method" line="148"> <_HX_SUPER__set public="1" set="method" line="148"> <_HX_SUPER__trace public="1" set="method" line="148"> <_HX_SUPER__setPublicMap public="1" set="method" line="148"> <_HX_SUPER__onDestroy public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.scripting.HScript hscript.ClassExtendMacro.build() <__interp> hscript.ClassExtendMacro.build() hide funkin.scripting.ModState hscript.ClassExtendMacro.build() <__interp> hscript.ClassExtendMacro.build() hide funkin.scripting.ModSubState <__variables> null * Return value of the last call. true * Whenever the current call has ended. hscript.ClassExtendMacro.build() <_HX_SUPER__call public="1" set="method" line="148"> <_HX_SUPER__destroy public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.scripting.MultiThreadedScript [] [] [] null * Sends an event to every single script, and returns the event. * @param func Function to call * @param event Event (will be the first parameter of the function) * @return (modified by scripts) <__configureNewScript set="method" line="115"> hscript.ClassExtendMacro.build() CancellableEvent <_HX_SUPER__load public="1" set="method" line="148"> <_HX_SUPER__contains public="1" set="method" line="148"> <_HX_SUPER__getByPath public="1" set="method" line="148"> <_HX_SUPER__getByName public="1" set="method" line="148"> <_HX_SUPER__importScript public="1" set="method" line="148"> <_HX_SUPER__call public="1" set="method" line="148"> <_HX_SUPER__get public="1" set="method" line="148"> <_HX_SUPER__reload public="1" set="method" line="148"> <_HX_SUPER__set public="1" set="method" line="148"> <_HX_SUPER__setParent public="1" set="method" line="148"> <_HX_SUPER__onDestroy public="1" set="method" line="148"> <_HX_SUPER__onCreate public="1" set="method" line="148"> <_HX_SUPER__add public="1" set="method" line="148"> <_HX_SUPER__remove public="1" set="method" line="148"> <_HX_SUPER__insert public="1" set="method" line="148"> <__configureNewScript set="method" line="74" override="1"> <_HX_SUPER____configureNewScript set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.scripting.ScriptPack * Loads the script <_HX_SUPER__load public="1" set="method" line="148"> * HSCRIPT ONLY FOR NOW * Sets the "public" variables map for ScriptPack <_HX_SUPER__setPublicMap public="1" set="method" line="148"> * Hot-reloads the script, if possible <_HX_SUPER__reload public="1" set="method" line="148"> * Traces something as this script. <_HX_SUPER__trace public="1" set="method" line="148"> * Calls the function `func` defined in the script. * @param func Name of the function * @param parameters (Optional) Parameters of the function. * @return Result (if void, then null) <_HX_SUPER__call public="1" set="method" line="148"> * Sets a script's parent object so that its properties can be accessed easily. Ex: Passing `PlayState.instance` will allow `boyfriend` to be typed instead of `PlayState.instance.boyfriend`. * @param variable Parent variable. <_HX_SUPER__setParent public="1" set="method" line="148"> * Gets the variable `variable` from the script's variables. * @param variable Name of the variable. * @return Variable (or null if it doesn't exists) <_HX_SUPER__get public="1" set="method" line="148"> * Gets the variable `variable` from the script's variables. * @param variable Name of the variable. * @return Variable (or null if it doesn't exists) <_HX_SUPER__set public="1" set="method" line="30"> * Shows an error from this script. * @param text Text of the error (ex: Null Object Reference). * @param additionalInfo Additional information you could provide. <_HX_SUPER__error public="1" set="method" line="30"> * PRIVATE HANDLERS - DO NOT TOUCH <_HX_SUPER__onCall set="method" line="148"> <_HX_SUPER__onCreate public="1" set="method" line="148"> <_HX_SUPER__onLoad public="1" set="method" line="148"> <_HX_SUPER__onDestroy public="1" set="method" line="148"> <_HX_SUPER__destroy public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.scripting.Script false hide <__continueCalls expr="true"> true hide { } * Additional data if used in scripts { c : false } * Prevents default action from occurring. * @param c Whenever the scripts following this one should be called or not. (Defaults to `true`) { c : true } hide * Returns a string representation of the event, in this format: * `[CancellableEvent]` * `[CancellableEvent (Cancelled)]` * @return String * Creates a new cancellable event. * This allows scripts to call `cancel()` to cancel the event. hscript.ClassExtendMacro.build() ScriptPack funkin.macros.EventMacro.build() * Final camera position. * Currently focused strumline. * Number of focused characters funkin.macros.EventMacro.build() funkin.macros.EventMacro.build() hscript.ClassExtendMacro.build() * At which count the countdown is. Normally goes 0-1-2-3-4 unless `PlayState.instance.introLength` is changed. * Volume at which the intro countdown sound will play. * Path of the intro sound that'll be played. * Path to the sprite path that'll be shown. * Scale of the sprite. * Whenever antialiasing is enabled or not. * Created sprite, only available in `onPostCountdown` * Created tween for the sprite, only available in `onPostCountdown` * Created sound, only available in `onPostCountdown` funkin.macros.EventMacro.build() funkin.macros.EventMacro.build() hscript.ClassExtendMacro.build() funkin.macros.EventMacro.build() funkin.macros.EventMacro.build() hscript.ClassExtendMacro.build() Default animation that will be played In which direction the animation will be played The suffix of the animation (ex: "-alt") - Defaults to "" Context of the animation. Is either equal to `SING` or `MISS`. Whenever the animation will play reversed or not. At what frame the animation will start playing true Whenever the animation will play reversed or not. { force : true } funkin.macros.EventMacro.build() funkin.macros.EventMacro.build() hscript.ClassExtendMacro.build() * Object containing all of the data for the presence. Can be altered. funkin.macros.EventMacro.build() funkin.macros.EventMacro.build() hscript.ClassExtendMacro.build() * Song name that is about to be played * Difficulty name * Whenever opponent mode is enabled or not. * Whenever coop mode is enabled. funkin.macros.EventMacro.build() funkin.macros.EventMacro.build() hscript.ClassExtendMacro.build() * Array containing whenever a specific control is pressed or not. * For example, `pressed[0]` will return whenever the left strum was pressed. * Array containing whenever a specific control was pressed (not hold) this frame or not. * For example, `justPressed[0]` will return whenever the left strum was just pressed. * Array containing whenever a specific control was released this frame or not. * For example, `justReleased[0]` will return whenever the left strum was just released. * Strumline which input is being processed. * ID of the Strumline. funkin.macros.EventMacro.build() funkin.macros.EventMacro.build() hscript.ClassExtendMacro.build() * Value before the change * Value after the change * Amount of change true * Whenever the menu SFX should be played. { playMenuSFX : true } funkin.macros.EventMacro.build() funkin.macros.EventMacro.build() hscript.ClassExtendMacro.build() * Name funkin.macros.EventMacro.build() funkin.macros.EventMacro.build() hscript.ClassExtendMacro.build() * Note that is being created * ID of the strum (from 0 to 3) * Note Type (ex: "My Super Cool Note", or "Mine") * ID of the note type. * ID of the player. * Whenever the note will need to be hit by the player * Note sprite, if you only want to replace the sprite. * Note scale, if you only want to replace the scale. * Sing animation suffix. "-alt" for alt anim or "" for normal notes. funkin.macros.EventMacro.build() funkin.macros.EventMacro.build() hscript.ClassExtendMacro.build() false hide false hide true hide true hide true hide true hide true * Whenever a miss should be added. true * Whenever a miss should be added. null * Whenever ratings should be shown or not. * Note that has been pressed * Character that pressed the note. * Characters that pressed the note. * Whenever the Character is a player * Note Type name (null if default note) * Suffix of the animation. "-alt" for alt notes, "" for normal ones. * Prefix of the rating sprite path. Defaults to "game/score/" * Suffix of the rating sprite path. * Direction of the press (0 = Left, 1 = Down, 2 = Up, 3 = Right) * Score gained after note press. * Accuracy gained from pressing this note. From 0 to 1. null means no accuracy is gained. * The amount of health that'll be gained from pressing that note. If called from `onPlayerMiss`, the value will be negative. "sick" * Rating name. Defaults to "sick", "good", "bad" and "shit". Customisable. false * Whenever a splash should be shown when the note is hit. 0.5 * Scale of combo numbers. true * Whenever antialiasing should be enabled on combo number. 0.7 * Scale of ratings. true * Whenever antialiasing should be enabled on ratings. true * Whenever the animation should be forced to play. * Prevents the default sing animation from being played. hide * Prevents the note from being deleted. hide * Prevents the vocals volume from being set to 1 after pressing the note. hide * Prevents the vocals volume from being muted in case its a parameter of `onPlayerMiss` hide * Prevents the camera zoom every 4 beats from enabling. hide * Prevents the sustain tail (the last one) from being automatically hit when the sustain before it is hit. hide * Prevents the strum from glowing after this note has been pressed. hide { forceAnim : true, ratingAntialiasing : true, ratingScale : 0.7, numAntialiasing : true, numScale : 0.5, showSplash : false, rating : "sick", showRating : null, countAsCombo : true, misses : true } funkin.macros.EventMacro.build() funkin.macros.EventMacro.build() hscript.ClassExtendMacro.build() <__updateHitWindow public="1" expr="true"> true hide <__autoCPUHit public="1" expr="true"> true hide <__reposNote public="1" expr="true"> true hide * Note that is being updated * Time elapsed since last frame * Note's strum (can be changed) * Cancels the hit window update. hide * Cancels the automatic CPU hit. hide * Cancels the note position update (note will freeze). hide funkin.macros.EventMacro.build() funkin.macros.EventMacro.build() hscript.ClassExtendMacro.build() * Music that is going to be played * All option names * CANCEL this event to prevent default behaviour! funkin.macros.EventMacro.build() funkin.macros.EventMacro.build() hscript.ClassExtendMacro.build() Name of the animation that's going to be played. Whenever the animation will be forced or not. Whenever the animation will play in reverse or not 0 The frame at which the animation will start playing Context of the animation { startingFrame : 0 } funkin.macros.EventMacro.build() funkin.macros.EventMacro.build() hscript.ClassExtendMacro.build() Contains all contexts possible for `PlayAnimEvent`. hscript.ClassExtendMacro.build() cast null No context was given for the animation. The character won't dance until the animation is finished cast "SING" Whenever a note is hit and a sing animation will be played. The character will only dance after their holdTime is reached. cast "DANCE" Whenever a dance animation is played. The character's dancing wont be blocked. cast "MISS" Whenever a note is missed and a miss animation will be played. Only for scripting, since it has the same effects as SING. cast "LOCK" Locks the character's animation. Prevents the character from dancing, even if the animation ended. hscript.ClassExtendMacro.build() cast null No context was given for the animation. The character won't dance until the animation is finished cast "SING" Whenever a note is hit and a sing animation will be played. The character will only dance after their holdTime is reached. cast "DANCE" Whenever a dance animation is played. The character's dancing wont be blocked. cast "MISS" Whenever a note is missed and a miss animation will be played. Only for scripting, since it has the same effects as SING. cast "LOCK" Locks the character's animation. Prevents the character from dancing, even if the animation ended. hscript.ClassExtendMacro.build() X position Y position funkin.macros.EventMacro.build() funkin.macros.EventMacro.build() hscript.ClassExtendMacro.build() New combo Old combo (may be null) funkin.macros.EventMacro.build() funkin.macros.EventMacro.build() hscript.ClassExtendMacro.build() * New width * New height * Old width (may be null) * Old height (may be null) funkin.macros.EventMacro.build() funkin.macros.EventMacro.build() hscript.ClassExtendMacro.build() Note that is affected. funkin.macros.EventMacro.build() funkin.macros.EventMacro.build() hscript.ClassExtendMacro.build() * Substate that is about to be opened/closed funkin.macros.EventMacro.build() funkin.macros.EventMacro.build() hscript.ClassExtendMacro.build() <__doAnimation public="1" expr="true"> true hide * The strum that is being created s * Player ID * Strum ID, for the sprite. "game/notes/default" * Sprite path, in case you only want to change the sprite. * Cancels the animation that makes the strum "land" in the strumline. hide { sprite : "game/notes/default" } funkin.macros.EventMacro.build() funkin.macros.EventMacro.build() hscript.ClassExtendMacro.build() * Week that is going to be selected * The difficulty that has been selected * At which emplacement the week is. Goes from 0 to the number of weeks - 1. * At which emplacement the difficulty is. Goes from 0 to the number of weeks - 1. funkin.macros.EventMacro.build() funkin.macros.EventMacro.build() hscript.ClassExtendMacro.build() <__instanceFields expr="Type.getInstanceFields(FunkinShader)" line="26" static="1"> Type.getInstanceFields(FunkinShader) "120" <__initGL set="method" line="70" override="1"> <__processGLData set="method" line="184" override="1"> { glslVer : "120" } * Creates a new shader from the specified fragment and vertex source. * Accepts `#pragma header`. * @param frag Fragment source (pass `null` to use default) * @param vert Vertex source (pass `null` to use default) * @param glslVer Version of GLSL to use (defaults to 120) openfl.utils._internal.ShaderMacro.build() openfl.utils._internal.ShaderMacro.build() hscript.ClassExtendMacro.build() openfl.display3D.Context3D openfl.display3D.Program3D openfl.display.ShaderInput openfl.display.ShaderParameter { glslVersion : "120" } * Creates a new custom shader * @param name Name of the frag and vert files. * @param glslVersion GLSL version to use. Defaults to `120`. * Class for custom shaders. * * To create one, create a `shaders` folder in your assets/mod folder, then add a file named `my-shader.frag` or/and `my-shader.vert`. * * Non-existent shaders will only load the default one, and throw a warning in the console. * * To access the shader's uniform variables, use `shader.variable` openfl.utils._internal.ShaderMacro.build() openfl.utils._internal.ShaderMacro.build() hscript.ClassExtendMacro.build() <__interp> openfl.utils._internal.ShaderMacro.build() openfl.utils._internal.ShaderMacro.build() hscript.ClassExtendMacro.build() hide funkin.shaders.CustomShader 0.0)\r\n\t{\r\n\t\treturn vec4(color.rgb * color.a * openfl_Alphav, color.a * openfl_Alphav);\r\n\t}\r\n\treturn vec4(0.0, 0.0, 0.0, 0.0);\r\n}\r\n\r\nuniform vec4 _camSize;\r\n\r\nfloat map(float value, float min1, float max1, float min2, float max2) {\r\n\treturn min2 + (value - min1) * (max2 - min2) / (max1 - min1);\r\n}\r\n\r\nvec2 getCamPos(vec2 pos) {\r\n\tvec4 size = _camSize / vec4(openfl_TextureSize, openfl_TextureSize);\r\n\treturn vec2(map(pos.x, size.x, size.x + size.z, 0.0, 1.0), map(pos.y, size.y, size.y + size.w, 0.0, 1.0));\r\n}\r\nvec2 camToOg(vec2 pos) {\r\n\tvec4 size = _camSize / vec4(openfl_TextureSize, openfl_TextureSize);\r\n\treturn vec2(map(pos.x, 0.0, 1.0, size.x, size.x + size.z), map(pos.y, 0.0, 1.0, size.y, size.y + size.w));\r\n}\r\nvec4 textureCam(sampler2D bitmap, vec2 pos) {\r\n\treturn flixel_texture2D(bitmap, camToOg(pos));\r\n}"]]> 0.0) {\r\n\r\n\t\tgl_FragColor = vec4 (color.rgb * color.a * openfl_Alphav, color.a * openfl_Alphav);\r\n\r\n\t} else {\r\n\r\n\t\tgl_FragColor = vec4 (0.0, 0.0, 0.0, 0.0);\r\n\r\n\t}\r\n\r\n} else {\r\n\r\n\tgl_FragColor = color * openfl_Alphav;\r\n\r\n}"]]> "attribute float openfl_Alpha;\r\nattribute vec4 openfl_ColorMultiplier;\r\nattribute vec4 openfl_ColorOffset;\r\nattribute vec4 openfl_Position;\r\nattribute vec2 openfl_TextureCoord;\r\n\r\nvarying float openfl_Alphav;\r\nvarying vec4 openfl_ColorMultiplierv;\r\nvarying vec4 openfl_ColorOffsetv;\r\nvarying vec2 openfl_TextureCoordv;\r\n\r\nuniform mat4 openfl_Matrix;\r\nuniform bool openfl_HasColorTransform;\r\nuniform vec2 openfl_TextureSize;" "openfl_Alphav = openfl_Alpha;\r\nopenfl_TextureCoordv = openfl_TextureCoord;\r\n\r\nif (openfl_HasColorTransform) {\r\n\r\n\topenfl_ColorMultiplierv = openfl_ColorMultiplier;\r\n\topenfl_ColorOffsetv = openfl_ColorOffset / 255.0;\r\n\r\n}\r\n\r\ngl_Position = openfl_Matrix * openfl_Position;" "#pragma header\r\n\r\nattribute float alpha;\r\nattribute vec4 colorMultiplier;\r\nattribute vec4 colorOffset;\r\nuniform bool hasColorTransform;\r\n\r\nvoid main(void)\r\n{\r\n\t#pragma body\r\n\r\n\topenfl_Alphav = openfl_Alpha * alpha;\r\n\r\n\tif (hasColorTransform)\r\n\t{\r\n\t\topenfl_ColorOffsetv = colorOffset / 255.0;\r\n\t\topenfl_ColorMultiplierv = colorMultiplier;\r\n\t}\r\n}" "#pragma header\r\n\r\nvoid main(void)\r\n{\r\n\tgl_FragColor = flixel_texture2D(bitmap, openfl_TextureCoordv);\r\n}" hscript.ClassExtendMacro.build() hscript.ClassExtendMacro.build() <__interp> hscript.ClassExtendMacro.build() hide funkin.shaders.FunkinShader funkin.shaders.FunkinShader.ShaderTemplates funkin.shaders.FunkinShader.ShaderTypeException <_HX_SUPER__set_glFragmentSource set="method" line="148"> <_HX_SUPER__set_glVertexSource set="method" line="148"> <__initGL set="method" line="110" override="1"> <_HX_SUPER____initGL set="method" line="30"> <__processGLData set="method" line="110" override="1"> <_HX_SUPER____processGLData set="method" line="30"> <_HX_SUPER__hget public="1" set="method" line="148"> <_HX_SUPER__hset public="1" set="method" line="148"> <__interp> openfl.utils._internal.ShaderMacro.build() openfl.utils._internal.ShaderMacro.build() hscript.ClassExtendMacro.build() hide funkin.shaders.FunkinShader funkin.shaders.FunkinShader.ShaderTemplates funkin.shaders.FunkinShader.ShaderTypeException <__interp> hscript.ClassExtendMacro.build() hide funkin.shaders.FunkinShader funkin.shaders.FunkinShader.ShaderTemplates funkin.shaders.FunkinShader.ShaderTypeException [] <__defaultLibraries expr="[]"> [] funkin.system.Main funkin.system.MainState { source : BOTH } { source : BOTH } { source : BOTH } { source : BOTH } { source : BOTH } hscript.ClassExtendMacro.build() hscript.ClassExtendMacro.build() cast true cast false cast null hscript.ClassExtendMacro.build() cast true cast false cast null hscript.ClassExtendMacro.build() <_HX_SUPER__removeLibrary public="1" set="method" line="148"> { source : BOTH } <_HX_SUPER__existsSpecific public="1" set="method" line="148"> { source : BOTH } { source : BOTH } <_HX_SUPER__getSpecificPath public="1" set="method" line="148"> { source : BOTH } { source : BOTH } <_HX_SUPER__getFiles public="1" set="method" line="148"> { source : BOTH } { source : BOTH } <_HX_SUPER__getFolders public="1" set="method" line="148"> { source : BOTH } { source : BOTH } <_HX_SUPER__getSpecificAsset public="1" set="method" line="148"> { source : BOTH } <_HX_SUPER__shouldSkipLib set="method" line="148"> <_HX_SUPER__isLocal public="1" set="method" line="148"> <_HX_SUPER__unloadLibraries public="1" set="method" line="148"> <_HX_SUPER__reset public="1" set="method" line="148"> <_HX_SUPER__addLibrary public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.system.AssetsLibraryList funkin.system.AssetsLibraryList.AssetSource funkin.system.AssetsLibraryList.AssetSource hscript.ClassExtendMacro.build() <__interp> hscript.ClassExtendMacro.build() hide funkin.system.CommandLineHandler * ... * @author hscript.ClassExtendMacro.build() new FlxTypedSignal() * FlxSignals new FlxTypedSignal() new FlxTypedSignal() 100 * Current BPM ((60 / bpm) * 1000) * Current Crochet (time per beat), in milliseconds. crochet / 4 * Current StepCrochet (time per step), in milliseconds. 4 * Number of beats per mesure (top number in time signature). Defaults to 4. 4 * Number of steps per beat (bottom number in time signature). Defaults to 4. * Current position of the song, in milliseconds. 0 * Current step 0 * Current beat 0 * Current measure 0 * Current step, as a `Float` (ex: 4.94, instead of 4) 0 * Current beat, as a `Float` (ex: 1.24, instead of 1) 0 * Current measure, as a `Float` (ex: 1.24, instead of 1) 0 hide 0 hide [] * Array of all BPM changes that have been mapped. * Maps BPM changes from a song. * @param song Song to map BPM changes from. <__updateSongPos set="method" line="153" static="1"> <__lastChange static="1"> <__updateBeat static="1"> <__updateMeasure static="1"> { stepsPerBeat : 4, beatsPerMesure : 4 } hide hscript.ClassExtendMacro.build() <__interp> hscript.ClassExtendMacro.build() hide funkin.system.Conductor.BPMChangeEvent funkin.system.Conductor hscript.ClassExtendMacro.build() cast "up" cast "left" cast "right" cast "down" cast "up-press" cast "left-press" cast "right-press" cast "down-press" cast "up-release" cast "left-release" cast "right-release" cast "down-release" cast "note-up" cast "note-left" cast "note-right" cast "note-down" cast "note-up-press" cast "note-left-press" cast "note-right-press" cast "note-down-press" cast "note-up-release" cast "note-left-release" cast "note-right-release" cast "note-down-release" cast "accept" cast "back" cast "pause" cast "reset" cast "cheat" cast "switchmod" hscript.ClassExtendMacro.build() cast "up" cast "left" cast "right" cast "down" cast "up-press" cast "left-press" cast "right-press" cast "down-press" cast "up-release" cast "left-release" cast "right-release" cast "down-release" cast "note-up" cast "note-left" cast "note-right" cast "note-down" cast "note-up-press" cast "note-left-press" cast "note-right-press" cast "note-down-press" cast "note-up-release" cast "note-left-release" cast "note-right-release" cast "note-down-release" cast "accept" cast "back" cast "pause" cast "reset" cast "cheat" cast "switchmod" hscript.ClassExtendMacro.build() hscript.ClassExtendMacro.build() * Since, in many cases multiple actions should use similar keys, we don't want the * rebinding UI to list every action. ActionBinders are what the user perceives as * an input so, for instance, they can't set jump-press and jump-release to different keys. hscript.ClassExtendMacro.build() hscript.ClassExtendMacro.build() <_up expr="new FlxActionDigital(Action.UP)"> new FlxActionDigital(Action.UP) <_left expr="new FlxActionDigital(Action.LEFT)"> new FlxActionDigital(Action.LEFT) <_right expr="new FlxActionDigital(Action.RIGHT)"> new FlxActionDigital(Action.RIGHT) <_down expr="new FlxActionDigital(Action.DOWN)"> new FlxActionDigital(Action.DOWN) <_upP expr="new FlxActionDigital(Action.UP_P)"> new FlxActionDigital(Action.UP_P) <_leftP expr="new FlxActionDigital(Action.LEFT_P)"> new FlxActionDigital(Action.LEFT_P) <_rightP expr="new FlxActionDigital(Action.RIGHT_P)"> new FlxActionDigital(Action.RIGHT_P) <_downP expr="new FlxActionDigital(Action.DOWN_P)"> new FlxActionDigital(Action.DOWN_P) <_upR expr="new FlxActionDigital(Action.UP_R)"> new FlxActionDigital(Action.UP_R) <_leftR expr="new FlxActionDigital(Action.LEFT_R)"> new FlxActionDigital(Action.LEFT_R) <_rightR expr="new FlxActionDigital(Action.RIGHT_R)"> new FlxActionDigital(Action.RIGHT_R) <_downR expr="new FlxActionDigital(Action.DOWN_R)"> new FlxActionDigital(Action.DOWN_R) <_noteUp expr="new FlxActionDigital(Action.NOTE_UP)"> new FlxActionDigital(Action.NOTE_UP) <_noteLeft expr="new FlxActionDigital(Action.NOTE_LEFT)"> new FlxActionDigital(Action.NOTE_LEFT) <_noteRight expr="new FlxActionDigital(Action.NOTE_RIGHT)"> new FlxActionDigital(Action.NOTE_RIGHT) <_noteDown expr="new FlxActionDigital(Action.NOTE_DOWN)"> new FlxActionDigital(Action.NOTE_DOWN) <_noteUpP expr="new FlxActionDigital(Action.NOTE_UP_P)"> new FlxActionDigital(Action.NOTE_UP_P) <_noteLeftP expr="new FlxActionDigital(Action.NOTE_LEFT_P)"> new FlxActionDigital(Action.NOTE_LEFT_P) <_noteRightP expr="new FlxActionDigital(Action.NOTE_RIGHT_P)"> new FlxActionDigital(Action.NOTE_RIGHT_P) <_noteDownP expr="new FlxActionDigital(Action.NOTE_DOWN_P)"> new FlxActionDigital(Action.NOTE_DOWN_P) <_noteUpR expr="new FlxActionDigital(Action.NOTE_UP_R)"> new FlxActionDigital(Action.NOTE_UP_R) <_noteLeftR expr="new FlxActionDigital(Action.NOTE_LEFT_R)"> new FlxActionDigital(Action.NOTE_LEFT_R) <_noteRightR expr="new FlxActionDigital(Action.NOTE_RIGHT_R)"> new FlxActionDigital(Action.NOTE_RIGHT_R) <_noteDownR expr="new FlxActionDigital(Action.NOTE_DOWN_R)"> new FlxActionDigital(Action.NOTE_DOWN_R) <_accept expr="new FlxActionDigital(Action.ACCEPT)"> new FlxActionDigital(Action.ACCEPT) <_back expr="new FlxActionDigital(Action.BACK)"> new FlxActionDigital(Action.BACK) <_pause expr="new FlxActionDigital(Action.PAUSE)"> new FlxActionDigital(Action.PAUSE) <_reset expr="new FlxActionDigital(Action.RESET)"> new FlxActionDigital(Action.RESET) <_cheat expr="new FlxActionDigital(Action.CHEAT)"> new FlxActionDigital(Action.CHEAT) <_switchMod expr="new FlxActionDigital(Action.SWITCHMOD)"> new FlxActionDigital(Action.SWITCHMOD) [] [] KeyboardScheme.None Void)]]> * Sets all actions that pertain to the binder to trigger when the supplied keys are used. * If binder is a literal you can inline this * Sets all actions that pertain to the binder to trigger when the supplied keys are used. * If binder is a literal you can inline this { reset : true } { deviceID : FlxInputDeviceID.ALL } * Sets all actions that pertain to the binder to trigger when the supplied keys are used. * If binder is a literal you can inline this * Sets all actions that pertain to the binder to trigger when the supplied keys are used. * If binder is a literal you can inline this { scheme : None } * A list of actions that a player would invoke via some input device. * Uses FlxActions to funnel various inputs to a single action. hscript.ClassExtendMacro.build() hscript.ClassExtendMacro.build() cast 0 cast 1 cast 2 cast 3 cast 4 cast 5 hscript.ClassExtendMacro.build() cast 0 cast 1 cast 2 cast 3 cast 4 cast 5 hscript.ClassExtendMacro.build() new FlxMatrix() hscript.ClassExtendMacro.build() <_HX_SUPER__drawLimb set="method" line="148"> <_HX_SUPER__limbOnScreen set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.system.FlxAnimate false openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.ClassExtendMacro.build() <_HX_SUPER__switchState public="1" set="method" line="148"> <_HX_SUPER__onEnterFrame public="1" set="method" line="148"> <_HX_SUPER__draw public="1" set="method" line="148"> <_HX_SUPER__update public="1" set="method" line="148"> <__interp> openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.ClassExtendMacro.build() hide funkin.system.FunkinGame null null hscript.ClassExtendMacro.build() <_HX_SUPER__updateGameSize public="1" set="method" line="30"> <_HX_SUPER__resetSize public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.system.FunkinRatioScaleMode hscript.ClassExtendMacro.build() cast 0 cast 1 cast 2 { def : NONE } hscript.ClassExtendMacro.build() cast 0 cast 1 cast 2 { def : NONE } hscript.ClassExtendMacro.build() <_HX_SUPER__update public="1" set="method" line="148"> { Key : null, Unique : false } <_HX_SUPER__loadSprite public="1" set="method" line="148"> { Key : null, Unique : false } <_HX_SUPER__beatHit public="1" set="method" line="148"> <_HX_SUPER__stepHit public="1" set="method" line="148"> <_HX_SUPER__measureHit public="1" set="method" line="148"> <_HX_SUPER__getScreenBounds public="1" set="method" line="148"> <_HX_SUPER__drawComplex public="1" set="method" line="148"> <_HX_SUPER__doAdditionalMatrixStuff public="1" set="method" line="148"> <_HX_SUPER__getScreenPosition public="1" set="method" line="148"> <_HX_SUPER__draw public="1" set="method" line="148"> <_HX_SUPER__copyAtlasValues public="1" set="method" line="148"> <_HX_SUPER__destroy public="1" set="method" line="148"> <__doPreZoomScaleProcedure set="method" line="74" override="1"> <_HX_SUPER____doPreZoomScaleProcedure set="method" line="148"> <__doPostZoomScaleProcedure set="method" line="74" override="1"> <_HX_SUPER____doPostZoomScaleProcedure set="method" line="148"> { y : 0, x : 0 } <_HX_SUPER__addOffset public="1" set="method" line="148"> { y : 0, x : 0 } <_HX_SUPER__switchOffset public="1" set="method" line="148"> { Frame : 0, Reversed : false, Context : NONE, Force : false } <_HX_SUPER__playAnim public="1" set="method" line="30"> { Frame : 0, Reversed : false, Context : NONE, Force : false } <__interp> hscript.ClassExtendMacro.build() hide funkin.system.FunkinSprite.XMLAnimType funkin.system.FunkinSprite.XMLAnimType funkin.system.FunkinSprite [] * Array containing all of the graphics cached by this sprite. [] * Array containing all of the non rendered (not sent to GPU) cached graphics. * Caches a graphic at specified path. * @param path Path to the graphic. * Dummy FlxSprite that allows you to cache FlxGraphics, and immediatly send them to GPU memory. hscript.ClassExtendMacro.build() * Caches a graphic at specified path. * @param path Path to the graphic. <_HX_SUPER__cache public="1" set="method" line="148"> <_HX_SUPER__destroy public="1" set="method" line="148"> <_HX_SUPER__draw public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.system.GraphicCacheSprite <__showing expr="false" line="10" static="1"> false Log.trace { level : INFO } { color : LIGHTGRAY } <__showInConsole public="1" set="method" line="79" static="1"> { level : INFO } { color : LIGHTGRAY, level : INFO } hscript.ClassExtendMacro.build() hscript.ClassExtendMacro.build() cast 0 cast 1 cast 2 cast 3 cast 4 hscript.ClassExtendMacro.build() cast 0 cast 1 cast 2 cast 3 cast 4 hscript.ClassExtendMacro.build() hscript.ClassExtendMacro.build() <__interp> hscript.ClassExtendMacro.build() hide funkin.system.Logs funkin.system.Logs.Level funkin.system.Logs.Level funkin.system.Logs.LogText false false * Simple state used for loading the game hscript.ClassExtendMacro.build() <_HX_SUPER__create public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.system.MainState <_HX_SUPER__init set="method" line="30"> <_HX_SUPER__setupGame set="method" line="30"> <__interp> openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.ClassExtendMacro.build() hide funkin.system.Main hscript.ClassExtendMacro.build() <_HX_SUPER__beatHit public="1" set="method" line="148"> <_HX_SUPER__stepHit public="1" set="method" line="148"> <_HX_SUPER__measureHit public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.system.MusicBeatGroup <_HX_SUPER__loadScript set="method" line="148"> <_HX_SUPER__tryUpdate public="1" set="method" line="30"> <_HX_SUPER__create set="method" line="148"> <_HX_SUPER__createPost public="1" set="method" line="148"> <_HX_SUPER__call public="1" set="method" line="148"> <_HX_SUPER__update set="method" line="148"> hide <_HX_SUPER__stepHit public="1" set="method" line="30"> hide <_HX_SUPER__beatHit public="1" set="method" line="30"> hide <_HX_SUPER__measureHit public="1" set="method" line="30"> { fpsSensitive : false } * Shortcut to `FlxMath.lerp` or `CoolUtil.lerp`, depending on `fpsSensitive` * @param v1 Value 1 * @param v2 Value 2 * @param ratio Ratio * @param fpsSensitive Whenever the ratio should not be adjusted to run at the same speed independent of framerate. <_HX_SUPER__lerp public="1" set="method" line="148"> { fpsSensitive : false } * SCRIPTING STUFF <_HX_SUPER__openSubState public="1" set="method" line="148"> <_HX_SUPER__onResize public="1" set="method" line="148"> <_HX_SUPER__destroy public="1" set="method" line="148"> <_HX_SUPER__draw public="1" set="method" line="148"> <_HX_SUPER__switchTo public="1" set="method" line="148"> <_HX_SUPER__onFocus public="1" set="method" line="148"> <_HX_SUPER__onFocusLost public="1" set="method" line="148"> <_HX_SUPER__resetSubState public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.system.MusicBeatState <_HX_SUPER__loadScript set="method" line="148"> <_HX_SUPER__tryUpdate public="1" set="method" line="30"> <_HX_SUPER__close set="method" line="148"> <_HX_SUPER__create set="method" line="148"> <_HX_SUPER__createPost public="1" set="method" line="148"> <_HX_SUPER__call public="1" set="method" line="148"> <_HX_SUPER__update set="method" line="148"> hide <_HX_SUPER__stepHit public="1" set="method" line="30"> hide <_HX_SUPER__beatHit public="1" set="method" line="30"> hide <_HX_SUPER__measureHit public="1" set="method" line="30"> { fpsSensitive : false } * Shortcut to `FlxMath.lerp` or `CoolUtil.lerp`, depending on `fpsSensitive` * @param v1 Value 1 * @param v2 Value 2 * @param ratio Ratio * @param fpsSensitive Whenever the ratio should not be adjusted to run at the same speed independent of framerate. <_HX_SUPER__lerp public="1" set="method" line="148"> { fpsSensitive : false } * SCRIPTING STUFF <_HX_SUPER__openSubState public="1" set="method" line="148"> <_HX_SUPER__onResize public="1" set="method" line="148"> <_HX_SUPER__destroy public="1" set="method" line="148"> <_HX_SUPER__switchTo public="1" set="method" line="148"> <_HX_SUPER__onFocus public="1" set="method" line="148"> <_HX_SUPER__onFocusLost public="1" set="method" line="148"> <_HX_SUPER__onSubstateOpen public="1" set="method" line="148"> <_HX_SUPER__resetSubState public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.system.MusicBeatSubstate <__fromImage set="method" line="11" override="1"> "checkstyle:Dynamic" "checkstyle:Dynamic" hide openfl.utils._internal.AssetsMacro.embedBitmap() openfl.utils._internal.AssetsMacro.embedBitmap() hscript.ClassExtendMacro.build() <__fromImage set="method" line="110" override="1"> "checkstyle:Dynamic" <_HX_SUPER____fromImage set="method" line="30"> "checkstyle:Dynamic" hide <_HX_SUPER__getSurface public="1" set="method" line="148"> <__interp> openfl.utils._internal.AssetsMacro.embedBitmap() openfl.utils._internal.AssetsMacro.embedBitmap() hscript.ClassExtendMacro.build() hide funkin.system.OptimizedBitmapData "ogg" * Preferred sound extension for the game's audio files. * Currently is set to `mp3` for web targets, and `ogg` for other targets. [] { skipModsVerification : false } { library : "default" } { type : TEXT } { difficulty : "normal" } { difficulty : "normal" } { checkForAtlas : false } { difficulty : "normal" } { source : BOTH, addPath : false } { source : BOTH, addPath : false } hscript.ClassExtendMacro.build() <__interp> hscript.ClassExtendMacro.build() hide funkin.system.Paths <c path="openfl.text.TextField"/> <_text expr=""""> "" <__enterFrame public="1" set="method" line="42" override="1"> { text : "" } openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.ClassExtendMacro.build() <__enterFrame public="1" set="method" line="10" override="1"> openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.ClassExtendMacro.build() <__enterFrame public="1" set="method" line="74" override="1"> <_HX_SUPER____enterFrame public="1" set="method" line="148"> <__interp> openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.ClassExtendMacro.build() hide funkin.system.framerate.AssetTreeInfo hscript.ClassExtendMacro.build() <__interp> hscript.ClassExtendMacro.build() hide funkin.system.framerate.CodenameBuildField <__enterFrame public="1" set="method" line="9" override="1"> openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.ClassExtendMacro.build() <__enterFrame public="1" set="method" line="74" override="1"> <_HX_SUPER____enterFrame public="1" set="method" line="148"> <__interp> openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.ClassExtendMacro.build() hide funkin.system.framerate.ConductorInfo <__enterFrame public="1" set="method" line="8" override="1"> openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.ClassExtendMacro.build() <__enterFrame public="1" set="method" line="74" override="1"> <_HX_SUPER____enterFrame public="1" set="method" line="148"> <__interp> openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.ClassExtendMacro.build() hide funkin.system.framerate.FlixelInfo "${Sys.getEnv(\"windir\")}\\Fonts\\consola.ttf" false new FlxPoint() <__bitmap public="1" get="accessor" set="null" expr="null" line="32" static="1"> null [] <__addCategory set="method" line="78"> <__lastAddedSprite expr="null"> null <__addToList set="method" line="83"> 0 <__enterFrame public="1" set="method" line="93" override="1"> openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.ClassExtendMacro.build() <__enterFrame public="1" set="method" line="74" override="1"> <_HX_SUPER____enterFrame public="1" set="method" line="148"> <__interp> openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.ClassExtendMacro.build() hide funkin.system.framerate.FramerateCategory 0 <__enterFrame public="1" set="method" line="29" override="1"> openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.ClassExtendMacro.build() <__enterFrame public="1" set="method" line="74" override="1"> <_HX_SUPER____enterFrame public="1" set="method" line="148"> <__interp> openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.ClassExtendMacro.build() hide funkin.system.framerate.FramerateCounter <__addCategory set="method" line="74" override="1"> <_HX_SUPER____addCategory set="method" line="148"> <__addToList set="method" line="74" override="1"> <_HX_SUPER____addToList set="method" line="148"> <__enterFrame public="1" set="method" line="74" override="1"> <_HX_SUPER____enterFrame public="1" set="method" line="148"> <__interp> openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.ClassExtendMacro.build() hide funkin.system.framerate.Framerate 0 0 <__enterFrame public="1" set="method" line="32" override="1"> openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.ClassExtendMacro.build() <__enterFrame public="1" set="method" line="74" override="1"> <_HX_SUPER____enterFrame public="1" set="method" line="148"> <__interp> openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.ClassExtendMacro.build() hide funkin.system.framerate.MemoryCounter "Unknown" "Unknown" "Unknown" "Unknown" "Unknown" "Unknown" <__enterFrame public="1" set="method" line="52" override="1"> openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.ClassExtendMacro.build() <__enterFrame public="1" set="method" line="74" override="1"> <_HX_SUPER____enterFrame public="1" set="method" line="148"> <__interp> openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() hscript.ClassExtendMacro.build() hide funkin.system.framerate.SystemInfo * if youre stealing this keep this comment at least please lol * * hi gray itsa me yoshicrafter29 i fixed it hehe hscript.ClassExtendMacro.build() hide hscript.ClassExtendMacro.build() <__interp> hscript.ClassExtendMacro.build() hide funkin.system.modules.AudioSwitchFix funkin.system.modules.AudioSwitchFix.PlayingSound hscript.ClassExtendMacro.build() <__interp> hscript.ClassExtendMacro.build() hide funkin.system.modules.CrashHandler Whether caching is currently enabled. { prefix : null } Clears all cached assets, or all assets with an ID that matches an optional prefix. For example: ```haxe Assets.setBitmapData("image1", image1); Assets.setBitmapData("assets/image2", image2); Assets.clear("assets"); // will clear image2 Assets.clear("image"); // will clear image1 ``` @param prefix A ID prefix Retrieves a cached BitmapData. @param id The ID of the cached BitmapData @return The cached BitmapData instance Retrieves a cached Font. @param id The ID of the cached Font @return The cached Font instance Retrieves a cached Sound. @param id The ID of the cached Sound @return The cached Sound instance Checks whether a BitmapData asset is cached. @param id The ID of a BitmapData asset @return Whether the object has been cached Checks whether a Font asset is cached. @param id The ID of a Font asset @return Whether the object has been cached Checks whether a Sound asset is cached. @param id The ID of a Sound asset @return Whether the object has been cached Removes a BitmapData from the cache. @param id The ID of a BitmapData asset @return `true` if the asset was removed, `false` if it was not in the cache Removes a Font from the cache. @param id The ID of a Font asset @return `true` if the asset was removed, `false` if it was not in the cache Removes a Sound from the cache. @param id The ID of a Sound asset @return `true` if the asset was removed, `false` if it was not in the cache Adds or replaces a BitmapData asset in the cache. @param id The ID of a BitmapData asset @param bitmapData The matching BitmapData instance Adds or replaces a Font asset in the cache. @param id The ID of a Font asset @param bitmapData The matching Font instance Adds or replaces a Sound asset in the cache. @param id The ID of a Sound asset @param bitmapData The matching Sound instance The IAssetCache interface provides methods for caching resources loaded from openfl.utils.Assets to improve performance. Whether caching is currently enabled. hide Internal hide Internal hide Internal <__enabled expr="true"> true { prefix : null } Clears all cached assets, or all assets with an ID that matches an optional prefix. For example: ```haxe Assets.setBitmapData("image1", image1); Assets.setBitmapData("assets/image2", image2); Assets.clear("assets"); // will clear image2 Assets.clear("image"); // will clear image1 ``` @param prefix A ID prefix Retrieves a cached BitmapData. @param id The ID of the cached BitmapData @return The cached BitmapData instance Retrieves a cached Font. @param id The ID of the cached Font @return The cached Font instance Retrieves a cached Sound. @param id The ID of the cached Sound @return The cached Sound instance Checks whether a BitmapData asset is cached. @param id The ID of a BitmapData asset @return Whether the object has been cached Checks whether a Font asset is cached. @param id The ID of a Font asset @return Whether the object has been cached Checks whether a Sound asset is cached. @param id The ID of a Sound asset @return Whether the object has been cached Removes a BitmapData from the cache. @param id The ID of a BitmapData asset @return `true` if the asset was removed, `false` if it was not in the cache Removes a Font from the cache. @param id The ID of a Font asset @return `true` if the asset was removed, `false` if it was not in the cache Removes a Sound from the cache. @param id The ID of a Sound asset @return `true` if the asset was removed, `false` if it was not in the cache Adds or replaces a BitmapData asset in the cache. @param id The ID of a BitmapData asset @param bitmapData The matching BitmapData instance Adds or replaces a Font asset in the cache. @param id The ID of a Font asset @param bitmapData The matching Font instance Adds or replaces a Sound asset in the cache. @param id The ID of a Sound asset @param bitmapData The matching Sound instance Creates a new AssetCache instance. The AssetCache class is the default cache implementation used by openfl.utils.Assets, objects will be cached for the lifetime of the application unless removed explicitly, or using Assets `unloadLibrary` "tags=\"haxe,release\"" hide Internal hide Internal hide Internal Retrieves a cached BitmapData. @param id The ID of the cached BitmapData @return The cached BitmapData instance Retrieves a cached Font. @param id The ID of the cached Font @return The cached Font instance Retrieves a cached Sound. @param id The ID of the cached Sound @return The cached Sound instance Checks whether a BitmapData asset is cached. @param id The ID of a BitmapData asset @return Whether the object has been cached Checks whether a Font asset is cached. @param id The ID of a Font asset @return Whether the object has been cached Checks whether a Sound asset is cached. @param id The ID of a Sound asset @return Whether the object has been cached Removes a BitmapData from the cache. @param id The ID of a BitmapData asset @return `true` if the asset was removed, `false` if it was not in the cache Removes a Font from the cache. @param id The ID of a Font asset @return `true` if the asset was removed, `false` if it was not in the cache Removes a Sound from the cache. @param id The ID of a Sound asset @return `true` if the asset was removed, `false` if it was not in the cache hscript.ClassExtendMacro.build() <_HX_SUPER__moveToSecondLayer public="1" set="method" line="148"> <_HX_SUPER__clearSecondLayer public="1" set="method" line="148"> Retrieves a cached BitmapData. @param id The ID of the cached BitmapData @return The cached BitmapData instance <_HX_SUPER__getBitmapData public="1" set="method" line="148"> Retrieves a cached Font. @param id The ID of the cached Font @return The cached Font instance <_HX_SUPER__getFont public="1" set="method" line="148"> Retrieves a cached Sound. @param id The ID of the cached Sound @return The cached Sound instance <_HX_SUPER__getSound public="1" set="method" line="148"> Checks whether a BitmapData asset is cached. @param id The ID of a BitmapData asset @return Whether the object has been cached <_HX_SUPER__hasBitmapData public="1" set="method" line="148"> Checks whether a Font asset is cached. @param id The ID of a Font asset @return Whether the object has been cached <_HX_SUPER__hasFont public="1" set="method" line="148"> Checks whether a Sound asset is cached. @param id The ID of a Sound asset @return Whether the object has been cached <_HX_SUPER__hasSound public="1" set="method" line="148"> Removes a BitmapData from the cache. @param id The ID of a BitmapData asset @return `true` if the asset was removed, `false` if it was not in the cache <_HX_SUPER__removeBitmapData public="1" set="method" line="148"> Removes a Font from the cache. @param id The ID of a Font asset @return `true` if the asset was removed, `false` if it was not in the cache <_HX_SUPER__removeFont public="1" set="method" line="148"> Removes a Sound from the cache. @param id The ID of a Sound asset @return `true` if the asset was removed, `false` if it was not in the cache <_HX_SUPER__removeSound public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.system.modules.FunkinCache 0.05 false 0 false "" <_finalText expr=""""> "" <_curText expr=""""> "" FlxG.width 1 false [] false "gf" { typed : false, bold : false, text : "" } * Loosely based on FlxTypeText lolol hscript.ClassExtendMacro.build() <__alphaPath public="1" expr="null" line="216" static="1"> null hide [] [] 0 hscript.ClassExtendMacro.build() <_HX_SUPER__set_color set="method" line="148"> <_HX_SUPER__refreshAlphabetXML public="1" set="method" line="148"> <_HX_SUPER__addText public="1" set="method" line="148"> <_HX_SUPER__doSplitWords set="method" line="30"> <_HX_SUPER__startTypedText public="1" set="method" line="30"> <_HX_SUPER__update set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.ui.Alphabet funkin.ui.Alphabet.AlphaCharacter <_HX_SUPER__setColor public="1" set="method" line="148"> <_HX_SUPER__createBold public="1" set="method" line="148"> <_HX_SUPER__createLetter public="1" set="method" line="30"> <__interp> hscript.ClassExtendMacro.build() hide funkin.ui.Alphabet funkin.ui.Alphabet.AlphaCharacter <__interp> hscript.ClassExtendMacro.build() hide funkin.ui.FunkinText * Returns the most present color in a Bitmap. * @param bmap Bitmap * @return FlxColor Color that is the most present. * Returns the most present saturated color in a Bitmap. * @param bmap Bitmap * @return FlxColor Color that is the most present. hscript.ClassExtendMacro.build() <__interp> hscript.ClassExtendMacro.build() hide funkin.utils.BitmapUtil * Shortcut to parse JSON from an Asset path * @param assetPath Path to the JSON asset. * Shortcut to parse a JSON string * @param str Path to the JSON string * @return Parsed JSON * Whenever a value is NaN or not. * @param v Value * Returns the last of an Array * @param array Array * @return T Last element * Sets a field's default value, and returns it. In case it already exists, returns the existing one. * @param v Dynamic to set the default value to * @param name Name of the value * @param defaultValue Default value * @return T New/old value. * Add several zeros at the beginning of a string, so that `2` becomes `02`. * @param str String to add zeros * @param num The length required * Returns a string representation of a size, following this format: `1.02 GB`, `134.00 MB` * @param size Size to convert ot string * @return String Result string representation * Alternative linear interpolation function for each frame use, without worrying about framerate changes. * @param v1 Begin value * @param v2 End value * @param ratio Ratio * @return Float Final value { fpsSensitive : false } * Lerps from color1 into color2 (Shortcut to `FlxColor.interpolate`) * @param color1 Color 1 * @param color2 Color 2 * @param ratio Ratio * @param fpsSensitive Whenever the ratio should be fps sensitive (adapted when game is running at 120 instead of 60) * Modifies a lerp ratio based on current FPS to keep a stable speed on higher framerate. * @param ratio Ratio * @return FPS-Modified Ratio * Tries to get a color from a `Dynamic` variable. * @param c `Dynamic` color. * @return The result color, or `null` if invalid. { fadeIn : false } * Plays the main menu theme. * @param fadeIn * Preloads a character. * @param name Character name * @param spriteName (Optional) sprite name. { DefaultBPM : 102, Looped : true, Volume : 1, Persist : false } * Plays music, while resetting the Conductor, and taking info from INI in count. * @param path Path to the music * @param Persist Whenever the music should persist while switching states * @param DefaultBPM Default BPM of the music (102) * @param Volume Volume of the music (1) * @param Looped Whenever the music loops (true) * @param Group A group that this music belongs to (default) { volume : 1, menuSFX : SCROLL } * Plays a specified Menu SFX. * @param menuSFX Menu SFX to play * @param volume At which volume it should play ]]> { min : 0 } Final array]]> * Switches frames from 2 FlxAnimations. * @param anim1 First animation * @param anim2 Second animation { maxScale : 0, fill : true } * Allows you to set a graphic size (ex: 150x150), with proper hitbox without a stretched sprite. * @param sprite Sprite to apply the new graphic size to * @param width Width * @param height Height * @param fill Whenever the sprite should fill instead of shrinking (true) * @param maxScale Maximum scale (0 / none) * Returns a simple string representation of a FlxKey. Used in Controls options. * @param key Key * @return Simple representation { axes : XY } * Centers an object in a camera's field, basically `screenCenter()` but `camera.width` and `camera.height` are used instead of `FlxG.width` and `FlxG.height`. * @param obj Sprite to center * @param cam Camera * @param axes Axes (XY) { difficulty : "normal" } * Load a week into PlayState. * @param weekData Week Data * @param difficulty Week Difficulty { coopMode : false, opponentMode : false, difficulty : "normal" } * Loads a song into PlayState * @param name Song name * @param difficulty Chart difficulty (if invalid, will load an empty chart) * @param opponentMode Whenever opponent mode is on * @param coopMode Whenever co-op mode is on. <__loadSong public="1" set="method" line="422" static="1"> * (INTERNAL) Loads a song without resetting story mode/opponent mode/coop mode values. * @param name Song name * @param difficulty Song difficulty * Equivalent of `setGraphicSize`, except that it can accept floats and automatically updates the hitbox. * @param sprite Sprite to set the size of * @param width Width * @param height Height * Gets an XML attribute from an `Access` abstract, without throwing an exception if invalid. * Example: `xml.getAtt("test").getDefault("Hello, World!");` * @param xml XML to get the attribute from * @param name Name of the attribute { SkipAtlasCheck : false, Key : null, Unique : false } * Loads frames from a specific image path. Supports Sparrow Atlases, Packer Atlases, and multiple spritesheets. * @param path Path to the image * @param Unique Whenever the image should be unique in the cache * @param Key Key to the image in the cache * @param SkipAtlasCheck Whenever the atlas check should be skipped. * @return FlxFramesCollection Frames * Loads an animated graphic, and automatically animates it. * @param spr Sprite to load the graphic for * @param path Path to the graphic * Copies a color transform from color1 to color2 * @param color1 Color transform to copy to * @param color2 Color transform to copy from * Resets an FlxSprite * @param spr Sprite to reset * @param x New X position * @param y New Y position * Gets the macro class created by hscript-improved for an abstract / enum * Clears the content of an array ]]> * Opens an URL in the browser. * @param url * Stops a sound, set its time to 0 then play it again. * @param sound Sound to replay. Float -> Int conversion. * @param p1 * @param p2 * @return return p1 < p2 ? p2 : p1]]> Float -> Int conversion. * @param e Value to get the floor of.]]> * Sets a SoundFrontEnd's music to a FlxSound. * Example: `FlxG.sound.setMusic(music);` * @param frontEnd SoundFrontEnd to set the music of * @param music Music hscript.ClassExtendMacro.build() funkin.game.PlayState * SFXs to play using `playMenuSFX`. hscript.ClassExtendMacro.build() cast 0 cast 1 cast 2 cast 3 cast 4 cast 5 hscript.ClassExtendMacro.build() cast 0 cast 1 cast 2 cast 3 cast 4 cast 5 hscript.ClassExtendMacro.build() <__interp> hscript.ClassExtendMacro.build() hide funkin.utils.CoolUtil funkin.utils.CoolUtil.CoolSfx funkin.utils.CoolUtil.CoolSfx null null false null hscript.ClassExtendMacro.build() hscript.ClassExtendMacro.build() <__interp> hscript.ClassExtendMacro.build() hide funkin.utils.DiscordUtil funkin.utils.DiscordUtil.DiscordJson * Starts a new multithreaded script. * This script will share all the variables with the current one, which means already existing callbacks will be replaced by new ones on conflict. * @param path hscript.ClassExtendMacro.build() <__interp> hscript.ClassExtendMacro.build() hide funkin.utils.EngineUtil 0 0 0 0 * Additional class for FlxColor lerping. * Gets rid of precision issues with `FlxColor.interpolate` hscript.ClassExtendMacro.build() <_HX_SUPER__lerpTo public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.utils.FlxInterpolateColor * DOESNT SUPPORT CATEGORIES YET!! hscript.ClassExtendMacro.build() <__interp> hscript.ClassExtendMacro.build() hide funkin.utils.IniUtil { underline : false, italic : false, bold : false } { emoteEnd : "\n" } hscript.ClassExtendMacro.build() <__interp> hscript.ClassExtendMacro.build() hide funkin.utils.MarkdownUtil 0 <_nb expr="0" line="144" static="1"> 0 <_nbD expr="0" line="145" static="1"> 0 <_zombie static="1"> hscript.ClassExtendMacro.build() <__interp> hscript.ClassExtendMacro.build() hide funkin.utils.MemoryUtil hide hide * Allocates a new console. The console will automatically be opened * Sets the window titlebar to dark mode (Windows 10 only) { icon : MSG_WARNING } * Shows a message box { backgroundColor : BLACK, foregroundColor : LIGHTGRAY } * Sets the console colors * Class for Windows-only functions, such as transparent windows, message boxes, and more. * Does not have any effect on other platforms. hscript.ClassExtendMacro.build() hscript.ClassExtendMacro.build() cast 0 cast 1 cast 2 cast 3 cast 4 cast 5 cast 6 cast 7 cast 8 cast 9 cast 10 cast 11 cast 12 cast 13 cast 14 cast 15 hscript.ClassExtendMacro.build() cast 0 cast 1 cast 2 cast 3 cast 4 cast 5 cast 6 cast 7 cast 8 cast 9 cast 10 cast 11 cast 12 cast 13 cast 14 cast 15 hscript.ClassExtendMacro.build() hscript.ClassExtendMacro.build() cast 0x00000010 cast 0x00000020 cast 0x00000030 cast 0x00000040 hscript.ClassExtendMacro.build() cast 0x00000010 cast 0x00000020 cast 0x00000030 cast 0x00000040 hscript.ClassExtendMacro.build() <__interp> hscript.ClassExtendMacro.build() hide funkin.utils.NativeAPI funkin.utils.NativeAPI.ConsoleColor funkin.utils.NativeAPI.ConsoleColor funkin.utils.NativeAPI.MessageBoxIcon funkin.utils.NativeAPI.MessageBoxIcon * Applies a property XML node to an object. * @param object Object to which the xml property will be applied * @param property `property` node. { defaultAnimType : BEAT, parentFolder : "" } * Creates a new sprite based on a XML node. { loop : false, animType : NONE } { loop : false } * Adds an XML animation to `sprite`. * @param sprite Destination sprite * @param anim Animation (Must be a `anim` XML node) * Class made to make XML parsing easier. hscript.ClassExtendMacro.build() hscript.ClassExtendMacro.build() <__interp> hscript.ClassExtendMacro.build() hide funkin.utils.XMLUtil funkin.utils.XMLUtil.AnimData [".git", ".gitignore", ".github", ".vscode", ".gitattributes", "readme.txt"] * [Description] Uncompresses `zip` into the `destFolder` folder * @param zip * @param destFolder * [Description] Returns a `zip.Reader` instance from path. * @param zipPath * @return Reader * [Description] Copy of haxe's Zip unzip function cause lime replaced it. * @param f Zip entry * [Description] Creates a ZIP file at the specified location and returns the Writer. * @param path * @return Writer [Description] Writes the entirety of a folder to a zip file. @param zip ZIP file to write to @param path Folder path @param prefix (Additional) allows you to set a prefix in the zip itself. ` to a `List`. * @param array * @return List]]> hscript.ClassExtendMacro.build() null 0 0 false hscript.ClassExtendMacro.build() hscript.ClassExtendMacro.build() 46 The next constant is required for computing the Central Directory Record(CDR) size. CDR consists of some fields of constant size and a filename. Constant represents total length of all fields with constant size for each file in archive 30 The following constant is the total size of all fields of Local File Header. It's required for calculating offset of start of central directory record hscript.ClassExtendMacro.build() hscript.ClassExtendMacro.build() <_HX_SUPER__flush public="1" set="method" line="148"> <_HX_SUPER__writeFile public="1" set="method" line="148"> <_HX_SUPER__close public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.utils.ZipUtil funkin.utils.ZipUtil.ZipProgress funkin.utils.ZipUtil.ZipReader funkin.utils.ZipUtil.ZipWriter funkin.utils.ZipUtil.StrNameLabel <_HX_SUPER__read public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.utils.ZipUtil funkin.utils.ZipUtil.ZipProgress funkin.utils.ZipUtil.ZipReader funkin.utils.ZipUtil.ZipWriter funkin.utils.ZipUtil.StrNameLabel <_HX_SUPER__get_percentage set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.utils.ZipUtil funkin.utils.ZipUtil.ZipProgress funkin.utils.ZipUtil.ZipReader funkin.utils.ZipUtil.ZipWriter funkin.utils.ZipUtil.StrNameLabel <__interp> hscript.ClassExtendMacro.build() hide funkin.utils.ZipUtil funkin.utils.ZipUtil.ZipProgress funkin.utils.ZipUtil.ZipReader funkin.utils.ZipUtil.ZipWriter funkin.utils.ZipUtil.StrNameLabel <__interp> hscript.ClassExtendMacro.build() hide funkin.utils.ZipUtil funkin.utils.ZipUtil.ZipProgress funkin.utils.ZipUtil.ZipReader funkin.utils.ZipUtil.ZipWriter funkin.utils.ZipUtil.StrNameLabel Endianness (word byte order) used when writing numbers. If `true`, big-endian is used, otherwise `little-endian` is used. Write one byte. Write `len` bytes from `s` starting by position specified by `pos`. Returns the actual length of written data that can differ from `len`. See `writeFullBytes` that tries to write the exact amount of specified bytes. Flush any buffered data. Close the output. Behaviour while writing after calling this method is unspecified. Write all bytes stored in `s`. Write `len` bytes from `s` starting by position specified by `pos`. Unlike `writeBytes`, this method tries to write the exact `len` amount of bytes. Write `x` as 32-bit floating point number. Endianness is specified by the `bigEndian` property. Write `x` as 64-bit double-precision floating point number. Endianness is specified by the `bigEndian` property. Write `x` as 8-bit signed integer. Write `x` as 16-bit signed integer. Endianness is specified by the `bigEndian` property. Write `x` as 16-bit unsigned integer. Endianness is specified by the `bigEndian` property. Write `x` as 24-bit signed integer. Endianness is specified by the `bigEndian` property. Write `x` as 24-bit unsigned integer. Endianness is specified by the `bigEndian` property. Write `x` as 32-bit signed integer. Endianness is specified by the `bigEndian` property. Inform that we are about to write at least `nbytes` bytes. The underlying implementation can allocate proper working space depending on this information, or simply ignore it. This is not a mandatory call but a tip and is only used in some specific cases. Read all available data from `i` and write it. The `bufsize` optional argument specifies the size of chunks by which data is read and written. Its default value is 4096. Write `s` string. An Output is an abstract write. A specific output implementation will only have to override the `writeByte` and maybe the `write`, `flush` and `close` methods. See `File.write` and `String.write` for two ways of creating an Output.

      hscript.ClassExtendMacro.build()
      Endianness (word byte order) used when reading numbers. If `true`, big-endian is used, otherwise `little-endian` is used. Read and return one byte. Read `len` bytes and write them into `s` to the position specified by `pos`. Returns the actual length of read data that can be smaller than `len`. See `readFullBytes` that tries to read the exact amount of specified bytes. Close the input source. Behaviour while reading after calling this method is unspecified. Read and return all available data. The `bufsize` optional argument specifies the size of chunks by which data is read. Its default value is target-specific. Read `len` bytes and write them into `s` to the position specified by `pos`. Unlike `readBytes`, this method tries to read the exact `len` amount of bytes. Read and return `nbytes` bytes. Read a string until a character code specified by `end` is occurred. The final character is not included in the resulting string. Read a line of text separated by CR and/or LF bytes. The CR/LF characters are not included in the resulting string. Read a 32-bit floating point number. Endianness is specified by the `bigEndian` property. Read a 64-bit double-precision floating point number. Endianness is specified by the `bigEndian` property. Read a 8-bit signed integer. Read a 16-bit signed integer. Endianness is specified by the `bigEndian` property. Read a 16-bit unsigned integer. Endianness is specified by the `bigEndian` property. Read a 24-bit signed integer. Endianness is specified by the `bigEndian` property. Read a 24-bit unsigned integer. Endianness is specified by the `bigEndian` property. Read a 32-bit signed integer. Endianness is specified by the `bigEndian` property. Read and `len` bytes as a string. An Input is an abstract reader. See other classes in the `haxe.io` package for several possible implementations. All functions which read data throw `Eof` when the end of the stream is reached.

      hscript.ClassExtendMacro.build()

      { block : true } hscript.ClassExtendMacro.build()
      <_HX_SUPER__readByte public="1" set="method" line="148"> <_HX_SUPER__readBytes public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.utils.native.HiddenProcess.Stdin funkin.utils.native.HiddenProcess.Stdout funkin.utils.native.HiddenProcess <_HX_SUPER__close public="1" set="method" line="148"> <_HX_SUPER__writeByte public="1" set="method" line="148"> <_HX_SUPER__writeBytes public="1" set="method" line="148"> <__interp> hscript.ClassExtendMacro.build() hide funkin.utils.native.HiddenProcess.Stdin funkin.utils.native.HiddenProcess.Stdout funkin.utils.native.HiddenProcess <_HX_SUPER__getPid public="1" set="method" line="148"> { block : true } <_HX_SUPER__exitCode public="1" set="method" line="148"> { block : true } <_HX_SUPER__close public="1" set="method" line="30"> <_HX_SUPER__kill public="1" set="method" line="30"> <__interp> hscript.ClassExtendMacro.build() hide funkin.utils.native.HiddenProcess.Stdin funkin.utils.native.HiddenProcess.Stdout funkin.utils.native.HiddenProcess <__audioChangeCallback public="1" expr="function() { trace("test"); }" line="118" static="1"> function() { trace("test"); } "\r\n\tif (!curAudioFix) curAudioFix = new AudioFixClient();\r\n\t" "\r\n\t// https://stackoverflow.com/questions/15543571/allocconsole-not-displaying-cout\r\n\r\n\tif (!AllocConsole())\r\n\t\treturn;\r\n\r\n\tfreopen(\"CONIN$\", \"r\", stdin);\r\n\tfreopen(\"CONOUT$\", \"w\", stdout);\r\n\tfreopen(\"CONOUT$\", \"w\", stderr);\r\n\t" "\r\n\t\tHANDLE console = GetStdHandle(STD_OUTPUT_HANDLE); \r\n\t\tSetConsoleTextAttribute(console, color);\r\n\t" { icon : MSG_WARNING } "\r\n\t\tMessageBox(GetActiveWindow(), message, caption, icon | MB_SETFOREGROUND);\r\n\t" "\r\n\t\tSetProcessDPIAware();\r\n\t" hscript.ClassExtendMacro.build() \r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\r\n"]]> \r\n#include \r\n#include \r\n#include \r\n#include \r\n#include \r\n#include \r\n#include \r\n#include \r\n#include \r\n\r\n#define SAFE_RELEASE(punk) \\\r\n\t\t\t if ((punk) != NULL) \\\r\n\t\t\t\t{ (punk)->Release(); (punk) = NULL; }\r\n\r\nstatic long lastDefId = 0;\r\n\r\nclass AudioFixClient : public IMMNotificationClient {\r\n\tLONG _cRef;\r\n\tIMMDeviceEnumerator *_pEnumerator;\r\n\t\r\n\tpublic:\r\n\tAudioFixClient() :\r\n\t\t_cRef(1),\r\n\t\t_pEnumerator(NULL)\r\n\t{\r\n\t\tHRESULT result = CoCreateInstance(__uuidof(MMDeviceEnumerator),\r\n\t\t\t\t\t\t\t NULL, CLSCTX_INPROC_SERVER,\r\n\t\t\t\t\t\t\t __uuidof(IMMDeviceEnumerator),\r\n\t\t\t\t\t\t\t (void**)&_pEnumerator);\r\n\t\tif (result == S_OK) {\r\n\t\t\t_pEnumerator->RegisterEndpointNotificationCallback(this);\r\n\t\t}\r\n\t}\r\n\r\n\t~AudioFixClient()\r\n\t{\r\n\t\tSAFE_RELEASE(_pEnumerator);\r\n\t}\r\n\r\n\tULONG STDMETHODCALLTYPE AddRef()\r\n\t{\r\n\t\treturn InterlockedIncrement(&_cRef);\r\n\t}\r\n\r\n\tULONG STDMETHODCALLTYPE Release()\r\n\t{\r\n\t\tULONG ulRef = InterlockedDecrement(&_cRef);\r\n\t\tif (0 == ulRef)\r\n\t\t{\r\n\t\t\tdelete this;\r\n\t\t}\r\n\t\treturn ulRef;\r\n\t}\r\n\r\n\tHRESULT STDMETHODCALLTYPE QueryInterface(\r\n\t\t\t\t\t\t\t\tREFIID riid, VOID **ppvInterface)\r\n\t{\r\n\t\treturn S_OK;\r\n\t}\r\n\r\n\tHRESULT STDMETHODCALLTYPE OnDeviceAdded(LPCWSTR pwstrDeviceId)\r\n\t{\r\n\t\treturn S_OK;\r\n\t};\r\n\r\n\tHRESULT STDMETHODCALLTYPE OnDeviceRemoved(LPCWSTR pwstrDeviceId)\r\n\t{\r\n\t\treturn S_OK;\r\n\t}\r\n\r\n\tHRESULT STDMETHODCALLTYPE OnDeviceStateChanged(\r\n\t\t\t\t\t\t\t\tLPCWSTR pwstrDeviceId,\r\n\t\t\t\t\t\t\t\tDWORD dwNewState)\r\n\t{\r\n\t\treturn S_OK;\r\n\t}\r\n\r\n\tHRESULT STDMETHODCALLTYPE OnPropertyValueChanged(\r\n\t\t\t\t\t\t\t\tLPCWSTR pwstrDeviceId,\r\n\t\t\t\t\t\t\t\tconst PROPERTYKEY key)\r\n\t{\r\n\t\treturn S_OK;\r\n\t}\r\n\r\n\tHRESULT STDMETHODCALLTYPE OnDefaultDeviceChanged(\r\n\t\tEDataFlow flow, ERole role,\r\n\t\tLPCWSTR pwstrDeviceId)\r\n\t{\r\n\t\t::funkin::_hx_system::Main_obj::audioDisconnected = true;\r\n\t\treturn S_OK;\r\n\t};\r\n};\r\n\r\nAudioFixClient *curAudioFix;\r\n"]]> hide <__interp> hscript.ClassExtendMacro.build() hide funkin.utils.native.Windows Elements return by `CallStack` methods. Get information about the call stack. haxe.Exception haxe.CallStack The length of this stack. Return the call stack elements, or an empty array if not available. { fullStack : false } Return the exception stack : this is the stack elements between the place the last exception was thrown and the place it was caught, or an empty array if not available. Set `fullStack` parameter to true in order to return the full exception stack. May not work if catch type was a derivative from `haxe.Exception`. Returns a representation of the stack as a printable string. Returns a range of entries of current stack from the beginning to the the common part of this and `stack`. Make a copy of the stack. haxe.CallStack haxe.Exception The length of this stack. Return the call stack elements, or an empty array if not available. { fullStack : false } Return the exception stack : this is the stack elements between the place the last exception was thrown and the place it was caught, or an empty array if not available. Set `fullStack` parameter to true in order to return the full exception stack. May not work if catch type was a derivative from `haxe.Exception`. Returns a representation of the stack as a printable string. Returns a range of entries of current stack from the beginning to the the common part of this and `stack`. Make a copy of the stack. haxe.CallStack haxe.Exception This type unifies with any function type. It is intended to be used as a type parameter constraint. If used as a real type, the underlying type will be `Dynamic`. This type unifies with an enum instance if all constructors of the enum require no arguments. It is intended to be used as a type parameter constraint. If used as a real type, the underlying type will be `Dynamic`. This type unifies with anything but `Void`. It is intended to be used as a type parameter constraint. If used as a real type, the underlying type will be `Dynamic`. `, A must be explicitly constrained to `Constructible` as well. It is intended to be used as a type parameter constraint. If used as a real type, the underlying type will be `Dynamic`.]]> Returns the name of enum `e`, including its path. If `e` is inside a package, the package structure is returned dot- separated, with another dot separating the enum name: pack1.pack2.(...).packN.EnumName If `e` is a sub-type of a Haxe module, that module is not part of the package structure. If `e` has no package, the enum name is returned. If `e` is `null`, the result is unspecified. The enum name does not include any type parameters. Creates an instance of enum `e` by calling its constructor `constr` with arguments `params`. If `e` or `constr` is `null`, or if enum `e` has no constructor named `constr`, or if the number of elements in `params` does not match the expected number of constructor arguments, or if any argument has an invalid type, the result is unspecified. Creates an instance of enum `e` by calling its constructor number `index` with arguments `params`. The constructor indices are preserved from Haxe syntax, so the first declared is index 0, the next index 1 etc. If `e` or `index` is `null`, or if enum `e` has no constructor corresponding to index `index`, or if the number of elements in `params` does not match the expected number of constructor arguments, or if any argument has an invalid type, the result is unspecified. Returns a list of all constructors of enum `e` that require no arguments. This may return the empty Array `[]` if all constructors of `e` require arguments. Otherwise an instance of `e` constructed through each of its non- argument constructors is returned, in the order of the constructor declaration. If `e` is `null`, the result is unspecified. Returns a list of the names of all constructors of enum `e`. The order of the constructor names in the returned Array is preserved from the original syntax. If `c` is `null`, the result is unspecified. This class provides advanced methods on enums. It is ideally used with `using EnumTools` and then acts as an [extension](https://haxe.org/manual/lf-static-extension.html) to the `enum` types. If the first argument to any of the methods is `null`, the result is unspecified. Recursively compares two enum instances `a` and `b` by value. Unlike `a == b`, this function performs a deep equality check on the arguments of the constructors (if there are any). If `a` or `b` are `null`, the result is unspecified. Returns the constructor name of enum instance `e`. The result String does not contain any constructor arguments. If `e` is `null`, the result is unspecified. Returns a list of the constructor arguments of enum instance `e`. If `e` has no arguments, the result is `[]`. Otherwise the result are the values that were used as arguments to `e`, in the order of their declaration. If `e` is `null`, the result is unspecified. Returns the index of enum instance `e`. This corresponds to the original syntactic position of `e`. The index of the first declared constructor is 0, the next one is 1 etc. If `e` is `null`, the result is unspecified. This class provides advanced methods on enum values. It is ideally used with `using EnumValueTools` and then acts as an [extension](https://haxe.org/manual/lf-static-extension.html) to the `EnumValue` types. If the first argument to any of the methods is `null`, the result is unspecified. Int32 provides a 32-bit integer with consistent overflow behavior across all platforms. -A ++A A++ --A A-- A + B A + B A - B A - B A - B Compare `a` and `b` in unsigned mode. -A ++A A++ --A A-- A + B A + B A - B A - B A - B Compare `a` and `b` in unsigned mode. "_hx_int64_make" " ::cpp::Int64Struct" " ::cpp::Int64Struct::is" "_hx_int64_is_neg" "_hx_int64_is_zero" "_hx_int64_compare" "_hx_int64_ucompare" "_hx_int64_to_string" "_hx_int64_neg" "_hx_int64_pre_increment" "_hx_int64_post_increment" "_hx_int64_pre_decrement" "_hx_int64_post_decrement" "_hx_int64_add" "_hx_int64_add" "_hx_int64_sub" "_hx_int64_sub" "_hx_int64_sub" "_hx_int64_mul"
      "_hx_int64_div"
      "_hx_int64_mod" "_hx_int64_eq" "_hx_int64_eq" "_hx_int64_neq" "_hx_int64_neq" "_hx_int64_complement" "_hx_int64_and" "_hx_int64_or" "_hx_int64_xor" "_hx_int64_shl" "_hx_int64_shr" "_hx_int64_ushr" "_hx_int64_high" "_hx_int64_low" "cpp/Int64.h" "cpp::Int64Struct"
      Makes a copy of `this` Int64. Construct an Int64 from two 32-bit words `high` and `low`. Returns an Int64 with the value of the Int `x`. `x` is sign-extended to fill 64 bits. Returns an Int with the value of the Int64 `x`. Throws an exception if `x` cannot be represented in 32 bits. "haxe.Int64.is() is deprecated. Use haxe.Int64.isInt64() instead" Returns whether the value `val` is of type `haxe.Int64` "Use high instead" Returns the high 32-bit word of `x`. "Use low instead" Returns the low 32-bit word of `x`. Returns `true` if `x` is less than zero. Returns `true` if `x` is exactly zero. b`, or 0 if `a == b`.]]> b`, or 0 if `a == b`.]]> Returns a signed decimal `String` representation of `x`. Performs signed integer divison of `dividend` by `divisor`. Returns `{ quotient : Int64, modulus : Int64 }`. -A Returns the negative of `x`. ++A A++ --A A-- A + B Returns the sum of `a` and `b`. A + B A - B Returns `a` minus `b`. A - B A - B A * B Returns the product of `a` and `b`. A * B
      A / B Returns the quotient of `a` divided by `b`.
      A / B A / B A % B Returns the modulus of `a` divided by `b`. A % B A % B A == B Returns `true` if `a` is equal to `b`. A == B A != B Returns `true` if `a` is not equal to `b`. A != B B]]> B]]> B]]> = B]]> = B]]> = B]]> ~A Returns the bitwise AND of `a` and `b`. A | B Returns the bitwise OR of `a` and `b`. A ^ B Returns the bitwise XOR of `a` and `b`. Returns `a` left-shifted by `b` bits. > B]]> Returns `a` right-shifted by `b` bits in signed mode. `a` is sign-extended. >> B]]> Returns `a` right-shifted by `b` bits in unsigned mode. `a` is padded with zeroes.
      Makes a copy of `this` Int64. Construct an Int64 from two 32-bit words `high` and `low`. Returns an Int64 with the value of the Int `x`. `x` is sign-extended to fill 64 bits. Returns an Int with the value of the Int64 `x`. Throws an exception if `x` cannot be represented in 32 bits. "haxe.Int64.is() is deprecated. Use haxe.Int64.isInt64() instead" Returns whether the value `val` is of type `haxe.Int64` "Use high instead" Returns the high 32-bit word of `x`. "Use low instead" Returns the low 32-bit word of `x`. Returns `true` if `x` is less than zero. Returns `true` if `x` is exactly zero. b`, or 0 if `a == b`.]]> b`, or 0 if `a == b`.]]> Returns a signed decimal `String` representation of `x`. Performs signed integer divison of `dividend` by `divisor`. Returns `{ quotient : Int64, modulus : Int64 }`. -A Returns the negative of `x`. ++A A++ --A A-- A + B Returns the sum of `a` and `b`. A + B A - B Returns `a` minus `b`. A - B A - B A * B Returns the product of `a` and `b`. A * B
      A / B Returns the quotient of `a` divided by `b`.
      A / B A / B A % B Returns the modulus of `a` divided by `b`. A % B A % B A == B Returns `true` if `a` is equal to `b`. A == B A != B Returns `true` if `a` is not equal to `b`. A != B B]]> B]]> B]]> = B]]> = B]]> = B]]> ~A Returns the bitwise AND of `a` and `b`. A | B Returns the bitwise OR of `a` and `b`. A ^ B Returns the bitwise XOR of `a` and `b`. Returns `a` left-shifted by `b` bits. > B]]> Returns `a` right-shifted by `b` bits in signed mode. `a` is sign-extended. >> B]]> Returns `a` right-shifted by `b` bits in unsigned mode. `a` is padded with zeroes.
      Create `Int64` from given string. Create `Int64` from given float. Helper for parsing to `Int64` instances. `. If given `text` is not valid JSON, an exception will be thrown. @see https://haxe.org/manual/std-Json-parsing.html]]> Encodes the given `value` and returns the resulting JSON string. If `replacer` is given and is not null, it is used to retrieve the actual object to be encoded. The `replacer` function takes two parameters, the key and the value being encoded. Initial key value is an empty string. If `space` is given and is not null, the result will be pretty-printed. Successive levels will be indented by this string. @see https://haxe.org/manual/std-Json-encoding.html Cross-platform JSON API: it will automatically use the optimized native API if available. Use `-D haxeJSON` to force usage of the Haxe implementation even if a native API is found: This will provide extra encoding features such as enums (replaced by their index) and StringMaps. @see https://haxe.org/manual/std-Json.html "haxe.NativeStackTrace.exceptionStack" { skip : 0 } Do not use manually. hide `PosInfos` is a magic type which can be used to generate position information into the output for debugging use. If a function has a final optional argument of this type, i.e. `(..., ?pos:haxe.PosInfos)`, each call to that function which does not assign a value to that argument has its position added as call argument. This can be used to track positions of calls in e.g. a unit testing framework. Lists all available resource names. The resource name is the name part of the `--resource file@name` command line parameter. Retrieves the resource identified by `name` as a `String`. If `name` does not match any resource name, `null` is returned. Retrieves the resource identified by `name` as an instance of haxe.io.Bytes. If `name` does not match any resource name, `null` is returned. Resource can be used to access resources that were added through the `--resource file@name` command line parameter. Depending on their type they can be obtained as `String` through `getString(name)`, or as binary data through `getBytes(name)`. A list of all available resource names can be obtained from `listNames()`. } f(1, 2, 3); final array = [1, 2, 3]; f(...array); ``` Should be used as a type for the last argument of a method, indicating that an arbitrary number of arguments of the given type can be passed to that method. Allows to use array access by index to get values of rest arguments. If the index exceeds the amount of rest arguments passed, the result is unspecified.]]> Amount of arguments passed as rest arguments Create rest arguments using contents of `array`. WARNING: Depending on a target platform modifying `array` after using this method may affect the created `Rest` instance. Use `Rest.of(array.copy())` to avoid that. <_new get="inline" set="null" line="48" static="1"> Creates an array containing all the values of rest arguments. Create a new rest arguments collection by appending `item` to this one. Create a new rest arguments collection by prepending this one with `item`. Amount of arguments passed as rest arguments Create rest arguments using contents of `array`. WARNING: Depending on a target platform modifying `array` after using this method may affect the created `Rest` instance. Use `Rest.of(array.copy())` to avoid that. <_new get="inline" set="null" line="48" static="1"> Creates an array containing all the values of rest arguments. Create a new rest arguments collection by appending `item` to this one. Create a new rest arguments collection by prepending this one with `item`. false If the values you are serializing can contain circular references or objects repetitions, you should set `USE_CACHE` to true to prevent infinite loops. This may also reduce the size of serialization Strings at the expense of performance. This value can be changed for individual instances of `Serializer` by setting their `useCache` field. false Use constructor indexes for enums instead of names. This may reduce the size of serialization Strings, but makes them less suited for long-term storage: If constructors are removed or added from the enum, the indices may no longer match. This value can be changed for individual instances of `Serializer` by setting their `useEnumIndex` field. "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789%:" null Serializes `v` and returns the String representation. This is a convenience function for creating a new instance of Serializer, serialize `v` into it and obtain the result through a call to `toString()`. The individual cache setting for `this` Serializer instance. See `USE_CACHE` for a complete description. The individual enum index setting for `this` Serializer instance. See `USE_ENUM_INDEX` for a complete description. Return the String representation of `this` Serializer. The exact format specification can be found here: https://haxe.org/manual/serialization/format Serializes `v`. All haxe-defined values and objects with the exception of functions can be serialized. Serialization of external/native objects is not guaranteed to work. The values of `this.useCache` and `this.useEnumIndex` may affect serialization output. Creates a new Serializer instance. Subsequent calls to `this.serialize` will append values to the internal buffer of this String. Once complete, the contents can be retrieved through a call to `this.toString`. Each `Serializer` instance maintains its own cache if `this.useCache` is `true`. ]]> [] <__check set="method" line="289"> new DefaultResolver() ` is called to determine a `Class` from a class name 2. `resolveEnum(name:String):Enum` is called to determine an `Enum` from an enum name This value is applied when a new `Unserializer` instance is created. Changing it afterwards has no effect on previously created instances.]]> "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789%:" null Unserializes `v` and returns the according value. This is a convenience function for creating a new instance of Unserializer with `v` as buffer and calling its `unserialize()` method once. Sets the type resolver of `this` Unserializer instance to `r`. If `r` is `null`, a special resolver is used which returns `null` for all input values. See `DEFAULT_RESOLVER` for more information on type resolvers. Gets the type resolver of `this` Unserializer instance. See `DEFAULT_RESOLVER` for more information on type resolvers. Unserializes the next part of `this` Unserializer instance and returns the according value. This function may call `this.resolver.resolveClass` to determine a Class from a String, and `this.resolver.resolveEnum` to determine an Enum from a String. If `this` Unserializer instance contains no more or invalid data, an exception is thrown. This operation may fail on structurally valid data if a type cannot be resolved or if a field cannot be set. This can happen when unserializing Strings that were serialized on a different Haxe target, in which the serialization side has to make sure not to include platform-specific data. Classes are created from `Type.createEmptyInstance`, which means their constructors are not called. Creates a new Unserializer instance, with its internal buffer initialized to `buf`. This does not parse `buf` immediately. It is parsed only when calls to `this.unserialize` are made. Each Unserializer instance maintains its own cache. ]]>
      Thrown value. Extract an originally thrown value. This method must return the same value on subsequent calls. Used internally for catching non-native exceptions. Do _not_ override unless you know what you are doing. An exception containing arbitrary value. This class is automatically used for throwing values, which don't extend `haxe.Exception` or native exception type. For example: ```haxe throw "Terrible error"; ``` will be compiled to ```haxe throw new ValueException("Terrible error"); ``` Calculates the Adler32 of the given Bytes. "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" haxe.io.Bytes.ofString(CHARS) "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_" haxe.io.Bytes.ofString(URL_CHARS) { complement : true } { complement : true } { complement : false } { complement : false } Allows one to encode/decode String and bytes using Base64 encoding. Allows one to encode/decode String and bytes using a power of two base dictionary. Calculates the CRC32 of the given data bytes Calculates the Crc32 of the given Bytes. Hash methods for Hmac calculation. Calculates a Hmac of the given Bytes using a HashMethod. Creates a MD5 of a String. Convert a string to a sequence of 16-word blocks, stored as an array. Append padding bits and the length, as described in the SHA1 standard. Bitwise rotate a 32-bit number to the left Perform the appropriate triplet combination function for the current iteration Determine the appropriate additive constant for the current iteration Creates a Sha1 of a String. Creates a Sha224 of a String. Convert a string to a sequence of 16-word blocks, stored as an array. Append padding bits and the length, as described in the SHA1 standard. Creates a Sha256 of a String. ("display/completion")]]> The completion request is sent from the client to Haxe to request code completion. Haxe automatically determines the type of completion to use based on the passed position, see `CompletionResultKind`. ("display/completionItem/resolve")]]> The request is sent from the client to Haxe to resolve additional information for a given completion item. ("display/references")]]> The find references request is sent from the client to Haxe to find locations that reference the symbol at a given text document position. ("display/definition")]]> The goto definition request is sent from the client to Haxe to resolve the definition location(s) of a symbol at a given text document position. ("display/implementation")]]> The goto implementation request is sent from the client to Haxe to resolve the implementation location(s) of a symbol at a given text document position. ("display/typeDefinition")]]> The goto type definition request is sent from the client to Haxe to resolve the type definition location(s) of a symbol at a given text document position. ("display/hover")]]> The hover request is sent from the client to Haxe to request hover information at a given text document position. ("display/package")]]> This request is sent from the client to Haxe to determine the package for a given file, based on class paths configuration. ("display/signatureHelp")]]> The signature help request is sent from the client to Haxe to request signature information at a given cursor position. Methods of the JSON-RPC-based `--display` protocol in Haxe 4. A lot of the methods are *inspired* by the Language Server Protocol, but there is **no** intention to be directly compatible with it. Unicode character offset in the file. list of metas to include in responses Completion The qualifier that has to be inserted to use the field if `!isQualified`. Can either be `this` or `super` for instance fields for the type name for `static` fields. Whether it's valid to use the unqualified name of the field or not. This is `false` if the identifier is shadowed. cast 0 cast 1 cast 2 cast 3 cast 4 cast 5 cast 0 cast 1 cast 2 cast 3 cast 4 cast 5 cast 0 The field is declared on the current type itself. cast 1 The field is a static field brought into context via a static import (`import pack.Module.Type.field`). cast 2 The field is declared on a parent type, such as: - a super class field that is not overriden - a forwarded abstract field cast 3 The field is a static extension method brought into context with the `using` keyword. cast 4 This field doesn't belong to any named type, just an anonymous structure. cast 5 Special fields built into the compiler, such as: - `code` on single-character Strings - `bind()` on functions. cast 6 The origin of this class field is unknown. cast 0 The field is declared on the current type itself. cast 1 The field is a static field brought into context via a static import (`import pack.Module.Type.field`). cast 2 The field is declared on a parent type, such as: - a super class field that is not overriden - a forwarded abstract field cast 3 The field is a static extension method brought into context with the `using` keyword. cast 4 This field doesn't belong to any named type, just an anonymous structure. cast 5 Special fields built into the compiler, such as: - `code` on single-character Strings - `bind()` on functions. cast 6 The origin of this class field is unknown. cast 0 The enum value is declared on the current type itself. cast 1 The enum value is brought into context via a static import (`import pack.Module.Enum.Value`). cast 0 The enum value is declared on the current type itself. cast 1 The enum value is brought into context via a static import (`import pack.Module.Enum.Value`). cast "null" cast "true" cast "false" cast "this" cast "trace" cast "null" cast "true" cast "false" cast "this" cast "trace" cast 0 cast 1 cast 2 cast 3 cast 4 cast 5 A `typedef` that is just an alias for another type. cast 6 A `typedef` that is an alias for an anonymous structure. cast 0 cast 1 cast 2 cast 3 cast 4 cast 5 A `typedef` that is just an alias for another type. cast 6 A `typedef` that is an alias for an anonymous structure. cast "TClass" cast "TClassField" cast "TAbstract" cast "TAbstractField" cast "TEnum" cast "TTypedef" cast "TAnyField" cast "TExpr" cast "TTypeParameter" cast "TClass" cast "TClassField" cast "TAbstract" cast "TAbstractField" cast "TEnum" cast "TTypedef" cast "TAnyField" cast "TExpr" cast "TTypeParameter" cast "cross" cast "js" cast "lua" cast "neko" cast "flash" cast "php" cast "cpp" cast "cs" cast "java" cast "python" cast "hl" cast "eval" cast "cross" cast "js" cast "lua" cast "neko" cast "flash" cast "php" cast "cpp" cast "cs" cast "java" cast "python" cast "hl" cast "eval" cast "implements" cast "extends" cast "function" cast "var" cast "if" cast "else" cast "while" cast "do" cast "for" cast "break" cast "return" cast "continue" cast "switch" cast "case" cast "default" cast "try" cast "catch" cast "new" cast "throw" cast "untyped" cast "cast" cast "macro" cast "package" cast "import" cast "using" cast "public" cast "private" cast "static" cast "extern" cast "dynamic" cast "override" cast "overload" cast "class" cast "interface" cast "enum" cast "abstract" cast "typedef" cast "final" cast "inline" cast "implements" cast "extends" cast "function" cast "var" cast "if" cast "else" cast "while" cast "do" cast "for" cast "break" cast "return" cast "continue" cast "switch" cast "case" cast "default" cast "try" cast "catch" cast "new" cast "throw" cast "untyped" cast "cast" cast "macro" cast "package" cast "import" cast "using" cast "public" cast "private" cast "static" cast "extern" cast "dynamic" cast "override" cast "overload" cast "class" cast "interface" cast "enum" cast "abstract" cast "typedef" cast "final" cast "inline" cast "Local" cast "ClassField" cast "EnumField" cast "EnumAbstractField" Only for the enum values in enum abstracts, other fields use `ClassField`. cast "Type" cast "Package" cast "Module" cast "Literal" cast "Metadata" cast "Keyword" cast "AnonymousStructure" cast "Expression" cast "TypeParameter" cast "Define" cast "Local" cast "ClassField" cast "EnumField" cast "EnumAbstractField" Only for the enum values in enum abstracts, other fields use `ClassField`. cast "Type" cast "Package" cast "Module" cast "Literal" cast "Metadata" cast "Keyword" cast "AnonymousStructure" cast "Expression" cast "TypeParameter" cast "Define" cast 0 cast 1 cast 2 cast 3 cast 4 cast 5 cast 6 cast 7 cast 8 cast 9 cast 10 cast 11 cast 12 cast 13 cast 14 cast 0 cast 1 cast 2 cast 3 cast 4 cast 5 cast 6 cast 7 cast 8 cast 9 cast 10 cast 11 cast 12 cast 13 cast 14 CompletionItem Resolve Unicode character offset in the file. FindReferences cast "direct" Find only direct references to the requested symbol. Does not look for references to parent or overriding methods. cast "withBaseAndDescendants" Find references to the base field and all the overidding fields in the inheritance chain. cast "withDescendants" Find references to the requested field and references to all descendants of the requested field. cast "direct" Find only direct references to the requested symbol. Does not look for references to parent or overriding methods. cast "withBaseAndDescendants" Find references to the base field and all the overidding fields in the inheritance chain. cast "withDescendants" Find references to the requested field and references to all descendants of the requested field. GotoDefinition GotoTypeDefinition Hover cast 0 cast 1 cast 0 cast 1 DeterminePackage Unicode character offset in the file. SignatureHelp cast 0 cast 1 cast 0 cast 1 Unicode character offset in the file. General types <_new public="1" get="inline" set="null" line="26" static="1"> <_new public="1" get="inline" set="null" line="26" static="1"> cast 0 This type is already available with it's unqualified name for one of these reasons: - it's a toplevel type - it's imported with an `import` in the current module - it's imported in an `import.hx` file cast 1 The type is currently not imported. It can be accessed either with its fully qualified name or by inserting an import. cast 2 A type with the same name is already imported in the module. The fully qualified name has to be used to access it. cast 0 This type is already available with it's unqualified name for one of these reasons: - it's a toplevel type - it's imported with an `import` in the current module - it's imported in an `import.hx` file cast 1 The type is currently not imported. It can be accessed either with its fully qualified name or by inserting an import. cast 2 A type with the same name is already imported in the module. The fully qualified name has to be used to access it. cast "AClosed" cast "AOpened" cast "AConst" cast "AExtend" cast "AClassStatics" cast "AEnumStatics" cast "AAbstractStatics" cast "AClosed" cast "AOpened" cast "AConst" cast "AExtend" cast "AClassStatics" cast "AEnumStatics" cast "AAbstractStatics" cast "TMono" cast "TInst" cast "TEnum" cast "TType" cast "TAbstract" cast "TFun" cast "TAnonymous" cast "TDynamic" cast "TMono" cast "TInst" cast "TEnum" cast "TType" cast "TAbstract" cast "TFun" cast "TAnonymous" cast "TDynamic" cast "OpAdd" cast "OpMult" cast "OpDiv" cast "OpSub" cast "OpAssign" cast "OpEq" cast "OpNotEq" cast "OpGt" cast "OpGte" cast "OpLt" cast "OpLte" cast "OpAnd" cast "OpOr" cast "OpXor" cast "OpBoolAnd" cast "OpBoolOr" cast "OpShl" cast "OpShr" cast "OpUShr" cast "OpMod" cast "OpAssignOp" cast "OpInterval" cast "OpArrow" cast "OpIn" cast "OpAdd" cast "OpMult" cast "OpDiv" cast "OpSub" cast "OpAssign" cast "OpEq" cast "OpNotEq" cast "OpGt" cast "OpGte" cast "OpLt" cast "OpLte" cast "OpAnd" cast "OpOr" cast "OpXor" cast "OpBoolAnd" cast "OpBoolOr" cast "OpShl" cast "OpShr" cast "OpUShr" cast "OpMod" cast "OpAssignOp" cast "OpInterval" cast "OpArrow" cast "OpIn" cast "OpIncrement" cast "OpDecrement" cast "OpNot" cast "OpNeg" cast "OpNegBits" cast "OpIncrement" cast "OpDecrement" cast "OpNot" cast "OpNeg" cast "OpNegBits" cast "TInt" cast "TFloat" cast "TString" cast "TBool" cast "TNull" cast "TThis" cast "TSuper" cast "TInt" cast "TFloat" cast "TString" cast "TBool" cast "TNull" cast "TThis" cast "TSuper" cast "AccNormal" cast "AccNo" cast "AccNever" cast "AccResolve" cast "AccCall" cast "AccInline" cast "AccRequire" cast "AccCtor" cast "AccNormal" cast "AccNo" cast "AccNever" cast "AccResolve" cast "AccCall" cast "AccInline" cast "AccRequire" cast "AccCtor" cast "MethNormal" cast "MethInline" cast "MethDynamic" cast "MethMacro" cast "MethNormal" cast "MethInline" cast "MethDynamic" cast "MethMacro" cast "FVar" cast "FMethod" cast "FVar" cast "FMethod" cast 0 cast 1 cast 2 cast 0 cast 1 cast 2 cast "KNormal" cast "KTypeParameter" cast "KExtension" cast "KExpr" cast "KGeneric" cast "KGenericInstance" cast "KMacroType" cast "KAbstractImpl" cast "KGenericBuild" cast "KModuleFields" cast "KNormal" cast "KTypeParameter" cast "KExtension" cast "KExpr" cast "KGeneric" cast "KGenericInstance" cast "KMacroType" cast "KAbstractImpl" cast "KGenericBuild" cast "KModuleFields" cast "class" cast "enum" cast "typedef" cast "abstract" cast "class" cast "enum" cast "typedef" cast "abstract" Line position in a document (1-based). Character offset on a line in a document (1-based). Position in a text document expressed as 1-based line and character offset. The range's start position The range's end position A range in a text document expressed as (1-based) start and end positions. Represents a location inside a resource, such as a line inside a text file. ("initialize")]]> The initialize request is sent from the client to Haxe to determine the capabilities. The maximum number of completion items to return dot paths to exclude from readClassPaths / toplevel completion
      				
      				
      			
      Represents a semantic version, see https://semver.org/.
      UNIX timestamp at the moment the data was sent. Only sent if `--times` is enabled. <_new public="1" get="inline" set="null" line="90" static="1"> <_new public="1" get="inline" set="null" line="90" static="1"> <_new public="1" get="inline" set="null" line="95" static="1"> <_new public="1" get="inline" set="null" line="95" static="1"> cast 1 cast 2 cast 3 cast 1 cast 2 cast 3 >("server/readClassPaths")]]> This request is sent from the client to Haxe to explore the class paths. This effectively creates a cache for toplevel completion. >("server/configure")]]> >("server/invalidate")]]> >>("server/contexts")]]> >("server/memory")]]> >("server/memory/context")]]> >("server/memory/module")]]> >>("server/modules")]]> >("server/module")]]> >>("server/files")]]> >("server/moduleCreated")]]> y` and a negative Int if `x < y`. This operation modifies Array `a` in place. This operation is stable: The order of equal elements is preserved. If `a` or `cmp` are null, the result is unspecified.]]> ArraySort provides a stable implementation of merge sort through its `sort` method. It should be used instead of `Array.sort` in cases where the order of equal elements has to be retained on all targets. Binds `key` to `value`. If `key` is already bound to a value, that binding disappears. If `key` is null, the result is unspecified. Returns the value `key` is bound to. If `key` is not bound to any value, `null` is returned. If `key` is null, the result is unspecified. Removes the current binding of `key`. If `key` has no binding, `this` BalancedTree is unchanged and false is returned. Otherwise the binding of `key` is removed and true is returned. If `key` is null, the result is unspecified. Tells if `key` is bound to a value. This method returns true even if `key` is bound to null. If `key` is null, the result is unspecified. Iterates over the bound values of `this` BalancedTree. This operation is performed in-order. See `Map.keyValueIterator` Iterates over the keys of `this` BalancedTree. This operation is performed in-order. Removes all keys from `this` BalancedTree. Creates a new BalancedTree, which is initially empty. BalancedTree allows key-value mapping with arbitrary keys, as long as they can be ordered. By default, `Reflect.compare` is used in the `compare` method, which can be overridden in subclasses. Operations have a logarithmic average and worst-case cost. Iteration over keys and values, using `keys` and `iterator` respectively, are in-order. <_height> { h : -1 } A tree node of `haxe.ds.BalancedTree`. EnumValueMap allows mapping of enum value keys to arbitrary values. Keys are compared by value and recursively over their parameters. If any parameter is not an enum value, `Reflect.compare` is used to compare them. HashMap allows mapping of hashable objects to arbitrary values. See `Map` for documentation details. @see https://haxe.org/manual/std-Map.html <_new public="1" get="inline" set="null" line="38" static="1"> Creates a new HashMap. See `Map.set` See `Map.get` See `Map.exists` See `Map.remove` See `Map.keys` See `Map.copy` See `Map.iterator` See `Map.keyValueIterator` See `Map.clear` <_new public="1" get="inline" set="null" line="38" static="1"> Creates a new HashMap. See `Map.set` See `Map.get` See `Map.exists` See `Map.remove` See `Map.keys` See `Map.copy` See `Map.iterator` See `Map.keyValueIterator` See `Map.clear` "haxe.ds.IntMap.*" See `Map.set` See `Map.get` See `Map.exists` See `Map.remove` See `Map.keys` (cs, java) Implementation detail: Do not `set()` any new value while iterating, as it may cause a resize, which will break iteration. See `Map.iterator` (cs, java) Implementation detail: Do not `set()` any new value while iterating, as it may cause a resize, which will break iteration. See `Map.keyValueIterator` See `Map.copy` See `Map.toString` See `Map.clear` Creates a new IntMap. IntMap allows mapping of Int keys to arbitrary values. See `Map` for documentation details. @see https://haxe.org/manual/std-Map.html \r\n inline void set(int key, const ::cpp::Struct &value) {__int_hash_set(HX_MAP_THIS,key,value); }\r\n template\r\n inline void set(int key, const ::cpp::Function &value) {__int_hash_set(HX_MAP_THIS,key,value); }\r\n template\r\n inline void set(int key, const ::cpp::Pointer &value) {__int_hash_set(HX_MAP_THIS,key,(Dynamic)value ); }\r\n\r\n template\r\n inline void set(Dynamic &key, const VALUE &value) { set( (int)key, value ); }\r\n\r\n inline bool get_bool(int key) { return __int_hash_get_bool(h,key); }\r\n inline int get_int(int key) { return __int_hash_get_int(h,key); }\r\n inline Float get_float(int key) { return __int_hash_get_float(h,key); }\r\n inline String get_string(int key) { return __int_hash_get_string(h,key); }\r\n"]]> value1, key2 => value2]` syntax. Map is an abstract type, it is not available at runtime. @see https://haxe.org/manual/std-Map.html]]> @:followWithAbstracts K Maps `key` to `value`. If `key` already has a mapping, the previous value disappears. If `key` is `null`, the result is unspecified. Returns the current mapping of `key`. If no such mapping exists, `null` is returned. Note that a check like `map.get(key) == null` can hold for two reasons: 1. the map has no mapping for `key` 2. the map has a mapping with a value of `null` If it is important to distinguish these cases, `exists()` should be used. If `key` is `null`, the result is unspecified. Returns true if `key` has a mapping, false otherwise. If `key` is `null`, the result is unspecified. Removes the mapping of `key` and returns true if such a mapping existed, false otherwise. If `key` is `null`, the result is unspecified. Returns an Iterator over the keys of `this` Map. The order of keys is undefined. Returns an Iterator over the values of `this` Map. The order of values is undefined. Returns an Iterator over the keys and values of `this` Map. The order of values is undefined. Returns a shallow copy of `this` map. The order of values is undefined. Returns a String representation of `this` Map. The exact representation depends on the platform and key-type. Removes all keys from `this` Map. `ReadOnlyArray` is an abstract over an ordinary `Array` which only exposes APIs that don't modify the instance, hence "read-only". Note that this doesn't necessarily mean that the instance is *immutable*. Other code holding a reference to the underlying `Array` can still modify it, and the reference can be obtained with a `cast`. copy filter indexOf iterator keyValueIterator join lastIndexOf map slice contains toString The length of `this` Array. Returns a new Array by appending the elements of `a` to the elements of `this` Array. This operation does not modify `this` Array. If `a` is the empty Array `[]`, a copy of `this` Array is returned. The length of the returned Array is equal to the sum of `this.length` and `a.length`. If `a` is `null`, the result is unspecified. The length of `this` Array. Returns a new Array by appending the elements of `a` to the elements of `this` Array. This operation does not modify `this` Array. If `a` is the empty Array `[]`, a copy of `this` Array is returned. The length of the returned Array is equal to the sum of `this.length` and `a.length`. If `a` is `null`, the result is unspecified. A Vector is a storage of fixed size. It can be faster than Array on some targets, and is never slower. @see https://haxe.org/manual/std-vector.html <_new public="1" get="inline" set="null" line="64" static="1"> Creates a new Vector of length `length`. Initially `this` Vector contains `length` neutral elements: - always null on dynamic targets - 0, 0.0 or false for Int, Float and Bool respectively on static targets - null for other types on static targets If `length` is less than or equal to 0, the result is unspecified. [] Returns the value at index `index`. If `index` is negative or exceeds `this.length`, the result is unspecified. [] Sets the value at index `index` to `val`. If `index` is negative or exceeds `this.length`, the result is unspecified. Returns the length of `this` Vector. Copies `length` of elements from `src` Vector, beginning at `srcPos` to `dest` Vector, beginning at `destPos` The results are unspecified if `length` results in out-of-bounds access, or if `src` or `dest` are null Creates a new Array, copy the content from the Vector to it, and returns it. Extracts the data of `this` Vector. This returns the internal representation type. Initializes a new Vector from `data`. Since `data` is the internal representation of Vector, this is a no-op. If `data` is null, the corresponding Vector is also `null`. Creates a new Vector by copying the elements of `array`. This always creates a copy, even on platforms where the internal representation is Array. The elements are not copied and retain their identity, so `a[i] == Vector.fromArrayCopy(a).get(i)` is true for any valid i. If `array` is null, the result is unspecified. Returns a shallow copy of `this` Vector. The elements are not copied and retain their identity, so `a[i] == a.copy()[i]` is true for any valid `i`. However, `a == a.copy()` is always false. Returns a string representation of `this` Vector, with `sep` separating each element. The result of this operation is equal to `Std.string(this[0]) + sep + Std.string(this[1]) + sep + ... + sep + Std.string(this[this.length-1])` If `this` Vector has length 0, the result is the empty String `""`. If `this` has exactly one element, the result is equal to a call to `Std.string(this[0])`. If `sep` is null, the result is unspecified. Creates a new Vector by applying function `f` to all elements of `this`. The order of elements is preserved. If `f` is null, the result is unspecified. y and a negative Int if x < y. This operation modifies `this` Vector in place. The sort operation is not guaranteed to be stable, which means that the order of equal elements may not be retained. If `f` is null, the result is unspecified.]]> <_new public="1" get="inline" set="null" line="64" static="1"> Creates a new Vector of length `length`. Initially `this` Vector contains `length` neutral elements: - always null on dynamic targets - 0, 0.0 or false for Int, Float and Bool respectively on static targets - null for other types on static targets If `length` is less than or equal to 0, the result is unspecified. [] Returns the value at index `index`. If `index` is negative or exceeds `this.length`, the result is unspecified. [] Sets the value at index `index` to `val`. If `index` is negative or exceeds `this.length`, the result is unspecified. Returns the length of `this` Vector. Copies `length` of elements from `src` Vector, beginning at `srcPos` to `dest` Vector, beginning at `destPos` The results are unspecified if `length` results in out-of-bounds access, or if `src` or `dest` are null Creates a new Array, copy the content from the Vector to it, and returns it. Extracts the data of `this` Vector. This returns the internal representation type. Initializes a new Vector from `data`. Since `data` is the internal representation of Vector, this is a no-op. If `data` is null, the corresponding Vector is also `null`. Creates a new Vector by copying the elements of `array`. This always creates a copy, even on platforms where the internal representation is Array. The elements are not copied and retain their identity, so `a[i] == Vector.fromArrayCopy(a).get(i)` is true for any valid i. If `array` is null, the result is unspecified. Returns a shallow copy of `this` Vector. The elements are not copied and retain their identity, so `a[i] == a.copy()[i]` is true for any valid `i`. However, `a == a.copy()` is always false. Returns a string representation of `this` Vector, with `sep` separating each element. The result of this operation is equal to `Std.string(this[0]) + sep + Std.string(this[1]) + sep + ... + sep + Std.string(this[this.length-1])` If `this` Vector has length 0, the result is the empty String `""`. If `this` has exactly one element, the result is equal to a call to `Std.string(this[0])`. If `sep` is null, the result is unspecified. Creates a new Vector by applying function `f` to all elements of `this`. The order of elements is preserved. If `f` is null, the result is unspecified. y and a negative Int if x < y. This operation modifies `this` Vector in place. The sort operation is not guaranteed to be stable, which means that the order of equal elements may not be retained. If `f` is null, the result is unspecified.]]> "haxe.ds.WeakMap.*" See `Map.set` See `Map.get` See `Map.exists` See `Map.remove` See `Map.keys` See `Map.iterator` See `Map.keyValueIterator` See `Map.copy` See `Map.toString` See `Map.clear` Creates a new WeakMap. WeakMap allows mapping of object keys to arbitrary values. The keys are considered to be weak references on static targets. See `Map` for documentation details. @see https://haxe.org/manual/std-Map.html \r\n inline void set(Dynamic key, const ::cpp::Struct &value) {__object_hash_set(HX_MAP_THIS,key,value,true); }\r\n template\r\n inline void set(Dynamic key, const ::cpp::Pointer &value) {__object_hash_set(HX_MAP_THIS,key,(Dynamic)value,true ); }\r\n template\r\n inline void set(Dynamic key, const ::cpp::Function &value) {__object_hash_set(HX_MAP_THIS,key,(Dynamic)value,true ); }\r\n"]]> Position where this exception was created. Returns exception message. An exception that carry position information of a place where it was created. An argument name. An exception that is thrown when an invalid value provided for an argument of a function. { message : "Not implemented" } An exception that is thrown when requested function or operation does not have an implementation. If this type is used as an argument type, the compiler ensures that argument expressions are bound to a local variable. variable ]]> ]]> `. If given `str` is not valid JSON, an exception will be thrown. If `str` is null, the result is unspecified.]]> An implementation of JSON parser in Haxe. This class is used by `haxe.Json` when native JSON implementation is not available. @see https://haxe.org/manual/std-Json-parsing.html Encodes `o`'s value and returns the resulting JSON string. If `replacer` is given and is not null, it is used to retrieve actual object to be encoded. The `replacer` function takes two parameters, the key and the value being encoded. Initial key value is an empty string. If `space` is given and is not null, the result will be pretty-printed. Successive levels will be indented by this string. An implementation of JSON printer in Haxe. This class is used by `haxe.Json` when native JSON implementation is not available. @see https://haxe.org/manual/std-Json-encoding.html The url of `this` request. It is used only by the `request()` method and can be changed in order to send the same request to different target Urls. Sets the header identified as `name` to value `value`. If `name` or `value` are null, the result is unspecified. This method provides a fluent interface. Sets the parameter identified as `name` to value `value`. If `name` or `value` are null, the result is unspecified. This method provides a fluent interface. Sets the post data of `this` Http request to `data` string. There can only be one post data per request. Subsequent calls to this method or to `setPostBytes()` overwrite the previously set value. If `data` is null, the post data is considered to be absent. This method provides a fluent interface. Sets the post data of `this` Http request to `data` bytes. There can only be one post data per request. Subsequent calls to this method or to `setPostData()` overwrite the previously set value. If `data` is null, the post data is considered to be absent. This method provides a fluent interface. Sends `this` Http request to the Url specified by `this.url`. If `post` is true, the request is sent as POST request, otherwise it is sent as GET request. Depending on the outcome of the request, this method calls the `onStatus()`, `onError()`, `onData()` or `onBytes()` callback functions. If `this.url` is null, the result is unspecified. If `this.url` is an invalid or inaccessible Url, the `onError()` callback function is called. [js] If `this.async` is false, the callback functions are called before this method returns. This method is called upon a successful request, with `data` containing the result String. The intended usage is to bind it to a custom function: `httpInstance.onData = function(data) { // handle result }` This method is called upon a successful request, with `data` containing the result String. The intended usage is to bind it to a custom function: `httpInstance.onBytes = function(data) { // handle result }` This method is called upon a request error, with `msg` containing the error description. The intended usage is to bind it to a custom function: `httpInstance.onError = function(msg) { // handle error }` This method is called upon a Http status change, with `status` being the new status. The intended usage is to bind it to a custom function: `httpInstance.onStatus = function(status) { // handle status }` Override this if extending `haxe.Http` with overriding `onData` Creates a new Http instance with `url` as parameter. This does not do a request until `request()` is called. If `url` is null, the field url must be set to a value before making the call to `request()`, or the result is unspecified. (Php) Https (SSL) connections are allowed only if the OpenSSL extension is enabled. This class can be used to handle Http requests consistently across platforms. There are two intended usages: - call `haxe.Http.requestUrl(url)` and receive the result as a `String` (only available on `sys` targets) - create a `new haxe.Http(url)`, register your callbacks for `onData`, `onError` and `onStatus`, then call `request()`. The length of the buffer in bytes. Returns either a copy or a reference of the current bytes. Once called, the buffer should no longer be used. The current position in the stream in bytes. The length of the stream in bytes. The length of the stream in bytes. Returns the `Bytes` of this output. This function should not be called more than once on a given `BytesOutput` instance. Output the string the way the platform represent it in memory. This is the most efficient but is platform-specific String binary encoding supported by Haxe I/O "haxe.io.Eof.*" This exception is raised when reading while data is no longer available in the `haxe.io.Input`. The IO is set into nonblocking mode and some data cannot be read or written An integer value is outside its allowed range An operation on Bytes is outside of its valid range Other errors The possible IO errors that can occur Returns an Int64 representing the bytes representation of the double precision IEEE float value. WARNING : for performance reason, the same Int64 value might be reused every time. Copy its low/high values before calling again. We still ensure that this is safe to use in a multithread environment Helper that converts between floating point and binary representation. Always works in low-endian encoding. Returns the String representation of `path` without the file extension. If `path` is `null`, the result is unspecified. Returns the String representation of `path` without the directory. If `path` is `null`, the result is unspecified. Returns the directory of `path`. If the directory is `null`, the empty String `""` is returned. If `path` is `null`, the result is unspecified. Returns the extension of `path`. If `path` has no extension, the empty String `""` is returned. If `path` is `null`, the result is unspecified. Returns a String representation of `path` where the extension is `ext`. If `path` has no extension, `ext` is added as extension. If `path` or `ext` are `null`, the result is unspecified. Joins all paths in `paths` together. If `paths` is empty, the empty String `""` is returned. Otherwise the paths are joined with a slash between them. If `paths` is `null`, the result is unspecified. Normalize a given `path` (e.g. turn `'/usr/local/../lib'` into `'/usr/lib'`). Also replaces backslashes `\` with slashes `/` and afterwards turns multiple slashes into a single one. If `path` is `null`, the result is unspecified. Adds a trailing slash to `path`, if it does not have one already. If the last slash in `path` is a backslash, a backslash is appended to `path`. If the last slash in `path` is a slash, or if no slash is found, a slash is appended to `path`. In particular, this applies to the empty String `""`. If `path` is `null`, the result is unspecified. Removes trailing slashes from `path`. If `path` does not end with a `/` or `\`, `path` is returned unchanged. Otherwise the substring of `path` excluding the trailing slashes or backslashes is returned. If `path` is `null`, the result is unspecified. Returns `true` if the path is an absolute path, and `false` otherwise. { allowSlashes : false } The directory. This is the leading part of the path that is not part of the file name and the extension. Does not end with a `/` or `\` separator. If the path has no directory, the value is `null`. The file name. This is the part of the part between the directory and the extension. If there is no file name, e.g. for `".htaccess"` or `"/dir/"`, the value is the empty String `""`. The file extension. It is separated from the file name by a dot. This dot is not part of the extension. If the path has no extension, the value is `null`. `true` if the last directory separator is a backslash, `false` otherwise. Returns a String representation of `this` path. If `this.backslash` is `true`, backslash is used as directory separator, otherwise slash is used. This only affects the separator between `this.dir` and `this.file`. If `this.directory` or `this.extension` is `null`, their representation is the empty String `""`. Creates a new `Path` instance by parsing `path`. Path information can be retrieved by accessing the `dir`, `file` and `ext` properties. This class provides a convenient way of working with paths. It supports the common path formats: - `directory1/directory2/filename.extension` - `directory1\directory2\filename.extension` 0 See `Iterator.hasNext` See `Iterator.next` Create a new `ArrayIterator`. ` is passed to `Iterable`]]> 0 "anon_read.keyValueIterator" "dynamic_read.keyValueIterator" See `Iterator.hasNext` See `Iterator.next` See `Iterator.hasNext` See `Iterator.next` This Key/Value iterator can be used to iterate across maps. "anon_read.keyValueIterator" "dynamic_read.keyValueIterator" 0 haxe.Rest 0 haxe.Rest 0 See `Iterator.hasNext` See `Iterator.next` Create a new `StringIterator` over String `s`. This iterator can be used to iterate over char codes in a string. Note that char codes may differ across platforms because of different internal encoding of strings in different of runtimes. Convenience function which can be used as a static extension. 0 See `Iterator.hasNext` StringTools See `Iterator.next` Create a new `StringIteratorUnicode` over String `s`. This iterator can be used to iterate across strings in a cross-platform way. It handles surrogate pairs on platforms that require it. On each iteration, it returns the next character code. Note that this has different semantics than a standard for-loop over the String's length due to the fact that it deals with surrogate pairs. 0 See `KeyValueIterator.hasNext` See `KeyValueIterator.next` Create a new `StringKeyValueIterator` over String `s`. This iterator can be used to iterate over char indexes and char codes in a string. Note that char codes may differ across platforms because of different internal encoding of strings in different runtimes. Convenience function which can be used as a static extension. 0 0 See `Iterator.hasNext` StringTools See `Iterator.next` Create a new `StringKeyValueIteratorUnicode` over String `s`. This iterator can be used to iterate across strings in a cross-platform way. It handles surrogate pairs on platforms that require it. On each iteration, it returns the next character offset as key and the next character code as value. Note that in the general case, because of surrogate pairs, the key values should not be used as offsets for various String API operations. For the same reason, the last key value returned might be less than `s.length - 1`. All these methods can be called for compiler configuration macros. cast "top" Prepend the file content to the output file. cast "closure" Prepend the file content to the body of the top-level closure. Since the closure is in strict-mode, there may be run-time error if the input is not strict-mode-compatible. cast "inline" Directly inject the file content at the call site. cast "top" Prepend the file content to the output file. cast "closure" Prepend the file content to the body of the top-level closure. Since the closure is in strict-mode, there may be run-time error if the input is not strict-mode-compatible. cast "inline" Directly inject the file content at the call site. cast "Off" Disable null safety. cast "Loose" }) { if(o.field != null) { mutate(o); var notNullable:String = o.field; //no error } } function mutate(o:{field:Null}) { o.field = null; } ```]]> cast "Strict" }, b:{o:{field:Null}}) { if(o.field != null) { var notNullable:String = o.field; //no error someCall(); var notNullable:String = o.field; // Error! } if(o.field != null) { var notNullable:String = o.field; //no error b.o = {field:null}; var notNullable:String = o.field; // Error! } } ```]]> cast "StrictThreaded" Full scale null safety for a multi-threaded environment. With this mode checking a field `!= null` does not make it safe, because it could be changed from another thread at the same time or immediately after the check. The only nullable thing could be safe are local variables. cast "Off" Disable null safety. cast "Loose" }) { if(o.field != null) { mutate(o); var notNullable:String = o.field; //no error } } function mutate(o:{field:Null}) { o.field = null; } ```]]> cast "Strict" }, b:{o:{field:Null}}) { if(o.field != null) { var notNullable:String = o.field; //no error someCall(); var notNullable:String = o.field; // Error! } if(o.field != null) { var notNullable:String = o.field; //no error b.o = {field:null}; var notNullable:String = o.field; // Error! } } ```]]> cast "StrictThreaded" Full scale null safety for a multi-threaded environment. With this mode checking a field `!= null` does not make it safe, because it could be changed from another thread at the same time or immediately after the check. The only nullable thing could be safe are local variables. Converts type `c` to a human-readable `String` representation. The result is guaranteed to be valid Haxe code, but there may be differences from the original lexical syntax. This class provides some utility methods to work with AST-level types. It is best used through `using haxe.macro.ComplexTypeTools` syntax and then provides additional methods on `haxe.macro.ComplexType` instances. Context provides an API for macro programming. It contains common functions that interact with the macro interpreter to query or set information. Other API functions are available in the tools classes: - `haxe.macro.ComplexTypeTools` - `haxe.macro.ExprTools` - `haxe.macro.TypeTools` Position of the first character. Position of the last character. Reference to the filename. Represents a position in a file. Represents an integer literal. Represents a float literal. Represents a string literal. Represents an identifier. Represents a regular expression literal. Example: `~/haxe/i` - The first argument `haxe` is a string with regular expression pattern. - The second argument `i` is a string with regular expression flags. @see https://haxe.org/manual/std-regex.html Represents a constant. @see https://haxe.org/manual/expression-constants.html `+` `*` `/` `-` `=` `==` `!=` `]]> =`]]> `|` `^` `||` >`]]> >>`]]> `%` >=` `>>>=` `|=` `&=` `^=` `%=`]]> `...` `]]> `in` A binary operator. @see https://haxe.org/manual/types-numeric-operators.html `++` `--` `!` `-` `~` `...` A unary operator. @see https://haxe.org/manual/types-numeric-operators.html The position of the expression. The expression kind. Represents a node in the AST. @see https://haxe.org/manual/macro-reification-expression.html Represents a AST node identical to `Expr`, but it allows constraining the type of accepted expressions. @see https://haxe.org/manual/macro-ExprOf.html The value expressions of the case. The optional guard expressions of the case, if available. The expression of the case, if available. Represents a switch case. @see https://haxe.org/manual/expression-switch.html The type-hint of the variable, if available. The name of the variable. Metadata associatied with the variable, if available. Whether or not the variable can be assigned to. The expression of the variable, if available. Represents a variable in the AST. @see https://haxe.org/manual/expression-var.html The type of the catch. The name of the catch variable. The expression of the catch. Represents a catch in the AST. @see https://haxe.org/manual/expression-try-catch.html No quotes Double quotes `"` Represents the way something is quoted. How the field name is quoted. The name of the field. The field expression. Represents the field of an object declaration. Anonymous function Named function Arrow function Represents function kind in the AST A constant. Array access `e1[e2]`. Binary operator `e1 op e2`. Field access on `e.field`. Parentheses `(e)`. An object declaration. An array declaration `[el]`. A call `e(params)`. A constructor call `new t(params)`. An unary operator `op` on `e`: - `e++` (`op = OpIncrement, postFix = true`) - `e--` (`op = OpDecrement, postFix = true`) - `++e` (`op = OpIncrement, postFix = false`) - `--e` (`op = OpDecrement, postFix = false`) - `-e` (`op = OpNeg, postFix = false`) - `!e` (`op = OpNot, postFix = false`) - `~e` (`op = OpNegBits, postFix = false`) Variable declarations. A function declaration. A block of expressions `{exprs}`. A `for` expression. An `if (econd) eif` or `if (econd) eif else eelse` expression. Represents a `while` expression. When `normalWhile` is `true` it is `while (...)`. When `normalWhile` is `false` it is `do {...} while (...)`. Represents a `switch` expression with related cases and an optional. `default` case if `edef != null`. Represents a `try`-expression with related catches. A `return` or `return e` expression. A `break` expression. A `continue` expression. An `untyped e` source code. A `throw e` expression. A `cast e` or `cast (e, m)` expression. Used internally to provide completion. Used internally to provide completion. A `(econd) ? eif : eelse` expression. A `(e:t)` expression. A `@m e` expression. An `expr is Type` expression. Represents the kind of a node in the AST. Represents the type path. Represents a function type. @see https://haxe.org/manual/types-function.html Represents an anonymous structure type. @see https://haxe.org/manual/types-anonymous-structure.html Void)` part in `(Int -> Void) -> String`.]]> Iterable`. The array `p` holds the type paths to the given types. @see https://haxe.org/manual/type-system-extensions.html]]> Represents an optional type. Represents a type with a name. Represents a type syntax in the AST. Sub is set on module sub-type access: `pack.Module.Type` has `name = "Module"`, `sub = "Type"`, if available. Optional parameters of the type path. Represents the package of the type path. The name of the type path. Represents a type path in the AST. `. In that case the value is `TPExpr` while in the normal case it's `TPType`.]]> The optional parameters of the type parameter. The name of the type parameter. The metadata of the type parameter. The optional constraints of the type parameter. Represents a type parameter declaration in the AST. The return type-hint of the function, if available. An optional list of function parameter type declarations. The expression of the function body, if available. A list of function arguments. Represents a function in the AST. The optional value of the function argument, if available. The type-hint of the function argument, if available. Whether or not the function argument is optional. The name of the function argument. The metadata of the function argument. Represents a function argument in the AST. The position of the metadata entry. The optional parameters of the metadata entry. The name of the metadata entry. Represents a metadata entry in the AST. Represents metadata in the AST. The position of the field. The name of the field. The optional metadata of the field. The kind of the field. The documentation of the field, if available. If the field has no documentation, the value is `null`. The access modifiers of the field. By default fields have private access. @see https://haxe.org/manual/class-field-access-modifier.html Represents a field in the AST. Public access modifier, grants access from anywhere. @see https://haxe.org/manual/class-field-visibility.html Private access modifier, grants access to class and its sub-classes only. @see https://haxe.org/manual/class-field-visibility.html Static access modifier. Override access modifier. @see https://haxe.org/manual/class-field-override.html Dynamic (re-)bindable access modifier. @see https://haxe.org/manual/class-field-dynamic.html Inline access modifier. Allows expressions to be directly inserted in place of calls to them. @see https://haxe.org/manual/class-field-inline.html Macro access modifier. Allows expression macro functions. These are normal functions which are executed as soon as they are typed. Final access modifier. For functions, they can not be overridden. For variables, it means they can be assigned to only once. Extern access modifier. Abstract access modifier. Overload access modifier. Represents an access modifier. @see https://haxe.org/manual/class-field-access-modifier.html Represents a variable field type. Represents a function field type. Represents a property with getter and setter field type. Represents the field type in the AST. The position to the type definition. The parameter type declarations of the type definition. The package of the type definition. The name of the type definition. The optional metadata of the type definition. The kind of the type definition. Whether or not the type is extern. The fields of the type definition. The documentation of the type, if available. If the type has no documentation, the value is `null`. Represents a type definition. Represents an enum kind. Represents a structure kind. Represents a class kind. Represents an alias/typedef kind. Represents an abstract kind. Represents a module-level field. Represents a type definition kind. The position of the error. Instantiates an error with given message and position. This error can be used to handle or produce compilation errors in macros. Represents a default import `import c`. Represents the alias import `import c as alias`. Represents the wildcard import `import *`. Represents the import mode. @see https://haxe.org/manual/type-system-import.html The path to the import expression. The mode of the import expression. Represents the import expression. Converts expression `e` to a human-readable String representation. The result is guaranteed to be valid Haxe code, but there may be differences from the original lexical syntax. Calls function `f` on each sub-expression of `e`. If `e` has no sub-expressions, this operation has no effect. Otherwise `f` is called once per sub-expression of `e`, with the sub-expression as argument. These calls are done in order of the sub-expression declarations. This method does not call itself recursively. It should instead be used in a recursive function which handles the expression nodes of interest. Usage example: ```haxe function findStrings(e:Expr) { switch(e.expr) { case EConst(CString(s)): // handle s case _: ExprTools.iter(e, findStrings); } } ``` Transforms the sub-expressions of `e` by calling `f` on each of them. If `e` has no sub-expressions, this operation returns `e` unchanged. Otherwise `f` is called once per sub-expression of `e`, with the sub-expression as argument. These calls are done in order of the sub-expression declarations. This method does not call itself recursively. It should instead be used in a recursive function which handles the expression nodes of interest. Usage example: ```haxe function capitalizeStrings(e:Expr) { return switch(e.expr) { case EConst(CString(s)): { expr: EConst(CString(s.toUpperCase())), pos: e.pos }; case _: ExprTools.map(e, capitalizeStrings); } } ``` `, `...` and assignments Parentheses, metadata and the `untyped` keyword are ignored. If any non-value is encountered, an exception of type `String` is thrown. If `e` is null, the result is unspecified.]]> This class provides some utility methods to work with expressions. It is best used through 'using haxe.macro.ExprTools' syntax and then provides additional methods on haxe.macro.Expr instances. While mainly intended to be used in macros, it works in non-macro code as well. This class provides functions on expression arrays for convenience. For a detailed reference on each method, see the documentation of ExprTools. Converts an array of Strings `sl` to a field expression. If `sl` has no elements, the result is null. If `sl` has one element, the result is `EConst(CIdent(sl[0])`. Otherwise the result is a chain of `EField` nodes. If `sl` is null, the result is unspecified. Converts a path given by package `pack` and name `name` to a `String` separated by dots. If `pack` has no elements, the result is `name`. If `pack` is null, the result is unspecified. Otherwise the elements of `pack` are joined with a separating dot, with an appended dot separating the result from `name`. This class provides some utility methods to work with strings in macro context. Like `Context.getPosInfos`, except this method is available on all platforms. Like `Context.makePosition`, except this method is available on all platforms. { printPackage : true } { prefix : "" } { tabString : "\t" } This class provides some utility methods to convert elements from the macro context to a human-readable String representation. ]]> hide hide hide hide hide hide Represents a reference to internal compiler structure. It exists to avoid expensive encoding if it is not required and to ensure that physical equality remains intact. A structure is only encoded when user requests it through `ref.get()`. Represents a monomorph. @see https://haxe.org/manual/types-monomorph.html Represents an enum instance. @see https://haxe.org/manual/types-enum-instance.html Represents a class instance. @see https://haxe.org/manual/types-class-instance.html Represents a typedef. @see https://haxe.org/manual/type-system-typedef.html Represents a function type. @see https://haxe.org/manual/types-function.html Represents an anonymous structure type. @see https://haxe.org/manual/types-anonymous-structure.html Represents Dynamic. @see https://haxe.org/manual/types-dynamic.html Used internally by the compiler to delay some typing. Represents an abstract type. @see https://haxe.org/manual/types-abstract.html Represents a type. The status/kind of the structure. The class fields of the structure. Represents information for anonymous structure types. A closed structure is considered complete. That is, no further fields can be added to it. An open structure allows having additional fields added to it, which is used during type inference. It is closed upon unification. A const structure is one that appears directly in syntax. It cannot be assigned to a smaller structure type (that is, it does not allow structural sub-typing). Represents a structure which extends one or multiple structures defined in `tl`. @see https://haxe.org/manual/type-system-extensions.html A structure that represents the static fields of a class. A structure that represents the constructors of an enum. A structure that represents the static fields of an abstract. Represents the kind of the anonymous structure type. The type of the type parameter. It is guaranteed to be a `TInst` with a `KTypeParameter` kind. The name of the type parameter. Represents the declaration of type parameters. The type of the class field. The position of the class field. The type parameters of the class field. The overload fields of the class field. The name of the class field. The metadata of the class field. The class field kind. Whether or not the class field is public. Whether or not the class field is final. Whether or not the class field is extern. Whether or not the class field is abstract. Returns the typed expression of the class field. The associated documentation of the class field. Represents a class field. The type of the enum constructor. The position of the enum constructor. The type parameters of the enum constructor. The name of the enum constructor. The metadata of the enum constructor. The index of the enum constructor, i.e. in which position it appears in the syntax. The associated documentation of the enum constructor. Represents an enum constructor. A normal class. A type parameter class with a set of constraints. A class containing module fields. A special kind of class to encode expressions into type parameters. A `@:generic` base class. A concrete `@:generic` instance, referencing the original class and the applied type parameters. A special class for `haxe.macro.MacroType`. @deprecated An implementation class of an abstract, i.e. where all its run-time code is. A `@:genericBuild` class Represents the kind of a class. The position of the type. The type parameters of the type. The package of the type. The name of the type. The module name of the type, which might be different. The metadata of the type. Whether or not the type is private. Whether or not the type is extern. Allows excluding the type from compilation. The associated documentation of the class field. The information that all types (`ClassType`, `EnumType`, `DefType`, `AbstractType`) have in common. The parent class and its type parameters, if available. The static fields of the class. The position of the type. The type parameters of the type. The package of the type. The list of fields that have override status. The name of the type. The module name of the type, which might be different. The metadata of the type. The kind of the class. Whether or not the type is private. If true the type is an interface, otherwise it is a class. If true the class is final and cannot be extended. Whether or not the type is extern. If true the class is abstract and cannot be instantiated directly. The implemented interfaces and their type parameters. The `__init__` expression of the class, if available. The member fields of the class. Allows excluding the type from compilation. The associated documentation of the class field. The constructor of the class, if available. Represents a class type. The position of the type. The type parameters of the type. The package of the type. An ordered list of enum constructor names. The name of the type. The module name of the type, which might be different. The metadata of the type. Whether or not the type is private. Whether or not the type is extern. Allows excluding the type from compilation. The associated documentation of the class field. The available enum constructors. Represents an enum type. The target type of the typedef. The position of the type. The type parameters of the type. The package of the type. The name of the type. The module name of the type, which might be different. The metadata of the type. Whether or not the type is private. Whether or not the type is extern. Allows excluding the type from compilation. The associated documentation of the class field. Represents a typedef. The defined unary operators of the abstract. The underlying type of the abstract. The available implicit to-casts of the abstract. @see https://haxe.org/manual/types-abstract-implicit-casts.html The method used for resolving unknown field access, if available. The method used for resolving unknown field access, if available. The position of the type. The type parameters of the type. The package of the type. The name of the type. The module name of the type, which might be different. The metadata of the type. Whether or not the type is private. Whether or not the type is extern. The implementation class of the abstract, if available. The available implicit from-casts of the abstract. @see https://haxe.org/manual/types-abstract-implicit-casts.html Allows excluding the type from compilation. The associated documentation of the class field. The defined binary operators of the abstract. The defined array-access fields of the abstract. Represents an abstract type. Removes all `name` metadata entries from the origin of `this` MetaAccess. This method might clear several metadata entries of the same name. If a `Metadata` array is obtained through a call to `get`, a subsequent call to `remove` has no effect on that array. If `name` is null, compilation fails with an error. Tells if the origin of `this` MetaAccess has a `name` metadata entry. If `name` is null, compilation fails with an error. Return the wrapped `Metadata` array. Modifying this array has no effect on the origin of `this` MetaAccess. The `add` and `remove` methods can be used for that. Extract metadata entries by given `name`. If there's no metadata with such name, empty array `[]` is returned. If `name` is null, compilation fails with an error. Adds the metadata specified by `name`, `params` and `pos` to the origin of `this` MetaAccess. Metadata names are not unique during compilation, so this method never overwrites a previous metadata. If a `Metadata` array is obtained through a call to `get`, a subsequent call to `add` has no effect on that array. If any argument is null, compilation fails with an error. MetaAccess is a wrapper for the `Metadata` array. It can be used to add metadata to and remove metadata from its origin. A variable of property, depending on the `read` and `write` values. A method Represents a field kind. Normal access (`default`). Private access (`null`). No access (`never`). Unused. Access through accessor function (`get`, `set`, `dynamic`). Inline access (`inline`). Failed access due to a `@:require` metadata. Access is only allowed from the constructor. Represents the variable accessor. A normal method. An inline method. @see https://haxe.org/manual/class-field-inline.html A dynamic, rebindable method. @see https://haxe.org/manual/class-field-dynamic.html A macro method. Represents the method kind. An `Int` literal. A `Float` literal, represented as String to avoid precision loss. A `String` literal. A `Bool` literal. The constant `null`. The constant `this`. The constant `super`. Represents typed constant. The type of the variable. The name of the variable. The metadata of the variable. The unique ID of the variable. Special information which is internally used to keep track of closure. information Whether or not the variable has been captured by a closure. Represents a variable in the typed AST. A class. An enum. A typedef. An abstract. Represents a module type. These are the types that can be declared in a Haxe module and which are passed to the generators (except `TTypeDecl`). The return type of the function. The expression of the function body. A list of function arguments identified by an argument variable `v` and an optional initialization `value`. Represents a function in the typed AST. Access of field `cf` on a class instance `c` with type parameters `params`. Static access of a field `cf` on a class `c`. Access of field `cf` on an anonymous structure. Dynamic field access of a field named `s`. Closure field access of field `cf` on a class instance `c` with type parameters `params`. Field access to an enum constructor `ef` of enum `e`. Represents the kind of field access in the typed AST. A constant. Reference to a local variable `v`. Array access `e1[e2]`. Binary operator `e1 op e2`. Field access on `e` according to `fa`. Reference to a module type `m`. Parentheses `(e)`. An object declaration. An array declaration `[el]`. A call `e(el)`. (el)`.]]> An unary operator `op` on `e`: * e++ (op = OpIncrement, postFix = true) * e-- (op = OpDecrement, postFix = true) * ++e (op = OpIncrement, postFix = false) * --e (op = OpDecrement, postFix = false) * -e (op = OpNeg, postFix = false) * !e (op = OpNot, postFix = false) * ~e (op = OpNegBits, postFix = false) A function declaration. A variable declaration `var v` or `var v = expr`. A block declaration `{el}`. A `for` expression. An `if(econd) eif` or `if(econd) eif else eelse` expression. Represents a `while` expression. When `normalWhile` is `true` it is `while (...)`. When `normalWhile` is `false` it is `do {...} while (...)`. Represents a `switch` expression with related cases and an optional `default` case if edef != null. Represents a `try`-expression with related catches. A `return` or `return e` expression. A `break` expression. A `continue` expression. A `throw e` expression. A `cast e` or `cast (e, m)` expression. A `@m e1` expression. Access to an enum parameter (generated by the pattern matcher). Access to an enum index (generated by the pattern matcher). An unknown identifier. Represents kind of a node in the typed AST. The type of the expression. The position of the expression. The expression kind. Represents a typed AST node. Returns a syntax-level type corresponding to Type `t`. This function is mostly inverse to `ComplexTypeTools.toType`, but may lose some information on types that do not have a corresponding syntax version, such as monomorphs. In these cases, the result is null. If `t` is null, an internal exception is thrown. { isStatic : false } Resolves the field named `name` on class `c`. If `isStatic` is true, the classes' static fields are checked. Otherwise the classes' member fields are checked. If the field is found, it is returned. Otherwise if `c` has a super class, `findField` recursively checks that super class. Otherwise null is returned. If any argument is null, the result is unspecified. This class provides some utility methods to work with types. It is best used through 'using haxe.macro.TypeTools' syntax and then provides additional methods on haxe.macro.Type instances. Transforms the sub-expressions of `e` by calling `f` on each of them. See `haxe.macro.ExprTools.map` for details on expression mapping in general. This function works the same way, but with a different data structure. Calls function `f` on each sub-expression of `e`. See `haxe.macro.ExprTools.iter` for details on iterating expressions in general. This function works the same way, but with a different data structure. Transforms the sub-expressions of `e` by calling `f` on each of them. Additionally, types are mapped using `ft` and variables are mapped using `fv`. See `haxe.macro.ExprTools.map` for details on expression mapping in general. This function works the same way, but with a different data structure. This class provides some utility methods to work with typed expressions. It is best used through 'using haxe.macro.TypedExprTools' syntax and then provides additional methods on `haxe.macro.TypedExpr` instances. a.b a.b a.b <_hx_set set="method" line="49" static="1"> a.b a.b <_hx_set set="method" line="49" static="1"> a.b a.b a.b a.b a.b a.b a.b The `haxe.xml.Access` API helps providing a fast dot-syntax access to the most common `Xml` methods. The name of the current element. This is the same as `Xml.nodeName`. The inner PCDATA or CDATA of the node. An exception is thrown if there is no data or if there not only data but also other nodes. The XML string built with all the sub nodes, excluding the current one. John")); var user = access.node.user; var name = user.node.name; trace(name.innerData); // John // Uncaught Error: Document is missing element password var password = user.node.password; ```]]> " )); var users = fast.node.users; for (user in users.nodes.user) { trace(user.att.name); } ```]]> ")); var user = f.node.user; if (user.has.name) { trace(user.att.name); // Mark } ```]]> Check the existence of an attribute with the given name. 31")); var user = f.node.user; if (user.hasNode.age) { trace(user.node.age.innerData); // 31 } ```]]> The list of all sub-elements which are the nodes with type `Xml.Element`. <_new public="1" get="inline" set="null" line="209" static="1"> The name of the current element. This is the same as `Xml.nodeName`. The inner PCDATA or CDATA of the node. An exception is thrown if there is no data or if there not only data but also other nodes. The XML string built with all the sub nodes, excluding the current one. John")); var user = access.node.user; var name = user.node.name; trace(name.innerData); // John // Uncaught Error: Document is missing element password var password = user.node.password; ```]]> " )); var users = fast.node.users; for (user in users.nodes.user) { trace(user.att.name); } ```]]> ")); var user = f.node.user; if (user.has.name) { trace(user.att.name); // Mark } ```]]> Check the existence of an attribute with the given name. 31")); var user = f.node.user; if (user.hasNode.age) { trace(user.node.age.innerData); // 31 } ```]]> The list of all sub-elements which are the nodes with type `Xml.Element`. <_new public="1" get="inline" set="null" line="209" static="1"> cast 0 cast 1 cast 2 cast 3 cast 4 cast 5 cast 6 cast 7 cast 8 cast 9 cast 10 cast 11 cast 12 cast 13
      cast 14
      cast 15 cast 16 cast 17 cast 18
      cast 0 cast 1 cast 2 cast 3 cast 4 cast 5 cast 6 cast 7 cast 8 cast 9 cast 10 cast 11 cast 12 cast 13
      cast 14
      cast 15 cast 16 cast 17 cast 18
      { pretty : false } Convert `Xml` to string representation. Set `pretty` to `true` to prettify the result. This class provides utility methods to convert Xml instances to String representation. "]]> [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, -1, -1] [3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258] [0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, -1, -1] [1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577] [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15] null { bufsize : 65536 } { crc : true, header : true } A pure Haxe implementation of the ZLIB Inflate algorithm which allows reading compressed data without any platform-specific support. "]]> <__interp public="1"> new Map() allows to check for #if / #else in code activate JSON compatiblity allow types declarations allow haxe metadata declarations resume from parsing errors (when parsing incomplete code, during completion for example) 0 { origin : "hscript" } false false false null { origin : "hscript" } <_token set="method" line="1577"> { deltaTime : 0, type : null } cast 0 cast 1 cast 0 cast 1 { type : null } cast 0 cast 0 { file : null, type : null } cast 0 cast 0 { value : 0, axis : 0, button : 0, id : 0, type : null } cast 0 cast 1 cast 2 cast 3 cast 4 cast 0 cast 1 cast 2 cast 3 cast 4 { y : 0, x : 0, value : 0, index : 0, id : 0, type : null } cast 0 cast 1 cast 2 cast 3 cast 4 cast 5 cast 6 cast 0 cast 1 cast 2 cast 3 cast 4 cast 5 cast 6 { modifier : 0, keyCode : 0, windowID : 0, type : null } cast 0 cast 1 cast 0 cast 1 { movementY : 0, movementX : 0, button : 0, y : 0, x : 0, windowID : 0, type : null } cast 0 cast 1 cast 2 cast 3 cast 0 cast 1 cast 2 cast 3 { type : null } cast 0 cast 1 cast 2 cast 0 cast 1 cast 2 { z : 0, y : 0, x : 0, id : 0, type : null } cast 0 cast 0 { length : 0, start : 0, text : null, windowID : 0, type : null } cast 0 cast 1 cast 0 cast 1 { device : 0, pressure : 0, dy : 0, dx : 0, id : 0, y : 0, x : 0, type : null } cast 0 cast 1 cast 2 cast 0 cast 1 cast 2 { y : 0, x : 0, height : 0, width : 0, windowID : 0, type : null } cast 0 cast 1 cast 2 cast 3 cast 4 cast 5 cast 6 cast 7 cast 8 cast 9 cast 10 cast 11 cast 12 cast 0 cast 1 cast 2 cast 3 cast 4 cast 5 cast 6 cast 7 cast 8 cast 9 cast 10 cast 11 cast 12 [] 48000 3 100 false { buffers : null } "tags=\"haxe,release\"" lime.media.AudioBuffer new BytesBuffer() { binary : true } "tags=\"haxe,release\"" <__extensionObjects static="1"> <__extensionObjectConstructors expr="new Map<String,Void>()" line="39" static="1"> ()]]> <__lastContextID expr="0" line="40" static="1"> 0 <__supportedExtensions static="1"> 0x00000100 0x00000400 0x00004000 0x0000 0x0001 0x0002 0x0003 0x0004 0x0005 0x0006 0 1 0x0300 0x0301 0x0302 0x0303 0x0304 0x0305 0x0306 0x0307 0x0308 0x8006 0x8009 0x8009 0x883D 0x800A 0x800B 0x80C8 0x80C9 0x80CA 0x80CB 0x8001 0x8002 0x8003 0x8004 0x8005 0x8892 0x8893 0x8894 0x8895 0x88E0 0x88E4 0x88E8 0x8764 0x8765 0x8626 0x0404 0x0405 0x0408 0x0DE1 0x0B44 0x0BE2 0x0BD0 0x0B90 0x0B71 0x0C11 0x8037 0x809E 0x80A0 0 0x0500 0x0501 0x0502 0x0505 0x0900 0x0901 0x0B21 0x846D 0x846E 0x0B45 0x0B46 0x0B70 0x0B72 0x0B73 0x0B74 0x0B91 0x0B92 0x0B94 0x0B95 0x0B96 0x0B97 0x0B93 0x0B98 0x8800 0x8801 0x8802 0x8803 0x8CA3 0x8CA4 0x8CA5 0x0BA2 0x0C10 0x0C22 0x0C23 0x0CF5 0x0D05 0x0D33 0x0D3A 0x0D50 0x0D52 0x0D53 0x0D54 0x0D55 0x0D56 0x0D57 0x2A00 0x8038 0x8069 0x80A8 0x80A9 0x80AA 0x80AB 0x86A2 0x86A3 0x1100 0x1101 0x1102 0x8192 0x1400 0x1401 0x1402 0x1403 0x1404 0x1405 0x1406 0x0140C 0x1902 0x1906 0x1907 0x1908 0x1909 0x190A 0x8033 0x8034 0x8363 0x8B30 0x8B31 0x8869 0x8DFB 0x8DFC 0x8B4D 0x8B4C 0x8872 0x8DFD 0x8B4F 0x8B80 0x8B82 0x8B83 0x8B85 0x8B86 0x8B87 0x8B89 0x8B8A 0x8B8C 0x8B8D 0x0200 0x0201 0x0202 0x0203 0x0204 0x0205 0x0206 0x0207 0x1E00 0x1E01 0x1E02 0x1E03 0x150A 0x8507 0x8508 0x1F00 0x1F01 0x1F02 0x1F03 0x2600 0x2601 0x2700 0x2701 0x2702 0x2703 0x2800 0x2801 0x2802 0x2803 0x1702 0x8513 0x8514 0x8515 0x8516 0x8517 0x8518 0x8519 0x851A 0x851C 0x84C0 0x84C1 0x84C2 0x84C3 0x84C4 0x84C5 0x84C6 0x84C7 0x84C8 0x84C9 0x84CA 0x84CB 0x84CC 0x84CD 0x84CE 0x84CF 0x84D0 0x84D1 0x84D2 0x84D3 0x84D4 0x84D5 0x84D6 0x84D7 0x84D8 0x84D9 0x84DA 0x84DB 0x84DC 0x84DD 0x84DE 0x84DF 0x84E0 0x2901 0x812F 0x8370 0x8B50 0x8B51 0x8B52 0x8B53 0x8B54 0x8B55 0x8B56 0x8B57 0x8B58 0x8B59 0x8B5A 0x8B5B 0x8B5C 0x8B5E 0x8B60 0x8622 0x8623 0x8624 0x8625 0x886A 0x8645 0x889F 0x8B9A 0x8B9B 0x8642 0x8861 0x8B81 0x8B84 0x8B88 0x8DFA 0x8DF8 0x8DF9 0x8DF0 0x8DF1 0x8DF2 0x8DF3 0x8DF4 0x8DF5 0x8D40 0x8D41 0x8056 0x8057 0x8D62 0x81A5 0x1901 0x8D48 0x84F9 0x8D42 0x8D43 0x8D44 0x8D50 0x8D51 0x8D52 0x8D53 0x8D54 0x8D55 0x8CD0 0x8CD1 0x8CD2 0x8CD3 0x8CE0 0x8D00 0x8D20 0x821A 0 0x8CD5 0x8CD6 0x8CD7 0x8CD9 0x8CDD 0x8CA6 0x8CA7 0x84E8 0x0506 0x9240 0x9241 0x9242 0x9243 0x9244 0x0C02 0x0CF2 0x0CF3 0x0CF4 0x0D02 0x0D03 0x0D04 0x806A 0x806D 0x806E 0x8073 0x80E8 0x80E9 0x84FD 0x8B49 0x8B4A 0x88FF 0x8904 0x8905 0x8B4B 0x8B8B 0x8C89 0x85B5 0x9122 0x9125 0x9111 0x8D6B 0x1903 0x8051 0x8058 0x8059 0x806F 0x8072 0x813A 0x813B 0x813C 0x813D 0x884C 0x884D 0x8C40 0x8C41 0x8C43 0x884E 0x8814 0x8815 0x881A 0x881B 0x8C1A 0x8C1D 0x8C3A 0x8C3D 0x8D70 0x8D71 0x8D76 0x8D77 0x8D7C 0x8D7D 0x8D82 0x8D83 0x8D88 0x8D89 0x8D8E 0x8D8F 0x8D94 0x8D98 0x8D99 0x8229 0x822B 0x822D 0x822E 0x822F 0x8230 0x8231 0x8232 0x8233 0x8234 0x8235 0x8236 0x8237 0x8238 0x8239 0x823A 0x823B 0x823C 0x8F94 0x8F95 0x8F96 0x8F97 0x906F 0x912F 0x82DF 0x8368 0x8C3B 0x8C3E 0x8DAD 0x84FA 0x140B 0x8227 0x8228 0x8D9F 0x8865 0x8866 0x8867 0x8C2F 0x8D6A 0x8824 0x8825 0x8826 0x8827 0x8828 0x8829 0x882A 0x882B 0x882C 0x882D 0x882E 0x882F 0x8830 0x8831 0x8832 0x8833 0x8834 0x8CDF 0x8CE1 0x8CE2 0x8CE3 0x8CE4 0x8CE5 0x8CE6 0x8CE7 0x8CE8 0x8CE9 0x8CEA 0x8CEB 0x8CEC 0x8CED 0x8CEE 0x8CEF 0x8B5F 0x8B62 0x8DC1 0x8DC4 0x8DC5 0x8DCA 0x8DCB 0x8DCC 0x8DCF 0x8DD2 0x8DD3 0x8DD4 0x8DD7 0x8D57 0x8919 0x88EB 0x88EC 0x88ED 0x88EF 0x8F36 0x8F37 0x8F36 0x8F37 0x8B65 0x8B66 0x8B67 0x8B68 0x8B69 0x8B6A 0x8DC6 0x8DC7 0x8DC8 0x8C17 0x8F9C 0x88FD 0x88FE 0x8C7F 0x8C80 0x8C83 0x8C84 0x8C85 0x8C88 0x8C8A 0x8C8B 0x8C8C 0x8C8D 0x8C8E 0x8C8F 0x8E22 0x8E23 0x8E24 0x8E25 0x8210 0x8211 0x8212 0x8213 0x8214 0x8215 0x8216 0x8217 0x8218 0x88F0 0x8CA6 0x8CA8 0x8CA9 0x8CAA 0x8CAB 0x8CD4 0x8D56 0x8A11 0x8A28 0x8A29 0x8A2A 0x8A2B 0x8A2D 0x8A2E 0x8A2F 0x8A30 0x8A31 0x8A33 0x8A34 0x8A36 0x8A37 0x8A38 0x8A3A 0x8A3B 0x8A3C 0x8A3D 0x8A3E 0x8A3F 0x8A40 0x8A42 0x8A43 0x8A44 0x8A46 0x9112 0x9113 0x9114 0x9115 0x9116 0x9117 0x9118 0x9119 0x911A 0x911B 0x911C 0x911D 0x00000001 0x1800 0x1801 0x1802 0x8007 0x8008 0x81A6 0x88E1 0x88E2 0x88E5 0x88E6 0x88E9 0x88EA 0x8CAC 0x8CAD 0xFFFFFFFF -1 0x9247 <__arrayBufferBinding> <__elementBufferBinding> <__contextID> <__currentProgram> <__framebufferBinding> <__initialized> <__isContextLost> <__renderbufferBinding> <__texture2DBinding> <__textureCubeMapBinding> hide <__contextLost set="method" line="3278"> <__createObject set="method" line="3291"> <__getObjectID set="method" line="3296"> <__initialize set="method" line="3302"> "tags=\"haxe,release\"" hide lime.ui.Window lime._internal.backend.native.NativeCFFI lime.graphics.opengl "tags=\"haxe,release\"" lime._internal.backend.native.NativeCFFI lime._internal.backend.native.NativeOpenGLRenderContext lime.app.Application lime.graphics.cairo.Cairo lime.graphics.opengl.GL lime.graphics.OpenGLRenderContext lime.graphics.RenderContext lime.system.DisplayMode lime.ui.Window cast 0 cast 1 cast 2 cast 3 cast 4 cast 5 cast 6 cast 7 cast 8 cast 9 cast 10 cast 11 cast 12 cast 0 cast 1 cast 2 cast 3 cast 4 cast 5 cast 6 cast 7 cast 8 cast 9 cast 10 cast 11 cast 12 cast 0x00000001 cast 0x00000002 cast 0x00000004 cast 0x00000008 cast 0x00000010 cast 0x00000020 cast 0x00000060 cast 0x00000080 cast 0x00000100 cast 0x00000200 cast 0x00000400 cast 0x00000800 cast 0x00001000 cast 0x00002000 cast 0x00004000 cast 0x00008000 cast 0x00010000 cast 0x00000001 cast 0x00000002 cast 0x00000004 cast 0x00000008 cast 0x00000010 cast 0x00000020 cast 0x00000060 cast 0x00000080 cast 0x00000100 cast 0x00000200 cast 0x00000400 cast 0x00000800 cast 0x00001000 cast 0x00002000 cast 0x00004000 cast 0x00008000 cast 0x00010000 { type : null } "tags=\"haxe,release\"" "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("") (); for (a in DICTIONARY) { for (b in DICTIONARY) { result.push(a + b); }; }; result; }]]> "tags=\"haxe,release\"" lime._internal.backend.native.NativeCFFI "tags=\"haxe,release\"" lime._internal.backend.native.NativeCFFI { decodeData : true } { decodeData : true } "tags=\"haxe,release\"" lime._internal.backend.native.NativeCFFI lime.graphics.ImageBuffer "tags=\"haxe,release\"" lime._internal.backend.native.NativeCFFI { decodeData : true } { decodeData : true } "tags=\"haxe,release\"" lime._internal.backend.native.NativeCFFI lime.graphics.ImageBuffer "tags=\"haxe,release\"" lime._internal.backend.native.NativeCFFI { clear : false } { clear : false } { mergeAlpha : false, alphaPoint : null, alphaImage : null } lime.graphics.ImageBuffer { mergeAlpha : false, alphaPoint : null, alphaImage : null } { color : null, strength : 1, quality : 1, blurY : 4, blurX : 4 } <__boxBlur set="method" line="1432" static="1"> <__boxBlurH get="inline" set="null" line="1452" static="1"> <__boxBlurT get="inline" set="null" line="1499" static="1"> <__calculateSourceOffset get="inline" set="null" line="1551" static="1"> * Returns: the offset for translated coordinate in the source image or -1 if the source the coordinate out of the source or destination bounds * Note: destX and destY should be valid coordinates <__getBoxesForGaussianBlur set="method" line="1570" static="1"> <__pixelCompare get="inline" set="null" line="1589" static="1"> <__translatePixel get="inline" set="null" line="1638" static="1"> "tags=\"haxe,release\"" lime._internal.backend.native.NativeCFFI lime.graphics.ImageBuffer lime.math.RGBA <__update set="method" line="1742"> { rect : null } hide cast 0 cast 1 cast 2 cast 3 cast 4 cast 5 cast 0 cast 1 cast 2 cast 3 cast 4 cast 5 [1, 171, 205, 293, 57, 373, 79, 137, 241, 27, 391, 357, 41, 19, 283, 265, 497, 469, 443, 421, 25, 191, 365, 349, 335, 161, 155, 149, 9, 278, 269, 261, 505, 245, 475, 231, 449, 437, 213, 415, 405, 395, 193, 377, 369, 361, 353, 345, 169, 331, 325, 319, 313, 307, 301, 37, 145, 285, 281, 69, 271, 267, 263, 259, 509, 501, 493, 243, 479, 118, 465, 459, 113, 446, 55, 435, 429, 423, 209, 413, 51, 403, 199, 393, 97, 3, 379, 375, 371, 367, 363, 359, 355, 351, 347, 43, 85, 337, 333, 165, 327, 323, 5, 317, 157, 311, 77, 305, 303, 75, 297, 294, 73, 289, 287, 71, 141, 279, 277, 275, 68, 135, 67, 133, 33, 262, 260, 129, 511, 507, 503, 499, 495, 491, 61, 121, 481, 477, 237, 235, 467, 232, 115, 457, 227, 451, 7, 445, 221, 439, 218, 433, 215, 427, 425, 211, 419, 417, 207, 411, 409, 203, 202, 401, 399, 396, 197, 49, 389, 387, 385, 383, 95, 189, 47, 187, 93, 185, 23, 183, 91, 181, 45, 179, 89, 177, 11, 175, 87, 173, 345, 343, 341, 339, 337, 21, 167, 83, 331, 329, 327, 163, 81, 323, 321, 319, 159, 79, 315, 313, 39, 155, 309, 307, 153, 305, 303, 151, 75, 299, 149, 37, 295, 147, 73, 291, 145, 289, 287, 143, 285, 71, 141, 281, 35, 279, 139, 69, 275, 137, 273, 17, 271, 135, 269, 267, 133, 265, 33, 263, 131, 261, 130, 259, 129, 257, 1] [0, 9, 10, 11, 9, 12, 10, 11, 12, 9, 13, 13, 10, 9, 13, 13, 14, 14, 14, 14, 10, 13, 14, 14, 14, 13, 13, 13, 9, 14, 14, 14, 15, 14, 15, 14, 15, 15, 14, 15, 15, 15, 14, 15, 15, 15, 15, 15, 14, 15, 15, 15, 15, 15, 15, 12, 14, 15, 15, 13, 15, 15, 15, 15, 16, 16, 16, 15, 16, 14, 16, 16, 14, 16, 13, 16, 16, 16, 15, 16, 13, 16, 15, 16, 14, 9, 16, 16, 16, 16, 16, 16, 16, 16, 16, 13, 14, 16, 16, 15, 16, 16, 10, 16, 15, 16, 14, 16, 16, 14, 16, 16, 14, 16, 16, 14, 15, 16, 16, 16, 14, 15, 14, 15, 13, 16, 16, 15, 17, 17, 17, 17, 17, 17, 14, 15, 17, 17, 16, 16, 17, 16, 15, 17, 16, 17, 11, 17, 16, 17, 16, 17, 16, 17, 17, 16, 17, 17, 16, 17, 17, 16, 16, 17, 17, 17, 16, 14, 17, 17, 17, 17, 15, 16, 14, 16, 15, 16, 13, 16, 15, 16, 14, 16, 15, 16, 12, 16, 15, 16, 17, 17, 17, 17, 17, 13, 16, 15, 17, 17, 17, 16, 15, 17, 17, 17, 16, 15, 17, 17, 14, 16, 17, 17, 16, 17, 17, 16, 15, 17, 16, 14, 17, 16, 15, 17, 16, 17, 17, 16, 17, 15, 16, 17, 14, 17, 16, 15, 17, 16, 17, 13, 17, 16, 17, 17, 16, 17, 14, 17, 16, 17, 16, 17, 16, 17, 9] <__stackBlurCanvasRGBA set="method" line="38" static="1"> Whether the event was canceled during the previous dispatch <__listeners public="1"> hide <__repeat public="1"> hide <__priorities> { priority : 0, once : false } Adds a new event listener @param listener A callback that matches the signature of the event @param once Whether to receive an event dispatch only once, or each time it is fired @param priority The priority for this listener, a higher priority will be dispatched sooner Marks the event as canceled, and stops the current event dispatch Int->Void` will create a `dispatch` method that takes two `Int` arguments, like `dispatch (1, 2);`]]> Checks whether a callback is a listener to this event @param listener A callback that matches the signature of the event @return Whether the callback is a listener Removes an event listener @param listener A callback that matches the signature of the event Removes all event listeners Creates a new Event instance Void> (); event.add (function (value:Int):Void { trace (value); }); event.dispatch (100); var event = new EventVoid> (); event.add (function () { trace ("callback"); }); event.dispatch (); ```]]> lime._internal.macros.EventMacro.build() "tags=\"haxe,release\"" { onProgress : null, onError : null } Create a new `Future` instance based on complete and (optionally) error and/or progress `Event` instances Creates a `Future` instance which has finished with an error value @param error The error value to set @return A new `Future` instance Creates a `Future` instance which has finished with a completion value @param error The completion value to set @return A new `Future` instance If the `Future` has finished with an error state, the `error` value Whether the `Future` finished with a completion state Whether the `Future` finished with an error state If the `Future` has finished with a completion state, the completion `value` <__completeListeners> <__errorListeners> <__progressListeners> Register a listener for when the `Future` completes. If the `Future` has already completed, this is called immediately with the result @param listener A callback method to receive the result value @return The current `Future` Register a listener for when the `Future` ends with an error state. If the `Future` has already ended with an error, this is called immediately with the error value @param listener A callback method to receive the error value @return The current `Future` Register a listener for when the `Future` updates progress. If the `Future` is already completed, this will not be called. @param listener A callback method to receive the progress value @return The current `Future` { waitTime : -1 } Attempts to block on an asynchronous `Future`, returning when it is completed. @param waitTime (Optional) A timeout before this call will stop blocking @return This current `Future` { waitTime : -1 } Attempts to block on an asynchronous `Future`, returning the completion value when it is finished. @param waitTime (Optional) A timeout before this call will stop blocking @return The completion value, or `null` if the request timed out or blocking is not possible Chains two `Future` instances together, passing the result from the first as input for creating/returning a new `Future` instance of a new or the same type { async : false, work : null } Create a new `Future` instance @param work (Optional) A function to execute @param async (Optional) If a function is specified, whether to execute it asynchronously where supported `Future` is an implementation of Futures and Promises, with the exception that in addition to "success" and "failure" states (represented as "complete" and "error"), Lime `Future` introduces "progress" feedback as well to increase the value of `Future` values. ```haxe var future = Image.loadFromFile ("image.png"); future.onComplete (function (image) { trace ("Image loaded"); }); future.onProgress (function (loaded, total) { trace ("Loading: " + loaded + ", " + total); }); future.onError (function (error) { trace (error); }); Image.loadFromFile ("image.png").then (function (image) { return Future.withValue (image.width); }).onComplete (function (width) { trace (width); }) ``` `Future` values can be chained together for asynchronous processing of values. If an error occurs earlier in the chain, the error is propagated to all `onError` callbacks. `Future` will call `onComplete` callbacks, even if completion occurred before registering the callback. This resolves race conditions, so even functions that return immediately can return values using `Future`. `Future` values are meant to be immutable, if you wish to update a `Future`, you should create one using a `Promise`, and use the `Promise` interface to influence the error, complete or progress state of a `Future`. "tags=\"haxe,release\"" lime.app.Promise { state : null } "tags=\"haxe,release\"" hide The `Future` associated with this `Promise`. All subsequent calls to set an error, completion or progress state will update the status and notify listeners to this `Future` Whether the `Promise` (and related `Future`) has finished with a completion state. This will be `false` if the `Promise` has not been resolved with a completion or error state. Whether the `Promise` (and related `Future`) has finished with an error state. This will be `false` if the `Promise` has not been resolved with a completion or error state. Resolves this `Promise` with a completion state @param data The completion value @return The current `Promise` Resolves this `Promise` with the complete, error and/or progress state of another `Future` @param future The `Future` to use to resolve this `Promise` @return The current `Promise` Resolves this `Promise` with an error state @param msg The error value @return The current `Promise` Sends progress updates to the related `Future` @param progress A progress value @param total A total value. This should be equal or greater to the `progress` value @return The current `Promise` Create a new `Promise` instance { var promise = new Promise (); var progress = 0, total = 10; var timer = new Timer (100); timer.run = function () { promise.progress (progress, total); progress++; if (progress == total) { promise.complete ("Done!"); timer.stop (); } }; return promise.future; } var future = examplePromise (); future.onComplete (function (message) { trace (message); }); future.onProgress (function (loaded, total) { trace ("Progress: " + loaded + ", " + total); }); ```]]> "tags=\"haxe,release\"" lime.app.Future Whether the event was canceled during the previous dispatch <__repeat public="1"> hide <__priorities> { priority : 0, once : false } Adds a new event listener @param listener A callback that matches the signature of the event @param once Whether to receive an event dispatch only once, or each time it is fired @param priority The priority for this listener, a higher priority will be dispatched sooner Marks the event as canceled, and stops the current event dispatch Checks whether a callback is a listener to this event @param listener A callback that matches the signature of the event @return Whether the callback is a listener Removes an event listener @param listener A callback that matches the signature of the event Removes all event listeners <__listeners public="1"> Creates a new Event instance hide "tags=\"haxe,release\"" Whether the event was canceled during the previous dispatch <__repeat public="1"> hide <__priorities> { priority : 0, once : false } Adds a new event listener @param listener A callback that matches the signature of the event @param once Whether to receive an event dispatch only once, or each time it is fired @param priority The priority for this listener, a higher priority will be dispatched sooner Marks the event as canceled, and stops the current event dispatch Checks whether a callback is a listener to this event @param listener A callback that matches the signature of the event @return Whether the callback is a listener Removes an event listener @param listener A callback that matches the signature of the event Removes all event listeners <__listeners public="1"> Creates a new Event instance hide "tags=\"haxe,release\"" Whether the event was canceled during the previous dispatch <__repeat public="1"> hide <__priorities> { priority : 0, once : false } Adds a new event listener @param listener A callback that matches the signature of the event @param once Whether to receive an event dispatch only once, or each time it is fired @param priority The priority for this listener, a higher priority will be dispatched sooner Marks the event as canceled, and stops the current event dispatch Checks whether a callback is a listener to this event @param listener A callback that matches the signature of the event @return Whether the callback is a listener Removes an event listener @param listener A callback that matches the signature of the event Removes all event listeners <__listeners public="1"> Creates a new Event instance hide "tags=\"haxe,release\"" Whether the event was canceled during the previous dispatch <__repeat public="1"> hide <__priorities> { priority : 0, once : false } Adds a new event listener @param listener A callback that matches the signature of the event @param once Whether to receive an event dispatch only once, or each time it is fired @param priority The priority for this listener, a higher priority will be dispatched sooner Marks the event as canceled, and stops the current event dispatch Checks whether a callback is a listener to this event @param listener A callback that matches the signature of the event @return Whether the callback is a listener Removes an event listener @param listener A callback that matches the signature of the event Removes all event listeners <__listeners public="1"> Creates a new Event instance hide "tags=\"haxe,release\"" Whether the event was canceled during the previous dispatch <__repeat public="1"> hide <__priorities> { priority : 0, once : false } Adds a new event listener @param listener A callback that matches the signature of the event @param once Whether to receive an event dispatch only once, or each time it is fired @param priority The priority for this listener, a higher priority will be dispatched sooner Marks the event as canceled, and stops the current event dispatch Checks whether a callback is a listener to this event @param listener A callback that matches the signature of the event @return Whether the callback is a listener Removes an event listener @param listener A callback that matches the signature of the event Removes all event listeners <__listeners public="1"> Creates a new Event instance hide "tags=\"haxe,release\"" Whether the event was canceled during the previous dispatch <__repeat public="1"> hide <__priorities> { priority : 0, once : false } Adds a new event listener @param listener A callback that matches the signature of the event @param once Whether to receive an event dispatch only once, or each time it is fired @param priority The priority for this listener, a higher priority will be dispatched sooner Marks the event as canceled, and stops the current event dispatch Checks whether a callback is a listener to this event @param listener A callback that matches the signature of the event @return Whether the callback is a listener Removes an event listener @param listener A callback that matches the signature of the event Removes all event listeners <__listeners public="1"> Creates a new Event instance hide "tags=\"haxe,release\"" Whether the event was canceled during the previous dispatch <__repeat public="1"> hide <__priorities> { priority : 0, once : false } Adds a new event listener @param listener A callback that matches the signature of the event @param once Whether to receive an event dispatch only once, or each time it is fired @param priority The priority for this listener, a higher priority will be dispatched sooner Marks the event as canceled, and stops the current event dispatch Checks whether a callback is a listener to this event @param listener A callback that matches the signature of the event @return Whether the callback is a listener Removes an event listener @param listener A callback that matches the signature of the event Removes all event listeners <__listeners public="1"> Creates a new Event instance hide "tags=\"haxe,release\"" Whether the event was canceled during the previous dispatch <__repeat public="1"> hide <__priorities> { priority : 0, once : false } Adds a new event listener @param listener A callback that matches the signature of the event @param once Whether to receive an event dispatch only once, or each time it is fired @param priority The priority for this listener, a higher priority will be dispatched sooner Marks the event as canceled, and stops the current event dispatch Checks whether a callback is a listener to this event @param listener A callback that matches the signature of the event @return Whether the callback is a listener Removes an event listener @param listener A callback that matches the signature of the event Removes all event listeners <__listeners public="1"> Creates a new Event instance hide "tags=\"haxe,release\"" Whether the event was canceled during the previous dispatch <__repeat public="1"> hide <__priorities> { priority : 0, once : false } Adds a new event listener @param listener A callback that matches the signature of the event @param once Whether to receive an event dispatch only once, or each time it is fired @param priority The priority for this listener, a higher priority will be dispatched sooner Marks the event as canceled, and stops the current event dispatch Checks whether a callback is a listener to this event @param listener A callback that matches the signature of the event @return Whether the callback is a listener Removes an event listener @param listener A callback that matches the signature of the event Removes all event listeners <__listeners public="1"> Creates a new Event instance hide "tags=\"haxe,release\"" Whether the event was canceled during the previous dispatch <__repeat public="1"> hide <__priorities> { priority : 0, once : false } Adds a new event listener @param listener A callback that matches the signature of the event @param once Whether to receive an event dispatch only once, or each time it is fired @param priority The priority for this listener, a higher priority will be dispatched sooner Marks the event as canceled, and stops the current event dispatch Checks whether a callback is a listener to this event @param listener A callback that matches the signature of the event @return Whether the callback is a listener Removes an event listener @param listener A callback that matches the signature of the event Removes all event listeners <__listeners public="1"> Creates a new Event instance hide "tags=\"haxe,release\"" Whether the event was canceled during the previous dispatch <__repeat public="1"> hide <__priorities> { priority : 0, once : false } Adds a new event listener @param listener A callback that matches the signature of the event @param once Whether to receive an event dispatch only once, or each time it is fired @param priority The priority for this listener, a higher priority will be dispatched sooner Marks the event as canceled, and stops the current event dispatch Checks whether a callback is a listener to this event @param listener A callback that matches the signature of the event @return Whether the callback is a listener Removes an event listener @param listener A callback that matches the signature of the event Removes all event listeners <__listeners public="1"> Creates a new Event instance hide "tags=\"haxe,release\"" Whether the event was canceled during the previous dispatch <__repeat public="1"> hide <__priorities> { priority : 0, once : false } Adds a new event listener @param listener A callback that matches the signature of the event @param once Whether to receive an event dispatch only once, or each time it is fired @param priority The priority for this listener, a higher priority will be dispatched sooner Marks the event as canceled, and stops the current event dispatch Checks whether a callback is a listener to this event @param listener A callback that matches the signature of the event @return Whether the callback is a listener Removes an event listener @param listener A callback that matches the signature of the event Removes all event listeners <__listeners public="1"> Creates a new Event instance hide "tags=\"haxe,release\"" Whether the event was canceled during the previous dispatch <__repeat public="1"> hide <__priorities> { priority : 0, once : false } Adds a new event listener @param listener A callback that matches the signature of the event @param once Whether to receive an event dispatch only once, or each time it is fired @param priority The priority for this listener, a higher priority will be dispatched sooner Marks the event as canceled, and stops the current event dispatch Checks whether a callback is a listener to this event @param listener A callback that matches the signature of the event @return Whether the callback is a listener Removes an event listener @param listener A callback that matches the signature of the event Removes all event listeners <__listeners public="1"> Creates a new Event instance hide "tags=\"haxe,release\"" Whether the event was canceled during the previous dispatch <__repeat public="1"> hide <__priorities> { priority : 0, once : false } Adds a new event listener @param listener A callback that matches the signature of the event @param once Whether to receive an event dispatch only once, or each time it is fired @param priority The priority for this listener, a higher priority will be dispatched sooner Marks the event as canceled, and stops the current event dispatch Checks whether a callback is a listener to this event @param listener A callback that matches the signature of the event @return Whether the callback is a listener Removes an event listener @param listener A callback that matches the signature of the event Removes all event listeners <__listeners public="1"> Creates a new Event instance hide "tags=\"haxe,release\"" Whether the event was canceled during the previous dispatch <__repeat public="1"> hide <__priorities> { priority : 0, once : false } Adds a new event listener @param listener A callback that matches the signature of the event @param once Whether to receive an event dispatch only once, or each time it is fired @param priority The priority for this listener, a higher priority will be dispatched sooner Marks the event as canceled, and stops the current event dispatch Checks whether a callback is a listener to this event @param listener A callback that matches the signature of the event @return Whether the callback is a listener Removes an event listener @param listener A callback that matches the signature of the event Removes all event listeners <__listeners public="1"> Creates a new Event instance hide "tags=\"haxe,release\"" Whether the event was canceled during the previous dispatch <__repeat public="1"> hide <__priorities> { priority : 0, once : false } Adds a new event listener @param listener A callback that matches the signature of the event @param once Whether to receive an event dispatch only once, or each time it is fired @param priority The priority for this listener, a higher priority will be dispatched sooner Marks the event as canceled, and stops the current event dispatch Checks whether a callback is a listener to this event @param listener A callback that matches the signature of the event @return Whether the callback is a listener Removes an event listener @param listener A callback that matches the signature of the event Removes all event listeners <__listeners public="1"> Creates a new Event instance hide "tags=\"haxe,release\"" Whether the event was canceled during the previous dispatch <__repeat public="1"> hide <__priorities> { priority : 0, once : false } Adds a new event listener @param listener A callback that matches the signature of the event @param once Whether to receive an event dispatch only once, or each time it is fired @param priority The priority for this listener, a higher priority will be dispatched sooner Marks the event as canceled, and stops the current event dispatch Checks whether a callback is a listener to this event @param listener A callback that matches the signature of the event @return Whether the callback is a listener Removes an event listener @param listener A callback that matches the signature of the event Removes all event listeners <__listeners public="1"> Creates a new Event instance hide "tags=\"haxe,release\"" Whether the event was canceled during the previous dispatch <__repeat public="1"> hide <__priorities> { priority : 0, once : false } Adds a new event listener @param listener A callback that matches the signature of the event @param once Whether to receive an event dispatch only once, or each time it is fired @param priority The priority for this listener, a higher priority will be dispatched sooner Marks the event as canceled, and stops the current event dispatch Checks whether a callback is a listener to this event @param listener A callback that matches the signature of the event @return Whether the callback is a listener Removes an event listener @param listener A callback that matches the signature of the event Removes all event listeners <__listeners public="1"> Creates a new Event instance hide "tags=\"haxe,release\"" Whether the event was canceled during the previous dispatch <__repeat public="1"> hide <__priorities> { priority : 0, once : false } Adds a new event listener @param listener A callback that matches the signature of the event @param once Whether to receive an event dispatch only once, or each time it is fired @param priority The priority for this listener, a higher priority will be dispatched sooner Marks the event as canceled, and stops the current event dispatch Checks whether a callback is a listener to this event @param listener A callback that matches the signature of the event @return Whether the callback is a listener Removes an event listener @param listener A callback that matches the signature of the event Removes all event listeners <__listeners public="1"> Creates a new Event instance hide "tags=\"haxe,release\"" Whether the event was canceled during the previous dispatch <__repeat public="1"> hide <__priorities> { priority : 0, once : false } Adds a new event listener @param listener A callback that matches the signature of the event @param once Whether to receive an event dispatch only once, or each time it is fired @param priority The priority for this listener, a higher priority will be dispatched sooner Marks the event as canceled, and stops the current event dispatch Checks whether a callback is a listener to this event @param listener A callback that matches the signature of the event @return Whether the callback is a listener Removes an event listener @param listener A callback that matches the signature of the event Removes all event listeners <__listeners public="1"> Creates a new Event instance hide "tags=\"haxe,release\"" Whether the event was canceled during the previous dispatch <__repeat public="1"> hide <__priorities> { priority : 0, once : false } Adds a new event listener @param listener A callback that matches the signature of the event @param once Whether to receive an event dispatch only once, or each time it is fired @param priority The priority for this listener, a higher priority will be dispatched sooner Marks the event as canceled, and stops the current event dispatch Checks whether a callback is a listener to this event @param listener A callback that matches the signature of the event @return Whether the callback is a listener Removes an event listener @param listener A callback that matches the signature of the event Removes all event listeners <__listeners public="1"> Creates a new Event instance hide "tags=\"haxe,release\"" Whether the event was canceled during the previous dispatch <__repeat public="1"> hide <__priorities> { priority : 0, once : false } Adds a new event listener @param listener A callback that matches the signature of the event @param once Whether to receive an event dispatch only once, or each time it is fired @param priority The priority for this listener, a higher priority will be dispatched sooner Marks the event as canceled, and stops the current event dispatch Checks whether a callback is a listener to this event @param listener A callback that matches the signature of the event @return Whether the callback is a listener Removes an event listener @param listener A callback that matches the signature of the event Removes all event listeners <__listeners public="1"> Creates a new Event instance hide "tags=\"haxe,release\"" Whether the event was canceled during the previous dispatch <__repeat public="1"> hide <__priorities> { priority : 0, once : false } Adds a new event listener @param listener A callback that matches the signature of the event @param once Whether to receive an event dispatch only once, or each time it is fired @param priority The priority for this listener, a higher priority will be dispatched sooner Marks the event as canceled, and stops the current event dispatch Checks whether a callback is a listener to this event @param listener A callback that matches the signature of the event @return Whether the callback is a listener Removes an event listener @param listener A callback that matches the signature of the event Removes all event listeners <__listeners public="1"> Creates a new Event instance hide "tags=\"haxe,release\"" Whether the event was canceled during the previous dispatch <__repeat public="1"> hide <__priorities> { priority : 0, once : false } Adds a new event listener @param listener A callback that matches the signature of the event @param once Whether to receive an event dispatch only once, or each time it is fired @param priority The priority for this listener, a higher priority will be dispatched sooner Marks the event as canceled, and stops the current event dispatch Checks whether a callback is a listener to this event @param listener A callback that matches the signature of the event @return Whether the callback is a listener Removes an event listener @param listener A callback that matches the signature of the event Removes all event listeners <__listeners public="1"> Creates a new Event instance hide "tags=\"haxe,release\"" Whether the event was canceled during the previous dispatch <__repeat public="1"> hide <__priorities> { priority : 0, once : false } Adds a new event listener @param listener A callback that matches the signature of the event @param once Whether to receive an event dispatch only once, or each time it is fired @param priority The priority for this listener, a higher priority will be dispatched sooner Marks the event as canceled, and stops the current event dispatch Checks whether a callback is a listener to this event @param listener A callback that matches the signature of the event @return Whether the callback is a listener Removes an event listener @param listener A callback that matches the signature of the event Removes all event listeners <__listeners public="1"> Creates a new Event instance hide "tags=\"haxe,release\"" The `CairoRenderContext` represents the primary `lime.graphics.Cairo` instance when Cairo is the render context type of the `Window`. You can convert from `lime.graphics.RenderContext` to `CairoRenderContext` directly if desired: ```haxe var cairo:CairoRenderContext = window.context; ``` lime.graphics.RenderContext lime.graphics.RenderContext lime.graphics.RenderContext The number of bits per pixel in this image data The data for this image, represented as a `UInt8Array` The `PixelFormat` for this image data The height of this image data Whether the image data has premultiplied alpha The data for this image, represented as a `js.html.CanvasElement`, `js.html.Image` or `flash.display.BitmapData` The stride, or number of data values (in bytes) per row in the image data Whether this image data is transparent The width of this image data <__srcBitmapData> <__srcCanvas> <__srcContext> <__srcCustom> <__srcImage> <__srcImageData> Creates a duplicate of this `ImageBuffer` If the current `ImageBuffer` has `data` or `src` information, this will be cloned as well. @return A new `ImageBuffer` with duplicate values { format : null, bitsPerPixel : 32, height : 0, width : 0, data : null } Creates a new `ImageBuffer` instance @param data (Optional) Initial `UInt8Array` data @param width (Optional) An initial `width` value @param height (Optional) An initial `height` value @param bitsPerPixel (Optional) The `bitsPerPixel` of the data (default is 32) @param format (Optional) The `PixelFormat` of this image buffer `ImageBuffer` is a simple object for storing image data. For higher-level operations, use the `Image` class. "tags=\"haxe,release\"" lime.graphics.Image The red color channel The green color channel The blue color channel The alpha color channel An enum with values for standard image color channels An image file encoded in the BMP file format An image file encoded in the JPEG file format An image file encoded in the PNG file format An enum with values for image encoding formats The source image data is stored in a `js.html.Image` or `js.html.CanvasElement` The source image data is stored in a `UInt8Array` The source image data is stored in a `flash.display.BitmapData` The source image data is stored in a custom format An enum containing values for the underlying image type represented by an `ImageBuffer` The `OpenGLES2RenderContext` allows access to OpenGL ES 2.0 features when OpenGL or OpenGL ES is the render context type of the `Window`. Using an OpenGL ES context on a desktop platform enables support for cross-platform code that should run on the majority of desktop and mobile platforms (when using hardware acceleration). Platforms supporting an OpenGL ES context are compatible with the Lime `WebGLRenderContext` if you would prefer to write WebGL-style code, or support web browsers with the same code. You can convert from `lime.graphics.RenderContext`, `lime.graphics.OpenGLRenderContext`, `lime.graphics.OpenGLES3RenderContext`, `lime.graphics.opengl.GL`, and can convert to `lime.graphics.WebGLRenderContext` directly if desired: ```haxe var gles2:OpenGLES2RenderContext = window.context; var gles2:OpenGLES2RenderContext = gl; var gles2:OpenGLES2RenderContext = gles3; var gles2:OpenGLES2RenderContext = GL; var webgl:WebGLRenderContext = gles2; ``` ACTIVE_ATTRIBUTES ACTIVE_TEXTURE ACTIVE_UNIFORMS ALIASED_LINE_WIDTH_RANGE ALIASED_POINT_SIZE_RANGE ALPHA ALPHA_BITS ALWAYS ARRAY_BUFFER ARRAY_BUFFER_BINDING ATTACHED_SHADERS BACK BLEND BLEND_COLOR BLEND_DST_ALPHA BLEND_DST_RGB BLEND_EQUATION BLEND_EQUATION_ALPHA BLEND_EQUATION_RGB BLEND_SRC_ALPHA BLEND_SRC_RGB BLUE_BITS BOOL BOOL_VEC2 BOOL_VEC3 BOOL_VEC4 BROWSER_DEFAULT_WEBGL BUFFER_SIZE BUFFER_USAGE BYTE CCW CLAMP_TO_EDGE COLOR_ATTACHMENT0 COLOR_BUFFER_BIT COLOR_CLEAR_VALUE COLOR_WRITEMASK COMPILE_STATUS COMPRESSED_TEXTURE_FORMATS CONSTANT_ALPHA CONSTANT_COLOR CULL_FACE CULL_FACE_MODE CURRENT_PROGRAM CURRENT_VERTEX_ATTRIB CW DECR DECR_WRAP DELETE_STATUS DEPTH_ATTACHMENT DEPTH_BITS DEPTH_BUFFER_BIT DEPTH_CLEAR_VALUE DEPTH_COMPONENT DEPTH_COMPONENT16 DEPTH_FUNC DEPTH_RANGE DEPTH_STENCIL DEPTH_STENCIL_ATTACHMENT DEPTH_TEST DEPTH_WRITEMASK DITHER DONT_CARE DST_ALPHA DST_COLOR DYNAMIC_DRAW ELEMENT_ARRAY_BUFFER ELEMENT_ARRAY_BUFFER_BINDING EQUAL FASTEST FLOAT FLOAT_MAT2 FLOAT_MAT3 FLOAT_MAT4 FLOAT_VEC2 FLOAT_VEC3 FLOAT_VEC4 FRAGMENT_SHADER FRAMEBUFFER FRAMEBUFFER_ATTACHMENT_OBJECT_NAME FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL FRAMEBUFFER_BINDING FRAMEBUFFER_COMPLETE FRAMEBUFFER_INCOMPLETE_ATTACHMENT FRAMEBUFFER_INCOMPLETE_DIMENSIONS FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT FRAMEBUFFER_UNSUPPORTED FRONT FRONT_AND_BACK FRONT_FACE FUNC_ADD FUNC_REVERSE_SUBTRACT FUNC_SUBTRACT GENERATE_MIPMAP_HINT GEQUAL GREATER GREEN_BITS HIGH_FLOAT HIGH_INT INCR INCR_WRAP INT INT_VEC2 INT_VEC3 INT_VEC4 INVALID_ENUM INVALID_FRAMEBUFFER_OPERATION INVALID_OPERATION INVALID_VALUE INVERT KEEP LEQUAL LESS LINEAR LINEAR_MIPMAP_LINEAR LINEAR_MIPMAP_NEAREST LINES LINE_LOOP LINE_STRIP LINE_WIDTH LINK_STATUS LOW_FLOAT LOW_INT LUMINANCE LUMINANCE_ALPHA MAX_COMBINED_TEXTURE_IMAGE_UNITS MAX_CUBE_MAP_TEXTURE_SIZE MAX_FRAGMENT_UNIFORM_VECTORS MAX_RENDERBUFFER_SIZE MAX_TEXTURE_IMAGE_UNITS MAX_TEXTURE_SIZE MAX_VARYING_VECTORS MAX_VERTEX_ATTRIBS MAX_VERTEX_TEXTURE_IMAGE_UNITS MAX_VERTEX_UNIFORM_VECTORS MAX_VIEWPORT_DIMS MEDIUM_FLOAT MEDIUM_INT MIRRORED_REPEAT NEAREST NEAREST_MIPMAP_LINEAR NEAREST_MIPMAP_NEAREST NEVER NICEST NONE NOTEQUAL NO_ERROR ONE ONE_MINUS_CONSTANT_ALPHA ONE_MINUS_CONSTANT_COLOR ONE_MINUS_DST_ALPHA ONE_MINUS_DST_COLOR ONE_MINUS_SRC_ALPHA ONE_MINUS_SRC_COLOR OUT_OF_MEMORY PACK_ALIGNMENT POINTS POLYGON_OFFSET_FACTOR POLYGON_OFFSET_FILL POLYGON_OFFSET_UNITS RED_BITS RENDERBUFFER RENDERBUFFER_ALPHA_SIZE RENDERBUFFER_BINDING RENDERBUFFER_BLUE_SIZE RENDERBUFFER_DEPTH_SIZE RENDERBUFFER_GREEN_SIZE RENDERBUFFER_HEIGHT RENDERBUFFER_INTERNAL_FORMAT RENDERBUFFER_RED_SIZE RENDERBUFFER_STENCIL_SIZE RENDERBUFFER_WIDTH RENDERER REPEAT REPLACE RGB RGB565 RGB5_A1 RGBA RGBA4 SAMPLER_2D SAMPLER_CUBE SAMPLES SAMPLE_ALPHA_TO_COVERAGE SAMPLE_BUFFERS SAMPLE_COVERAGE SAMPLE_COVERAGE_INVERT SAMPLE_COVERAGE_VALUE SCISSOR_BOX SCISSOR_TEST SHADER_TYPE SHADING_LANGUAGE_VERSION SHORT SRC_ALPHA SRC_ALPHA_SATURATE SRC_COLOR STATIC_DRAW STENCIL_ATTACHMENT STENCIL_BACK_FAIL STENCIL_BACK_FUNC STENCIL_BACK_PASS_DEPTH_FAIL STENCIL_BACK_PASS_DEPTH_PASS STENCIL_BACK_REF STENCIL_BACK_VALUE_MASK STENCIL_BACK_WRITEMASK STENCIL_BITS STENCIL_BUFFER_BIT STENCIL_CLEAR_VALUE STENCIL_FAIL STENCIL_FUNC STENCIL_INDEX STENCIL_INDEX8 STENCIL_PASS_DEPTH_FAIL STENCIL_PASS_DEPTH_PASS STENCIL_REF STENCIL_TEST STENCIL_VALUE_MASK STENCIL_WRITEMASK STREAM_DRAW SUBPIXEL_BITS TEXTURE TEXTURE0 TEXTURE1 TEXTURE10 TEXTURE11 TEXTURE12 TEXTURE13 TEXTURE14 TEXTURE15 TEXTURE16 TEXTURE17 TEXTURE18 TEXTURE19 TEXTURE2 TEXTURE20 TEXTURE21 TEXTURE22 TEXTURE23 TEXTURE24 TEXTURE25 TEXTURE26 TEXTURE27 TEXTURE28 TEXTURE29 TEXTURE3 TEXTURE30 TEXTURE31 TEXTURE4 TEXTURE5 TEXTURE6 TEXTURE7 TEXTURE8 TEXTURE9 TEXTURE_2D TEXTURE_BINDING_2D TEXTURE_BINDING_CUBE_MAP TEXTURE_CUBE_MAP TEXTURE_CUBE_MAP_NEGATIVE_X TEXTURE_CUBE_MAP_NEGATIVE_Y TEXTURE_CUBE_MAP_NEGATIVE_Z TEXTURE_CUBE_MAP_POSITIVE_X TEXTURE_CUBE_MAP_POSITIVE_Y TEXTURE_CUBE_MAP_POSITIVE_Z TEXTURE_MAG_FILTER TEXTURE_MIN_FILTER TEXTURE_WRAP_S TEXTURE_WRAP_T TRIANGLES TRIANGLE_FAN TRIANGLE_STRIP UNPACK_ALIGNMENT UNSIGNED_BYTE UNSIGNED_INT UNSIGNED_SHORT UNSIGNED_SHORT_4_4_4_4 UNSIGNED_SHORT_5_5_5_1 UNSIGNED_SHORT_5_6_5 VALIDATE_STATUS VENDOR VERSION VERTEX_ATTRIB_ARRAY_BUFFER_BINDING VERTEX_ATTRIB_ARRAY_ENABLED VERTEX_ATTRIB_ARRAY_NORMALIZED VERTEX_ATTRIB_ARRAY_POINTER VERTEX_ATTRIB_ARRAY_SIZE VERTEX_ATTRIB_ARRAY_STRIDE VERTEX_ATTRIB_ARRAY_TYPE VERTEX_SHADER VIEWPORT ZERO activeTexture attachShader bindAttribLocation bindBuffer bindFramebuffer bindTexture blendColor blendEquation blendEquationSeparate blendFunc blendFuncSeparate bufferData bufferSubData checkFramebufferStatus clear clearColor clearDepthf clearStencil colorMask compileShader compressedTexImage2D compressedTexSubImage2D copyTexImage2D copyTexSubImage2D createBuffer createFramebuffer createProgram createRenderbuffer createShader createTexture cullFace deleteBuffer deleteFramebuffer deleteProgram deleteRenderbuffer deleteShader deleteTexture depthFunc depthMask depthRangef detachShader disable disableVertexAttribArray drawArrays drawElements enable enableVertexAttribArray finish flush framebufferRenderbuffer framebufferTexture2D frontFace genBuffers generateMipmap genFramebuffers genRenderbuffers genTextures getActiveAttrib getActiveUniform getAttachedShaders getAttribLocation getBoolean getBooleanv getBufferParameteri getBufferParameteriv getError getFloat getFloatv getFramebufferAttachmentParameteri getFramebufferAttachmentParameteriv getInteger getIntegerv getProgramInfoLog getProgrami getProgramiv getRenderbufferParameteri getRenderbufferParameteriv getShaderi getShaderInfoLog getShaderiv getShaderPrecisionFormat getShaderSource getString getTexParameterf getTexParameterfv getTexParameteri getTexParameteriv getUniform getUniformLocation getVertexAttribf getVertexAttribfv getVertexAttribi getVertexAttribiv getVertexAttribPointerv hint isBuffer isEnabled isFramebuffer isProgram isRenderbuffer isShader isTexture lineWidth linkProgram pixelStorei polygonOffset readPixels releaseShaderCompiler renderbufferStorage sampleCoverage scissor shaderBinary shaderSource stencilFunc stencilFuncSeparate stencilMask stencilMaskSeparate stencilOp stencilOpSeparate texImage2D texParameterf texParameteri texSubImage2D uniform1f uniform1fv uniform1i uniform1iv uniform2f uniform2fv uniform2i uniform2iv uniform3f uniform3fv uniform3i uniform3iv uniform4f uniform4fv uniform4i uniform4iv uniformMatrix2fv uniformMatrix3fv uniformMatrix4fv useProgram validateProgram vertexAttrib1f vertexAttrib1fv vertexAttrib2f vertexAttrib2fv vertexAttrib3f vertexAttrib3fv vertexAttrib4f vertexAttrib4fv vertexAttribPointer viewport EXTENSIONS type version The `OpenGLES3RenderContext` allows access to OpenGL ES 3.0 features when OpenGL or OpenGL ES is the render context type of the `Window`, and the current context supports GLES3 features. Using an OpenGL ES context on a desktop platform enables support for cross-platform code that should run on both desktop and mobile platforms (when using hardware acceleration), though support for OpenGL ES 3.0 features are more limited than GLES2. Platforms supporting an OpenGL ES 3.0 context are compatible with the Lime `WebGLRenderContext` as well as the `WebGL2RenderContext` if you would prefer to write WebGL-style code, or support web browsers with the same code. Be aware that not all browsers support WebGL 2, so only plain WebGL might be available. You can convert from `lime.graphics.RenderContext`, `lime.graphics.OpenGLRenderContext`, `lime.graphics.opengl.GL`, and can convert to `lime.graphics.OpenGLES2RenderContext`, `lime.graphics.WebGL2RenderContext` or `lime.graphics.WebGLRenderContext` directly if desired: ```haxe var gles3:OpenGLES3RenderContext = window.context; var gles3:OpenGLES3RenderContext = gl; var gles3:OpenGLES3RenderContext = GL; var gles2:OpenGLES2RenderContext = gles3; var webgl2:WebGL2RenderContext = gles3; var webgl:WebGLRenderContext = gles3; ``` <__extensions static="1"> { buffers : null } { framebuffers : null } { queries : null } { renderbuffers : null } { samplers : null } { textures : null } { transformFeedbacks : null } <__extensions static="1"> { buffers : null } { framebuffers : null } { queries : null } { renderbuffers : null } { samplers : null } { textures : null } { transformFeedbacks : null } The `OpenGLRenderContext` allows access to OpenGL features when OpenGL is the render context type of the `Window`. Historically, Lime was designed for WebGL render support on all platforms, and support has expanded to provide additional OpenGL ES native APIs. Support for desktop OpenGL-specific features is currently sparse, but the `OpenGLRenderContext` provides the platform for us to add additional desktop specific features. The `OpenGLRenderContext` is not compatible with mobile or web targets, but it can be converted to an OpenGL ES or a WebGL-style context for cross-platform development. You can convert from `lime.graphics.RenderContext` or `lime.graphics.opengl.GL`, and can convert to `lime.graphics.OpenGLES3RenderContext`, `lime.graphics.OpenGLES2RenderContext`, `lime.graphics.WebGL2RenderContext`, or `lime.graphics.WebGLRenderContext` directly if desired: ```haxe var gl:OpenGLRenderContext = window.context; var gl:OpenGLRenderContext = GL; var gles3:OpenGLES3RenderContext = gl; var gles2:OpenGLES2RenderContext = gl; var webgl2:WebGL2RenderContext = gl; var webgl:WebGLRenderContext = gl; ``` lime.graphics.RenderContext lime.graphics.RenderContext lime.graphics.RenderContext An enum containing different pixel encoding formats for image data cast 0 An image encoded in 32-bit RGBA color order cast 1 An image encoded in 32-bit ARGB color order cast 2 An image encoded in 32-bit BGRA color order cast 0 An image encoded in 32-bit RGBA color order cast 1 An image encoded in 32-bit ARGB color order cast 2 An image encoded in 32-bit BGRA color order Additional information about the current context Access to the current Cairo render context, if available Access to the current HTML5 canvas render context, if available Access to the current HTML5 DOM render context, if available Access to the current Flash render context, if available Access to the current OpenGL render API, if available Access to the current OpenGL ES 2.0 render API, if available Access to the current OpenGL ES 3.0 render API, if available The type of the current `RenderContext` Access to the current WebGL render API, if available Access to the current WebGL 2 render API, if available The `RenderContext` provides access to rendering for a Lime `Window`. Only one render context type is used at once, but when `OPENGL` or `OPENGLES` is the context type, compatibility contexts for other forms of GL (such as WebGL) may be available also. Whether vertical-sync (VSync) is enabled The type of render context requested Whether a stencil buffer is enabled Whether hardware acceleration is allowed Whether a depth buffer is enabled The color depth of the rendering context in bits An optional `background` property to be provided to rendering, a value of `null` means no background color. Whether to enable anti-aliasing, `0` is disabled, `2` enables 2x2 anti-aliasing or `4` enables 4x4 anti-aliasing. Additional options possible for a render context An enum for possible render context types cast "cairo" Describes a Cairo render context cast "canvas" Describes an HTML5 canvas render context cast "dom" Describes an HTML5 DOM render context cast "flash" Describes a Flash render context cast "opengl" Describes an OpenGL render context cast "opengles" Describes an OpenGL ES render context cast "webgl" Describes a WebGL render context cast "custom" Describes a custom render context cast "cairo" Describes a Cairo render context cast "canvas" Describes an HTML5 canvas render context cast "dom" Describes an HTML5 DOM render context cast "flash" Describes a Flash render context cast "opengl" Describes an OpenGL render context cast "opengles" Describes an OpenGL ES render context cast "webgl" Describes a WebGL render context cast "custom" Describes a custom render context The `WebGL2RenderContext` allows access to WebGL 2 features when OpenGL, OpenGL ES or WebGL is the render context type of the `Window`, and the current context supports WebGL 2 features. Using a WebGL context on a desktop platform enables support for cross-platform code that should run on all platforms (when using hardware acceleration), though support for WebGL 2 features are more limited than WebGL, and require an OpenGL ES 3.0 compatible desktop or mobile context. You can convert from `lime.graphics.RenderContext`, `lime.graphics.OpenGLRenderContext`, `lime.graphics.OpenGLES3RenderContext` or `lime.graphics.opengl.GL`, and can convert to `lime.graphics.WebGLRenderContext` directly if desired: ```haxe var webgl2:WebGL2RenderContext = window.context; var webgl2:WebGL2RenderContext = gl; var webgl2:WebGL2RenderContext = gles3; var webgl2:WebGL2RenderContext = GL; var webgl:WebGLRenderContext = webgl2; ``` lime.graphics.RenderContext <__tempPointer expr="new BytePointer()" line="312" static="1"> new BytePointer() { length : 0, srcOffset : 0 } { srcOffset : 0 } { srcOffset : 0 } { srcOffset : 0 } { srcOffset : 0 } { srcOffset : 0 } { srcOffset : 0 } { srcOffset : 0 } { dstOffset : 0 } { srcOffset : 0 } { srcOffset : 0 } { srcOffset : 0 } { srcOffset : 0 } { srcOffset : 0 } { srcOffset : 0 } { srcOffset : 0 } { srcOffset : 0 } { srcOffset : 0 } { srcOffset : 0 } { srcOffset : 0 } { srcOffset : 0 } { srcOffset : 0 } lime.graphics.RenderContext hide <__tempPointer expr="new BytePointer()" line="312" static="1"> new BytePointer() { length : 0, srcOffset : 0 } { srcOffset : 0 } { srcOffset : 0 } { srcOffset : 0 } { srcOffset : 0 } { srcOffset : 0 } { srcOffset : 0 } { srcOffset : 0 } { dstOffset : 0 } { srcOffset : 0 } { srcOffset : 0 } { srcOffset : 0 } { srcOffset : 0 } { srcOffset : 0 } { srcOffset : 0 } { srcOffset : 0 } { srcOffset : 0 } { srcOffset : 0 } { srcOffset : 0 } { srcOffset : 0 } { srcOffset : 0 } { srcOffset : 0 } lime.graphics.RenderContext The `WebGLRenderContext` allows access to WebGL features when OpenGL, OpenGL ES or WebGL is the render context type of the `Window`. Using a WebGL context on a desktop or mobile platform enables support for cross-platform code that should run all platforms (when hardware acceleration is supported). You can convert from `lime.graphics.RenderContext`, `lime.graphics.OpenGLRenderContext`, `lime.graphics.OpenGLES3RenderContext`, `lime.graphics.OpenGLES2RenderContext`, `lime.graphics.WebGL2RenderContext` or `lime.graphics.opengl.GL` directly if desired: ```haxe var webgl:WebGLRenderContext = window.context; var webgl:WebGLRenderContext = gl; var webgl:WebGLRenderContext = gles3; var webgl:WebGLRenderContext = gles2; var webgl:WebGLRenderContext = webgl2; var webgl:WebGLRenderContext = GL; ``` DEPTH_BUFFER_BIT STENCIL_BUFFER_BIT COLOR_BUFFER_BIT POINTS LINES LINE_LOOP LINE_STRIP TRIANGLES TRIANGLE_STRIP TRIANGLE_FAN ZERO ONE SRC_COLOR ONE_MINUS_SRC_COLOR SRC_ALPHA ONE_MINUS_SRC_ALPHA DST_ALPHA ONE_MINUS_DST_ALPHA DST_COLOR ONE_MINUS_DST_COLOR SRC_ALPHA_SATURATE FUNC_ADD BLEND_EQUATION BLEND_EQUATION_RGB BLEND_EQUATION_ALPHA FUNC_SUBTRACT FUNC_REVERSE_SUBTRACT BLEND_DST_RGB BLEND_SRC_RGB BLEND_DST_ALPHA BLEND_SRC_ALPHA CONSTANT_COLOR ONE_MINUS_CONSTANT_COLOR CONSTANT_ALPHA ONE_MINUS_CONSTANT_ALPHA BLEND_COLOR ARRAY_BUFFER ELEMENT_ARRAY_BUFFER ARRAY_BUFFER_BINDING ELEMENT_ARRAY_BUFFER_BINDING STREAM_DRAW STATIC_DRAW DYNAMIC_DRAW BUFFER_SIZE BUFFER_USAGE CURRENT_VERTEX_ATTRIB FRONT BACK FRONT_AND_BACK CULL_FACE BLEND DITHER STENCIL_TEST DEPTH_TEST SCISSOR_TEST POLYGON_OFFSET_FILL SAMPLE_ALPHA_TO_COVERAGE SAMPLE_COVERAGE NO_ERROR INVALID_ENUM INVALID_VALUE INVALID_OPERATION OUT_OF_MEMORY CW CCW LINE_WIDTH ALIASED_POINT_SIZE_RANGE ALIASED_LINE_WIDTH_RANGE CULL_FACE_MODE FRONT_FACE DEPTH_RANGE DEPTH_WRITEMASK DEPTH_CLEAR_VALUE DEPTH_FUNC STENCIL_CLEAR_VALUE STENCIL_FUNC STENCIL_FAIL STENCIL_PASS_DEPTH_FAIL STENCIL_PASS_DEPTH_PASS STENCIL_REF STENCIL_VALUE_MASK STENCIL_WRITEMASK STENCIL_BACK_FUNC STENCIL_BACK_FAIL STENCIL_BACK_PASS_DEPTH_FAIL STENCIL_BACK_PASS_DEPTH_PASS STENCIL_BACK_REF STENCIL_BACK_VALUE_MASK STENCIL_BACK_WRITEMASK VIEWPORT SCISSOR_BOX COLOR_CLEAR_VALUE COLOR_WRITEMASK UNPACK_ALIGNMENT PACK_ALIGNMENT MAX_TEXTURE_SIZE MAX_VIEWPORT_DIMS SUBPIXEL_BITS RED_BITS GREEN_BITS BLUE_BITS ALPHA_BITS DEPTH_BITS STENCIL_BITS POLYGON_OFFSET_UNITS POLYGON_OFFSET_FACTOR TEXTURE_BINDING_2D SAMPLE_BUFFERS SAMPLES SAMPLE_COVERAGE_VALUE SAMPLE_COVERAGE_INVERT COMPRESSED_TEXTURE_FORMATS DONT_CARE FASTEST NICEST GENERATE_MIPMAP_HINT BYTE UNSIGNED_BYTE SHORT UNSIGNED_SHORT INT UNSIGNED_INT FLOAT DEPTH_COMPONENT ALPHA RGB RGBA LUMINANCE LUMINANCE_ALPHA UNSIGNED_SHORT_4_4_4_4 UNSIGNED_SHORT_5_5_5_1 UNSIGNED_SHORT_5_6_5 FRAGMENT_SHADER VERTEX_SHADER MAX_VERTEX_ATTRIBS MAX_VERTEX_UNIFORM_VECTORS MAX_VARYING_VECTORS MAX_COMBINED_TEXTURE_IMAGE_UNITS MAX_VERTEX_TEXTURE_IMAGE_UNITS MAX_TEXTURE_IMAGE_UNITS MAX_FRAGMENT_UNIFORM_VECTORS SHADER_TYPE DELETE_STATUS LINK_STATUS VALIDATE_STATUS ATTACHED_SHADERS ACTIVE_UNIFORMS ACTIVE_ATTRIBUTES SHADING_LANGUAGE_VERSION CURRENT_PROGRAM NEVER LESS EQUAL LEQUAL GREATER NOTEQUAL GEQUAL ALWAYS KEEP REPLACE INCR DECR INVERT INCR_WRAP DECR_WRAP VENDOR RENDERER VERSION NEAREST LINEAR NEAREST_MIPMAP_NEAREST LINEAR_MIPMAP_NEAREST NEAREST_MIPMAP_LINEAR LINEAR_MIPMAP_LINEAR TEXTURE_MAG_FILTER TEXTURE_MIN_FILTER TEXTURE_WRAP_S TEXTURE_WRAP_T TEXTURE_2D TEXTURE TEXTURE_CUBE_MAP TEXTURE_BINDING_CUBE_MAP TEXTURE_CUBE_MAP_POSITIVE_X TEXTURE_CUBE_MAP_NEGATIVE_X TEXTURE_CUBE_MAP_POSITIVE_Y TEXTURE_CUBE_MAP_NEGATIVE_Y TEXTURE_CUBE_MAP_POSITIVE_Z TEXTURE_CUBE_MAP_NEGATIVE_Z MAX_CUBE_MAP_TEXTURE_SIZE TEXTURE0 TEXTURE1 TEXTURE2 TEXTURE3 TEXTURE4 TEXTURE5 TEXTURE6 TEXTURE7 TEXTURE8 TEXTURE9 TEXTURE10 TEXTURE11 TEXTURE12 TEXTURE13 TEXTURE14 TEXTURE15 TEXTURE16 TEXTURE17 TEXTURE18 TEXTURE19 TEXTURE20 TEXTURE21 TEXTURE22 TEXTURE23 TEXTURE24 TEXTURE25 TEXTURE26 TEXTURE27 TEXTURE28 TEXTURE29 TEXTURE30 TEXTURE31 ACTIVE_TEXTURE REPEAT CLAMP_TO_EDGE MIRRORED_REPEAT FLOAT_VEC2 FLOAT_VEC3 FLOAT_VEC4 INT_VEC2 INT_VEC3 INT_VEC4 BOOL BOOL_VEC2 BOOL_VEC3 BOOL_VEC4 FLOAT_MAT2 FLOAT_MAT3 FLOAT_MAT4 SAMPLER_2D SAMPLER_CUBE VERTEX_ATTRIB_ARRAY_ENABLED VERTEX_ATTRIB_ARRAY_SIZE VERTEX_ATTRIB_ARRAY_STRIDE VERTEX_ATTRIB_ARRAY_TYPE VERTEX_ATTRIB_ARRAY_NORMALIZED VERTEX_ATTRIB_ARRAY_POINTER VERTEX_ATTRIB_ARRAY_BUFFER_BINDING COMPILE_STATUS LOW_FLOAT MEDIUM_FLOAT HIGH_FLOAT LOW_INT MEDIUM_INT HIGH_INT FRAMEBUFFER RENDERBUFFER RGBA4 RGB5_A1 RGB565 DEPTH_COMPONENT16 STENCIL_INDEX STENCIL_INDEX8 DEPTH_STENCIL RENDERBUFFER_WIDTH RENDERBUFFER_HEIGHT RENDERBUFFER_INTERNAL_FORMAT RENDERBUFFER_RED_SIZE RENDERBUFFER_GREEN_SIZE RENDERBUFFER_BLUE_SIZE RENDERBUFFER_ALPHA_SIZE RENDERBUFFER_DEPTH_SIZE RENDERBUFFER_STENCIL_SIZE FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE FRAMEBUFFER_ATTACHMENT_OBJECT_NAME FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE COLOR_ATTACHMENT0 DEPTH_ATTACHMENT STENCIL_ATTACHMENT DEPTH_STENCIL_ATTACHMENT NONE FRAMEBUFFER_COMPLETE FRAMEBUFFER_INCOMPLETE_ATTACHMENT FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT FRAMEBUFFER_INCOMPLETE_DIMENSIONS FRAMEBUFFER_UNSUPPORTED FRAMEBUFFER_BINDING RENDERBUFFER_BINDING MAX_RENDERBUFFER_SIZE INVALID_FRAMEBUFFER_OPERATION UNPACK_FLIP_Y_WEBGL UNPACK_PREMULTIPLY_ALPHA_WEBGL CONTEXT_LOST_WEBGL UNPACK_COLORSPACE_CONVERSION_WEBGL BROWSER_DEFAULT_WEBGL type version activeTexture attachShader bindAttribLocation bindBuffer bindFramebuffer bindRenderbuffer bindTexture blendColor blendEquation blendEquationSeparate blendFunc blendFuncSeparate checkFramebufferStatus clear clearColor clearDepth clearStencil colorMask compileShader copyTexImage2D copyTexSubImage2D createBuffer createFramebuffer createProgram createRenderbuffer createShader createTexture cullFace cullFace deleteBuffer deleteFramebuffer deleteProgram deleteRenderbuffer deleteShader deleteTexture depthFunc depthMask depthRange detachShader disable disableVertexAttribArray drawArrays drawElements enable enableVertexAttribArray finish flush framebufferRenderbuffer framebufferTexture2D frontFace generateMipmap getActiveAttrib getActiveUniform getAttachedShaders getAttribLocation getBufferParameter getContextAttributes getError getExtension getFramebufferAttachmentParameter getParameter getProgramInfoLog getProgramParameter getRenderbufferParameter getShaderInfoLog getShaderParameter getShaderPrecisionFormat getShaderSource getSupportedExtensions getTexParameter getUniform getUniformLocation getVertexAttrib getVertexAttribOffset hint isBuffer isContextLost isEnabled isFramebuffer isProgram isRenderbuffer isShader isTexture lineWidth linkProgram pixelStorei polygonOffset renderbufferStorage sampleCoverage scissor shaderSource stencilFunc stencilFuncSeparate stencilMask stencilMaskSeparate stencilOp stencilOpSeparate texParameterf texParameteri uniform1f uniform1fv uniform1i uniform1iv uniform2f uniform2fv uniform2i uniform2iv uniform3f uniform3fv uniform3i uniform3iv uniform4f uniform4fv uniform4i uniform4iv useProgram validateProgram vertexAttrib1f vertexAttrib1fv vertexAttrib2f vertexAttrib2fv vertexAttrib3f vertexAttrib3fv vertexAttrib4f vertexAttrib4fv vertexAttribPointer viewport { srcOffset : 0 } { srcOffset : 0 } { surface : null } "tags=\"haxe,release\"" lime._internal.backend.native.NativeCFFI cast 0 cast 1 cast 2 cast 3 cast 4 cast 5 cast 6 cast 0 cast 1 cast 2 cast 3 cast 4 cast 5 cast 6 cast 0x1000 cast 0x2000 cast 0x3000 cast 0x1000 cast 0x2000 cast 0x3000 cast 0 cast 1 cast 2 cast 3 cast 0 cast 1 cast 2 cast 3 lime._internal.backend.native.NativeCFFI <_new set="method" line="13" static="1"> lime._internal.backend.native.NativeCFFI <_new set="method" line="13" static="1"> lime._internal.backend.native.NativeCFFI cast 0 cast 1 cast 0 cast 1 cast 0 cast 1 cast 2 cast 3 cast 4 cast 5 cast 0 cast 1 cast 2 cast 3 cast 4 cast 5 lime._internal.backend.native.NativeCFFI <_new set="method" line="10" static="1"> lime._internal.backend.native.NativeCFFI <_new set="method" line="10" static="1"> lime._internal.backend.native.NativeCFFI lime._internal.backend.native.NativeCFFI <_new public="1" set="method" line="16" static="1"> lime._internal.backend.native.NativeCFFI <_new public="1" set="method" line="16" static="1"> lime._internal.backend.native.NativeCFFI cast -1 cast 0 cast 1 cast 2 cast 3 cast 4 cast 5 cast -1 cast 0 cast 1 cast 2 cast 3 cast 4 cast 5 { y : 0, x : 0 } "tags=\"haxe,release\"" cast 0 cast 1 cast 2 cast 0 cast 1 cast 2 cast 0 cast 1 cast 2 cast 3 cast 4 cast 0 cast 1 cast 2 cast 3 cast 4 lime._internal.backend.native.NativeCFFI <_new public="1" set="method" line="17" static="1"> lime._internal.backend.native.NativeCFFI <_new public="1" set="method" line="17" static="1"> lime._internal.backend.native.NativeCFFI cast 0 cast 1 cast 2 cast 0 cast 1 cast 2 cast 0 cast 1 cast 2 cast 0 cast 1 cast 2 cast 0 cast 1 cast 2 cast 3 cast 4 cast 5 cast 6 cast 7 cast 8 cast 9 cast 10 cast 11 cast 12 cast 13 cast 14 cast 15 cast 16 cast 17 cast 18 cast 19 cast 20 cast 21 cast 22 cast 23 cast 24 cast 25 cast 26 cast 27 cast 28 cast 0 cast 1 cast 2 cast 3 cast 4 cast 5 cast 6 cast 7 cast 8 cast 9 cast 10 cast 11 cast 12 cast 13 cast 14 cast 15 cast 16 cast 17 cast 18 cast 19 cast 20 cast 21 cast 22 cast 23 cast 24 cast 25 cast 26 cast 27 cast 28 lime._internal.backend.native.NativeCFFI <_new public="1" set="method" line="16" static="1"> lime._internal.backend.native.NativeCFFI <_new public="1" set="method" line="16" static="1"> lime._internal.backend.native.NativeCFFI cast 0 cast 1 cast 2 cast 3 cast 4 cast 5 cast 6 cast 7 cast 8 cast 9 cast 10 cast 11 cast 12 cast 13 cast 14 cast 15 cast 16 cast 17 cast 18 cast 19 cast 20 cast 21 cast 22 cast 23 cast 24 cast 25 cast 26 cast 27 cast 28 cast 29 cast 30 cast 31 cast 32 cast 33 cast 34 cast 35 cast 36 cast 37 cast 38 cast 0 cast 1 cast 2 cast 3 cast 4 cast 5 cast 6 cast 7 cast 8 cast 9 cast 10 cast 11 cast 12 cast 13 cast 14 cast 15 cast 16 cast 17 cast 18 cast 19 cast 20 cast 21 cast 22 cast 23 cast 24 cast 25 cast 26 cast 27 cast 28 cast 29 cast 30 cast 31 cast 32 cast 33 cast 34 cast 35 cast 36 cast 37 cast 38 cast 0 cast 1 cast 2 cast 3 cast 4 cast 0 cast 1 cast 2 cast 3 cast 4 lime._internal.backend.native.NativeCFFI lime._internal.backend.native.NativeCFFI lime._internal.backend.native.NativeCFFI 0x00000100 0x00000400 0x00004000 0x0000 0x0001 0x0002 0x0003 0x0004 0x0005 0x0006 0 1 0x0300 0x0301 0x0302 0x0303 0x0304 0x0305 0x0306 0x0307 0x0308 0x8006 0x8009 0x8009 0x883D 0x800A 0x800B 0x80C8 0x80C9 0x80CA 0x80CB 0x8001 0x8002 0x8003 0x8004 0x8005 0x8892 0x8893 0x8894 0x8895 0x88E0 0x88E4 0x88E8 0x8764 0x8765 0x8626 0x0404 0x0405 0x0408 0x0B44 0x0BE2 0x0BD0 0x0B90 0x0B71 0x0C11 0x8037 0x809E 0x80A0 0 0x0500 0x0501 0x0502 0x0505 0x0900 0x0901 0x0B21 0x846D 0x846E 0x0B45 0x0B46 0x0B70 0x0B72 0x0B73 0x0B74 0x0B91 0x0B92 0x0B94 0x0B95 0x0B96 0x0B97 0x0B93 0x0B98 0x8800 0x8801 0x8802 0x8803 0x8CA3 0x8CA4 0x8CA5 0x0BA2 0x0C10 0x0C22 0x0C23 0x0CF5 0x0D05 0x0D33 0x0D3A 0x0D50 0x0D52 0x0D53 0x0D54 0x0D55 0x0D56 0x0D57 0x2A00 0x8038 0x8069 0x80A8 0x80A9 0x80AA 0x80AB 0x86A2 0x86A3 0x1100 0x1101 0x1102 0x8192 0x1400 0x1401 0x1402 0x1403 0x1404 0x1405 0x1406 0x1902 0x1906 0x1907 0x1908 0x1909 0x190A 0x8033 0x8034 0x8363 0x8B30 0x8B31 0x8869 0x8DFB 0x8DFC 0x8B4D 0x8B4C 0x8872 0x8DFD 0x8B4F 0x8B80 0x8B82 0x8B83 0x8B85 0x8B86 0x8B89 0x8B8C 0x8B8D 0x0200 0x0201 0x0202 0x0203 0x0204 0x0205 0x0206 0x0207 0x1E00 0x1E01 0x1E02 0x1E03 0x150A 0x8507 0x8508 0x1F00 0x1F01 0x1F02 0x1F03 0x2600 0x2601 0x2700 0x2701 0x2702 0x2703 0x2800 0x2801 0x2802 0x2803 0x0DE1 0x1702 0x8513 0x8514 0x8515 0x8516 0x8517 0x8518 0x8519 0x851A 0x851C 0x84C0 0x84C1 0x84C2 0x84C3 0x84C4 0x84C5 0x84C6 0x84C7 0x84C8 0x84C9 0x84CA 0x84CB 0x84CC 0x84CD 0x84CE 0x84CF 0x84D0 0x84D1 0x84D2 0x84D3 0x84D4 0x84D5 0x84D6 0x84D7 0x84D8 0x84D9 0x84DA 0x84DB 0x84DC 0x84DD 0x84DE 0x84DF 0x84E0 0x2901 0x812F 0x8370 0x8B50 0x8B51 0x8B52 0x8B53 0x8B54 0x8B55 0x8B56 0x8B57 0x8B58 0x8B59 0x8B5A 0x8B5B 0x8B5C 0x8B5E 0x8B60 0x8622 0x8623 0x8624 0x8625 0x886A 0x8645 0x889F 0x8B9A 0x8B9B 0x8642 0x8861 0x8B81 0x8DF0 0x8DF1 0x8DF2 0x8DF3 0x8DF4 0x8DF5 0x8D40 0x8D41 0x8056 0x8057 0x8D62 0x81A5 0x1901 0x8D48 0x84F9 0x8D42 0x8D43 0x8D44 0x8D50 0x8D51 0x8D52 0x8D53 0x8D54 0x8D55 0x8CD0 0x8CD1 0x8CD2 0x8CD3 0x8CE0 0x8D00 0x8D20 0x821A 0 0x8CD5 0x8CD6 0x8CD7 0x8CD9 0x8CDD 0x8CA6 0x8CA7 0x84E8 0x0506 0x9240 0x9241 0x9242 0x9243 0x9244 0x0C02 0x0CF2 0x0CF3 0x0CF4 0x0D02 0x0D03 0x0D04 0x806A 0x806D 0x806E 0x8073 0x80E8 0x80E9 0x84FD 0x8B49 0x8B4A 0x88FF 0x8904 0x8905 0x8B4B 0x8B8B 0x8C89 0x85B5 0x9122 0x9125 0x9111 0x8D6B 0x1903 0x8051 0x8058 0x8059 0x806F 0x8072 0x813A 0x813B 0x813C 0x813D 0x884C 0x884D 0x8C40 0x8C41 0x8C43 0x884E 0x8814 0x8815 0x881A 0x881B 0x8C1A 0x8C1D 0x8C3A 0x8C3D 0x8D70 0x8D71 0x8D76 0x8D77 0x8D7C 0x8D7D 0x8D82 0x8D83 0x8D88 0x8D89 0x8D8E 0x8D8F 0x8D94 0x8D98 0x8D99 0x8229 0x822B 0x822D 0x822E 0x822F 0x8230 0x8231 0x8232 0x8233 0x8234 0x8235 0x8236 0x8237 0x8238 0x8239 0x823A 0x823B 0x823C 0x8F94 0x8F95 0x8F96 0x8F97 0x906F 0x912F 0x82DF 0x8368 0x8C3B 0x8C3E 0x8DAD 0x84FA 0x140B 0x8227 0x8228 0x8D9F 0x8865 0x8866 0x8867 0x8C2F 0x8D6A 0x8824 0x8825 0x8826 0x8827 0x8828 0x8829 0x882A 0x882B 0x882C 0x882D 0x882E 0x882F 0x8830 0x8831 0x8832 0x8833 0x8834 0x8CDF 0x8CE1 0x8CE2 0x8CE3 0x8CE4 0x8CE5 0x8CE6 0x8CE7 0x8CE8 0x8CE9 0x8CEA 0x8CEB 0x8CEC 0x8CED 0x8CEE 0x8CEF 0x8B5F 0x8B62 0x8DC1 0x8DC4 0x8DC5 0x8DCA 0x8DCB 0x8DCC 0x8DCF 0x8DD2 0x8DD3 0x8DD4 0x8DD7 0x8D57 0x8919 0x88EB 0x88EC 0x88ED 0x88EF 0x8F36 0x8F37 0x8F36 0x8F37 0x8B65 0x8B66 0x8B67 0x8B68 0x8B69 0x8B6A 0x8DC6 0x8DC7 0x8DC8 0x8C17 0x8F9C 0x88FD 0x88FE 0x8C7F 0x8C80 0x8C83 0x8C84 0x8C85 0x8C88 0x8C8A 0x8C8B 0x8C8C 0x8C8D 0x8C8E 0x8C8F 0x8E22 0x8E23 0x8E24 0x8E25 0x8210 0x8211 0x8212 0x8213 0x8214 0x8215 0x8216 0x8217 0x8218 0x88F0 0x8CA6 0x8CA8 0x8CA9 0x8CAA 0x8CAB 0x8CD4 0x8D56 0x8A11 0x8A28 0x8A29 0x8A2A 0x8A2B 0x8A2D 0x8A2E 0x8A2F 0x8A30 0x8A31 0x8A33 0x8A34 0x8A36 0x8A37 0x8A38 0x8A3A 0x8A3B 0x8A3C 0x8A3D 0x8A3E 0x8A3F 0x8A40 0x8A42 0x8A43 0x8A44 0x8A46 0x9112 0x9113 0x9114 0x9115 0x9116 0x9117 0x9118 0x9119 0x911A 0x911B 0x911C 0x911D 0x00000001 0x1800 0x1801 0x1802 0x8007 0x8008 0x81A6 0x88E1 0x88E2 0x88E5 0x88E6 0x88E9 0x88EA 0x8CAC 0x8CAD 0xFFFFFFFF -1 0x9247 <__getObjectID get="inline" set="null" line="2596" static="1"> lime.ui.Window lime._internal.backend.native.NativeCFFI hide hide cast 0 cast 1 cast 2 cast 3 cast 4 cast 5 cast 6 cast 7 cast 8 cast 9 cast 10 cast 11 cast 0 cast 1 cast 2 cast 3 cast 4 cast 5 cast 6 cast 7 cast 8 cast 9 cast 10 cast 11 "tags=\"haxe,release\"" id "tags=\"haxe,release\"" id id refs id id id id "tags=\"haxe,release\"" lime._internal.backend.native.NativeCFFI lime._internal.backend.native.NativeCFFI lime._internal.backend.native.NativeCFFI id id id <_3DC_X_AMD public="1" expr="0x87F9"> 0x87F9 <_3DC_XY_AMD public="1" expr="0x87FA"> 0x87FA 0x8C92 0x8C93 0x87EE 0x8BC0 0x8BC1 0x8BC2 0x8BC3 0x8BC4 0x8BC5 0x8BC6 0x8740 0x8CA8 0x8CA9 0x8CA6 0x8CAA 0x8CAB 0x8D56 0x8D57 0x88FE 0x93A4 0x83F2 0x83F3 0x93A2 0x93A3 0x93A0 0x8CAB 0x8D56 0x8D57 0x8CA8 0x8CA9 0x8CA6 0x8CAA 0x8A1F 0x85BA 0x85BB 0x8A53 0x9111 0x9112 0x9113 0x9114 0x9115 0x9116 0x9117 0x9118 0x9119 0x911A 0x911B 0x911C 0x911D 0x00000001 0xFFFFFFFF 0x80E1 0x813D 0x8F61 0x8F60 0x9250 0x80E0 0x80E1 0x8007 0x8008 0x881A 0x881B 0x822F 0x822D 0x8211 0x8C17 0x8A4F 0x8B40 0x8B48 0x9151 0x9153 0x9154 0x1800 0x1801 0x1802 0x0001 0x0002 0x0004 0x0008 0x0010 0x0020 0x8D6C 0x8CAB 0x8D56 0x8D57 0x90F0 0x90F1 0x0C01 0x0C02 0x90F2 0x8C2F 0x8D6A 0x8865 0x8866 0x8867 0x84F9 0x84FA 0x88F0 0x88F1 0x80E1 0x8365 0x8366 0x8253 0x8254 0x8255 0x90F3 0x8256 0x8252 0x8261 0x8C40 0x8C42 0x8C43 0x8210 0x00000001 0x00000002 0xFFFFFFFF 0x8258 0x8259 0x825A 0x8A52 0x884C 0x884D 0x884E 0x8B62 0x83F0 0x83F1 0x83F0 0x83F1 0x83F2 0x83F3 0x84FE 0x84FF 0x80E1 0x1903 0x8227 0x8229 0x822B 0x912F 0x803C 0x8040 0x8045 0x8814 0x8815 0x8816 0x8818 0x8819 0x881A 0x881B 0x881C 0x881E 0x881F 0x8059 0x8052 0x93A1 0x8229 0x822B 0x822E 0x8230 0x822D 0x822F 0x8368 0x0CF2 0x0CF3 0x0CF4 0x9260 0x9133 0x9134 0x9135 0x9136 0x9130 0x80E1 0x8365 0x8C0A 0x8C00 0x8C01 0x8C02 0x8C03 0x8242 0x8243 0x8244 0x8245 0x8246 0x8247 0x8248 0x8249 0x824A 0x824B 0x824C 0x824D 0x824E 0x824F 0x8250 0x8251 0x8268 0x8269 0x826A 0x826B 0x826C 0x826D 0x82E0 0x82E1 0x82E2 0x82E3 0x82E6 0x82E8 0x9143 0x9144 0x9145 0x9146 0x9147 0x9148 0x92E0 0x00000002 0x0503 0x0504 0x93B0 0x93B1 0x93B2 0x93B3 0x93B4 0x93B5 0x93B6 0x93B7 0x93B8 0x93B9 0x93BA 0x93BB 0x93BC 0x93BD 0x93D0 0x93D1 0x93D2 0x93D3 0x93D4 0x93D5 0x93D6 0x93D7 0x93D8 0x93D9 0x93DA 0x93DB 0x93DC 0x93DD 0x9047 0x9048 0x9049 0x904A 0x904B 0x8ED0 0x8ED1 0x8ED2 0x8ED3 0x8ED4 0x8ED5 0x8ED6 0x8ED7 0x8000 0x8E2C 0x8824 0x8825 0x8826 0x8827 0x8828 0x8829 0x882A 0x882B 0x882C 0x882D 0x882E 0x882F 0x8830 0x8831 0x8832 0x8833 0x8834 0x8CE0 0x8CE1 0x8CE2 0x8CE3 0x8CE4 0x8CE5 0x8CE6 0x8CE7 0x8CE8 0x8CE9 0x8CEA 0x8CEB 0x8CEC 0x8CED 0x8CEE 0x8CEF 0x8CDF 0x8CE0 0x8CE1 0x8CE2 0x8CE3 0x8CE4 0x8CE5 0x8CE6 0x8CE7 0x8CE8 0x8CE9 0x8CEA 0x8CEB 0x8CEC 0x8CED 0x8CEE 0x8CEF 0x84F2 0x84F3 0x84F4 0x0C02 0x8D65 0x8D66 0x8D67 0x8D68 0x8D64 0x8B90 0x8B91 0x8B92 0x8B93 0x8B94 0x8B95 0x8B96 0x8B97 0x8B98 0x8B99 0x81A6 0x81A7 0x1405 0x8741 0x87FE 0x87FF 0x88B9 0x88BB 0x88BC 0x88BD 0x84F9 0x84FA 0x88F0 0x803C 0x81A5 0x81A6 0x88F0 0x81A7 0x8043 0x8045 0x8040 0x8056 0x8057 0x8D62 0x8051 0x8058 0x8052 0x8059 0x8051 0x8058 0x8B8B 0x8D46 0x8D47 0x8219 0x8072 0x806F 0x806A 0x8073 0x8B5F 0x8CD4 0x8D61 0x85B5 0x8D61 0x8DF6 0x8DF7 0x0BC0 0x0BC1 0x0BC2 0x8FB0 0x8FB1 0x8FB2 0x8FB3 0x8BD2 0x8BD3 0x8BD4 0x8BD5 0x8BD6 0x8BD7 0x8BD8 0x8BD9 0x8BDA 0x8BDB 0x8BDC 0x8FA0 0x00000001 0x00000002 0x00000004 0x00000008 0x00000010 0x00000020 0x00000040 0x00000080 0x00000100 0x00000200 0x00000400 0x00000800 0x00001000 0x00002000 0x00004000 0x00008000 0x00010000 0x00020000 0x00040000 0x00080000 0x00100000 0x00200000 0x00400000 0x00800000 0x01000000 0x02000000 0x04000000 0x08000000 0x10000000 0x20000000 0x40000000 0x80000000 0x8823 0x8FC4 A utility for storing, accessing and converting colors in an ARGB (alpha, red, green, blue) color format. ```haxe var color:ARGB = 0xFF883300; trace (color.a); // 0xFF trace (color.r); // 0x88 trace (color.g); // 0x33 trace (color.b); // 0x00 var convert:BGRA = color; // 0x003388FF ``` Accesses the alpha component of the color Accesses the blue component of the color Accesses the green component of the color Accesses the red component of the color <_new public="1" get="inline" set="null" line="51" static="1"> { argb : 0 } Creates a new ARGB instance @param argb (Optional) An ARGB color value Creates a new ARGB instance from component values @param a An alpha component value @param r A red component value @param g A green component value @param b A blue component value @return A new ARGB instance Multiplies the red, green and blue components by the current alpha component { premultiplied : false, format : RGBA32 } Reads a value from a `UInt8Array` into the current `ARGB` color @param data A `UInt8Array` instance @param offset An offset into the `UInt8Array` to read @param format (Optional) The `PixelFormat` represented by the `UInt8Array` data @param premultiplied (Optional) Whether the data is stored in premultiplied alpha format Sets the current `ARGB` color to new component values @param a The alpha component value to set @param r The red component value to set @param g The green component value to set @param b The blue component vlaue to set Divides the current red, green and blue components by the alpha component { premultiplied : false, format : RGBA32 } Writes the current `ARGB` color into a `UInt8Array` @param data A `UInt8Array` instance @param offset An offset into the `UInt8Array` to write @param format (Optional) The `PixelFormat` represented by the `UInt8Array` data @param premultiplied (Optional) Whether the data is stored in premultiplied alpha format <__fromBGRA get="inline" set="null" line="175" static="1"> <__fromRGBA get="inline" set="null" line="180" static="1"> Accesses the alpha component of the color Accesses the blue component of the color Accesses the green component of the color Accesses the red component of the color <_new public="1" get="inline" set="null" line="51" static="1"> { argb : 0 } Creates a new ARGB instance @param argb (Optional) An ARGB color value Creates a new ARGB instance from component values @param a An alpha component value @param r A red component value @param g A green component value @param b A blue component value @return A new ARGB instance Multiplies the red, green and blue components by the current alpha component { premultiplied : false, format : RGBA32 } Reads a value from a `UInt8Array` into the current `ARGB` color @param data A `UInt8Array` instance @param offset An offset into the `UInt8Array` to read @param format (Optional) The `PixelFormat` represented by the `UInt8Array` data @param premultiplied (Optional) Whether the data is stored in premultiplied alpha format Sets the current `ARGB` color to new component values @param a The alpha component value to set @param r The red component value to set @param g The green component value to set @param b The blue component vlaue to set Divides the current red, green and blue components by the alpha component { premultiplied : false, format : RGBA32 } Writes the current `ARGB` color into a `UInt8Array` @param data A `UInt8Array` instance @param offset An offset into the `UInt8Array` to write @param format (Optional) The `PixelFormat` represented by the `UInt8Array` data @param premultiplied (Optional) Whether the data is stored in premultiplied alpha format <__fromBGRA get="inline" set="null" line="175" static="1"> <__fromRGBA get="inline" set="null" line="180" static="1"> A utility for storing, accessing and converting colors in a BGRA (blue, green, red, alpha) color format. ```haxe var color:BGRA = 0x003388FF; trace (color.b); // 0x00 trace (color.g); // 0x33 trace (color.r); // 0x88 trace (color.a); // 0xFF var convert:ARGB = color; // 0xFF883300 ``` Accesses the alpha component of the color Accesses the blue component of the color Accesses the green component of the color Accesses the red component of the color <_new public="1" get="inline" set="null" line="51" static="1"> { bgra : 0 } Creates a new BGRA instance @param bgra (Optional) A BGRA color value Creates a new BGRA instance from component values @param b A blue component value @param g A green component value @param r A red component value @param a An alpha component value @return A new BGRA instance Multiplies the red, green and blue components by the current alpha component { premultiplied : false, format : RGBA32 } Reads a value from a `UInt8Array` into the current `BGRA` color @param data A `UInt8Array` instance @param offset An offset into the `UInt8Array` to read @param format (Optional) The `PixelFormat` represented by the `UInt8Array` data @param premultiplied (Optional) Whether the data is stored in premultiplied alpha format Sets the current `BGRA` color to new component values @param b The blue component vlaue to set @param g The green component value to set @param r The red component value to set @param a The alpha component value to set Divides the current red, green and blue components by the alpha component { premultiplied : false, format : RGBA32 } Writes the current `BGRA` color into a `UInt8Array` @param data A `UInt8Array` instance @param offset An offset into the `UInt8Array` to write @param format (Optional) The `PixelFormat` represented by the `UInt8Array` data @param premultiplied (Optional) Whether the data is stored in premultiplied alpha format <__fromARGB get="inline" set="null" line="175" static="1"> <__fromRGBA get="inline" set="null" line="180" static="1"> Accesses the alpha component of the color Accesses the blue component of the color Accesses the green component of the color Accesses the red component of the color <_new public="1" get="inline" set="null" line="51" static="1"> { bgra : 0 } Creates a new BGRA instance @param bgra (Optional) A BGRA color value Creates a new BGRA instance from component values @param b A blue component value @param g A green component value @param r A red component value @param a An alpha component value @return A new BGRA instance Multiplies the red, green and blue components by the current alpha component { premultiplied : false, format : RGBA32 } Reads a value from a `UInt8Array` into the current `BGRA` color @param data A `UInt8Array` instance @param offset An offset into the `UInt8Array` to read @param format (Optional) The `PixelFormat` represented by the `UInt8Array` data @param premultiplied (Optional) Whether the data is stored in premultiplied alpha format Sets the current `BGRA` color to new component values @param b The blue component vlaue to set @param g The green component value to set @param r The red component value to set @param a The alpha component value to set Divides the current red, green and blue components by the alpha component { premultiplied : false, format : RGBA32 } Writes the current `BGRA` color into a `UInt8Array` @param data A `UInt8Array` instance @param offset An offset into the `UInt8Array` to write @param format (Optional) The `PixelFormat` represented by the `UInt8Array` data @param premultiplied (Optional) Whether the data is stored in premultiplied alpha format <__fromARGB get="inline" set="null" line="175" static="1"> <__fromRGBA get="inline" set="null" line="180" static="1"> `ColorMatrix` is a 4x5 matrix containing color multiplication and offset values for tinting and other kinds of color manipulation. In addition to using the multiplier, offset and `color` properties, it can be edited directly as a `Float32Array` <__alphaTable static="1"> <__blueTable static="1"> <__greenTable static="1"> <__identity expr="[1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0]" line="20" static="1"> [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0] <__redTable static="1"> The current alpha multiplication value (default is 1.0) The current alpha offset value (default is 0) The current blue multiplication value (default is 1.0) The current blue offset value (default is 0) Gets or sets a color offset for tinting. This will change the red, green and blue multipliers to zero, and affect the red, green and blue offset values. The current green multiplication value (default is 1.0) The current green offset value (default is 0) The current red multiplication value (default is 1.0) The current red offset value (default is 0) <_new public="1" set="method" line="78" static="1"> { data : null } Creates a new `ColorMatrix` instance @param data (Optional) Initial `Float32Array` data to use Creates a duplicate of the current `ColorMatrix` instance @return A new `ColorMatrix` instance Adds the color multipliers from a second `ColorMatrix` to the current one @param second The `ColorMatrix` to `concat` to the current one Sets the current `ColorMatrix` values to the same as another one @param other The `ColorMatrix` to copy from Resets to default values Returns a reference to a `UInt8Array` table for transforming alpha values using the current matrix. The table is 256 values in length, and includes values based on the `alphaMultipler` and `alphaOffset` values of the matrix. The values are constrained within 0 and 255. For example: ```haxe var colorMatrix = new ColorMatrix (); colorMatrix.alphaOffset = 12; var alphaTable = colorMatrix.getAlphaTable (); trace (alphaTable[0]); // 12 trace (alphaTable[1]); // 13 ``` Returns a reference to a `UInt8Array` table for transforming blue values using the current matrix. The table is 256 values in length, and includes values based on the `blueMultiplier` and `blueOffset` values of the matrix. The values are constrained within 0 and 255. For example: ```haxe var colorMatrix = new ColorMatrix (); colorMatrix.blueOffset = 16; var blueTable = colorMatrix.getBlueTable (); trace (blueTable[0]); // 16 trace (blueTable[1]); // 17 ``` Returns a reference to a `UInt8Array` table for transforming green values using the current matrix. The table is 256 values in length, and includes values based on the `greenMultiplier` and `greenOffset` values of the matrix. The values are constrained within 0 and 255. For example: ```haxe var colorMatrix = new ColorMatrix (); colorMatrix.greenOffset = 16; var greenTable = colorMatrix.getGreenTable (); trace (greenTable[0]); // 16 trace (greenTable[1]); // 17 ``` Returns a reference to a `UInt8Array` table for transforming red values using the current matrix. The table is 256 values in length, and includes values based on the `redMultiplier` and `redOffset` values of the matrix. The values are constrained within 0 and 255. For example: ```haxe var colorMatrix = new ColorMatrix (); colorMatrix.redOffset = 16; var redTable = colorMatrix.getRedTable (); trace (redTable[0]); // 16 trace (redTable[1]); // 17 ``` <__toFlashColorTransform set="method" line="309" static="1"> hide hide <__alphaTable static="1"> <__blueTable static="1"> <__greenTable static="1"> <__identity expr="[1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0]" line="20" static="1"> [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0] <__redTable static="1"> The current alpha multiplication value (default is 1.0) The current alpha offset value (default is 0) The current blue multiplication value (default is 1.0) The current blue offset value (default is 0) Gets or sets a color offset for tinting. This will change the red, green and blue multipliers to zero, and affect the red, green and blue offset values. The current green multiplication value (default is 1.0) The current green offset value (default is 0) The current red multiplication value (default is 1.0) The current red offset value (default is 0) <_new public="1" set="method" line="78" static="1"> { data : null } Creates a new `ColorMatrix` instance @param data (Optional) Initial `Float32Array` data to use Creates a duplicate of the current `ColorMatrix` instance @return A new `ColorMatrix` instance Adds the color multipliers from a second `ColorMatrix` to the current one @param second The `ColorMatrix` to `concat` to the current one Sets the current `ColorMatrix` values to the same as another one @param other The `ColorMatrix` to copy from Resets to default values Returns a reference to a `UInt8Array` table for transforming alpha values using the current matrix. The table is 256 values in length, and includes values based on the `alphaMultipler` and `alphaOffset` values of the matrix. The values are constrained within 0 and 255. For example: ```haxe var colorMatrix = new ColorMatrix (); colorMatrix.alphaOffset = 12; var alphaTable = colorMatrix.getAlphaTable (); trace (alphaTable[0]); // 12 trace (alphaTable[1]); // 13 ``` Returns a reference to a `UInt8Array` table for transforming blue values using the current matrix. The table is 256 values in length, and includes values based on the `blueMultiplier` and `blueOffset` values of the matrix. The values are constrained within 0 and 255. For example: ```haxe var colorMatrix = new ColorMatrix (); colorMatrix.blueOffset = 16; var blueTable = colorMatrix.getBlueTable (); trace (blueTable[0]); // 16 trace (blueTable[1]); // 17 ``` Returns a reference to a `UInt8Array` table for transforming green values using the current matrix. The table is 256 values in length, and includes values based on the `greenMultiplier` and `greenOffset` values of the matrix. The values are constrained within 0 and 255. For example: ```haxe var colorMatrix = new ColorMatrix (); colorMatrix.greenOffset = 16; var greenTable = colorMatrix.getGreenTable (); trace (greenTable[0]); // 16 trace (greenTable[1]); // 17 ``` Returns a reference to a `UInt8Array` table for transforming red values using the current matrix. The table is 256 values in length, and includes values based on the `redMultiplier` and `redOffset` values of the matrix. The values are constrained within 0 and 255. For example: ```haxe var colorMatrix = new ColorMatrix (); colorMatrix.redOffset = 16; var redTable = colorMatrix.getRedTable (); trace (redTable[0]); // 16 trace (redTable[1]); // 17 ``` <__toFlashColorTransform set="method" line="309" static="1"> hide hide `Matrix4` is a 4x4 matrix, useful for 3D calculations <__identity expr="[1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0]" line="11" static="1"> [1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0] Gets the determinant of the matrix Gets or sets the position value of this matrix <_new public="1" set="method" line="27" static="1"> { data : null } Creates a new matrix instance @param data (Optional) A `Float32Array` of 16 values to use for this matrix Appends a second matrix by multiplying its values against the current one @param lhs A second matrix instance { pivotPoint : null } Appends rotation to the current matrix @param degrees A rotation value (in degrees) @param axis The coordinate position of the rotation axis @param pivotPoint (Optional) A pivot point to use in the rotation Appends a scale value to the current matrix @param xScale The x scale to append @param yScale The y scale to append @param zScale The z scale to append Increases the position/translation of the current matrix @param x The x amount to offset the current position @param y The y amount to offset the current position @param z The z amount to offset the current position Creates a duplicate of the current `Matrix4` @return A new `Matrix4` with the same values as the current matrix Copies a column of data from a `Vector4` instance into the values of this matrix @param column The column to copy into (0, 1, 2 or 3) @param vector The `Vector4` copy from Copies a column of data from the current matrix into a `Vector4` instance @param column The column to copy (0, 1, 2 or 3) @param vector The `Vector4` copy to Copies the values of another `Matrix4` into the current matrix @param other A `Matrix4` instance to copy from Copies a row of data from a `Vector4` instance into the values of this matrix @param row The row to copy into (0, 1, 2 or 3) @param vector The `Vector4` copy from Copies a row of data from the current matrix into a `Vector4` instance @param column The row to copy (0, 1, 2 or 3) @param vector The `Vector4` copy to { ty : 0, tx : 0 } Resets the current matrix using two-dimensional transform values @param a A two-dimensional matrix a value @param b A two-dimensional matrix b value @param c A two-dimensional matrix c value @param d A two-dimensional matrix d value @param tx (Optional) A two-dimensional matrix tx value (default is 0) @param ty (Optional) A two-dimensional matrix ty value (default is 0) Initializes this matrix with values for an orthographic projection, useful in rendering @param left The left (or x0) coordinate for the projection @param right The right (or x1) coordinate for the projection @param bottom The bottom (or y0) coordinate for the projection @param top The top (or y1) coordinate for the projection @param zNear The near depth-clipping plane position @param zFar The far depth-clipping plane position { result : null } * Returns the transformation matrix's translation, rotation, and scale settings as a Vector of three Vector4 objects. Resets the current matrix using default identity values { result : null } Interpolates from one `Matrix4` instance to another, given a percentage between the two @param thisMat The first `Matrix4` object to start from @param toMat The second `Matrix4` object to interpolate toward @param percent The percentage value to interpolate by @param result (Optional) A `Matrix4` instance to use when returning the result @return A `Matrix4` with the resulting value Interpolates the current matrix toward another matrix, resetting the values of the current matrix @param toMat The second `Matrix4` object to interpolate toward @param percetn The percentage value to interpolate by Attempts to invert the current matrix, so long as the determinant is greater than zero @return Whether the `invert` operation was successful { up : null, at : null } Sets the matrix values as a transformation orientated toward a certain vector position @param pos A target vector position in absolute coordinates @param at (Optional) A vector relative to this matrix which defines the current direction @param up (Optional) A vector relative to this matrix which defines the "up" direction Prepends a right-hand matrix to the current matrix @param rhx A right-hand `Matrix4` to append { pivotPoint : null } Prepends rotation to this matrix @param degrees The rotation amount in degrees @param axis The rotation axis @param pivotPoint (Optional) A pivot point for the rotation Prepends scale to this matrix @param xScale An x scale value @param yScale A y scale value @param zScale A z scale value Prepends translation values to this matrix @param x An x translation value @param y A y translation value @param z A z translation value { result : null } Transforms a `Vector4` instance using the current matrix @param result (Optional) An existing `Vector2` instance to fill with the result @return The resulting `Vector4` instance Transforms a series of [x, y, z] value pairs at once @param ain An input `Float32Array` to transform @param aout An output `Float32Array` to write to Transposes the current matrix <__getAxisRotation set="method" line="919" static="1"> <__swap get="inline" set="null" line="949" static="1"> hide hide <__identity expr="[1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0]" line="11" static="1"> [1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0] Gets the determinant of the matrix Gets or sets the position value of this matrix <_new public="1" set="method" line="27" static="1"> { data : null } Creates a new matrix instance @param data (Optional) A `Float32Array` of 16 values to use for this matrix Appends a second matrix by multiplying its values against the current one @param lhs A second matrix instance { pivotPoint : null } Appends rotation to the current matrix @param degrees A rotation value (in degrees) @param axis The coordinate position of the rotation axis @param pivotPoint (Optional) A pivot point to use in the rotation Appends a scale value to the current matrix @param xScale The x scale to append @param yScale The y scale to append @param zScale The z scale to append Increases the position/translation of the current matrix @param x The x amount to offset the current position @param y The y amount to offset the current position @param z The z amount to offset the current position Creates a duplicate of the current `Matrix4` @return A new `Matrix4` with the same values as the current matrix Copies a column of data from a `Vector4` instance into the values of this matrix @param column The column to copy into (0, 1, 2 or 3) @param vector The `Vector4` copy from Copies a column of data from the current matrix into a `Vector4` instance @param column The column to copy (0, 1, 2 or 3) @param vector The `Vector4` copy to Copies the values of another `Matrix4` into the current matrix @param other A `Matrix4` instance to copy from Copies a row of data from a `Vector4` instance into the values of this matrix @param row The row to copy into (0, 1, 2 or 3) @param vector The `Vector4` copy from Copies a row of data from the current matrix into a `Vector4` instance @param column The row to copy (0, 1, 2 or 3) @param vector The `Vector4` copy to { ty : 0, tx : 0 } Resets the current matrix using two-dimensional transform values @param a A two-dimensional matrix a value @param b A two-dimensional matrix b value @param c A two-dimensional matrix c value @param d A two-dimensional matrix d value @param tx (Optional) A two-dimensional matrix tx value (default is 0) @param ty (Optional) A two-dimensional matrix ty value (default is 0) Initializes this matrix with values for an orthographic projection, useful in rendering @param left The left (or x0) coordinate for the projection @param right The right (or x1) coordinate for the projection @param bottom The bottom (or y0) coordinate for the projection @param top The top (or y1) coordinate for the projection @param zNear The near depth-clipping plane position @param zFar The far depth-clipping plane position { result : null } * Returns the transformation matrix's translation, rotation, and scale settings as a Vector of three Vector4 objects. Resets the current matrix using default identity values { result : null } Interpolates from one `Matrix4` instance to another, given a percentage between the two @param thisMat The first `Matrix4` object to start from @param toMat The second `Matrix4` object to interpolate toward @param percent The percentage value to interpolate by @param result (Optional) A `Matrix4` instance to use when returning the result @return A `Matrix4` with the resulting value Interpolates the current matrix toward another matrix, resetting the values of the current matrix @param toMat The second `Matrix4` object to interpolate toward @param percetn The percentage value to interpolate by Attempts to invert the current matrix, so long as the determinant is greater than zero @return Whether the `invert` operation was successful { up : null, at : null } Sets the matrix values as a transformation orientated toward a certain vector position @param pos A target vector position in absolute coordinates @param at (Optional) A vector relative to this matrix which defines the current direction @param up (Optional) A vector relative to this matrix which defines the "up" direction Prepends a right-hand matrix to the current matrix @param rhx A right-hand `Matrix4` to append { pivotPoint : null } Prepends rotation to this matrix @param degrees The rotation amount in degrees @param axis The rotation axis @param pivotPoint (Optional) A pivot point for the rotation Prepends scale to this matrix @param xScale An x scale value @param yScale A y scale value @param zScale A z scale value Prepends translation values to this matrix @param x An x translation value @param y A y translation value @param z A z translation value { result : null } Transforms a `Vector4` instance using the current matrix @param result (Optional) An existing `Vector2` instance to fill with the result @return The resulting `Vector4` instance Transforms a series of [x, y, z] value pairs at once @param ain An input `Float32Array` to transform @param aout An output `Float32Array` to write to Transposes the current matrix <__getAxisRotation set="method" line="919" static="1"> <__swap get="inline" set="null" line="949" static="1"> hide hide A utility for storing, accessing and converting colors in an RGBA (red, green, blue, alpha) color format. ```haxe var color:RGBA = 0x883300FF; trace (color.r); // 0x88 trace (color.g); // 0x33 trace (color.b); // 0x00 trace (color.a); // 0xFF var convert:ARGB = color; // 0xFF883300 ``` lime.math <__alpha16 static="1"> <__clamp static="1"> Accesses the alpha component of the color Accesses the blue component of the color Accesses the green component of the color Accesses the red component of the color <_new public="1" get="inline" set="null" line="104" static="1"> { rgba : 0 } Creates a new RGBA instance @param rgba (Optional) An RGBA color value Creates a new RGBA instance from component values @param r A red component value @param g A green component value @param b A blue component value @param a An alpha component value @return A new RGBA instance Multiplies the red, green and blue components by the current alpha component { premultiplied : false, format : RGBA32 } Reads a value from a `UInt8Array` into the current `RGBA` color @param data A `UInt8Array` instance @param offset An offset into the `UInt8Array` to read @param format (Optional) The `PixelFormat` represented by the `UInt8Array` data @param premultiplied (Optional) Whether the data is stored in premultiplied alpha format Sets the current `RGBA` color to new component values @param r The red component value to set @param g The green component value to set @param b The blue component vlaue to set @param a The alpha component value to set Divides the current red, green and blue components by the alpha component { premultiplied : false, format : RGBA32 } Writes the current `RGBA` color into a `UInt8Array` @param data A `UInt8Array` instance @param offset An offset into the `UInt8Array` to write @param format (Optional) The `PixelFormat` represented by the `UInt8Array` data @param premultiplied (Optional) Whether the data is stored in premultiplied alpha format <__fromARGB get="inline" set="null" line="231" static="1"> <__fromBGRA get="inline" set="null" line="236" static="1"> lime.math TypedArrayType.None 0 lime.utils { len : null, in_byteOffset : 0 } lime.utils lime.utils { offset : 0, array : null, view : null } { srcByteOffset : 0 } { offset : 0 } { elements : null } lime.utils "tags=\"haxe,release\"" hide <__alpha16 static="1"> <__clamp static="1"> Accesses the alpha component of the color Accesses the blue component of the color Accesses the green component of the color Accesses the red component of the color <_new public="1" get="inline" set="null" line="104" static="1"> { rgba : 0 } Creates a new RGBA instance @param rgba (Optional) An RGBA color value Creates a new RGBA instance from component values @param r A red component value @param g A green component value @param b A blue component value @param a An alpha component value @return A new RGBA instance Multiplies the red, green and blue components by the current alpha component { premultiplied : false, format : RGBA32 } Reads a value from a `UInt8Array` into the current `RGBA` color @param data A `UInt8Array` instance @param offset An offset into the `UInt8Array` to read @param format (Optional) The `PixelFormat` represented by the `UInt8Array` data @param premultiplied (Optional) Whether the data is stored in premultiplied alpha format Sets the current `RGBA` color to new component values @param r The red component value to set @param g The green component value to set @param b The blue component vlaue to set @param a The alpha component value to set Divides the current red, green and blue components by the alpha component { premultiplied : false, format : RGBA32 } Writes the current `RGBA` color into a `UInt8Array` @param data A `UInt8Array` instance @param offset An offset into the `UInt8Array` to write @param format (Optional) The `PixelFormat` represented by the `UInt8Array` data @param premultiplied (Optional) Whether the data is stored in premultiplied alpha format <__fromARGB get="inline" set="null" line="231" static="1"> <__fromBGRA get="inline" set="null" line="236" static="1"> lime.math Get or set the bottom (y + height) value of the `Rectangle` Get or set the bottom-right (x + width, y + height) as a `Vector2` Get or set the height of the rectangle Get or set the left (x) of the rectangle Get or set the right (x + width) of the rectangle Get or set the size (width, height) as a `Vector2` Get or set the top (y) of the rectangle Get or set the top-left (x, y) as a `Vector2` Get or set the width of the rectangle Get or set the x of the rectangle Get or set the y of the rectangle Creates a clone of this `Rectangle` @return A new `Rectangle` instance Returns whether this rectangle contains the specified (x, y) point @param x The x coordinate to test @param y The y coordinate to test @return Whether the point is contained in the rectangle hide "Use containsVector" Returns whether this rectangle contains another rectangle This will return `false` if the second rectangle only overlaps but is not fully contained within the current rectangle @param rect A second `Rectangle` instance to test @return Whether the `rect` is contained within the current `Rectangle` Returns whether this rectangle contains the specified vector @param vector The vector to test @return Whether the vector is contained in the rectangle Copies the x, y, width and height of another `Rectangle` @param sourceRect Another `Rectangle` instance Checks whether the current `Rectangle` and another instance have equal values @param toCompare Another `Rectangle` to compare with @return Whether both rectangles are not `null` and have equal values Increases the size of the current rectangle by the given delta x and y values @param dx A delta x value to increase the size by @param dy A delta y value to increase the size by Increases the size of the current rectangle by the given delta vector values @param vector A delta vector to increase the size by { result : null } Returns a new rectangle with the area where the current `Rectangle` and another `Rectangle` instance overlap. If they do not overlap, the returned `Rectangle` will be empty @param toIntersect Another `Rectangle` instance to intersect with @param result (Optional) A `Rectangle` instance to use for the result @return A `Rectangle` of the intersection area Returns if the current `Rectangle` overlaps with another instance @param toIntersect Another `Rectangle` to compare with @return Whether the rectangles intersect Moves the rectangle by offset x and values @param dx A delta x value @param dy A delta y value Moves the rectangle by the values of a `Vector2` @param dx A delta vector Makes this rectangle empty Sets the values of this rectangle at once @param xa A new x value @param ya A new y value @param widtha A new width value @param heighta A new height value { result : null } Combines two rectangles together, returning the minimum `Rectangle` that contains both rectangles @param toUnion A second `Rectangle` to unify @param result (Optional) A `Rectangle` instance for the result @return A `Rectangle` that contains the dimensions of both rectangles <__toFlashRectangle set="method" line="336"> { height : 0, width : 0, y : 0, x : 0 } Create a new `Rectangle` instance @param x (Optional) Initial x value (default is 0) @param y (Optional) Initial y value (default is 0) @param width (Optional) Initial width value (default is 0) @param height (Optional) Initial height value (default is 0) The `Rectangle` class provides a simple object for storing and manipulating a logical rectangle for calculations "tags=\"haxe,release\"" A constant representing the x axis (1, 0, 0) A constant representing the y axis (0, 1, 0) A constant representing the z axis (0, 0, 1) Calculates the angle between two `Vector4` coordinates @param a A `Vector4` instance @param b A second `Vector4` instance @return The calculated angle Calculates the distance between two vectors @param pt1 A `Vector4` instance @param pt2 A second `Vector4` instance @return The distance between each vector Calculates the squared distance between two vectors, (avoids the use of `Math.sqrt` for faster performance) @param pt1 A `Vector4` instance @param pt2 A second `Vector4` instance @return The square of the distance between each vector Get the length of this vector Get the squared length of this vector (avoiding the use of `Math.sqrt` for faster performance) The w component value The x component value The y component value The z component value { result : null } Adds two `Vector4` instances together and returns the result @param a A `Vector4` instance to add to the current one @param result (Optional) A `Vector4` instance to store the result @return A `Vector4` instance with the added value Creates a new `Vector4` instance with the same values as the current one @return A new `Vector4` instance with the same values Copies the x, y and z component values of another `Vector4` instance @param sourceVector4 A `Vector4` instance to copy from { result : null } Performs vector multiplication between this vector and another `Vector4` instance @param a A `Vector4` instance to multiply by @param result (Optional) A `Vector4` to use for the result @return A `Vector4` instance with the result Decrements the x, y and z component values by those in another `Vector4` instance @param a A `Vector4` instance to decrement the current vector by Calculates the dot product of the current vector with another `Vector4` instance @param a A `Vector4` instance to use in the dot product @return The calculated dot product value { allFour : false } Whether two `Vector4` instances have equal component values. Comparing the w component value is optional. @param toCompare A `Vector4` instance to compare against @param allFour (Optional) Whether to compare against the w component (default is false) @return Whether both instances have equal values Increments the x, y and z component values by those in a second `Vector4` instance @param a A `Vector4` instance to increment the current vector by { allFour : false } Whether two `Vector4` instances have nearly equal component values. Comparison is performed within a given tolerance value. @param toCompare A `Vector4` instance to compare against @param tolerance A floating point value determining how near the values must be to be considered near equal @param allFour (Optional) Whether to compare against the w component (default is false) @return Whether both instances have equal values, within the given tolerance Negates the x, y and z values of the current vector (multiplying each value by -1) Divides the x, y and z component values by the length of the vector Divides the x, y and z component values by the w component value Scales the x, y and z component values by a scale value @param s The amount of scale to apply Sets the x, y and z component values @param xa An x value @param ya A y value @param za A z value { result : null } Subtracts the values of a second `Vector4` instance from the current one @param a A second `Vector4` instance to substract @param result (Optional) A `Vector4` instance to store the result @return A `Vector4` instance containing the subtracted value hide { w : 0., z : 0., y : 0., x : 0. } Creates a new `Vector4` instance @param x (Optional) An initial x value (default is 0) @param y (Optional) An initial y value (default is 0) @param z (Optional) An initial z value (default is 0) @param w (Optional) An initial w value (default is 0) `Vector4` is a vector suitable for three-dimensional math, containing (x, y, z, w) components "tags=\"haxe,release\"" <__getCodec set="method" line="343" static="1"> <__srcAudio> <__srcBuffer> <__srcCustom> <__srcHowl> <__srcSound> <__srcVorbisFile> lime._internal.backend.native.NativeCFFI lime.utils.Assets "tags=\"haxe,release\"" { type : null } lime.media.FlashAudioContext lime.media.HTML5AudioContext lime.media.OpenALAudioContext lime.media.WebAudioContext cast "flash" cast "html5" cast "openal" cast "web" cast "custom" cast "flash" cast "html5" cast "openal" cast "web" cast "custom" { context : null } "tags=\"haxe,release\"" lime._internal.backend.native.NativeCFFI ()]]> <__backend> { loops : 0, length : null, offset : 0, buffer : null } "tags=\"haxe,release\"" { context : null, stream : null } { startPosition : -1 } { context : null } { sampleRate : 44100, stereo : true, format : null } { sndTransform : null, loops : 0, startTime : 0 } 2 4 3 1 0 0 1 2 3 { urlString : null } lime.media.AudioBuffer 0 0 1 0x202 0x1001 0x1002 0x1003 0x1004 0x1005 0x1006 0x1007 0x1009 0x100A 0x100D 0x100E 0x100F 0x1010 0x1011 0x1012 0x1013 0x1014 0x1015 0x1016 0x1020 0x1021 0x1022 0x1023 0x1024 0x1025 0x1026 0x1027 0x1028 0x1029 0x1030 0x1100 0x1101 0x1102 0x1103 0x2001 0x2002 0x2003 0x2004 0 0xA001 0xA002 0xA003 0xA004 0xA005 0xB001 0xB002 0xB003 0xB004 0xC000 0xC003 0xC001 0xD000 0xD001 0xD002 0xD003 0xD004 0xD005 0xD006 0x1008 0x1009 0x1010 0x1011 0xA001 0xA002 0x1002 0x1003 0x1004 0x1005 1 0x1012 0x1013 { attrlist : null } { count : 1 } { count : 1 } { count : 1 } { count : 1 } { device : null } { device : null } { count : 1 } { device : null, count : 1 } { count : 1 } { count : 1 } { count : 1 } { count : 1 } { device : null } { deviceName : null } "tags=\"haxe,release\"" 0 0 1 0x202 0x1001 0x1002 0x1003 0x1004 0x1005 0x1006 0x1007 0x1009 0x100A 0x100D 0x100E 0x100F 0x1010 0x1011 0x1012 0x1013 0x1014 0x1015 0x1016 0x1020 0x1021 0x1022 0x1023 0x1024 0x1025 0x1026 0x1027 0x1028 0x1029 0x1030 0x1100 0x1101 0x1102 0x1103 0x2001 0x2002 0x2003 0x2004 0 0xA001 0xA002 0xA003 0xA004 0xA005 0xB001 0xB002 0xB003 0xB004 0xC000 0xC003 0xC001 0xD000 0xD001 0xD002 0xD003 0xD004 0xD005 0xD006 0x20004 0x20005 0x20006 0x20007 0x20008 0x20009 0x2000A 0x2000B 0x2000C 0x0001 0x0002 0x0003 0x0004 0x0005 0x0006 0x0007 0x0008 0x0009 0x000A 0x000B 0x000C 0x000D 0x0001 0x0002 0x0003 0x0004 0x0005 0x0006 0x0007 0x0008 0x0009 0x000A 0x000B 0x000C 0x000D 0x000E 0x000F 0x0010 0x0011 0x0012 0x0013 0x0014 0x0015 0x0016 0x0017 0x0001 0x0002 0x0003 0x0004 0x0005 0x0006 0x0001 0x0002 0x0003 0x0004 0x0005 0x0001 0x0002 0x0003 0x0004 0x0005 0x0001 0x0002 0x0003 0x0004 0x0005 0x0006 0x0001 0x0002 0x0003 0x0001 0x0002 0x0003 0x0004 0x0005 0x0006 0x0001 0x0002 0x0001 0x0002 0x0003 0x0001 0x0002 0x0003 0x0004 0x0001 0x0001 0x0002 0x0003 0x0004 0x0005 0x0006 0x0007 0x0008 0x0009 0x000A 0x0000 0x8000 0x8001 0x0000 0x8000 0x0001 0x0002 0x0003 0x0004 0x0005 0x0006 0x0007 0x0008 0x0009 0x000A 0x000B 0x000C 0x0001 0x0002 0x0003 0x0001 0x0002 0x0001 0x0002 0x0001 0x0002 0x0003 0x0000 0x8000 0x8001 0x0000 0x0001 0x0002 0x0003 "genSource has been renamed to 'createSource' for consistency with OpenGL" "genBuffer has been renamed to 'createBuffer' for consistency with OpenGL" { count : 1 } { count : 1 } { count : 1 } { count : 1 } { count : 1 } { count : 1 } { count : 1 } { count : 1 } hide { count : 1 } { count : 1 } "tags=\"haxe,release\"" lime._internal.backend.native.NativeCFFI lime.media.openal.AL <_new get="inline" set="null" line="9" static="1"> lime.media.openal.AL <_new get="inline" set="null" line="9" static="1"> lime.media.openal.AL lime.media.openal.AL <_new get="inline" set="null" line="10" static="1"> lime.media.openal.AL <_new get="inline" set="null" line="10" static="1"> lime.media.openal.AL 0 1 0x1007 0x1008 0x1009 0x1010 0x1011 0 0xA001 0xA002 0xA003 0xA004 0xA005 0x1002 0x1003 0x1004 0x1005 0x1006 1 0x1012 0x1013 { attrlist : null } { deviceName : null } "tags=\"haxe,release\"" lime._internal.backend.native.NativeCFFI lime.media.openal.AL lime.media.openal.ALC <_new get="inline" set="null" line="10" static="1"> lime.media.openal.ALC lime.media.openal.AL <_new get="inline" set="null" line="10" static="1"> lime.media.openal.ALC lime.media.openal.AL lime.media.openal.AL lime.media.openal.ALC <_new get="inline" set="null" line="10" static="1"> lime.media.openal.ALC lime.media.openal.AL <_new get="inline" set="null" line="10" static="1"> lime.media.openal.ALC lime.media.openal.AL lime.media.openal.AL <_new get="inline" set="null" line="9" static="1"> lime.media.openal.AL <_new get="inline" set="null" line="9" static="1"> lime.media.openal.AL lime.media.openal.AL <_new get="inline" set="null" line="9" static="1"> lime.media.openal.AL <_new get="inline" set="null" line="9" static="1"> lime.media.openal.AL lime.media.openal.AL <_new get="inline" set="null" line="9" static="1"> lime.media.openal.AL <_new get="inline" set="null" line="9" static="1"> lime.media.openal.AL { bitstream : -1 } { bitstream : -1 } { bitstream : -1 } { bitstream : -1 } { bitstream : -1 } { signed : true, wordSize : 2, bigEndianPacking : false, length : 4096 } { bitstream : -1 } { bitstream : -1 } lime._internal.backend.native.NativeCFFI <__backend> { uri : null } { uri : null } "tags=\"haxe,release\"" "tags=\"haxe,release\"" lime._internal.macros.HTTPRequestMacro.build() { uri : null } { uri : null } "tags=\"haxe,release\"" { uri : null } { uri : null } "tags=\"haxe,release\"" { value : "" } "tags=\"haxe,release\"" cast "DELETE" cast "GET" cast "HEAD" cast "OPTIONS" cast "POST" cast "PUT" cast "DELETE" cast "GET" cast "HEAD" cast "OPTIONS" cast "POST" cast "PUT" "tags=\"haxe,release\"" "tags=\"haxe,release\"" "tags=\"haxe,release\"" "tags=\"haxe,release\"" "tags=\"haxe,release\"" GLOBAL_SSL | GLOBAL_WIN32 0 GLOBAL_ALL { handle : null } "tags=\"haxe,release\"" lime._internal.backend.native.NativeCFFI cast 0 cast 1 cast 2 cast 3 cast 4 cast 5 cast 6 cast 7 cast 8 cast 9 cast 10 cast 11 cast 12 cast 13 cast 14 cast 15 cast 16 cast 17 cast 18 cast 19 cast 21 cast 22 cast 23 cast 25 cast 26 cast 27 cast 28 cast 30 cast 31 cast 33 cast 34 cast 35 cast 36 cast 37 cast 38 cast 39 cast 42 cast 43 cast 45 cast 47 cast 48 cast 49 cast 51 cast 52 cast 53 cast 54 cast 55 cast 56 cast 58 cast 59 cast 60 cast 61 cast 62 cast 63 cast 64 cast 65 cast 66 cast 67 cast 68 cast 69 cast 70 cast 71 cast 72 cast 73 cast 74 cast 75 cast 76 cast 77 cast 78 cast 79 cast 80 cast 81 cast 82 cast 83 cast 84 cast 85 cast 86 cast 87 cast 88 cast 89 cast 90 cast 91 cast 92 cast 0 cast 1 cast 2 cast 3 cast 4 cast 5 cast 6 cast 7 cast 8 cast 9 cast 10 cast 11 cast 12 cast 13 cast 14 cast 15 cast 16 cast 17 cast 18 cast 19 cast 21 cast 22 cast 23 cast 25 cast 26 cast 27 cast 28 cast 30 cast 31 cast 33 cast 34 cast 35 cast 36 cast 37 cast 38 cast 39 cast 42 cast 43 cast 45 cast 47 cast 48 cast 49 cast 51 cast 52 cast 53 cast 54 cast 55 cast 56 cast 58 cast 59 cast 60 cast 61 cast 62 cast 63 cast 64 cast 65 cast 66 cast 67 cast 68 cast 69 cast 70 cast 71 cast 72 cast 73 cast 74 cast 75 cast 76 cast 77 cast 78 cast 79 cast 80 cast 81 cast 82 cast 83 cast 84 cast 85 cast 86 cast 87 cast 88 cast 89 cast 90 cast 91 cast 92 cast 0 cast 0x100000 + 1 cast 0x200000 + 2 cast 0x300000 + 3 cast 0x300000 + 4 cast 0x300000 + 5 cast 0x300000 + 6 cast 0x300000 + 7 cast 0x600000 + 7 cast 0x300000 + 8 cast 0x600000 + 8 cast 0x300000 + 9 cast 0x600000 + 9 cast 0x300000 + 10 cast 0x600000 + 10 cast 0x200000 + 11 cast 0x200000 + 12 cast 0x200000 + 13 cast 0x200000 + 14 cast 0x300000 + 15 cast 0x600000 + 15 cast 0x300000 + 16 cast 0x300000 + 16 cast 0x300000 + 17 cast 0x100000 + 18 cast 0x300000 + 19 cast 0x200000 + 20 cast 0x100000 + 21 cast 0x200000 + 22 cast 0x200000 + 23 cast 0x200000 + 24 cast 0x200000 + 25 cast 0x200000 + 26 cast 0x400000 + 27 cast 0x400000 + 28 cast 0x200000 + 29 cast 0x100000 + 30 cast 0x100000 + 31 cast 0x100000 + 32 cast 0x300000 + 33 cast 0x400000 + 34 cast 0x200000 + 35 cast 0x100000 + 36 cast 0x200000 + 37 cast 0x200000 + 38 cast 0x200000 + 39 cast 0x200000 + 40 cast 0x100000 + 41 cast 0x200000 + 42 cast 0x400000 + 43 cast 0x500000 + 44 cast 0x400000 + 45 cast 0x200000 + 46 cast 0x200000 + 47 cast 0x200000 + 48 cast 0x100000 + 49 cast 0 cast 0x100000 + 1 cast 0x200000 + 2 cast 0x300000 + 3 cast 0x300000 + 4 cast 0x300000 + 5 cast 0x300000 + 6 cast 0x300000 + 7 cast 0x600000 + 7 cast 0x300000 + 8 cast 0x600000 + 8 cast 0x300000 + 9 cast 0x600000 + 9 cast 0x300000 + 10 cast 0x600000 + 10 cast 0x200000 + 11 cast 0x200000 + 12 cast 0x200000 + 13 cast 0x200000 + 14 cast 0x300000 + 15 cast 0x600000 + 15 cast 0x300000 + 16 cast 0x300000 + 16 cast 0x300000 + 17 cast 0x100000 + 18 cast 0x300000 + 19 cast 0x200000 + 20 cast 0x100000 + 21 cast 0x200000 + 22 cast 0x200000 + 23 cast 0x200000 + 24 cast 0x200000 + 25 cast 0x200000 + 26 cast 0x400000 + 27 cast 0x400000 + 28 cast 0x200000 + 29 cast 0x100000 + 30 cast 0x100000 + 31 cast 0x100000 + 32 cast 0x300000 + 33 cast 0x400000 + 34 cast 0x200000 + 35 cast 0x100000 + 36 cast 0x200000 + 37 cast 0x200000 + 38 cast 0x200000 + 39 cast 0x200000 + 40 cast 0x100000 + 41 cast 0x200000 + 42 cast 0x400000 + 43 cast 0x500000 + 44 cast 0x400000 + 45 cast 0x200000 + 46 cast 0x200000 + 47 cast 0x200000 + 48 cast 0x100000 + 49 { handle : null } "tags=\"haxe,release\"" lime._internal.backend.native.NativeCFFI lime.net.curl.CURL lime.net.curl.CURLMultiMessage cast -1 cast 0 cast 1 cast 2 cast 3 cast 4 cast 5 cast 6 cast 7 cast -1 cast 0 cast 1 cast 2 cast 3 cast 4 cast 5 cast 6 cast 7 cast 200001 cast 100002 cast 3 cast 20004 cast 10005 cast 6 cast 7 cast 8 cast 30009 cast 30010 cast 10011 cast 10012 cast 13 cast 20014 cast 10015 cast 200001 cast 100002 cast 3 cast 20004 cast 10005 cast 6 cast 7 cast 8 cast 30009 cast 30010 cast 10011 cast 10012 cast 13 cast 20014 cast 10015 cast 10002 cast 3 cast 10004 cast 10005 cast 10006 cast 10007 cast 10009 cast 10009 cast 10010 cast 20011 cast 20012 cast 13 cast 14 cast 10015 cast 10016 cast 10017 cast 10018 cast 19 cast 20 cast 21 cast 22 cast 10023 cast 10023 cast 10024 cast 10025 cast 10026 cast 27 cast 10028 cast 10029 cast 10029 cast 10031 cast 32 cast 33 cast 34 cast 10036 cast 10037 cast 10039 cast 10040 cast 41
      cast 42
      cast 43 cast 44 cast 45 cast 46 cast 47 cast 48 cast 50 cast 51 cast 52 cast 53 cast 54 cast 20056 cast 10057 cast 10057 cast 58 cast 59 cast 60 cast 61 cast 10062 cast 10063 cast 64 cast 10065 cast 68 cast 69 cast 10070 cast 71 cast 72 cast 74 cast 75 cast 10076 cast 10077 cast 78 cast 20079 cast 80 cast 81 cast 10082 cast 10083 cast 84 cast 85 cast 10086 cast 10087 cast 10088 cast 10089 cast 90 cast 91 cast 92 cast 10093 cast 20094 cast 10095 cast 96 cast 10097 cast 98 cast 99 cast 10100 cast 101 cast 10102 cast 10103 cast 10104 cast 105 cast 106 cast 107 cast 20108 cast 10109 cast 110 cast 111 cast 112 cast 112 cast 113 cast 114 cast 30115 cast 30116 cast 30117 cast 10118 cast 119 cast 30120 cast 121 cast 129 cast 20130 cast 10131 cast 10134 cast 10135 cast 10136 cast 137 cast 138 cast 139 cast 140 cast 141 cast 20142 cast 20143 cast 20144 cast 30145 cast 30146 cast 10147 cast 20148 cast 10149 cast 150 cast 151 cast 10152 cast 10153 cast 154 cast 155 cast 156 cast 157 cast 158 cast 159 cast 160 cast 161 cast 10162 cast 20163 cast 10164 cast 10165 cast 166 cast 20167 cast 10168 cast 10169 cast 10170 cast 171 cast 172 cast 10173 cast 10174 cast 10175 cast 10176 cast 10177 cast 178 cast 10179 cast 180 cast 181 cast 182 cast 10183 cast 20184 cast 10185 cast 10186 cast 10187 cast 188 cast 189 cast 10190 cast 10191 cast 10192 cast 193 cast 194 cast 10195 cast 20196 cast 197 cast 20198 cast 20199 cast 20200 cast 10201 cast 10202 cast 10203 cast 10204 cast 10205 cast 10206 cast 207 cast 20208 cast 10209 cast 210 cast 10211 cast 212 cast 213 cast 214 cast 215 cast 216 cast 10217 cast 218 cast 20219 cast 10220 cast 10221 cast 10222 cast 10223 cast 10224 cast 225 cast 226 cast 227 cast 10228 cast 229 cast 10230 cast 10231 cast 232 cast 233 cast 234 cast 10235 cast 10236 cast 237 cast 10238 cast 239 cast 10240 cast 10241 cast 242 cast 243 cast 244 cast 245 cast 10246 cast 10247 cast 248 cast 249 cast 250 cast 10251 cast 10252 cast 10253 cast 10254 cast 10255 cast 10256 cast 10257 cast 10258 cast 10259 cast 10260 cast 261 cast 10262 cast 10263 cast 10264 cast 265 cast 10266 cast 267 cast 268 cast 10269
      cast 10002 cast 3 cast 10004 cast 10005 cast 10006 cast 10007 cast 10009 cast 10009 cast 10010 cast 20011 cast 20012 cast 13 cast 14 cast 10015 cast 10016 cast 10017 cast 10018 cast 19 cast 20 cast 21 cast 22 cast 10023 cast 10023 cast 10024 cast 10025 cast 10026 cast 27 cast 10028 cast 10029 cast 10029 cast 10031 cast 32 cast 33 cast 34 cast 10036 cast 10037 cast 10039 cast 10040 cast 41
      cast 42
      cast 43 cast 44 cast 45 cast 46 cast 47 cast 48 cast 50 cast 51 cast 52 cast 53 cast 54 cast 20056 cast 10057 cast 10057 cast 58 cast 59 cast 60 cast 61 cast 10062 cast 10063 cast 64 cast 10065 cast 68 cast 69 cast 10070 cast 71 cast 72 cast 74 cast 75 cast 10076 cast 10077 cast 78 cast 20079 cast 80 cast 81 cast 10082 cast 10083 cast 84 cast 85 cast 10086 cast 10087 cast 10088 cast 10089 cast 90 cast 91 cast 92 cast 10093 cast 20094 cast 10095 cast 96 cast 10097 cast 98 cast 99 cast 10100 cast 101 cast 10102 cast 10103 cast 10104 cast 105 cast 106 cast 107 cast 20108 cast 10109 cast 110 cast 111 cast 112 cast 112 cast 113 cast 114 cast 30115 cast 30116 cast 30117 cast 10118 cast 119 cast 30120 cast 121 cast 129 cast 20130 cast 10131 cast 10134 cast 10135 cast 10136 cast 137 cast 138 cast 139 cast 140 cast 141 cast 20142 cast 20143 cast 20144 cast 30145 cast 30146 cast 10147 cast 20148 cast 10149 cast 150 cast 151 cast 10152 cast 10153 cast 154 cast 155 cast 156 cast 157 cast 158 cast 159 cast 160 cast 161 cast 10162 cast 20163 cast 10164 cast 10165 cast 166 cast 20167 cast 10168 cast 10169 cast 10170 cast 171 cast 172 cast 10173 cast 10174 cast 10175 cast 10176 cast 10177 cast 178 cast 10179 cast 180 cast 181 cast 182 cast 10183 cast 20184 cast 10185 cast 10186 cast 10187 cast 188 cast 189 cast 10190 cast 10191 cast 10192 cast 193 cast 194 cast 10195 cast 20196 cast 197 cast 20198 cast 20199 cast 20200 cast 10201 cast 10202 cast 10203 cast 10204 cast 10205 cast 10206 cast 207 cast 20208 cast 10209 cast 210 cast 10211 cast 212 cast 213 cast 214 cast 215 cast 216 cast 10217 cast 218 cast 20219 cast 10220 cast 10221 cast 10222 cast 10223 cast 10224 cast 225 cast 226 cast 227 cast 10228 cast 229 cast 10230 cast 10231 cast 232 cast 233 cast 234 cast 10235 cast 10236 cast 237 cast 10238 cast 239 cast 10240 cast 10241 cast 242 cast 243 cast 244 cast 245 cast 10246 cast 10247 cast 248 cast 249 cast 250 cast 10251 cast 10252 cast 10253 cast 10254 cast 10255 cast 10256 cast 10257 cast 10258 cast 10259 cast 10260 cast 261 cast 10262 cast 10263 cast 10264 cast 265 cast 10266 cast 267 cast 268 cast 10269
      cast 0 cast 1 cast 2 cast 3 cast 0 cast 1 cast 2 cast 3 "__COMPLETE__" "__ERROR__" ()]]> ()]]> ()]]> ()]]> <__runMessage> <__messageQueue> <__workerThread> { message : null } { message : null } { message : null } { message : null } <__doWork set="method" line="114"> <__update set="method" line="134"> "tags=\"haxe,release\"" <__moduleNames expr="null" line="15" static="1"> null { lazy : false, args : 0 } * Tries to load a native CFFI primitive on compatible platforms * @param library The name of the native library (such as "lime") * @param method The exported primitive method name * @param args The number of arguments * @param lazy Whether to load the symbol immediately, or to allow lazy loading * @return The loaded method <__findHaxelib set="method" line="203" static="1"> <__loaderTrace set="method" line="241" static="1"> <__sysName set="method" line="316" static="1"> <__tryLoad set="method" line="330" static="1"> "tags=\"haxe,release\"" lime._internal.backend.native.NativeCFFI <_new public="1" get="inline" set="null" line="9" static="1"> A == B A == B B]]> B]]> = B]]> = B]]> A != B A != B lime._internal.backend.native.NativeCFFI <_new public="1" get="inline" set="null" line="9" static="1"> A == B A == B B]]> B]]> = B]]> = B]]> A != B A != B lime._internal.backend.native.NativeCFFI ()]]> <_text static="1"> <__update set="method" line="25" static="1"> "tags=\"haxe,release\"" lime._internal.backend.native.NativeCFFI lime.ui.Window * The desktop area represented by this display, with the upper-leftmost display at 0,0 * The current display mode * Pixel density of the display * The name of the device, such as "Samsung SyncMaster P2350", "iPhone 6", "Oculus Rift DK2", etc. * All of the display modes supported by this device "tags=\"haxe,release\"" * vertical resolution * pixel format * refresh rate in Hz * horizontal resolution "tags=\"haxe,release\"" ()]]> false { quietFail : false, useArray : false } { quietFail : false, useArray : false } The Java Native Interface (JNI) allows C++ code to call Java functions, and vice versa. On Android, Haxe code compiles to C++, but only Java code can access the Android system API, so it's often necessary to use both. For a working example, run `lime create extension MyExtension`, then look at MyExtension.hx and MyExtension.java. You can pass Haxe objects to Java, much like any other data. In Java, they'll have type `org.haxe.lime.HaxeObject`, meaning the method that receives them might have signature `(Lorg/haxe/lime/HaxeObject;)V`. Once sent, the Java class can store the object and call its functions. Note that most Java code runs on a different thread than Haxe, meaning that you can get thread-related errors in both directions. Java functions can use `Extension.callbackHandler.post()` to switch to the UI thread, while Haxe code can avoid the problem using `lime.system.JNI.JNISafety`. "tags=\"haxe,release\"" lime._internal.backend.native.NativeCFFI "tags=\"haxe,release\"" lime._internal.backend.native.NativeCFFI "tags=\"haxe,release\"" lime._internal.backend.native.NativeCFFI "tags=\"haxe,release\"" lime._internal.backend.native.NativeCFFI Most times a Java class calls a Haxe function, it does so on the UI thread, which can lead to thread-related errors. These errors can be avoided by switching back to the main thread before executing any code. Usage: ```haxe class MyClass implements JNISafety { @:runOnMainThread public function callbackFunction(data:Dynamic):Void { // Code here is guaranteed to run on Haxe's main thread. It's safe // to call `callbackFunction` via JNI. } public function notACallbackFunction():Void { // Code here will run on whichever thread calls the function. It may // not be safe to call `notACallbackFunction` via JNI. } } ``` lime.system.JNI.JNISafetyTools.build() The current thread acquire the mutex or wait if not available. The same thread can acquire several times the same mutex but must release it as many times it has been acquired. Try to acquire the mutex, returns true if acquire or false if it's already locked by another thread. Release a mutex that has been acquired by the current thread. The behavior is undefined if the current thread does not own the mutex. Creates a mutex. Creates a mutex, which can be used to acquire a temporary lock to access some ressource. The main difference with a lock is that a mutex must always be released by the owner thread. new Mutex() Void>>()]]> 0 new Lock() 0 Schedule event for execution every `intervalMs` milliseconds in current loop. Prevent execution of a previously scheduled event in current loop. Notify this loop about an upcoming event. This makes the thread to stay alive and wait for as many events as many times `.promise()` was called. These events should be added via `.runPromised()` Execute `event` as soon as possible. Add previously promised `event` for execution. Executes all pending events. The returned time stamps can be used with `Sys.time()` for calculations. Depending on a target platform this method may be non-reentrant. It must not be called from event callbacks. Blocks until a new event is added or `timeout` (in seconds) to expires. Depending on a target platform this method may also automatically execute arriving events while waiting. However if any event is executed it will stop waiting. Returns `true` if more events are expected. Returns `false` if no more events expected. Depending on a target platform this method may be non-reentrant. It must not be called from event callbacks. Execute all pending events. Wait and execute as many events as many times `promiseEvent()` was called. Runs until all repeating events are cancelled and no more events is expected. Depending on a target platform this method may be non-reentrant. It must not be called from event callbacks. <__progress get="inline" set="null" line="199"> `.progress` implementation with a reusable array for internal usage. The `nextEventAt` field of the return value denotes when the next event is expected to run: * -1 - never * -2 - now * other values - at specified time An event loop implementation used for `sys.thread.Thread` ()]]> Thread.current() @return Whether the calling function is being run on the main thread. <__systemLocale static="1"> <_new public="1" set="method" line="18" static="1"> A == B <__init set="method" line="55" static="1"> <__systemLocale static="1"> <_new public="1" set="method" line="18" static="1"> A == B <__init set="method" line="55" static="1"> ()]]> ()]]> { type : null } Float -> Float>()]]> "tags=\"haxe,release\"" <__applicationDirectory static="1"> <__applicationEntryPoint static="1"> <__applicationStorageDirectory static="1"> <__desktopDirectory static="1"> <__deviceModel static="1"> <__deviceVendor static="1"> <__directories expr="new Map<SystemDirectory,String>()" line="68" static="1"> ()]]> <__documentsDirectory static="1"> <__endianness static="1"> <__fontsDirectory static="1"> <__platformLabel static="1"> <__platformName static="1"> <__platformVersion static="1"> <__userDirectory static="1"> { lazy : false, args : 0 } { target : "_blank" } <__copyMissingFields set="method" line="335" static="1"> <__getDirectory set="method" line="348" static="1"> <__parseArguments set="method" line="426" static="1"> <__parseBool get="inline" set="null" line="523" static="1"> <__registerEntryPoint set="method" line="528" static="1"> <__runProcess set="method" line="545" static="1"> { args : null } "tags=\"haxe,release\"" lime._internal.backend.native.NativeCFFI lime.system.Display lime.system.DisplayMode "\r\n#if defined(HX_WINDOWS)\r\nextern \"C\" {\r\n\t_declspec(dllexport) unsigned long NvOptimusEnablement = 0x00000001;\r\n\t_declspec(dllexport) int AmdPowerXpressRequestHighPerformance = 1;\r\n}\r\n#endif\r\n" cast 0 cast 1 cast 2 cast 3 cast 4 cast 5 cast 0 cast 1 cast 2 cast 3 cast 4 cast 5 ()]]> ()]]> ()]]> ()]]> ()]]> <__synchronous> <__workCompleted> <__workIncoming expr="new Deque<ThreadPoolMessage>()"> ()]]> <__workQueued> <__workResult expr="new Deque<ThreadPoolMessage>()"> ()]]> { state : null } { state : null } { state : null } { state : null } { state : null } <__doWork set="method" line="155"> <__update set="method" line="172"> { maxThreads : 1, minThreads : 0 } "tags=\"haxe,release\"" <_new public="1" set="method" line="5" static="1"> <_new public="1" set="method" line="5" static="1"> "tags=\"haxe,release\"" { features : null } lime._internal.backend.native.NativeCFFI lime._internal.backend.native.NativeCFFI <_new public="1" set="method" line="18" static="1"> lime._internal.backend.native.NativeCFFI <_new public="1" set="method" line="18" static="1"> lime._internal.backend.native.NativeCFFI lime._internal.backend.native.NativeCFFI <_new public="1" set="method" line="23" static="1"> lime._internal.backend.native.NativeCFFI <_new public="1" set="method" line="23" static="1"> lime._internal.backend.native.NativeCFFI cast 0 cast 1 cast 2 cast 0 cast 0 cast 1 cast 2 cast 0 cast 0 cast 1 cast 2 cast 0 cast 1 cast 2 cast 0 cast 4 cast 5 cast 6 cast 7 cast 0 cast 4 cast 5 cast 6 cast 7 lime._internal.backend.native.NativeCFFI <_new public="1" set="method" line="14" static="1"> lime._internal.backend.native.NativeCFFI <_new public="1" set="method" line="14" static="1"> lime._internal.backend.native.NativeCFFI lime._internal.backend.native.NativeCFFI <_new public="1" set="method" line="17" static="1"> lime._internal.backend.native.NativeCFFI <_new public="1" set="method" line="17" static="1"> lime._internal.backend.native.NativeCFFI lime._internal.backend.native.NativeCFFI <_new public="1" set="method" line="19" static="1"> lime._internal.backend.native.NativeCFFI <_new public="1" set="method" line="19" static="1"> lime._internal.backend.native.NativeCFFI lime._internal.backend.native.NativeCFFI <_new public="1" set="method" line="10" static="1"> { language : null } lime._internal.backend.native.NativeCFFI <_new public="1" set="method" line="10" static="1"> { language : null } lime._internal.backend.native.NativeCFFI cast 0 cast 0 ()]]> Triggers when the user clicks "Cancel" during any operation, or when a function is unsupported (such as `open()` on HTML5). ()]]> Triggers when `open()` is successful. The `lime.utils.Resource` contains the file's data, and can be implicitly cast to `haxe.io.Bytes`. ()]]> Triggers when `save()` is successful. The `String` is the path to the saved file. ()]]> Triggers when `browse()` is successful and `type` is anything other than `FileDialogType.OPEN_MULTIPLE`. The `String` is the path to the selected file. >()]]> ` contains all selected file paths.]]> { title : null, defaultPath : null, filter : null, type : null } Opens a file selection dialog. If successful, either `onSelect` or `onSelectMultiple` will trigger with the result(s). This function only works on desktop targets, and will return `false` otherwise. @param type Type of the file dialog: `OPEN`, `SAVE`, `OPEN_DIRECTORY` or `OPEN_MULTIPLE`. @param filter A filter to use when browsing. Asterisks are treated as wildcards. For example, `"*.jpg"` will match any file ending in `.jpg`. @param defaultPath The directory in which to start browsing and/or the default filename to suggest. Defaults to `Sys.getCwd()`, with no default filename. @param title The title to give the dialog window. @return Whether `browse()` is supported on this target. { title : null, defaultPath : null, filter : null } Shows an open file dialog. If successful, `onOpen` will trigger with the file contents. This function only works on desktop targets, and will return `false` otherwise. @param filter A filter to use when browsing. Asterisks are treated as wildcards. For example, `"*.jpg"` will match any file ending in `.jpg`. @param defaultPath The directory in which to start browsing and/or the default filename to suggest. Defaults to `Sys.getCwd()`, with no default filename. @param title The title to give the dialog window. @return Whether `open()` is supported on this target. { type : "application/octet-stream", title : null, defaultPath : null, filter : null } Shows an open file dialog. If successful, `onSave` will trigger with the selected path. This function only works on desktop and HMTL5 targets, and will return `false` otherwise. @param data The file contents, in `haxe.io.Bytes` format. (Implicit casting possible.) @param filter A filter to use when browsing. Asterisks are treated as wildcards. For example, `"*.jpg"` will match any file ending in `.jpg`. Used only if targeting deskop. @param defaultPath The directory in which to start browsing and/or the default filename to suggest. When targeting destkop, this defaults to `Sys.getCwd()` with no default filename. When targeting HTML5, this defaults to the browser's download directory, with a default filename based on the MIME type. @param title The title to give the dialog window. @param type The default MIME type of the file, in case the type can't be determined from the file data. Used only if targeting HTML5. @return Whether `save()` is supported on this target. trace("Canceled.") ); fileDialog.onSave.add( path -> trace("File saved in " + path) ); fileDialog.onOpen.add( res -> trace("Size of the file = " + (res:haxe.io.Bytes).length) ); if ( fileDialog.open("jpg", null, "Load file") ) trace("File dialog opened, waiting for selection..."); else trace("This dialog is unsupported."); ``` Availability note: most file dialog operations are only available on desktop targets, though `save()` is also available in HTML5.]]> "tags=\"haxe,release\"" lime._internal.backend.native.NativeCFFI lime.graphics.Image ()]]> ()]]> <__connect set="method" line="46" static="1"> <__disconnect set="method" line="56" static="1"> Float>()]]> ()]]> ()]]> ()]]> "tags=\"haxe,release\"" lime._internal.backend.native.NativeCFFI lime.ui.Joystick cast 0 cast 1 cast 2 cast 3 cast 4 cast 5 cast 0 cast 1 cast 2 cast 3 cast 4 cast 5 cast 0 cast 1 cast 2 cast 3 cast 4 cast 5 cast 6 cast 7 cast 8 cast 9 cast 10 cast 11 cast 12 cast 13 cast 14 cast 0 cast 1 cast 2 cast 3 cast 4 cast 5 cast 6 cast 7 cast 8 cast 9 cast 10 cast 11 cast 12 cast 13 cast 14 ()]]> ()]]> <__connect set="method" line="38" static="1"> <__disconnect set="method" line="48" static="1"> Float>()]]> ()]]> ()]]> ()]]> JoystickHatPosition>()]]> Float -> Float>()]]> "tags=\"haxe,release\"" lime._internal.backend.native.NativeCFFI
      0x00
      0x04 0x08 0x02 0x01 (0x04 | 0x08) (0x04 | 0x02) (0x01 | 0x08) (0x01 | 0x02)
      <_new public="1" set="method" line="21" static="1">
      0x00
      0x04 0x08 0x02 0x01 (0x04 | 0x08) (0x04 | 0x02) (0x01 | 0x08) (0x01 | 0x02)
      <_new public="1" set="method" line="21" static="1">
      lime._internal.backend.native.NativeCFFI cast 0x00 cast 0x08 cast 0x09 cast 0x0D cast 0x1B cast 0x20 cast 0x21 cast 0x22 cast 0x23 cast 0x24 cast 0x25 cast 0x26 cast 0x27 cast 0x28 cast 0x29 cast 0x2A cast 0x2B cast 0x2C cast 0x2D cast 0x2E cast 0x2F cast 0x30 cast 0x31 cast 0x32 cast 0x33 cast 0x34 cast 0x35 cast 0x36 cast 0x37 cast 0x38 cast 0x39 cast 0x3A cast 0x3B cast 0x3C cast 0x3D cast 0x3E cast 0x3F cast 0x40 cast 0x5B cast 0x5C cast 0x5D cast 0x5E cast 0x5F cast 0x60 cast 0x61 cast 0x62 cast 0x63 cast 0x64 cast 0x65 cast 0x66 cast 0x67 cast 0x68 cast 0x69 cast 0x6A cast 0x6B cast 0x6C cast 0x6D cast 0x6E cast 0x6F

      cast 0x70

      cast 0x71 cast 0x72 cast 0x73 cast 0x74 cast 0x75 cast 0x76 cast 0x77 cast 0x78 cast 0x79 cast 0x7A cast 0x7F cast 0x40000039 cast 0x4000003A cast 0x4000003B cast 0x4000003C cast 0x4000003D cast 0x4000003E cast 0x4000003F cast 0x40000040 cast 0x40000041 cast 0x40000042 cast 0x40000043 cast 0x40000044 cast 0x40000045 cast 0x40000046 cast 0x40000047 cast 0x40000048 cast 0x40000049 cast 0x4000004A cast 0x4000004B cast 0x4000004D cast 0x4000004E cast 0x4000004F cast 0x40000050 cast 0x40000051 cast 0x40000052 cast 0x40000053 cast 0x40000054 cast 0x40000055 cast 0x40000056 cast 0x40000057 cast 0x40000058 cast 0x40000059 cast 0x4000005A cast 0x4000005B cast 0x4000005C cast 0x4000005D cast 0x4000005E cast 0x4000005F cast 0x40000060 cast 0x40000061 cast 0x40000062 cast 0x40000063 cast 0x40000065 cast 0x40000066 cast 0x40000067 cast 0x40000068 cast 0x40000069 cast 0x4000006A cast 0x4000006B cast 0x4000006C cast 0x4000006D cast 0x4000006E cast 0x4000006F cast 0x40000070 cast 0x40000071 cast 0x40000072 cast 0x40000073 cast 0x40000074 cast 0x40000075 cast 0x40000076 cast 0x40000078 cast 0x40000079 cast 0x4000007A cast 0x4000007B cast 0x4000007C cast 0x4000007D cast 0x4000007E cast 0x4000007F cast 0x40000080 cast 0x40000081 cast 0x40000085 cast 0x40000099 cast 0x4000009A cast 0x4000009B cast 0x4000009C cast 0x4000009D cast 0x4000009E cast 0x4000009F cast 0x400000A0 cast 0x400000A1 cast 0x400000A2 cast 0x400000A3 cast 0x400000A4 cast 0x400000B0 cast 0x400000B1 cast 0x400000B2 cast 0x400000B3 cast 0x400000B4 cast 0x400000B5 cast 0x400000B6 cast 0x400000B7 cast 0x400000B8 cast 0x400000B9 cast 0x400000BA cast 0x400000BB cast 0x400000BC cast 0x400000BD cast 0x400000BE cast 0x400000BF cast 0x400000C0 cast 0x400000C1 cast 0x400000C2 cast 0x400000C3 cast 0x400000C4 cast 0x400000C5 cast 0x400000C6 cast 0x400000C7 cast 0x400000C8 cast 0x400000C9 cast 0x400000CA cast 0x400000CB cast 0x400000CC cast 0x400000CD cast 0x400000CE cast 0x400000CF cast 0x400000D0 cast 0x400000D1 cast 0x400000D2 cast 0x400000D3 cast 0x400000D4 cast 0x400000D5 cast 0x400000D6 cast 0x400000D7 cast 0x400000D8 cast 0x400000D9 cast 0x400000DA cast 0x400000DB cast 0x400000DC cast 0x400000DD cast 0x400000E0 cast 0x400000E1 cast 0x400000E2 cast 0x400000E3 cast 0x400000E4 cast 0x400000E5 cast 0x400000E6 cast 0x400000E7 cast 0x40000101 cast 0x40000102 cast 0x40000103 cast 0x40000104 cast 0x40000105 cast 0x40000106 cast 0x40000107 cast 0x40000108 cast 0x40000109 cast 0x4000010A cast 0x4000010B cast 0x4000010C cast 0x4000010D cast 0x4000010E cast 0x4000010F cast 0x40000110 cast 0x40000111 cast 0x40000112 cast 0x40000113 cast 0x40000114 cast 0x40000115 cast 0x40000116 cast 0x40000117 cast 0x40000118 cast 0x40000119 cast 0x4000011A B]]> = B]]> A + B lime._internal.backend.native.NativeCFFI
      cast 0x00 cast 0x08 cast 0x09 cast 0x0D cast 0x1B cast 0x20 cast 0x21 cast 0x22 cast 0x23 cast 0x24 cast 0x25 cast 0x26 cast 0x27 cast 0x28 cast 0x29 cast 0x2A cast 0x2B cast 0x2C cast 0x2D cast 0x2E cast 0x2F cast 0x30 cast 0x31 cast 0x32 cast 0x33 cast 0x34 cast 0x35 cast 0x36 cast 0x37 cast 0x38 cast 0x39 cast 0x3A cast 0x3B cast 0x3C cast 0x3D cast 0x3E cast 0x3F cast 0x40 cast 0x5B cast 0x5C cast 0x5D cast 0x5E cast 0x5F cast 0x60 cast 0x61 cast 0x62 cast 0x63 cast 0x64 cast 0x65 cast 0x66 cast 0x67 cast 0x68 cast 0x69 cast 0x6A cast 0x6B cast 0x6C cast 0x6D cast 0x6E cast 0x6F

      cast 0x70

      cast 0x71 cast 0x72 cast 0x73 cast 0x74 cast 0x75 cast 0x76 cast 0x77 cast 0x78 cast 0x79 cast 0x7A cast 0x7F cast 0x40000039 cast 0x4000003A cast 0x4000003B cast 0x4000003C cast 0x4000003D cast 0x4000003E cast 0x4000003F cast 0x40000040 cast 0x40000041 cast 0x40000042 cast 0x40000043 cast 0x40000044 cast 0x40000045 cast 0x40000046 cast 0x40000047 cast 0x40000048 cast 0x40000049 cast 0x4000004A cast 0x4000004B cast 0x4000004D cast 0x4000004E cast 0x4000004F cast 0x40000050 cast 0x40000051 cast 0x40000052 cast 0x40000053 cast 0x40000054 cast 0x40000055 cast 0x40000056 cast 0x40000057 cast 0x40000058 cast 0x40000059 cast 0x4000005A cast 0x4000005B cast 0x4000005C cast 0x4000005D cast 0x4000005E cast 0x4000005F cast 0x40000060 cast 0x40000061 cast 0x40000062 cast 0x40000063 cast 0x40000065 cast 0x40000066 cast 0x40000067 cast 0x40000068 cast 0x40000069 cast 0x4000006A cast 0x4000006B cast 0x4000006C cast 0x4000006D cast 0x4000006E cast 0x4000006F cast 0x40000070 cast 0x40000071 cast 0x40000072 cast 0x40000073 cast 0x40000074 cast 0x40000075 cast 0x40000076 cast 0x40000078 cast 0x40000079 cast 0x4000007A cast 0x4000007B cast 0x4000007C cast 0x4000007D cast 0x4000007E cast 0x4000007F cast 0x40000080 cast 0x40000081 cast 0x40000085 cast 0x40000099 cast 0x4000009A cast 0x4000009B cast 0x4000009C cast 0x4000009D cast 0x4000009E cast 0x4000009F cast 0x400000A0 cast 0x400000A1 cast 0x400000A2 cast 0x400000A3 cast 0x400000A4 cast 0x400000B0 cast 0x400000B1 cast 0x400000B2 cast 0x400000B3 cast 0x400000B4 cast 0x400000B5 cast 0x400000B6 cast 0x400000B7 cast 0x400000B8 cast 0x400000B9 cast 0x400000BA cast 0x400000BB cast 0x400000BC cast 0x400000BD cast 0x400000BE cast 0x400000BF cast 0x400000C0 cast 0x400000C1 cast 0x400000C2 cast 0x400000C3 cast 0x400000C4 cast 0x400000C5 cast 0x400000C6 cast 0x400000C7 cast 0x400000C8 cast 0x400000C9 cast 0x400000CA cast 0x400000CB cast 0x400000CC cast 0x400000CD cast 0x400000CE cast 0x400000CF cast 0x400000D0 cast 0x400000D1 cast 0x400000D2 cast 0x400000D3 cast 0x400000D4 cast 0x400000D5 cast 0x400000D6 cast 0x400000D7 cast 0x400000D8 cast 0x400000D9 cast 0x400000DA cast 0x400000DB cast 0x400000DC cast 0x400000DD cast 0x400000E0 cast 0x400000E1 cast 0x400000E2 cast 0x400000E3 cast 0x400000E4 cast 0x400000E5 cast 0x400000E6 cast 0x400000E7 cast 0x40000101 cast 0x40000102 cast 0x40000103 cast 0x40000104 cast 0x40000105 cast 0x40000106 cast 0x40000107 cast 0x40000108 cast 0x40000109 cast 0x4000010A cast 0x4000010B cast 0x4000010C cast 0x4000010D cast 0x4000010E cast 0x4000010F cast 0x40000110 cast 0x40000111 cast 0x40000112 cast 0x40000113 cast 0x40000114 cast 0x40000115 cast 0x40000116 cast 0x40000117 cast 0x40000118 cast 0x40000119 cast 0x4000011A B]]> = B]]> A + B lime._internal.backend.native.NativeCFFI
      0x0000 0x0001 0x0002 0x0040 0x0080 0x0100 0x0200 0x0400 0x0800 0x1000 0x2000 0x4000 (0x0040 | 0x0080) (0x001 | 0x0002) (0x0100 | 0x0200) (0x0400 | 0x0800) 0x0000 0x0001 0x0002 0x0040 0x0080 0x0100 0x0200 0x0400 0x0800 0x1000 0x2000 0x4000 (0x0040 | 0x0080) (0x001 | 0x0002) (0x0100 | 0x0200) (0x0400 | 0x0800) cast 0 cast 1 cast 2 cast 0 cast 1 cast 2 lime._internal.backend.native.NativeCFFI lime.ui.KeyCode cast 0 cast 42 cast 43 cast 40 cast 41 cast 44 cast 52 cast 54 cast 45 cast 55 cast 56 cast 39 cast 30 cast 31 cast 32 cast 33 cast 34 cast 35 cast 36 cast 37 cast 38 cast 51 cast 46 cast 47 cast 49 cast 48 cast 53 cast 4 cast 5 cast 6 cast 7 cast 8 cast 9 cast 10 cast 11 cast 12 cast 13 cast 14 cast 15 cast 16 cast 17 cast 18

      cast 19

      cast 20 cast 21 cast 22 cast 23 cast 24 cast 25 cast 26 cast 27 cast 28 cast 29 cast 76 cast 57 cast 58 cast 59 cast 60 cast 61 cast 62 cast 63 cast 64 cast 65 cast 66 cast 67 cast 68 cast 69 cast 70 cast 71 cast 72 cast 73 cast 74 cast 75 cast 77 cast 78 cast 79 cast 80 cast 81 cast 82 cast 83 cast 84 cast 85 cast 86 cast 87 cast 88 cast 89 cast 90 cast 91 cast 92 cast 93 cast 94 cast 95 cast 96 cast 97 cast 98 cast 99 cast 101 cast 102 cast 103 cast 104 cast 105 cast 106 cast 107 cast 108 cast 109 cast 110 cast 111 cast 112 cast 113 cast 114 cast 115 cast 116 cast 117 cast 118 cast 120 cast 121 cast 122 cast 123 cast 124 cast 125 cast 126 cast 127 cast 128 cast 129 cast 133 cast 153 cast 154 cast 155 cast 156 cast 157 cast 158 cast 159 cast 160 cast 161 cast 162 cast 163 cast 164 cast 176 cast 177 cast 178 cast 179 cast 180 cast 181 cast 182 cast 183 cast 184 cast 185 cast 186 cast 187 cast 188 cast 189 cast 190 cast 191 cast 192 cast 193 cast 194 cast 195 cast 196 cast 197 cast 198 cast 199 cast 200 cast 201 cast 202 cast 203 cast 204 cast 205 cast 206 cast 207 cast 208 cast 209 cast 210 cast 211 cast 212 cast 213 cast 214 cast 215 cast 216 cast 217 cast 218 cast 219 cast 220 cast 221 cast 224 cast 225 cast 226 cast 227 cast 228 cast 229 cast 230 cast 231 cast 257 cast 258 cast 259 cast 260 cast 261 cast 262 cast 263 cast 264 cast 265 cast 266 cast 267 cast 268 cast 269 cast 270 cast 271 cast 272 cast 273 cast 274 cast 275 cast 276 cast 277 cast 278 cast 279 cast 280 cast 281 cast 282 B]]> = B]]> A + B lime.ui.KeyCode lime._internal.backend.native.NativeCFFI
      cast 0 cast 42 cast 43 cast 40 cast 41 cast 44 cast 52 cast 54 cast 45 cast 55 cast 56 cast 39 cast 30 cast 31 cast 32 cast 33 cast 34 cast 35 cast 36 cast 37 cast 38 cast 51 cast 46 cast 47 cast 49 cast 48 cast 53 cast 4 cast 5 cast 6 cast 7 cast 8 cast 9 cast 10 cast 11 cast 12 cast 13 cast 14 cast 15 cast 16 cast 17 cast 18

      cast 19

      cast 20 cast 21 cast 22 cast 23 cast 24 cast 25 cast 26 cast 27 cast 28 cast 29 cast 76 cast 57 cast 58 cast 59 cast 60 cast 61 cast 62 cast 63 cast 64 cast 65 cast 66 cast 67 cast 68 cast 69 cast 70 cast 71 cast 72 cast 73 cast 74 cast 75 cast 77 cast 78 cast 79 cast 80 cast 81 cast 82 cast 83 cast 84 cast 85 cast 86 cast 87 cast 88 cast 89 cast 90 cast 91 cast 92 cast 93 cast 94 cast 95 cast 96 cast 97 cast 98 cast 99 cast 101 cast 102 cast 103 cast 104 cast 105 cast 106 cast 107 cast 108 cast 109 cast 110 cast 111 cast 112 cast 113 cast 114 cast 115 cast 116 cast 117 cast 118 cast 120 cast 121 cast 122 cast 123 cast 124 cast 125 cast 126 cast 127 cast 128 cast 129 cast 133 cast 153 cast 154 cast 155 cast 156 cast 157 cast 158 cast 159 cast 160 cast 161 cast 162 cast 163 cast 164 cast 176 cast 177 cast 178 cast 179 cast 180 cast 181 cast 182 cast 183 cast 184 cast 185 cast 186 cast 187 cast 188 cast 189 cast 190 cast 191 cast 192 cast 193 cast 194 cast 195 cast 196 cast 197 cast 198 cast 199 cast 200 cast 201 cast 202 cast 203 cast 204 cast 205 cast 206 cast 207 cast 208 cast 209 cast 210 cast 211 cast 212 cast 213 cast 214 cast 215 cast 216 cast 217 cast 218 cast 219 cast 220 cast 221 cast 224 cast 225 cast 226 cast 227 cast 228 cast 229 cast 230 cast 231 cast 257 cast 258 cast 259 cast 260 cast 261 cast 262 cast 263 cast 264 cast 265 cast 266 cast 267 cast 268 cast 269 cast 270 cast 271 cast 272 cast 273 cast 274 cast 275 cast 276 cast 277 cast 278 cast 279 cast 280 cast 281 cast 282 B]]> = B]]> A + B lime.ui.KeyCode lime._internal.backend.native.NativeCFFI
      ()]]> ()]]> ()]]> ()]]> "tags=\"haxe,release\"" * The current frame rate (measured in frames-per-second) of the window. * * On some platforms, a frame rate of 60 or greater may imply vsync, which will * perform more quickly on displays with a higher refresh rate ()]]> ()]]> ()]]> ()]]> ()]]> ()]]> ()]]> ()]]> ()]]> KeyModifier>()]]> KeyModifier>()]]> ()]]> ()]]> ()]]> Float -> MouseButton>()]]> Float>()]]> Float>()]]> Float -> Int>()]]> Float -> MouseWheelMode>()]]> Float>()]]> ()]]> ()]]> ()]]> Int>()]]> ()]]> Int -> Int>()]]> ()]]> <c path="String"/> <__attributes> <__backend> <__borderless> <__fullscreen> <__height> <__hidden> <__maximized> <__minimized> <__resizable> <__scale> <__title> <__width> <__x> <__y> { title : null, message : null } { rect : null } "tags=\"haxe,release\"" <x path="Null"><c path="String"/></x> <meta><m n=":optional"/></meta> <_new public="1" get="inline" set="null" line="21" static="1"> { end : null } <_new public="1" get="inline" set="null" line="21" static="1"> { end : null } hide cast 0 cast 1 cast 2 cast 3 cast 4 cast 5 cast 6 cast 7 cast 8 cast 9 cast 0 cast 1 cast 2 cast 3 cast 4 cast 5 cast 6 cast 7 cast 8 cast 9 hide <__extractBundle set="method" line="56" static="1"> "tags=\"haxe,release\"" true { prefix : null } "tags=\"haxe,release\"" { rootPath : null } { rootPath : null } { rootPath : null } { rootPath : null } { rootPath : null } <__resolvePath set="method" line="149" static="1"> <__resolveRootPath set="method" line="189" static="1"> "tags=\"haxe,release\"" cast "BINARY" cast "FONT" cast "IMAGE" cast "MANIFEST" cast "MUSIC" cast "SOUND" cast "TEXT" cast "BINARY" cast "FONT" cast "IMAGE" cast "MANIFEST" cast "MUSIC" cast "SOUND" cast "TEXT" new AssetCache() ()]]> ()]]> ()]]> ()]]> { type : null } * Gets an instance of a cached or embedded asset * @usage var sound = Assets.getAsset("sound.wav", SOUND); * @param id The ID or asset path for the asset * @return An Asset object, or null. { useCache : true } * Gets an instance of an embedded sound * @usage var sound = Assets.getAudioBuffer ("sound.wav"); * @param id The ID or asset path for the sound * @return A new Sound object * Gets an instance of an embedded binary asset * @usage var bytes = Assets.getBytes("file.zip"); * @param id The ID or asset path for the file * @return A new Bytes object { useCache : true } * Gets an instance of an embedded font * @usage var fontName = Assets.getFont("font.ttf").fontName; * @param id The ID or asset path for the font * @return A new Font object { useCache : true } * Gets an instance of an embedded bitmap * @usage var bitmap = new Bitmap(Assets.getBitmapData("image.jpg")); * @param id The ID or asset path for the bitmap * @param useCache (Optional) Whether to use BitmapData from the cache(Default: true) * @return A new BitmapData object * Gets the file path (if available) for an asset * @usage var path = Assets.getPath("image.jpg"); * @param id The ID or asset path for the asset * @return The path to the asset (or null) * Gets an instance of an embedded text asset * @usage var text = Assets.getText("text.txt"); * @param id The ID or asset path for the file * @return A new String object { useCache : true, type : null } { type : null } { useCache : true } { useCache : true } { useCache : true } <__cacheBreak set="method" line="537" static="1"> <__libraryNotFound set="method" line="556" static="1"> The Assets class provides a cross-platform interface to access * embedded images, fonts, sounds and other resource files.

      * *

      The contents are populated automatically when an application * is compiled using the Lime command-line tools, based on the * contents of the project file.

      * *

      For most platforms, the assets are included in the same directory * or package as the application, and the paths are handled * automatically. For web content, the assets are preloaded before * the start of the rest of the application.

      ]]>
      "tags=\"haxe,release\"" lime.utils.AssetLibrary
      "tags=\"haxe,release\"" haxe.io.Bytes lime.utils.BytePointerData <_new public="1" get="inline" set="null" line="13" static="1"> { offset : 0, bytes : null } <__arrayGet get="inline" set="null" line="47" static="1"> <__arraySet get="inline" set="null" line="52" static="1"> lime.utils.BytePointerData haxe.io.Bytes <_new public="1" get="inline" set="null" line="13" static="1"> { offset : 0, bytes : null } <__arrayGet get="inline" set="null" line="47" static="1"> <__arraySet get="inline" set="null" line="52" static="1"> lime.utils.BytePointerData haxe.io.Bytes haxe.io.Bytes lime._internal.backend.native.NativeCFFI <_new public="1" set="method" line="19" static="1"> <__fromNativePointer public="1" set="method" line="132" static="1"> lime._internal.backend.native.NativeCFFI haxe.io.Bytes <_new public="1" set="method" line="19" static="1"> <__fromNativePointer public="1" set="method" line="132" static="1"> lime._internal.backend.native.NativeCFFI haxe.io.Bytes lime._internal.backend.native.NativeCFFI haxe.io.Bytes <_new set="method" line="21" static="1"> <__withOffset set="method" line="151" static="1"> A == B A == B B]]> B]]> = B]]> = B]]> A != B A != B A + B A + B A - B A - B haxe.io.Bytes lime._internal.backend.native.NativeCFFI <_new set="method" line="21" static="1"> <__withOffset set="method" line="151" static="1"> A == B A == B B]]> B]]> = B]]> = B]]> A != B A != B A + B A + B A - B A - B haxe.io.Bytes lime._internal.backend.native.NativeCFFI 4 <_new public="1" params="T" get="inline" set="null" line="103" static="1"> { byteoffset : 0 } { end : null } { byteOffset : 0 } 4 <_new public="1" params="T" get="inline" set="null" line="103" static="1"> { byteoffset : 0 } { end : null } { byteOffset : 0 } 8 <_new public="1" params="T" get="inline" set="null" line="100" static="1"> { byteoffset : 0 } { end : null } { byteOffset : 0 } 8 <_new public="1" params="T" get="inline" set="null" line="100" static="1"> { byteoffset : 0 } { end : null } { byteOffset : 0 } 2 <_new public="1" params="T" get="inline" set="null" line="100" static="1"> { byteoffset : 0 } { end : null } { byteOffset : 0 } 2 <_new public="1" params="T" get="inline" set="null" line="100" static="1"> { byteoffset : 0 } { end : null } { byteOffset : 0 } 4 <_new public="1" params="T" get="inline" set="null" line="100" static="1"> { byteoffset : 0 } { end : null } { byteOffset : 0 } 4 <_new public="1" params="T" get="inline" set="null" line="100" static="1"> { byteoffset : 0 } { end : null } { byteOffset : 0 } 1 <_new public="1" params="T" get="inline" set="null" line="98" static="1"> { byteoffset : 0 } { end : null } { byteOffset : 0 } 1 <_new public="1" params="T" get="inline" set="null" line="98" static="1"> { byteoffset : 0 } { end : null } { byteOffset : 0 } "tags=\"haxe,release\"" cast 0 cast 1 cast 2 cast 3 cast 4 cast 5 B]]> = B]]> cast 0 cast 1 cast 2 cast 3 cast 4 cast 5 B]]> = B]]> ()]]> Int>()]]> ()]]> ()]]> ()]]> { name : null } lime.utils.AssetLibrary "tags=\"haxe,release\"" <_new public="1" set="method" line="8" static="1"> { size : 0 } <__fromString get="inline" set="null" line="14" static="1"> <__toString get="inline" set="null" line="19" static="1"> <_new public="1" set="method" line="8" static="1"> { size : 0 } <__fromString get="inline" set="null" line="14" static="1"> <__toString get="inline" set="null" line="19" static="1"> 2 <_new public="1" params="T" get="inline" set="null" line="100" static="1"> { byteoffset : 0 } { end : null } { byteOffset : 0 } 2 <_new public="1" params="T" get="inline" set="null" line="100" static="1"> { byteoffset : 0 } { end : null } { byteOffset : 0 } 4 <_new public="1" params="T" get="inline" set="null" line="100" static="1"> { byteoffset : 0 } { end : null } { byteOffset : 0 } 4 <_new public="1" params="T" get="inline" set="null" line="100" static="1"> { byteoffset : 0 } { end : null } { byteOffset : 0 } 1 <_new public="1" params="T" get="inline" set="null" line="98" static="1"> { byteoffset : 0 } { end : null } { byteOffset : 0 } 1 <_new public="1" params="T" get="inline" set="null" line="98" static="1"> { byteoffset : 0 } { end : null } { byteOffset : 0 } 1 <_new public="1" params="T" get="inline" set="null" line="110" static="1"> { byteoffset : 0 } { end : null } { byteOffset : 0 } 1 <_new public="1" params="T" get="inline" set="null" line="110" static="1"> { byteoffset : 0 } { end : null } { byteOffset : 0 } Base class for any AST item. Roughly corresponds to Node in the DOM. Will be either an ElementNode or TextNode. Called when a TextNode has been reached. Called when an ElementNode has been reached, before its children have been visited. Return `false` to skip its children. Called when an ElementNode has been reached, after its children have been visited. Will not be called if [visitElementBefore] returns `false`. Visitor pattern for the AST. Renderers or other AST transformers should implement this. A named tag that can contain other nodes. A plain text element. Maintains the internal state needed to parse a series of lines into blocks of markdown suitable for further inline parsing. new EReg("^([ \\t]*)$", "") The line contains only whitespace or is empty. new EReg("^((=+)|(-+))$", "") A series of `=` or `-` (on the next line) define setext-style headers. new EReg("^(#{1,6})(.*?)( +#* *)?$", "") Leading (and trailing) `#` define atx-style headers. [ ]?(.*)$", "")]]> ` with one optional space after.]]> new EReg("^(?: |\t)(.*)$", "") A line indented four spaces. Used for code blocks and lists. new EReg("^```(\\w*)\\s*$", "") GitHub style triple quoted code block. new EReg("^[ ]{0,3}((-+[ ]{0,2}){3,}|(_+[ ]{0,2}){3,}|(\\*+[ ]{0,2}){3,})$", "") Three or more hyphens, asterisks or underscores by themselves. Note that a line like `----` is valid as both HR and SETEXT. In case of a tie, SETEXT should win. ]", "")]]> new EReg("^[ ]{0,3}[*+-][ \\t]+(.*)$", "") A line starting with one of these markers: `-`, `*`, `+`. May have up to three leading spaces before the marker and any number of spaces or tabs after. new EReg("^[ ]{0,3}\\d+\\.[ \\t]+(.*)$", "") A line starting with a number like `123.`. May have up to three leading spaces before the marker and any number of spaces or tabs after. Gets the collection of built-in block parsers. To turn a series of lines into blocks, each of these will be tried in turn. Order matters here. Gets whether or not [parser]'s current line should end the previous block. Gets the regex used to identify the beginning of this block, if any. Parses setext-style headers. Parses atx-style headers: `## Header ##`. false new EReg("^(.+?:?\\|:?)+(.+)$", "") new EReg("(\\|)?([^\\|]+)(\\|)?", "g") new EReg("blockquote|h1|h2|h3|h4|h5|h6|hr|p|pre", "") ["src", "alt"] Translates a parsed AST to HTML. Represents one kind of markdown tag that can be parsed. Matches autolinks like `http://foo.com`. Matches stuff that should just be passed through as straight text. `.]]> `. Allows nested tags.]]> "\\](?:(" + "\\s?\\[([^\\]]*)\\]" + "|" + "\\s?\\(([^ )]+)(?:[ ]*\"([^\"]+)\"|)\\)" + ")|)" Matches inline links like `[blah] [id]` and `[blah] (url)`. "\\](?:(" + "\\s?\\[([^\\]]*)\\]" + "|" + "\\s?\\(([^ )]+)(?:[ ]*\"([^\"]+)\"|)\\)" + ")|)" Matches inline links like `[blah] [id]` and `[blah] (url)`. \n"), new TextSyntax("\\s*[A-Za-z0-9]+"), new AutolinkSyntax(), new LinkSyntax(), new ImgSyntax(), new TextSyntax(" \\* "), new TextSyntax(" _ "), new TextSyntax("&[#a-zA-Z0-9]*;"), new TextSyntax("&", "&"), new TextSyntax("<(?:!--[ ]*|/)?\\w+.*?>"), new TextSyntax("<", "<"), new TagSyntax("\\*\\*", "strong"), new TagSyntax("__", "strong"), new TagSyntax("\\*", "em"), new TagSyntax("\\b_", "em", "_\\b"), new CodeSyntax("``\\s?((?:.|\\n)*?)\\s?``"), new CodeSyntax("`([^`]*)`")]]]> 0 0 Maintains the internal state needed to parse inline span elements in markdown. <__lastTimerID expr="0" line="29" static="1"> 0 <__sentWarnings expr="new Map()" line="30" static="1"> new Map() <__timers expr="new Map()" line="31" static="1"> new Map() <__registeredClassAliases expr="new Map()" line="32" static="1"> new Map() Cancels a specified `setInterval()` call. @param id The ID of the `setInterval()` call, which you set to a variable, as in the following: Cancels a specified `setTimeout()` call. @param id The ID of the `setTimeout()` call, which you set to a variable, as in the following Returns a reference to the class object of the class specified by the `name` parameter. @param name The name of a class. @returns Returns a reference to the class object of the class specified by the `name` parameter. @throws ReferenceError No public definition exists with the specified name. Returns the fully qualified class name of an object. @param value The object for which a fully qualified class name is desired. Any ActionScript value may be passed to this method including all available ActionScript types, object instances, primitive types such as uint, and class objects. @returns String A string containing the fully qualified class name. Returns the fully qualified class name of the base class of the object specified by the value parameter. This function provides a quicker way of retrieving the base class name than `describeType()`, but also doesn't provide all the information `describeType()` does. After you retrieve the name of a class with this function, you can convert the class name to a class reference with the `getDefinitionByName()` function. **Note:** This function restricts itself to instance hierarchies, whereas the `describeType()` function uses class object hierarchies if the value parameter is a data type. Calling `describeType()` on a data type returns the superclass based on the class object hierarchy, in which all class objects inherit from Class. The `getQualifiedSuperclassName()` function, however, ignores the class object hierarchy and returns the superclass based on the more familiar instance hierarchy. For example, calling `getQualifiedSuperclassName(String)` returns Object although technically the String class object inherits from Class. In other words, the results are the same whether you use an instance of a type or the type itself. @param value Any value. @returns A fully qualified base class name, or null if none exists. Used to compute relative time. For a Flash runtime processing ActionScript 3.0, this method returns the number of milliseconds that have elapsed since the Flash runtime virtual machine for ActionScript 3.0 (AVM2) started. For a Flash runtime processing ActionScript 2.0, this method returns the number of milliseconds since the Flash runtime began initialization. Flash runtimes use two virtual machines to process ActionScript. AVM1 is the ActionScript virtual machine used to run ActionScript 1.0 and 2.0. AVM2 is the ActionScript virtual machine used to run ActionScript 3.0. The getTimer() method behavior for AVM1 is different than the behavior for AVM2. For a calendar date (timestamp), see the Date object. @returns The number of milliseconds since the runtime was initialized (while processing ActionScript 2.0), or since the virtual machine started (while processing ActionScript 3.0). If the runtime starts playing one SWF file, and another SWF file is loaded later, the return value is relative to when the first SWF file was loaded. { target : null } { window : null } = 4096) { return (false); } return (true); } ``` For local content running in a browser, calls to the `navigateToURL()` method that specify a "javascript:" pseudo-protocol (via a URLRequest object passed as the first parameter) are only permitted if the SWF file and the containing web page (if there is one) are in the local-trusted security sandbox. Some browsers do not support using the javascript protocol with the `navigateToURL()` method. Instead, consider using the `call()` method of the ExternalInterface API to invoke JavaScript methods within the enclosing HTML page. In Flash Player, and in non-application sandboxes in Adobe AIR, you cannot connect to commonly reserved ports. For a complete list of blocked ports, see "Restricting Networking APIs" in the ActionScript 3.0 Developer's Guide. In Flash Player 10 and later running in a browser, using this method programmatically to open a pop-up window may not be successful. Various browsers (and browser configurations) may block pop-up windows at any time; it is not possible to guarantee any pop-up window will appear. However, for the best chance of success, use this method to open a pop-up window only in code that executes as a direct result of a user action (for example, in an event handler for a mouse click or key-press event.) In Flash Player 10 and later, if you use a multipart Content-Type (for example "multipart/form-data") that contains an upload (indicated by a "filename" parameter in a "content-disposition" header within the POST body), the POST operation is subject to the security rules applied to uploads: * The POST operation must be performed in response to a user-initiated action, such as a mouse click or key press. * If the POST operation is cross-domain (the POST target is not on the same server as the SWF file that is sending the POST request), the target server must provide a URL policy file that permits cross-domain access. Also, for any multipart Content-Type, the syntax must be valid (according to the RFC2046 standards). If the syntax appears to be invalid, the POST operation is subject to the security rules applied to uploads. In AIR, on mobile platforms, the sms: and tel: URI schemes are supported. On Android, vipaccess:, connectpro:, and market: URI schemes are supported. The URL syntax is subject to the platform conventions. For example, on Android, the URI scheme must be lower case. When you navigate to a URL using one of these schemes, the runtime opens the URL in the default application for handling the scheme. Thus, navigating to tel:+5555555555 opens the phone dialer with the specified number already entered. A separate application or utility, such as a phone dialer must be available to process the URL. The following code shows how you can invoke the VIP Access and Connect Pro applications on Android: ```as3 //Invoke the VIP Access Application. navigateToURL(new URLRequest("vipaccess://com.verisign.mvip.main?action=securitycode")); //Invoke the Connect Pro Application. navigateToURL(new URLRequest("connectpro://")); ``` @param request A URLRequest object that specifies the URL to navigate to. For content running in Adobe AIR, when using the `navigateToURL()` function, the runtime treats a URLRequest that uses the POST method (one that has its method property set to `URLRequestMethod.POST`) as using the GET method. @param window The browser window or HTML frame in which to display the document indicated by the request parameter. You can enter the name of a specific window or use one of the following values: * `"_self"` specifies the current frame in the current window. * `"_blank"` specifies a new window. * `"_parent"` specifies the parent of the current frame. * `"_top"` specifies the top-level frame in the current window. If you do not specify a value for this parameter, a new empty window is created. In the stand-alone player, you can either specify a new ("_blank") window or a named window. The other values don't apply. **Note:** When code in a SWF file that is running in the local-with-filesystem sandbox calls the `navigateToURL()` function and specifies a custom window name for the window parameter, the window name is transfered into a random name. The name is in the form "_flashXXXXXXXX", where each X represents a random hexadecimal digit. Within the same session (until you close the containing browser window), if you call the function again and specify the same name for the window parameter, the same random string is used. @throws IOError The digest property of the request object is not null. You should only set the digest property of a URLRequest object for use calling the `URLLoader.load()` method when loading a SWZ file (an Adobe platform component). @throws SecurityError In Flash Player (and in non-application sandbox content in Adobe AIR), this error is thrown in the following situations: * Local untrusted SWF files may not communicate with the Internet. You can avoid this situation by reclassifying this SWF file as local-with-networking or trusted. * A navigate operation attempted to evaluate a scripting pseudo-URL, but the containing document (usually an HTML document in a browser) is from a sandbox to which you do not have access. You can avoid this situation by specifying `allowScriptAccess="always"` in the containing document. * You cannot navigate the special windows "_self", "_top", or "_parent" if your SWF file is contained by an HTML page that has set the allowScriptAccess to "none", or to "sameDomain" when the domains of the HTML file and the SWF file do not match. * You cannot navigate a window with a nondefault name from within a SWF file that is in the local-with-filesystem sandbox. * You cannot connect to commonly reserved ports. For a complete list of blocked ports, see "Restricting Networking APIs" in the ActionScript 3.0 Developer's Guide. @throws Error If the method is not called in response to a user action, such as a mouse event or keypress event. This requirement only applies to content in Flash Player and to non-application sandbox content in Adobe AIR.]]> Sends a URL request to a server, but ignores any response. To examine the server response, use the `URLLoader.load()` method instead. You cannot connect to commonly reserved ports. For a complete list of blocked ports, see "Restricting Networking APIs" in the ActionScript 3.0 Developer's Guide. You can prevent a SWF file from using this method by setting the `allowNetworking` parameter of the the object and embed tags in the HTML page that contains the SWF content. In Flash Player 10 and later, if you use a multipart Content-Type (for example "multipart/form-data") that contains an upload (indicated by a "filename" parameter in a "content-disposition" header within the POST body), the POST operation is subject to the security rules applied to uploads: * The POST operation must be performed in response to a user-initiated action, such as a mouse click or key press. * If the POST operation is cross-domain (the POST target is not on the same server as the SWF file that is sending the POST request), the target server must provide a URL policy file that permits cross-domain access. Also, for any multipart Content-Type, the syntax must be valid (according to the RFC2046 standards). If the syntax appears to be invalid, the POST operation is subject to the security rules applied to uploads. For more information related to security, see the Flash Player Developer Center Topic: Security. @param request A URLRequest object specifying the URL to send data to. @throws SecurityError Local untrusted SWF files cannot communicate with the Internet. You can avoid this situation by reclassifying this SWF file as local-with-networking or trusted. @throws SecurityError You cannot connect to commonly reserved ports. For a complete list of blocked ports, see "Restricting Networking APIs" in the ActionScript 3.0 Developer's Guide. { args : null } Runs a function at a specified interval (in milliseconds). Instead of using the `setInterval()` method, consider creating a Timer object, with the specified interval, using 0 as the `repeatCount` parameter (which sets the timer to repeat indefinitely). If you intend to use the `clearInterval()` method to cancel the `setInterval()` call, be sure to assign the `setInterval()` call to a variable (which the `clearInterval()` function will later reference). If you do not call the `clearInterval()` function to cancel the `setInterval()` call, the object containing the set timeout closure function will not be garbage collected. @param closure The name of the function to execute. Do not include quotation marks or parentheses, and do not specify parameters of the function to call. For example, use `functionName`, not `functionName()` or `functionName(param)`. @param delay The interval, in milliseconds. @param args An optional list of arguments that are passed to the closure function. @returns Unique numeric identifier for the timed process. Use this identifier to cancel the process, by calling the `clearInterval()` method. { args : null } Runs a specified function after a specified delay (in milliseconds). Instead of using this method, consider creating a Timer object, with the specified interval, using 1 as the `repeatCount` parameter (which sets the timer to run only once). If you intend to use the `clearTimeout()` method to cancel the `setTimeout()` call, be sure to assign the `setTimeout()` call to a variable (which the `clearTimeout()` function will later reference). If you do not call the `clearTimeout()` function to cancel the `setTimeout()` call, the object containing the set timeout closure function will not be garbage collected. @param closure The name of the function to execute. Do not include quotation marks or parentheses, and do not specify parameters of the function to call. For example, use `functionName`, not `functionName()` or `functionName(param)`. @param delay The delay, in milliseconds, until the function is executed. @param args An optional list of arguments that are passed to the closure function. @returns Unique numeric identifier for the timed process. Use this identifier to cancel the process, by calling the `clearTimeout()` method. Determines whether the specified string is a valid name for an XML element or attribute. Looks up a class that previously had an alias registered through a call to the `registerClassAlias()` method. This method does not interact with `getDefinitionByName()` method. Preserves the class (type) of an object when the object is encoded in Action Message Format (AMF). When you encode an object into AMF, this function saves the alias for its class, so that you can recover the class when decoding the object. If the encoding context did not register an alias for an object's class, the object is encoded as an anonymous object. Similarly, if the decoding context does not have the same alias registered, an anonymous object is created for the decoded data. LocalConnection, ByteArray, SharedObject, NetConnection and NetStream are all examples of classes that encode objects in AMF. The encoding and decoding contexts do not need to use the same class for an alias; they can intentionally change classes, provided that the destination class contains all of the members that the source class serializes. "tags=\"haxe,release\"" openfl.display.Stage `), as shown in this example: In the first line of the example, the variable `v` is declared as a Vector. instance. In other words, it represents a Vector (an array) that can only hold String instances and from which only String instances can be retrieved. The second line constructs an instance of the same Vector type (that is, a Vector whose elements are all String objects) and assigns it to `v`. ```as3 var v:Vector.; v = new Vector.(); ``` A variable declared with the Vector. data type can only store a Vector instance that is constructed with the same base type T. For example, a Vector that's constructed by calling `new Vector.()` can't be assigned to a variable that's declared with the Vector. data type. The base types must match exactly. For example, the following code doesn't compile because the object's base type isn't the same as the variable's declared base type (even though Sprite is a subclass of DisplayObject): ```haxe // This code doesn't compile even though Sprite is a DisplayObject subclass var v:Vector. = new Vector.(); ``` To convert a Vector with base type T to a Vector of a superclass of T, use the `Vector()` global function. In addition to the data type restriction, the Vector class has other restrictions that distinguish it from the Array class: * A Vector is a dense array. Unlike an Array, which may have values in indices 0 and 7 even if there are no values in positions 1 through 6, a Vector must have a value (or null) in each index. * A Vector can optionally be fixed-length, meaning the number of elements it contains can't change. * Access to a Vector's elements is bounds-checked. You can never read a value from an index greater than the final element (length - 1). You can never set a value with an index more than one beyond the current final index (in other words, you can only set a value at an existing index or at index [length]). As a result of its restrictions, a Vector has three primary benefits over an Array instance whose elements are all instances of a single class: * Performance: array element access and iteration are much faster when using a Vector instance than they are when using an Array. * Type safety: in strict mode the compiler can identify data type errors. Examples of data type errors include assigning a value of the incorrect data type to a Vector or expecting the wrong data type when reading a value from a Vector. Note, however, that when using the push() method or unshift() method to add values to a Vector, the arguments' data types are not checked at compile time. Instead, they are checked at run time. * Reliability: runtime range checking (or fixed-length checking) increases reliability significantly over Arrays.]]> T Indicates whether the `length` property of the Vector can be changed. If the value is `true`, the `length` property can't be changed. This means the following operations are not allowed when `fixed` is `true`: * setting the `length` property directly * assigning a value to index position length * calling a method that changes the `length` property, including: * `pop()` * `push()` * `shift()` * `unshift()` * `splice()` (if the `splice()` call changes the length of the Vector). The range of valid indices available in the Vector. A Vector instance has index positions up to but not including the length value. Every Vector element always has a value that is either an instance of the base type or `null`. When the `length` property is set to a value that's larger than its previous value, additional elements are created and populated with the default value appropriate to the base type (`null` for reference types). When the `length` property is set to a value that's smaller than its previous value, all the elements at index positions greater than or equal to the new length value are removed from the Vector. { vec : null } Concatenates the Vectors specified in the parameters list with the elements in this Vector and creates a new Vector. The Vectors in the parameters list must have the same base type, or subtype, as this Vector. If you do not pass any parameters, the returned Vector is a duplicate (shallow clone) of the original Vector. @param vec A Vector of the base type, or subtype, of this Vector. @return A Vector with the same base type as this Vector that contains the elements from this Vector followed by elements from the Vector in the parameter list. @throws TypeError If any argument is not a Vector of the base type, or cannot be converted to a Vector of the base type. Creates a new shallow clone of the current Vector object @return A new Vector object ):Bool { // your code here } ``` The callback function should return a Boolean value. @param thisObject The object that the identifer this in the callback function refers to when the function is called. ***Ignored on targets other than neko and js. @return A Boolean value of true if the specified function returns true when called on all items in the Vector; otherwise, false.]]> Executes a test function on each item in the Vector and returns a new Vector containing all items that return true for the specified function. If an item returns false, it is not included in the result Vector. The base type of the return Vector matches the base type of the Vector on which the method is called. @param callback The function to run on each item in the Vector. hide Array access { fromIndex : 0 } Searches for an item in the Vector and returns the index position of the item. The item is compared to the Vector elements using strict equality (`===`). @param searchElement The item to find in the Vector. @param fromIndex The location in the Vector from which to start searching for the item. If this parameter is negative, it is treated as `length + fromIndex`, meaning the search starts -fromIndex items from the end and searches from that position forward to the end of the Vector. @return A zero-based index position of the item in the Vector. If the `searchElement` argument is not found, the return value is -1. Insert a single element into the Vector. This method modifies the Vector without making a copy. @param index An integer that specifies the position in the Vector where the element is to be inserted. You can use a negative integer to specify a position relative to the end of the Vector (for example, -1 for the last element of the Vector). @param element The value to insert @throws RangeError If this method is called while `fixed` is `true`. hide Iterator { sep : "," } Converts the elements in the Vector to strings, inserts the specified separator between the elements, concatenates them, and returns the resulting string. A nested Vector is always separated by a comma (`,`), not by the separator passed to the `join()` method. @param sep A character or string that separates Vector elements in the returned string. If you omit this parameter, a comma is used as the default separator. @return A string consisting of the elements of the Vector converted to strings and separated by the specified string. { fromIndex : null } Searches for an item in the Vector, working backward from the specified index position, and returns the index position of the matching item. The item is compared to the Vector elements using strict equality (`===`). @param searchElement The item to find in the Vector. @param fromIndex The location in the Vector from which to start searching for the item. The default is the maximum allowable index value, meaning that the search starts at the last item in the Vector. If this parameter is negative, it is treated as `length + fromIndex`, meaning the search starts -fromIndex items from the end and searches from that position backward to index 0. @return A zero-based index position of the item in the Vector. If the `searchElement` argument is not found, the return value is -1. Removes the last element from the Vector and returns that element. The `length` property of the Vector is decreased by one when this function is called. @return The value of the last element in the specified Vector. @throws RangeError If this method is called while `fixed` is `true`. Adds one or more elements to the end of the Vector and returns the new length of the Vector. Because this function can accept multiple arguments, the data type of the arguments is not checked at compile time even in strict mode. However, if an argument is passed that is not an instance of the base type, an exception occurs at run time. @param value A value to append to the Vector. @return The length of the Vector after the new elements are added. @throws TypeError If any argument is not an instance of the base type T of the Vector. @throws RangeError If this method is called while `fixed` is `true`. Remove a single element from the Vector. This method modifies the Vector without making a copy. @param index An integer that specifies the index of the element in the Vector that is to be deleted. You can use a negative integer to specify a position relative to the end of the Vector (for example, -1 for the last element of the Vector). @return The element that was removed from the original Vector. @throws RangeError If the index argument specifies an index to be deleted that's outside the Vector's bounds. @throws RangeError If this method is called while `fixed` is `true`. Reverses the order of the elements in the Vector. This method alters the Vector on which it is called. @return The Vector with the elements in reverse order. hide Array access Removes the first element from the Vector and returns that element. The remaining Vector elements are moved from their original position, i, to i - 1. @return The first element in the Vector. @throws RangeError If `fixed` is `true`. { endIndex : null, startIndex : 0 } Returns a new Vector that consists of a range of elements from the original Vector, without modifying the original Vector. The returned Vector includes the `startIndex` element and all elements up to, but not including, the `endIndex` element. If you don't pass any parameters, the new Vector is a duplicate (shallow clone) of the original Vector. If you pass a value of 0 for both parameters, a new, empty Vector is created of the same type as the original Vector. @param startIndex A number specifying the index of the starting point for the slice. If startIndex is a negative number, the starting point begins at the end of the Vector, where -1 is the last element. @param endIndex A number specifying the index of the ending point for the slice. If you omit this parameter, the slice includes all elements from the starting point to the end of the Vector. If endIndex is a negative number, the ending point is specified from the end of the Vector, where -1 is the last element. @return A Vector that consists of a range of elements from the original Vector. ):Bool ``` The callback function should return a Boolean value. @param thisObject The object that the identifer this in the callback function refers to when the function is called. ***Ignored on targets other than neko and js. @return A Boolean value of true if any items in the Vector return true for the specified function; otherwise, false.]]> Sorts the elements in the Vector object, and also returns a sorted Vector object. This method sorts according to the parameter sortBehavior, which is either a function that compares two values, or a set of sorting options. The method takes one parameter. The parameter is one of the following: * a function that takes two arguments of the base type (T) of the Vector and returns a Number: ```as3 function compare(x:T, y:T):Number {} ``` The logic of the function is that, given two elements `x` and `y`, the function returns one of the following three values: * a negative number, if `x` should appear before `y` in the sorted sequence * 0, if `x` equals `y` * a positive number, if `x` should appear after `y` in the sorted sequence * a number which is a bitwise OR of the following values: * 1 or `Array.CASEINSENSITIVE` * 2 or `Array.DESCENDING` * 4 or `Array.UNIQUESORT` * 8 or `Array.RETURNINDEXEDARRAY` * 16 or `Array.NUMERIC` If the value is 0, the sort works in the following way: * Sorting is case-sensitive (Z precedes a). * Sorting is ascending (a precedes b). * The array is modified to reflect the sort order; multiple elements that have identical sort fields are placed consecutively in the sorted array in no particular order. * All elements, regardless of data type, are sorted as if they were strings, so 100 precedes 99, because "1" is a lower string value than "9". @param sortBehavior A Function or a Number value that determines the behavior of the sort. A Function parameter specifies a comparison method. A Number value specifies the sorting options. @return A Vector object, with elements in the new order. Adds elements to and removes elements from the Vector. This method modifies the Vector without making a copy. **Note:** To override this method in a subclass of Vector, use ...args for the parameters, as this example shows: ```as3 public override function splice(...args) { // your statements here } ``` @param startIndex:int — An integer that specifies the index of the element in the Vector where the insertion or deletion begins. You can use a negative integer to specify a position relative to the end of the Vector (for example, -1 for the last element of the Vector). @param deleteCount:uint (default = 4294967295) — An integer that specifies the number of elements to be deleted. This number includes the element specified in the startIndex parameter. If the value is 0, no elements are deleted. @param ... items — An optional list of one or more comma-separated values to insert into the Vector at the position specified in the startIndex parameter. @return a Vector containing the elements that were removed from the original Vector. @throws RangeError If the startIndex and deleteCount arguments specify an index to be deleted that's outside the Vector's bounds. @throws RangeError If this method is called while fixed is true and the splice() operation changes the length of the Vector. Returns a string that represents the elements in the Vector. Every element in the Vector, starting with index 0 and ending with the highest index, is converted to a concatenated string and separated by commas. To specify a custom separator, use the `Vector.join()` method. @return A string of Vector elements. Adds one or more elements to the beginning of the Vector and returns the new length of the Vector. The other elements in the Vector are moved from their original position, i, to i + the number of new elements. Because this function can accept multiple arguments, the data type of the arguments is not checked at compile time even in strict mode. However, if an argument is passed that is not an instance of the base type, an exception occurs at run time. @param value An instance of the base type of the Vector to be inserted at the beginning of the Vector. @return An integer representing the new length of the Vector. @throws TypeError If any argument is not an instance of the base type T of the Vector. @throws RangeError If this method is called while fixed is true. Attempts to cast a Vector to another Vector object of a similar type @param vec A Vector object to cast @return The casted Vector object "checkstyle:Dynamic" { vec : null } { from : 0 } { sep : "," } { from : null } { endIndex : null, startIndex : 0 } <__tempIndex> "checkstyle:FieldDocComment" hide <__array> <__tempIndex> { a : null } { from : 0 } { sep : "," } { from : null } { endIndex : null, startIndex : 0 } "checkstyle:Dynamic" { array : null, fixed : false, length : 0 } "tags=\"haxe,release\"" "checkstyle:FieldDocComment" hide <__array> <__tempIndex> { a : null } { from : 0 } { sep : "," } { from : null } { endIndex : null, startIndex : 0 } "checkstyle:Dynamic" { forceCopy : false, array : null, fixed : false, length : 0 } "checkstyle:Dynamic" "tags=\"haxe,release\"" "checkstyle:FieldDocComment" hide <__array> <__tempIndex> { a : null } { from : 0 } { sep : "," } { from : null } { endIndex : null, startIndex : 0 } "checkstyle:Dynamic" { array : null, fixed : false, length : 0 } "tags=\"haxe,release\"" "checkstyle:FieldDocComment" hide <__array> <__tempIndex> { a : null } { from : 0 } { sep : "," } { from : null } { endIndex : null, startIndex : 0 } "checkstyle:Dynamic" { array : null, fixed : false, length : 0 } "tags=\"haxe,release\"" "checkstyle:FieldDocComment" hide <__array> <__tempIndex> { a : null } "checkstyle:Dynamic" { from : 0 } { sep : "," } { from : null } { endIndex : null, startIndex : 0 } "checkstyle:Dynamic" { forceCopy : false, array : null, fixed : false, length : 0 } "checkstyle:Dynamic" "tags=\"haxe,release\"" "checkstyle:FieldDocComment" hide The Application class is a Lime Application instance that uses OpenFL Window by default when a new window is created. "tags=\"haxe,release\"" openfl.display.DisplayObject openfl.display.LoaderInfo openfl.display.Window "checkstyle:FieldDocComment" The BitmapData object being referenced. Controls whether or not the Bitmap object is snapped to the nearest pixel. This value is ignored in the native and HTML5 targets. The PixelSnapping class includes possible values: * `PixelSnapping.NEVER` - No pixel snapping occurs. * `PixelSnapping.ALWAYS` - The image is always snapped to the nearest pixel, independent of transformation. * `PixelSnapping.AUTO` - The image is snapped to the nearest pixel if it is drawn with no rotation or skew and it is drawn at a scale factor of 99.9% to 100.1%. If these conditions are satisfied, the bitmap image is drawn at 100% scale, snapped to the nearest pixel. When targeting Flash Player, this value allows the image to be drawn as fast as possible using the internal vector renderer. Controls whether or not the bitmap is smoothed when scaled. If `true`, the bitmap is smoothed when scaled. If `false`, the bitmap is not smoothed when scaled. <__bitmapData> <__imageVersion> <__enterFrame set="method" line="125" override="1"> <__getBounds set="method" line="133" override="1"> <__hitTest set="method" line="151" override="1"> <__hitTestMask set="method" line="179" override="1"> { smoothing : false, pixelSnapping : null, bitmapData : null } Initializes a Bitmap object to refer to the specified BitmapData object. @param bitmapData The BitmapData object being referenced. @param pixelSnapping Whether or not the Bitmap object is snapped to the nearest pixel. @param smoothing Whether or not the bitmap is smoothed when scaled. For example, the following examples show the same bitmap scaled by a factor of 3, with `smoothing` set to `false` (left) and `true` (right): ![A bitmap without smoothing.](/images/bitmap_smoothing_off.jpg) ![A bitmap with smoothing.](bitmap_smoothing_on.jpg) The Bitmap class represents display objects that represent bitmap images. These can be images that you load with the `openfl.Assets` or `openfl.display.Loader` classes, or they can be images that you create with the `Bitmap()` constructor. The `Bitmap()` constructor allows you to create a Bitmap object that contains a reference to a BitmapData object. After you create a Bitmap object, use the `addChild()` or `addChildAt()` method of the parent DisplayObjectContainer instance to place the bitmap on the display list. A Bitmap object can share its BitmapData reference among several Bitmap objects, independent of translation or rotation properties. Because you can create multiple Bitmap objects that reference the same BitmapData object, multiple display objects can use the same complex BitmapData object without incurring the memory overhead of a BitmapData object for each display object instance. A BitmapData object can be drawn to the screen by a Bitmap object in one of two ways: by using the default hardware renderer with a single hardware surface, or by using the slower software renderer when 3D acceleration is not available. If you would prefer to perform a batch rendering command, rather than using a single surface for each Bitmap object, you can also draw to the screen using the `openfl.display.Tilemap` class. **Note:** The Bitmap class is not a subclass of the InteractiveObject class, so it cannot dispatch mouse events. However, you can use the `addEventListener()` method of the display object container that contains the Bitmap object. "tags=\"haxe,release\"" openfl.display.BitmapData openfl.display.Graphics openfl.geom.ColorTransform openfl.geom.Matrix openfl.geom.Rectangle The BitmapDataChannel class is an enumeration of constant values that indicate which channel to use: red, blue, green, or alpha transparency. When you call some methods, you can use the bitwise OR operator (`|`) to combine BitmapDataChannel constants to indicate multiple color channels. The BitmapDataChannel constants are provided for use as values in the following: * The `sourceChannel` and `destChannel` parameters of the `openfl.display.BitmapData.copyChannel()` method * The `channelOptions` parameter of the `openfl.display.BitmapData.noise()` method * The `openfl.filters.DisplacementMapFilter.componentX` and `openfl.filters.DisplacementMapFilter.componentY` properties cast 8 The alpha channel. cast 4 The blue channel. cast 2 The green channel. cast 1 The red channel. cast 8 The alpha channel. cast 4 The blue channel. cast 2 The green channel. cast 1 The red channel. A class that provides constant values for visual blend mode effects. These constants are used in the following: * The `blendMode` property of the openfl.display.DisplayObject class. * The `blendMode` parameter of the `draw()` method of the openfl.display.BitmapData class hscript.UsingHandler.build() cast 0 0xFF, 0xA6 + 0x22 = 0xC8, and 0x33 + 0x00 = 0x33).]]> cast 1 Applies the alpha value of each pixel of the display object to the background. This requires the `blendMode` property of the parent display object be set to `openfl.display.BlendMode.LAYER`. Not supported under GPU rendering. cast 2 0xDD, 0xCC < 0xF8, and 0x33 > 0x00 = 33). Not supported under GPU rendering.]]> cast 3 Compares the constituent colors of the display object with the colors of its background, and subtracts the darker of the values of the two constituent colors from the lighter value. This setting is commonly used for more vibrant colors. For example, if the display object has a pixel with an RGB value of 0xFFCC33, and the background pixel has an RGB value of 0xDDF800, the resulting RGB value for the displayed pixel is 0x222C33(because 0xFF - 0xDD = 0x22, 0xF8 - 0xCC = 0x2C, and 0x33 - 0x00 = 0x33). cast 4 Erases the background based on the alpha value of the display object. This process requires that the `blendMode` property of the parent display object be set to `openfl.display.BlendMode.LAYER`. Not supported under GPU rendering. cast 5 Adjusts the color of each pixel based on the darkness of the display object. If the display object is lighter than 50% gray, the display object and background colors are screened, which results in a lighter color. If the display object is darker than 50% gray, the colors are multiplied, which results in a darker color. This setting is commonly used for shading effects. Not supported under GPU rendering. cast 6 Inverts the background. cast 7 Forces the creation of a transparency group for the display object. This means that the display object is precomposed in a temporary buffer before it is processed further. The precomposition is done automatically if the display object is precached by means of bitmap caching or if the display object is a display object container that has at least one child object with a `blendMode` setting other than `"normal"`. Not supported under GPU rendering. cast 8 0xDD, 0xCC < 0xF8, and 0x33 > 0x00 = 33). Not supported under GPU rendering.]]> cast 9 Multiplies the values of the display object constituent colors by the constituent colors of the background color, and normalizes by dividing by 0xFF, resulting in darker colors. This setting is commonly used for shadows and depth effects. For example, if a constituent color(such as red) of one pixel in the display object and the corresponding color of the pixel in the background both have the value 0x88, the multiplied result is 0x4840. Dividing by 0xFF yields a value of 0x48 for that constituent color, which is a darker shade than the color of the display object or the color of the background. cast 10 The display object appears in front of the background. Pixel values of the display object override the pixel values of the background. Where the display object is transparent, the background is visible. cast 11 Adjusts the color of each pixel based on the darkness of the background. If the background is lighter than 50% gray, the display object and background colors are screened, which results in a lighter color. If the background is darker than 50% gray, the colors are multiplied, which results in a darker color. This setting is commonly used for shading effects. Not supported under GPU rendering. cast 12 Multiplies the complement(inverse) of the display object color by the complement of the background color, resulting in a bleaching effect. This setting is commonly used for highlights or to remove black areas of the display object. cast 13 Uses a shader to define the blend between objects. Setting the blendShader property to a Shader instance automatically sets the display object's `blendMode` property to `BlendMode.SHADER`. If the `blendMode` property is set to `BlendMode.SHADER` without first setting the `blendShader` property, the `blendMode` property is set to `BlendMode.NORMAL` instead. If the `blendShader` property is set (which sets the `blendMode` property to `BlendMode.SHADER`), then later the value of the `blendMode` property is changed, the blend mode can be reset to use the blend shader simply by setting the `blendMode` property to `BlendMode.SHADER`. The `blendShader` property does not need to be set again except to change the shader that's used to define the blend mode. Not supported under GPU rendering. cast 14 hscript.UsingHandler.build() cast 0 0xFF, 0xA6 + 0x22 = 0xC8, and 0x33 + 0x00 = 0x33).]]> cast 1 Applies the alpha value of each pixel of the display object to the background. This requires the `blendMode` property of the parent display object be set to `openfl.display.BlendMode.LAYER`. Not supported under GPU rendering. cast 2 0xDD, 0xCC < 0xF8, and 0x33 > 0x00 = 33). Not supported under GPU rendering.]]> cast 3 Compares the constituent colors of the display object with the colors of its background, and subtracts the darker of the values of the two constituent colors from the lighter value. This setting is commonly used for more vibrant colors. For example, if the display object has a pixel with an RGB value of 0xFFCC33, and the background pixel has an RGB value of 0xDDF800, the resulting RGB value for the displayed pixel is 0x222C33(because 0xFF - 0xDD = 0x22, 0xF8 - 0xCC = 0x2C, and 0x33 - 0x00 = 0x33). cast 4 Erases the background based on the alpha value of the display object. This process requires that the `blendMode` property of the parent display object be set to `openfl.display.BlendMode.LAYER`. Not supported under GPU rendering. cast 5 Adjusts the color of each pixel based on the darkness of the display object. If the display object is lighter than 50% gray, the display object and background colors are screened, which results in a lighter color. If the display object is darker than 50% gray, the colors are multiplied, which results in a darker color. This setting is commonly used for shading effects. Not supported under GPU rendering. cast 6 Inverts the background. cast 7 Forces the creation of a transparency group for the display object. This means that the display object is precomposed in a temporary buffer before it is processed further. The precomposition is done automatically if the display object is precached by means of bitmap caching or if the display object is a display object container that has at least one child object with a `blendMode` setting other than `"normal"`. Not supported under GPU rendering. cast 8 0xDD, 0xCC < 0xF8, and 0x33 > 0x00 = 33). Not supported under GPU rendering.]]> cast 9 Multiplies the values of the display object constituent colors by the constituent colors of the background color, and normalizes by dividing by 0xFF, resulting in darker colors. This setting is commonly used for shadows and depth effects. For example, if a constituent color(such as red) of one pixel in the display object and the corresponding color of the pixel in the background both have the value 0x88, the multiplied result is 0x4840. Dividing by 0xFF yields a value of 0x48 for that constituent color, which is a darker shade than the color of the display object or the color of the background. cast 10 The display object appears in front of the background. Pixel values of the display object override the pixel values of the background. Where the display object is transparent, the background is visible. cast 11 Adjusts the color of each pixel based on the darkness of the background. If the background is lighter than 50% gray, the display object and background colors are screened, which results in a lighter color. If the background is darker than 50% gray, the colors are multiplied, which results in a darker color. This setting is commonly used for shading effects. Not supported under GPU rendering. cast 12 Multiplies the complement(inverse) of the display object color by the complement of the background color, resulting in a bleaching effect. This setting is commonly used for highlights or to remove black areas of the display object. cast 13 Uses a shader to define the blend between objects. Setting the blendShader property to a Shader instance automatically sets the display object's `blendMode` property to `BlendMode.SHADER`. If the `blendMode` property is set to `BlendMode.SHADER` without first setting the `blendShader` property, the `blendMode` property is set to `BlendMode.NORMAL` instead. If the `blendShader` property is set (which sets the `blendMode` property to `BlendMode.SHADER`), then later the value of the `blendMode` property is changed, the blend mode can be reset to use the blend shader simply by setting the `blendMode` property to `BlendMode.SHADER`. The `blendShader` property does not need to be set again except to change the shader that's used to define the blend mode. Not supported under GPU rendering. cast 14 hscript.UsingHandler.build() cast (0, openfl.display.BlendMode) 0xFF, 0xA6 + 0x22 = 0xC8, and 0x33 + 0x00 = 0x33).]]> cast (1, openfl.display.BlendMode) Applies the alpha value of each pixel of the display object to the background. This requires the `blendMode` property of the parent display object be set to `openfl.display.BlendMode.LAYER`. Not supported under GPU rendering. cast (2, openfl.display.BlendMode) 0xDD, 0xCC < 0xF8, and 0x33 > 0x00 = 33). Not supported under GPU rendering.]]> cast (3, openfl.display.BlendMode) Compares the constituent colors of the display object with the colors of its background, and subtracts the darker of the values of the two constituent colors from the lighter value. This setting is commonly used for more vibrant colors. For example, if the display object has a pixel with an RGB value of 0xFFCC33, and the background pixel has an RGB value of 0xDDF800, the resulting RGB value for the displayed pixel is 0x222C33(because 0xFF - 0xDD = 0x22, 0xF8 - 0xCC = 0x2C, and 0x33 - 0x00 = 0x33). cast (4, openfl.display.BlendMode) Erases the background based on the alpha value of the display object. This process requires that the `blendMode` property of the parent display object be set to `openfl.display.BlendMode.LAYER`. Not supported under GPU rendering. cast (5, openfl.display.BlendMode) Adjusts the color of each pixel based on the darkness of the display object. If the display object is lighter than 50% gray, the display object and background colors are screened, which results in a lighter color. If the display object is darker than 50% gray, the colors are multiplied, which results in a darker color. This setting is commonly used for shading effects. Not supported under GPU rendering. cast (6, openfl.display.BlendMode) Inverts the background. cast (7, openfl.display.BlendMode) Forces the creation of a transparency group for the display object. This means that the display object is precomposed in a temporary buffer before it is processed further. The precomposition is done automatically if the display object is precached by means of bitmap caching or if the display object is a display object container that has at least one child object with a `blendMode` setting other than `"normal"`. Not supported under GPU rendering. cast (8, openfl.display.BlendMode) 0xDD, 0xCC < 0xF8, and 0x33 > 0x00 = 33). Not supported under GPU rendering.]]> cast (9, openfl.display.BlendMode) Multiplies the values of the display object constituent colors by the constituent colors of the background color, and normalizes by dividing by 0xFF, resulting in darker colors. This setting is commonly used for shadows and depth effects. For example, if a constituent color(such as red) of one pixel in the display object and the corresponding color of the pixel in the background both have the value 0x88, the multiplied result is 0x4840. Dividing by 0xFF yields a value of 0x48 for that constituent color, which is a darker shade than the color of the display object or the color of the background. cast (10, openfl.display.BlendMode) The display object appears in front of the background. Pixel values of the display object override the pixel values of the background. Where the display object is transparent, the background is visible. cast (11, openfl.display.BlendMode) Adjusts the color of each pixel based on the darkness of the background. If the background is lighter than 50% gray, the display object and background colors are screened, which results in a lighter color. If the background is darker than 50% gray, the colors are multiplied, which results in a darker color. This setting is commonly used for shading effects. Not supported under GPU rendering. cast (12, openfl.display.BlendMode) Multiplies the complement(inverse) of the display object color by the complement of the background color, resulting in a bleaching effect. This setting is commonly used for highlights or to remove black areas of the display object. cast (13, openfl.display.BlendMode) Uses a shader to define the blend between objects. Setting the blendShader property to a Shader instance automatically sets the display object's `blendMode` property to `BlendMode.SHADER`. If the `blendMode` property is set to `BlendMode.SHADER` without first setting the `blendShader` property, the `blendMode` property is set to `BlendMode.NORMAL` instead. If the `blendShader` property is set (which sets the `blendMode` property to `BlendMode.SHADER`), then later the value of the `blendMode` property is changed, the blend mode can be reset to use the blend shader simply by setting the `blendMode` property to `BlendMode.SHADER`. The `blendShader` property does not need to be set again except to change the shader that's used to define the blend mode. Not supported under GPU rendering. cast (14, openfl.display.BlendMode) hscript.UsingHandler.build() <__allowSmoothing> <__blendMode> <__cleared> <__context> "checkstyle:Dynamic" <__overrideBlendMode> <__pixelRatio> <__roundPixels> <__stage> <__tempColorTransform> <__transparent> <__type> "checkstyle:Dynamic" <__worldAlpha> <__worldColorTransform> <__worldTransform> <__clear set="method" line="70"> <__getAlpha set="method" line="73"> <__getColorTransform set="method" line="78"> <__popMask set="method" line="91"> <__popMaskObject set="method" line="93"> { handleScrollRect : true } <__popMaskRect set="method" line="95"> <__pushMask set="method" line="97"> <__pushMaskObject set="method" line="99"> { handleScrollRect : true } <__pushMaskRect set="method" line="101"> <__render set="method" line="103"> <__renderEvent set="method" line="106"> <__resize set="method" line="163"> <__setBlendMode set="method" line="165"> <__shouldCacheHardware set="method" line="168"> <__shouldCacheHardware_DisplayObject set="method" line="201"> <__updateCacheBitmap set="method" line="213"> "tags=\"haxe,release\"" openfl.display._internal.Context3DGraphics lime.graphics.ImageBuffer openfl.display.Bitmap openfl.display.BitmapData openfl.display.DisplayObject openfl.display.Graphics openfl.display.Tilemap openfl.display3D.Context3D openfl.events.RenderEvent openfl.filters.BitmapFilter openfl.geom.ColorTransform openfl.geom.Rectangle openfl.geom.Transform openfl.text.TextField openfl.display._internal openfl.display openfl.text "checkstyle:Dynamic" The current Cairo render context <__matrix> <__matrix3> "checkstyle:Dynamic" { cairo : null } "checkstyle:Dynamic" Set the matrix value for the current render context, or (optionally) another Cairo object <__clear set="method" line="101" override="1"> <__popMask set="method" line="119" override="1"> <__popMaskObject set="method" line="124" override="1"> { handleScrollRect : true } <__popMaskRect set="method" line="137" override="1"> <__pushMask set="method" line="142" override="1"> <__pushMaskObject set="method" line="153" override="1"> { handleScrollRect : true } <__pushMaskRect set="method" line="166" override="1"> <__render set="method" line="177" override="1"> <__renderDrawable set="method" line="184"> <__renderDrawableMask set="method" line="210"> <__setBlendMode set="method" line="236" override="1"> <__setBlendModeCairo set="method" line="246"> "checkstyle:Dynamic" "checkstyle:Dynamic" **BETA** The CairoRenderer API exposes support for native Cairo render instructions within the `RenderEvent.RENDER_CAIRO` event "tags=\"haxe,release\"" openfl.display.DisplayObject openfl.display.Graphics openfl.display.IBitmapDrawable openfl.display.Stage openfl.display.Stage3D openfl.display._internal openfl.display "checkstyle:Dynamic" The current HTML5 canvas render context <__isDOM> <__tempMatrix> "checkstyle:Dynamic" Set whether smoothing should be enabled on a canvas context { context : null } "checkstyle:Dynamic" Set the matrix value for the current render context, or (optionally) another canvas context <__clear set="method" line="98" override="1"> <__popMask set="method" line="123" override="1"> <__popMaskObject set="method" line="128" override="1"> { handleScrollRect : true } <__popMaskRect set="method" line="141" override="1"> <__pushMask set="method" line="146" override="1"> <__pushMaskObject set="method" line="159" override="1"> { handleScrollRect : true } <__pushMaskRect set="method" line="172" override="1"> <__render set="method" line="183" override="1"> <__renderDrawable set="method" line="188"> <__renderDrawableMask set="method" line="214"> <__setBlendMode set="method" line="240" override="1"> <__setBlendModeContext set="method" line="250"> "checkstyle:Dynamic" "checkstyle:Dynamic" **BETA** The CanvasRenderer API exposes support for HTML5 canvas render instructions within the `RenderEvent.RENDER_CANVAS` event "tags=\"haxe,release\"" openfl.display.DisplayObject openfl.display.IBitmapDrawable openfl.display.Stage openfl.display.Stage3D openfl.display._internal openfl.display openfl.text The CapsStyle class is an enumeration of constant values that specify the caps style to use in drawing lines. The constants are provided for use as values in the `caps` parameter of the `openfl.display.Graphics.lineStyle()` method. You can specify the following three types of caps: ![The three types of caps: NONE, ROUND, and SQUARE.](/images/linecap.jpg) cast 0 Used to specify no caps in the `caps` parameter of the `openfl.display.Graphics.lineStyle()` method. cast 1 Used to specify round caps in the `caps` parameter of the `openfl.display.Graphics.lineStyle()` method. cast 2 Used to specify square caps in the `caps` parameter of the `openfl.display.Graphics.lineStyle()` method. cast 0 Used to specify no caps in the `caps` parameter of the `openfl.display.Graphics.lineStyle()` method. cast 1 Used to specify round caps in the `caps` parameter of the `openfl.display.Graphics.lineStyle()` method. cast 2 Used to specify square caps in the `caps` parameter of the `openfl.display.Graphics.lineStyle()` method. "checkstyle:Dynamic" The current HTML5 DOM element <__canvasRenderer> <__clipRects> <__currentClipRect> <__numClipRects> <__transformOriginProperty> <__transformProperty> <__vendorPrefix> <__z> "checkstyle:Dynamic" Applies CSS styles to the specified DOM element, using a DisplayObject as the virtual parent. This helps set the z-order, position and other components for the DOM object "checkstyle:Dynamic" Removes previously set CSS styles from a DOM element, used when the element should no longer be a part of the display hierarchy <__applyStyle set="method" line="138"> <__popMask set="method" line="204" override="1"> <__popMaskObject set="method" line="209" override="1"> { handleScrollRect : true } <__popMaskRect set="method" line="222" override="1"> <__pushMask set="method" line="239" override="1"> <__pushMaskObject set="method" line="246" override="1"> { handleScrollRect : true } <__pushMaskRect set="method" line="259" override="1"> <__render set="method" line="291" override="1"> <__renderDrawable set="method" line="306"> <__renderDrawableClear set="method" line="357"> <__setBlendMode set="method" line="383" override="1"> <__updateClip set="method" line="459"> "checkstyle:Dynamic" **BETA** The DOMRenderer API exposes support for HTML5 DOM render instructions within the `RenderEvent.RENDER_DOM` event "tags=\"haxe,release\"" openfl.display.DisplayObject openfl.display.IBitmapDrawable openfl.display.Stage3D openfl.geom.Matrix openfl.geom.Rectangle openfl.display._internal openfl.display hide openfl.display._internal hide openfl.display._internal hide openfl.display._internal hide openfl.display._internal hide openfl.display._internal hide openfl.display._internal hide openfl.display._internal hide openfl.display._internal hide openfl.display._internal { code : null } "attribute float openfl_Alpha;\n\t\tattribute vec4 openfl_ColorMultiplier;\n\t\tattribute vec4 openfl_ColorOffset;\n\t\tattribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\n\t\tvarying float openfl_Alphav;\n\t\tvarying vec4 openfl_ColorMultiplierv;\n\t\tvarying vec4 openfl_ColorOffsetv;\n\t\tvarying vec2 openfl_TextureCoordv;\n\n\t\tuniform mat4 openfl_Matrix;\n\t\tuniform bool openfl_HasColorTransform;\n\t\tuniform vec2 openfl_TextureSize;" "openfl_Alphav = openfl_Alpha;\n\t\topenfl_TextureCoordv = openfl_TextureCoord;\n\n\t\tif (openfl_HasColorTransform) {\n\n\t\t\topenfl_ColorMultiplierv = openfl_ColorMultiplier;\n\t\t\topenfl_ColorOffsetv = openfl_ColorOffset / 255.0;\n\n\t\t}\n\n\t\tgl_Position = openfl_Matrix * openfl_Position;" "#pragma header\n\n\t\tvoid main(void) {\n\n\t\t\t#pragma body\n\n\t\t}" "varying float openfl_Alphav;\n\t\tvarying vec4 openfl_ColorMultiplierv;\n\t\tvarying vec4 openfl_ColorOffsetv;\n\t\tvarying vec2 openfl_TextureCoordv;\n\n\t\tuniform bool openfl_HasColorTransform;\n\t\tuniform sampler2D openfl_Texture;\n\t\tuniform vec2 openfl_TextureSize;" 0.0) {\n\n\t\t\t\tgl_FragColor = vec4 (color.rgb * color.a * openfl_Alphav, color.a * openfl_Alphav);\n\n\t\t\t} else {\n\n\t\t\t\tgl_FragColor = vec4 (0.0, 0.0, 0.0, 0.0);\n\n\t\t\t}\n\n\t\t} else {\n\n\t\t\tgl_FragColor = color * openfl_Alphav;\n\n\t\t}"]]> "#pragma header\n\n\t\tvoid main(void) {\n\n\t\t\t#pragma body\n\n\t\t}" openfl.utils._internal.ShaderMacro.build() openfl.utils._internal.ShaderMacro.build() "tags=\"haxe,release\"" The current frame rate, expressed using frames-per-second <__enterFrame set="method" line="63" override="1"> { color : 0x000000, y : 10, x : 10 } The FPS class provides an easy-to-use monitor to display the current frame rate of an OpenFL project "tags=\"haxe,release\"" The frame number containing the label. The name of the label. The FrameLabel object contains properties that specify a frame number and the corresponding label name. The Scene class includes a `labels` property, which is an array of FrameLabel objects for the scene. "tags=\"haxe,release\"" "tags=\"haxe,release\"" The GradientType class provides values for the `type` parameter in the `beginGradientFill()` and `lineGradientStyle()` methods of the openfl.display.Graphics class. cast 0 Value used to specify a linear gradient fill. cast 1 Value used to specify a radial gradient fill. cast 0 Value used to specify a linear gradient fill. cast 1 Value used to specify a radial gradient fill. null null <__bounds> <__commands> <__dirty set="accessor" expr="true"> true <__hardwareDirty> <__height> <__managed> <__positionX> <__positionY> <__quadBuffer> <__renderTransform> <__shaderBufferPool> <__softwareDirty> <__strokePadding> <__transformDirty> <__triangleIndexBuffer> <__triangleIndexBufferCount> <__triangleIndexBufferData> <__usedShaderBuffers> <__vertexBuffer> <__vertexBufferCount> <__vertexBufferCountUVT> <__vertexBufferData> <__vertexBufferDataUVT> <__vertexBufferUVT> <__visible> <__owner> <__width> <__worldTransform> <__cairo> "checkstyle:Dynamic" <__bitmap> <__bitmapScale> { smooth : false, repeat : true, matrix : null } Fills a drawing area with a bitmap image. The bitmap can be repeated or tiled to fill the area. The fill remains in effect until you call the `beginFill()`, `beginBitmapFill()`, `beginGradientFill()`, or `beginShaderFill()` method. Calling the `clear()` method clears the fill. The application renders the fill whenever three or more points are drawn, or when the `endFill()` method is called. @param bitmap A transparent or opaque bitmap image that contains the bits to be displayed. @param matrix A matrix object(of the openfl.geom.Matrix class), which you can use to define transformations on the bitmap. For example, you can use the following matrix to rotate a bitmap by 45 degrees(pi/4 radians): ```haxe matrix = new openfl.geom.Matrix(); matrix.rotate(Math.PI / 4); ``` @param repeat If `true`, the bitmap image repeats in a tiled pattern. If `false`, the bitmap image does not repeat, and the edges of the bitmap are used for any fill area that extends beyond the bitmap. For example, consider the following bitmap(a 20 x 20-pixel checkerboard pattern): ![20 by 20 pixel checkerboard](/images/movieClip_beginBitmapFill_repeat_1.jpg) When `repeat` is set to `true`(as in the following example), the bitmap fill repeats the bitmap: ![60 by 60 pixel checkerboard](/images/movieClip_beginBitmapFill_repeat_2.jpg) When `repeat` is set to `false`, the bitmap fill uses the edge pixels for the fill area outside the bitmap: ![60 by 60 pixel image with no repeating](/images/movieClip_beginBitmapFill_repeat_3.jpg) @param smooth If `false`, upscaled bitmap images are rendered by using a nearest-neighbor algorithm and look pixelated. If `true`, upscaled bitmap images are rendered by using a bilinear algorithm. Rendering by using the nearest neighbor algorithm is faster. { alpha : 1, color : 0 } Specifies a simple one-color fill that subsequent calls to other Graphics methods(such as `lineTo()` or `drawCircle()`) use when drawing. The fill remains in effect until you call the `beginFill()`, `beginBitmapFill()`, `beginGradientFill()`, or `beginShaderFill()` method. Calling the `clear()` method clears the fill. The application renders the fill whenever three or more points are drawn, or when the `endFill()` method is called. @param color The color of the fill(0xRRGGBB). @param alpha The alpha value of the fill(0.0 to 1.0). { focalPointRatio : 0, interpolationMethod : InterpolationMethod.RGB, spreadMethod : SpreadMethod.PAD, matrix : null } `InterpolationMethod.LINEAR_RGB` | ![linear gradient with InterpolationMethod.RGB](/images/beginGradientFill_interp_rgb.jpg)
      `InterpolationMethod.RGB` | @param focalPointRatio A number that controls the location of the focal point of the gradient. 0 means that the focal point is in the center. 1 means that the focal point is at one border of the gradient circle. -1 means that the focal point is at the other border of the gradient circle. A value less than -1 or greater than 1 is rounded to -1 or 1. For example, the following example shows a `focalPointRatio` set to 0.75: ![radial gradient with focalPointRatio set to 0.75](/images/radial_sketch.jpg) @throws ArgumentError If the `type` parameter is not valid.]]>
      { matrix : null } instance is used as an input and the `width` and `height` properties aren't specified for the ShaderInput, or the specified values don't match the amount of data in the input object. See the `ShaderInput.input` property for more information.]]> Clears the graphics that were drawn to this Graphics object, and resets fill and line style settings. Copies all of drawing commands from the source Graphics object into the calling Graphics object. @param sourceGraphics The Graphics object from which to copy the drawing commands. Draws a cubic Bezier curve from the current drawing position to the specified anchor point. Cubic Bezier curves consist of two anchor points and two control points. The curve interpolates the two anchor points and curves toward the two control points. ![cubic bezier](/images/cubic_bezier.png) The four points you use to draw a cubic Bezier curve with the `cubicCurveTo()` method are as follows: * The current drawing position is the first anchor point. * The `anchorX` and `anchorY` parameters specify the second anchor point. * The `controlX1` and `controlY1` parameters specify the first control point. * The `controlX2` and `controlY2` parameters specify the second control point. If you call the `cubicCurveTo()` method before calling the `moveTo()` method, your curve starts at position (0, 0). If the `cubicCurveTo()` method succeeds, the OpenFL runtime sets the current drawing position to (`anchorX`, `anchorY`). If the `cubicCurveTo()` method fails, the current drawing position remains unchanged. If your movie clip contains content created with the Flash drawing tools, the results of calls to the `cubicCurveTo()` method are drawn underneath that content. @param controlX1 Specifies the horizontal position of the first control point relative to the registration point of the parent display object. @param controlY1 Specifies the vertical position of the first control point relative to the registration point of the parent display object. @param controlX2 Specifies the horizontal position of the second control point relative to the registration point of the parent display object. @param controlY2 Specifies the vertical position of the second control point relative to the registration point of the parent display object. @param anchorX Specifies the horizontal position of the anchor point relative to the registration point of the parent display object. @param anchorY Specifies the vertical position of the anchor point relative to the registration point of the parent display object. Draws a quadratic curve using the current line style from the current drawing position to(anchorX, anchorY) and using the control point that (`controlX`, `controlY`) specifies. The current drawing position is then set to(`anchorX`, `anchorY`). If the movie clip in which you are drawing contains content created with the Flash drawing tools, calls to the `curveTo()` method are drawn underneath this content. If you call the `curveTo()` method before any calls to the `moveTo()` method, the default of the current drawing position is(0, 0). If any of the parameters are missing, this method fails and the current drawing position is not changed. The curve drawn is a quadratic Bezier curve. Quadratic Bezier curves consist of two anchor points and one control point. The curve interpolates the two anchor points and curves toward the control point. ![quadratic bezier](quad_bezier.png) @param controlX A number that specifies the horizontal position of the control point relative to the registration point of the parent display object. @param controlY A number that specifies the vertical position of the control point relative to the registration point of the parent display object. @param anchorX A number that specifies the horizontal position of the next anchor point relative to the registration point of the parent display object. @param anchorY A number that specifies the vertical position of the next anchor point relative to the registration point of the parent display object. Draws an ellipse. Set the line style, fill, or both before you call the `drawEllipse()` method, by calling the `linestyle()`, `lineGradientStyle()`, `beginFill()`, `beginGradientFill()`, or `beginBitmapFill()` method. @param x The _x_ location of the top-left of the bounding-box of the ellipse relative to the registration point of the parent display object(in pixels). @param y The _y_ location of the top left of the bounding-box of the ellipse relative to the registration point of the parent display object(in pixels). @param width The width of the ellipse(in pixels). @param height The height of the ellipse(in pixels). Submits a series of IGraphicsData instances for drawing. This method accepts a Vector containing objects including paths, fills, and strokes that implement the IGraphicsData interface. A Vector of IGraphicsData instances can refer to a part of a shape, or a complex fully defined set of data for rendering a complete shape. Graphics paths can contain other graphics paths. If the `graphicsData` Vector includes a path, that path and all its sub-paths are rendered during this operation. { winding : GraphicsPathWinding.EVEN_ODD } Submits a series of commands for drawing. The `drawPath()` method uses vector arrays to consolidate individual `moveTo()`, `lineTo()`, and `curveTo()` drawing commands into a single call. The `drawPath()` method parameters combine drawing commands with x- and y-coordinate value pairs and a drawing direction. The drawing commands are values from the GraphicsPathCommand class. The x- and y-coordinate value pairs are Numbers in an array where each pair defines a coordinate location. The drawing direction is a value from the GraphicsPathWinding class. Generally, drawings render faster with `drawPath()` than with a series of individual `lineTo()` and `curveTo()` methods. The `drawPath()` method uses a uses a floating computation so rotation and scaling of shapes is more accurate and gives better results. However, curves submitted using the `drawPath()` method can have small sub-pixel alignment errors when used in conjunction with the `lineTo()` and `curveTo()` methods. The `drawPath()` method also uses slightly different rules for filling and drawing lines. They are: * When a fill is applied to rendering a path: * A sub-path of less than 3 points is not rendered.(But note that the stroke rendering will still occur, consistent with the rules for strokes below.) * A sub-path that isn't closed(the end point is not equal to the begin point) is implicitly closed. * When a stroke is applied to rendering a path: * The sub-paths can be composed of any number of points. * The sub-path is never implicitly closed. @param commands A Vector of integers representing drawing commands. The set of accepted values is defined by the constants in the GraphicsPathCommand class. @param data A Vector of Number instances where each pair of numbers is treated as a coordinate location (an x, y pair). The x- and y-coordinate value pairs are not Point objects; the data vector is a series of numbers where each group of two numbers represents a coordinate location. @param winding Specifies the winding rule using a value defined in the GraphicsPathWinding class. { transforms : null, indices : null } Renders a set of quadrilaterals. This is similar to calling `drawRect` repeatedly, but each rectangle can use a transform value to rotate, scale or skew the result. Any type of fill can be used, but if the fill has a transform matrix that transform matrix is ignored. The optional `indices` parameter allows the use of either repeated rectangle geometry, or allows the use of a subset of a broader rectangle data Vector, such as Tileset `rectData`. @param rects A Vector containing rectangle coordinates in [ x0, y0, width0, height0, x1, y1 ... ] format. @param indices A Vector containing optional index values to reference the data contained in `rects`. Each index is a rectangle index in the Vector, not an array index. If this parameter is ommitted, each index from `rects` will be used in order. @param transforms A Vector containing optional transform data to adjust _x_, _y_, _a_, _b_, _c_ or _d_ value for the resulting quadrilateral. A `transforms` Vector that is double the size of the draw count (the length of `indices`, or if omitted, the rectangle count in `rects`) will be treated as [ x, y, ... ] pairs. A `transforms` Vector that is four times the size of the draw count will be used as matrix [ a, b, c, d, ... ] values. A `transforms` object which is six times the draw count in size will use full matrix [ a, b, c, d, tx, ty, ... ] values per draw. Draws a rectangle. Set the line style, fill, or both before you call the `drawRect()` method, by calling the `linestyle()`, `lineGradientStyle()`, `beginFill()`, `beginGradientFill()`, or `beginBitmapFill()` method. @param x A number indicating the horizontal position relative to the registration point of the parent display object(in pixels). @param y A number indicating the vertical position relative to the registration point of the parent display object(in pixels). @param width The width of the rectangle(in pixels). @param height The height of the rectangle(in pixels). @throws ArgumentError If the `width` or `height` parameters are not a number (`Number.NaN`). { ellipseHeight : null } Draws a rounded rectangle. Set the line style, fill, or both before you call the `drawRoundRect()` method, by calling the `linestyle()`, `lineGradientStyle()`, `beginFill()`, `beginGradientFill()`, or `beginBitmapFill()` method. @param x A number indicating the horizontal position relative to the registration point of the parent display object(in pixels). @param y A number indicating the vertical position relative to the registration point of the parent display object (in pixels). @param width The width of the round rectangle(in pixels). @param height The height of the round rectangle(in pixels). @param ellipseWidth The width of the ellipse used to draw the rounded corners(in pixels). @param ellipseHeight The height of the ellipse used to draw the rounded corners(in pixels). Optional; if no value is specified, the default value matches that provided for the `ellipseWidth` parameter. @throws ArgumentError If the `width`, `height`, `ellipseWidth` or `ellipseHeight` parameters are not a number(`Number.NaN`). Undocumented method { culling : TriangleCulling.NONE, uvtData : null, indices : null } Renders a set of triangles, typically to distort bitmaps and give them a three-dimensional appearance. The `drawTriangles()` method maps either the current fill, or a bitmap fill, to the triangle faces using a set of(u,v) coordinates. Any type of fill can be used, but if the fill has a transform matrix that transform matrix is ignored. A `uvtData` parameter improves texture mapping when a bitmap fill is used. @param culling Specifies whether to render triangles that face in a specified direction. This parameter prevents the rendering of triangles that cannot be seen in the current view. This parameter can be set to any value defined by the TriangleCulling class. Applies a fill to the lines and curves that were added since the last call to the `beginFill()`, `beginGradientFill()`, or `beginBitmapFill()` method. Flash uses the fill that was specified in the previous call to the `beginFill()`, `beginGradientFill()`, or `beginBitmapFill()` method. If the current drawing position does not equal the previous position specified in a `moveTo()` method and a fill is defined, the path is closed with a line and then filled. { smooth : false, repeat : true, matrix : null } Specifies a bitmap to use for the line stroke when drawing lines. The bitmap line style is used for subsequent calls to Graphics methods such as the `lineTo()` method or the `drawCircle()` method. The line style remains in effect until you call the `lineStyle()` or `lineGradientStyle()` methods, or the `lineBitmapStyle()` method again with different parameters. You can call the `lineBitmapStyle()` method in the middle of drawing a path to specify different styles for different line segments within a path. Call the `lineStyle()` method before you call the `lineBitmapStyle()` method to enable a stroke, or else the value of the line style is `undefined`. Calls to the `clear()` method set the line style back to `undefined`. @param bitmap The bitmap to use for the line stroke. @param matrix An optional transformation matrix as defined by the openfl.geom.Matrix class. The matrix can be used to scale or otherwise manipulate the bitmap before applying it to the line style. @param repeat Whether to repeat the bitmap in a tiled fashion. @param smooth Whether smoothing should be applied to the bitmap. { focalPointRatio : 0, interpolationMethod : InterpolationMethod.RGB, spreadMethod : SpreadMethod.PAD, matrix : null } `SpreadMethod.PAD` | ![linear gradient with SpreadMethod.REFLECT](/images/beginGradientFill_spread_reflect.jpg)
      `SpreadMethod.REFLECT` | ![linear gradient with SpreadMethod.REPEAT](/images/beginGradientFill_spread_repeat.jpg)
      `SpreadMethod.REPEAT` | @param interpolationMethod A value from the InterpolationMethod class that specifies which value to use. For example, consider a simple linear gradient between two colors (with the `spreadMethod` parameter set to `SpreadMethod.REFLECT`). The different interpolation methods affect the appearance as follows: | | | | --- | --- | | ![linear gradient with InterpolationMethod.LINEAR_RGB](/images/beginGradientFill_interp_linearrgb.jpg)
      `InterpolationMethod.LINEAR_RGB` | ![linear gradient with InterpolationMethod.RGB](/images/beginGradientFill_interp_rgb.jpg)
      `InterpolationMethod.RGB` | @param focalPointRatio A number that controls the location of the focal point of the gradient. The value 0 means the focal point is in the center. The value 1 means the focal point is at one border of the gradient circle. The value -1 means that the focal point is at the other border of the gradient circle. Values less than -1 or greater than 1 are rounded to -1 or 1. The following image shows a gradient with a `focalPointRatio` of -0.75: ![radial gradient with focalPointRatio set to 0.75](/images/radial_sketch.jpg)]]>
      { miterLimit : 3, joints : null, caps : null, scaleMode : LineScaleMode.NORMAL, pixelHinting : false, alpha : 1, color : 0, thickness : null } Specifies a shader to use for the line stroke when drawing lines. The shader line style is used for subsequent calls to Graphics methods such as the `lineTo()` method or the `drawCircle()` method. The line style remains in effect until you call the `lineStyle()` or `lineGradientStyle()` methods, or the `lineBitmapStyle()` method again with different parameters. You can call the `lineShaderStyle()` method in the middle of drawing a path to specify different styles for different line segments within a path. Call the `lineStyle()` method before you call the `lineShaderStyle()` method to enable a stroke, or else the value of the line style is undefined. Calls to the `clear()` method set the line style back to undefined. Draws a line using the current line style from the current drawing position to(`x`, `y`); the current drawing position is then set to(`x`, `y`). If the display object in which you are drawing contains content that was created with the Flash drawing tools, calls to the `lineTo()` method are drawn underneath the content. If you call `lineTo()` before any calls to the `moveTo()` method, the default position for the current drawing is(_0, 0_). If any of the parameters are missing, this method fails and the current drawing position is not changed. @param x A number that indicates the horizontal position relative to the registration point of the parent display object(in pixels). @param y A number that indicates the vertical position relative to the registration point of the parent display object(in pixels). Moves the current drawing position to(`x`, `y`). If any of the parameters are missing, this method fails and the current drawing position is not changed. @param x A number that indicates the horizontal position relative to the registration point of the parent display object(in pixels). @param y A number that indicates the vertical position relative to the registration point of the parent display object(in pixels). "checkstyle:FieldDocComment" hide { recurse : true } Queries a Sprite or Shape object (and optionally, its children) for its vector graphics content. The result is a Vector of IGraphicsData objects. Transformations are applied to the display object before the query, so the returned paths are all in the same coordinate space. Coordinates in the result data set are relative to the stage, not the display object being sampled. The result includes the following types of objects, with the specified limitations: * GraphicsSolidFill * GraphicsGradientFill * All properties of the gradient fill are returned by `readGraphicsData()`. * The matrix returned is close to, but not exactly the same as, the input matrix. * GraphicsEndFill * GraphicsBitmapFill * The matrix returned is close to, but not exactly the same as, the input matrix. * `repeat` is always `true`. * `smooth` is always `false`. * GraphicsStroke * `thickness` is supported. * `fill` supports GraphicsSolidFill, GraphicsGradientFill, and GraphicsBitmapFill as described previously * All other properties have default values. * GraphicsPath * The only supported commands are `MOVE_TO`, `CURVE_TO`, and `LINE_TO`. The following visual elements and transformations can't be represented and are not included in the result: * Masks * Text, with one exception: Static text that is defined with anti-alias type "anti-alias for animation" is rendered as vector shapes so it is included in the result. * Shader fills * Blend modes * 9-slice scaling * Triangles (created with the `drawTriangles()` method) * Opaque background * `scrollRect` settings * 2.5D transformations * Non-visible objects (objects whose `visible` property is `false`) @param recurse whether the runtime should also query display object children of the current display object. A recursive query can take more time and memory to execute. The results are returned in a single flattened result set, not separated by display object. @returns A Vector of IGraphicsData objects representing the vector graphics content of the related display object <__calculateBezierCubicPoint get="inline" set="null" line="1621"> <__calculateBezierQuadPoint get="inline" set="null" line="1628"> <__cleanup set="method" line="1634"> <__getBounds set="method" line="1660"> <__hitTest set="method" line="1670"> <__inflateBounds set="method" line="1694"> <__readGraphicsData set="method" line="1728"> <__update set="method" line="1838"> The Graphics class contains a set of methods that you can use to create a vector shape. Display objects that support drawing include Sprite and Shape objects. Each of these classes includes a `graphics` property that is a Graphics object. The following are among those helper functions provided for ease of use: `drawRect()`, `drawRoundRect()`, `drawCircle()`, and `drawEllipse()`. You cannot create a Graphics object directly from ActionScript code. If you call `new Graphics()`, an exception is thrown. The Graphics class is final; it cannot be subclassed. "tags=\"haxe,release\"" openfl.display.DisplayObject openfl.display.GraphicsPath openfl.display.IGraphicsData openfl.display.IGraphicsFill openfl.display.Shader openfl.geom.Matrix openfl.geom.Rectangle
      <__graphicsFillType set="null"> <__graphicsDataType set="null"> A transparent or opaque bitmap image. A matrix object (of the openfl.geom.Matrix class) that defines transformations on the bitmap. For example, the following matrix rotates a bitmap by 45 degrees (pi/4 radians): ```haxe var matrix = new openfl.geom.Matrix(); matrix.rotate(Math.PI / 4); ``` Specifies whether to repeat the bitmap image in a tiled pattern. If `true`, the bitmap image repeats in a tiled pattern. If `false`, the bitmap image does not repeat, and the outermost pixels along the edges of the bitmap are used for any fill area that extends beyond the bounds of the bitmap. For example, consider the following bitmap (a 20 x 20-pixel checkerboard pattern): ![20 by 20 pixel checkerboard](/images/movieClip_beginBitmapFill_repeat_1.jpg) When `repeat` is set to `true` (as in the following example), the bitmap fill repeats the bitmap: ![60 by 60 pixel checkerboard](/images/movieClip_beginBitmapFill_repeat_2.jpg) When `repeat` is set to `false`, the bitmap fill uses the edge pixels for the fill area outside the bitmap: ![60 by 60 pixel image with no repeating](/images/movieClip_beginBitmapFill_repeat_3.jpg) Specifies whether to apply a smoothing algorithm to the bitmap image. If `false`, upscaled bitmap images are rendered by using a nearest-neighbor algorithm and look pixelated. If `true`, upscaled bitmap images are rendered by using a bilinear algorithm. Rendering by using the nearest neighbor algorithm is usually faster. <__graphicsDataType set="null"> <__graphicsFillType set="null"> { smooth : false, repeat : true, matrix : null, bitmapData : null } Creates a new GraphicsBitmapFill object. @param bitmapData A transparent or opaque bitmap image that contains the bits to display. @param matrix A matrix object (of the openfl.geom.Matrix class), which you use to define transformations on the bitmap. @param repeat If `true`, the bitmap image repeats in a tiled pattern. If `false`, the bitmap image does not repeat, and the edges of the bitmap are used for any fill area that extends beyond the bitmap. @param smooth If `false`, upscaled bitmap images are rendered using a nearest-neighbor algorithm and appear pixelated. If `true`, upscaled bitmap images are rendered using a bilinear algorithm. Rendering that uses the nearest-neighbor algorithm is usually faster. Defines a bitmap fill. The bitmap can be smoothed, repeated or tiled to fill the area; or manipulated using a transformation matrix. Use a GraphicsBitmapFill object with the `Graphics.drawGraphicsData()` method. Drawing a GraphicsBitmapFill object is the equivalent of calling the `Graphics.beginBitmapFill()` method. "tags=\"haxe,release\"" <__graphicsDataType set="null"> <__graphicsFillType set="null"> Creates an object to use with the `Graphics.drawGraphicsData()` method to end the fill, explicitly. Indicates the end of a graphics fill. Use a GraphicsEndFill object with the `Graphics.drawGraphicsData()` method. Drawing a GraphicsEndFill object is the equivalent of calling the `Graphics.endFill()` method. "tags=\"haxe,release\"" An array of alpha values for the corresponding colors in the colors array. Valid values are between 0 and 1. If the value is less than 0, 0 is used. If the value is greater than 1, 1 is used. An array of RGB hexadecimal color values to use in the gradient. For example, red is 0xFF0000, blue is 0x0000FF, and so on. You can specify up to 15 colors. For each color, specify a corresponding value in the alphas and ratios properties. A number that controls the location of the focal point of the gradient. A value of 0 sets the focal point in the center. A value of 1 means that the focal point is at one border of the gradient circle.A value of -1 sets the focal point at the other border of the gradient circle. A value of less than -1 or greater than 1 is rounded to -1 or 1, respectively. For example, the following shows a `focalPointRatio` set to 0.75: ![radial gradient with focalPointRatio set to 0.75](/images/radial_sketch.jpg) A value from the InterpolationMethod class that specifies which value to use. Valid values are: `InterpolationMethod.LINEAR_RGB` or `InterpolationMethod.RGB` For example, the following shows a simple linear gradient between two colors (with the `spreadMethod` parameter set to `SpreadMethod.REFLECT`). The different interpolation methods change the appearance as follows: | `InterpolationMethod.LINEAR_RGB` | `InterpolationMethod.RGB` | | --- | --- | | ![linear gradient with InterpolationMethod.LINEAR_RGB](/images/beginGradientFill_interp_linearrgb.jpg) | ![linear gradient with InterpolationMethod.RGB](/images/beginGradientFill_interp_rgb.jpg) | A transformation matrix as defined by the Matrix class. The openfl.geom.Matrix class includes a `createGradientBox()` method to set up the matrix for use with the `beginGradientFill()` method. An array of color distribution ratios. Valid values are between 0 and 255. This value defines the percentage of the width where the color is sampled at 100%. The value 0 represents the left position in the gradient box, and the value 255 represents the right position in the gradient box. **Note:** This value represents positions in the gradient box, not the coordinate space of the final gradient which can be wider or thinner than the gradient box. Specify a value for corresponding to each value in the `colors` property. For example, for a linear gradient that includes two colors (blue and green) the following example illustrates the placement of the colors in the gradient based on different values in the `ratios` array: | `ratios` | Gradient | | --- | --- | | `[0, 127]` | ![linear gradient blue to green with ratios 0 and 127](/images/gradient-ratios-1.jpg) | | `[0, 255]` | ![linear gradient blue to green with ratios 0 and 255](/images/gradient-ratios-2.jpg) | | `[127, 255]` | ![linear gradient blue to green with ratios 127 and 255](/images/gradient-ratios-3.jpg) | The values in the array must increase sequentially; for example, `[0, 63, 127, 190, 255]`. A value from the SpreadMethod class that specifies which spread method to use. Valid values are: `SpreadMethod.PAD`, `SpreadMethod.REFLECT`, or `SpreadMethod.REPEAT`. For example, the following shows a simple linear gradient between two colors: ```haxe import openfl.geom.*; import openfl.display.*; var fillType = GradientType.LINEAR; var colors = [0xFF0000, 0x0000FF]; var alphas = [1, 1]; var ratios = [0x00, 0xFF]; var matr = new Matrix(); matr.createGradientBox(20, 20, 0, 0, 0); var spreadMethod = SpreadMethod.PAD; graphics.beginGradientFill(fillType, colors, alphas, ratios, matr, spreadMethod); graphics.drawRect(0,0,100,100); ``` This example uses `SpreadMethod.PAD` for the spread method, and the gradient fill looks like the following: ![linear gradient with SpreadMethod.PAD](/images/beginGradientFill_spread_pad.jpg) If you use `SpreadMethod.REFLECT` for the spread method, the gradient fill looks like the following: ![linear gradient with SpreadMethod.REFLECT](/images/beginGradientFill_spread_reflect.jpg) If you use `SpreadMethod.REPEAT` for the spread method, the gradient fill looks like the following: ![linear gradient with SpreadMethod.REPEAT](/images/beginGradientFill_spread_repeat.jpg) A value from the GradientType class that specifies which gradient type to use. Values are `GradientType.LINEAR` or `GradientType.RADIAL`. <__graphicsDataType set="null"> <__graphicsFillType set="null"> { focalPointRatio : 0, interpolationMethod : null, spreadMethod : null, matrix : null, ratios : null, alphas : null, colors : null, type : null } Creates a new GraphicsGradientFill object. @param type A value from the GradientType class that specifies which gradient type to use: `GradientType.LINEAR` or `GradientType.RADIAL`. @param matrix A transformation matrix as defined by the openfl.geom.Matrix class. The openfl.geom.Matrix class includes a `createGradientBox()` method, which lets you conveniently set up the matrix for use with the `beginGradientFill()` method. @param spreadMethod A value from the SpreadMethod class that specifies which spread method to use, either: `SpreadMethod.PAD`, `SpreadMethod.REFLECT`, or `SpreadMethod.REPEAT`. @param interpolationMethod A value from the InterpolationMethod class that specifies which value to use: `InterpolationMethod.LINEAR_RGB` or `InterpolationMethod.RGB` @param focalPointRatio A number that controls the location of the focal point of the gradient. A value of 0 sets the focal point in the center. A value of 1 sets the focal point at one border of the gradient circle. A value of -1 sets the focal point at the other border of the gradient circle. A value less than -1 or greater than 1 is rounded to -1 or 1, respectively. Defines a gradient fill. Use a GraphicsGradientFill object with the `Graphics.drawGraphicsData()` method. Drawing a GraphicsGradientFill object is the equivalent of calling the `Graphics.beginGradientFill()` method. "tags=\"haxe,release\"" 0.70710678118654752440084436210485 0.4142135623730950488016887242097 The Vector of drawing commands as integers representing the path. Each command can be one of the values defined by the GraphicsPathCommand class. The Vector of Numbers containing the parameters used with the drawing commands. Specifies the winding rule using a value defined in the GraphicsPathWinding class. <__graphicsDataType set="null"> Adds a new "cubicCurveTo" command to the commands vector and new coordinates to the data vector. @param controlX1 A number that specifies the horizontal position of the first control point relative to the registration point of the parent display object. @param controlY1 A number that specifies the vertical position of the first control point relative to the registration point of the parent display object. @param controlX2 A number that specifies the horizontal position of the second control point relative to the registration point of the parent display object. @param controlY2 A number that specifies the vertical position of the second control point relative to the registration point of the parent display object. @param anchorX A number that specifies the horizontal position of the next anchor point relative to the registration point of the parent display object. @param anchorY A number that specifies the vertical position of the next anchor point relative to the registration point of the parent display object. Adds a new "curveTo" command to the `commands` vector and new coordinates to the `data` vector. @param controlX A number that specifies the horizontal position of the control point relative to the registration point of the parent display object. @param controlY A number that specifies the vertical position of the control point relative to the registration point of the parent display object. @param anchorX A number that specifies the horizontal position of the next anchor point relative to the registration point of the parent display object. @param anchorY A number that specifies the vertical position of the next anchor point relative to the registration point of the parent display object. Adds a new "lineTo" command to the `commands` vector and new coordinates to the `data` vector. @param x The x coordinate of the destination point for the line. @param y The y coordinate of the destination point for the line. Adds a new "moveTo" command to the `commands` vector and new coordinates to the `data` vector. @param x The x coordinate of the destination point. @param y The y coordinate of the destination point. Adds a new "wideLineTo" command to the `commands` vector and new coordinates to the `data` vector. @param x The x-coordinate of the destination point for the line. @param y The y-coordinate of the destination point for the line. Adds a new "wideMoveTo" command to the `commands` vector and new coordinates to the `data` vector. @param x The x-coordinate of the destination point. @param y The y-coordinate of the destination point. <__drawCircle set="method" line="195"> <__drawEllipse set="method" line="200"> <__drawRect set="method" line="205"> <__drawRoundRect set="method" line="214"> { winding : GraphicsPathWinding.EVEN_ODD, data : null, commands : null } Creates a new GraphicsPath object. @param winding Specifies the winding rule using a value defined in the GraphicsPathWinding class. A collection of drawing commands and the coordinate parameters for those commands. Use a GraphicsPath object with the `Graphics.drawGraphicsData()` method. Drawing a GraphicsPath object is the equivalent of calling the `Graphics.drawPath()` method. The GraphicsPath class also has its own set of methods (`curveTo()`, `lineTo()`, `moveTo()` `wideLineTo()` and `wideMoveTo()`) similar to those in the Graphics class for making adjustments to the `GraphicsPath.commands` and `GraphicsPath.data` vector arrays. "tags=\"haxe,release\"" Defines the values to use for specifying path-drawing commands. The values in this class are used by the `Graphics.drawPath()` method, or stored in the `commands` vector of a GraphicsPath object. cast 6 Specifies a drawing command that draws a curve from the current drawing position to the x- and y-coordinates specified in the data vector, using a 2 control points. cast 3 Specifies a drawing command that draws a curve from the current drawing position to the x- and y-coordinates specified in the data vector, using a control point. This command produces the same effect as the `Graphics.lineTo()` method, and uses two points in the data vector control and anchor: (cx, cy, ax, ay). cast 2 Specifies a drawing command that draws a line from the current drawing position to the x- and y-coordinates specified in the data vector. This command produces the same effect as the `Graphics.lineTo()` method, and uses one point in the data vector: (x,y). cast 1 Specifies a drawing command that moves the current drawing position to the x- and y-coordinates specified in the data vector. This command produces the same effect as the `Graphics.moveTo()` method, and uses one point in the data vector: (x,y). cast 0 Represents the default "do nothing" command. cast 5 Specifies a "line to" drawing command, but uses two sets of coordinates (four values) instead of one set. This command allows you to switch between "line to" and "curve to" commands without changing the number of data values used per command. This command uses two sets in the data vector: one dummy location and one (x,y) location. The `WIDE_LINE_TO` and `WIDE_MOVE_TO` command variants consume the same number of parameters as does the `CURVE_TO` command. cast 4 Specifies a "move to" drawing command, but uses two sets of coordinates (four values) instead of one set. This command allows you to switch between "move to" and "curve to" commands without changing the number of data values used per command. This command uses two sets in the data vector: one dummy location and one (x,y) location. The `WIDE_LINE_TO` and `WIDE_MOVE_TO` command variants consume the same number of parameters as does the `CURVE_TO` command. cast 6 Specifies a drawing command that draws a curve from the current drawing position to the x- and y-coordinates specified in the data vector, using a 2 control points. cast 3 Specifies a drawing command that draws a curve from the current drawing position to the x- and y-coordinates specified in the data vector, using a control point. This command produces the same effect as the `Graphics.lineTo()` method, and uses two points in the data vector control and anchor: (cx, cy, ax, ay). cast 2 Specifies a drawing command that draws a line from the current drawing position to the x- and y-coordinates specified in the data vector. This command produces the same effect as the `Graphics.lineTo()` method, and uses one point in the data vector: (x,y). cast 1 Specifies a drawing command that moves the current drawing position to the x- and y-coordinates specified in the data vector. This command produces the same effect as the `Graphics.moveTo()` method, and uses one point in the data vector: (x,y). cast 0 Represents the default "do nothing" command. cast 5 Specifies a "line to" drawing command, but uses two sets of coordinates (four values) instead of one set. This command allows you to switch between "line to" and "curve to" commands without changing the number of data values used per command. This command uses two sets in the data vector: one dummy location and one (x,y) location. The `WIDE_LINE_TO` and `WIDE_MOVE_TO` command variants consume the same number of parameters as does the `CURVE_TO` command. cast 4 Specifies a "move to" drawing command, but uses two sets of coordinates (four values) instead of one set. This command allows you to switch between "move to" and "curve to" commands without changing the number of data values used per command. This command uses two sets in the data vector: one dummy location and one (x,y) location. The `WIDE_LINE_TO` and `WIDE_MOVE_TO` command variants consume the same number of parameters as does the `CURVE_TO` command. The GraphicsPathWinding class provides values for the `openfl.display.GraphicsPath.winding` property and the `openfl.display.Graphics.drawPath()` method to determine the direction to draw a path. A clockwise path is positively wound, and a counter-clockwise path is negatively wound: ![positive and negative winding directions](/images/winding_positive_negative.gif) When paths intersect or overlap, the winding direction determines the rules for filling the areas created by the intersection or overlap: ![a comparison of even-odd and non-zero winding rules](/images/winding_rules_evenodd_nonzero.gif) cast 0 Establishes the even-odd winding type. The even-odd winding type is the rule used by all of the original drawing API and is the default type for the `openfl.display.Graphics.drawPath()` method. Any overlapping paths will alternate between open and closed fills. If two squares drawn with the same fill intersect, the area of the intersection is not filled. Adjacent areas are not the same (neither both filled nor both unfilled). cast 1 Establishes the non-zero winding type. The non-zero winding type determines that when paths of opposite winding intersect, the intersection area is unfilled (as with the even-odd winding type). For paths of the same winding, the intersection area is filled. cast 0 Establishes the even-odd winding type. The even-odd winding type is the rule used by all of the original drawing API and is the default type for the `openfl.display.Graphics.drawPath()` method. Any overlapping paths will alternate between open and closed fills. If two squares drawn with the same fill intersect, the area of the intersection is not filled. Adjacent areas are not the same (neither both filled nor both unfilled). cast 1 Establishes the non-zero winding type. The non-zero winding type determines that when paths of opposite winding intersect, the intersection area is unfilled (as with the even-odd winding type). For paths of the same winding, the intersection area is filled. A Vector containing optional index values to reference the data contained in `rects`. Each index is a rectangle index in the Vector, not an array index. If this parameter is omitted, each index from `rects` will be used in order. A Vector containing rectangle coordinates in [ x0, y0, width0, height0, x1, y1 ... ] format. A Vector containing optional transform data to adjust _x_, _y_, _a_, _b_, _c_ or _d_ value for the resulting quadrilateral. A `transforms` Vector that is double the size of the draw count (the length of `indices`, or if omitted, the rectangle count in `rects`) will be treated as [ x, y, ... ] pairs. A `transforms` Vector that is four times the size of the draw count will be used as matrix [ a, b, c, d, ... ] values. A `transforms` object which is six times the draw count in size will use full matrix [ a, b, c, d, tx, ty, ... ] values per draw. <__graphicsDataType set="null"> { transforms : null, indices : null, rects : null } Creates a new GraphicsTrianglePath object. @param rects A Vector containing rectangle coordinates in [ x0, y0, width0, height0, x1, y1 ... ] format. @param indices A Vector containing optional index values to reference the data contained in `rects` @param transforms A Vector containing optional transform data to adjust _x_, _y_, _a_, _b_, _c_ or _d_ value for the resulting quadrilateral. Defines a set of quadrilaterals. This is similar to using GraphicsPath `drawRect` repeatedly, but each rectangle can use a transform value to rotate, scale or skew the result. Any type of fill can be used, but if the fill has a transform matrix that transform matrix is ignored. The optional `indices` parameter allows the use of either repeated rectangle geometry, or allows the use of a subset of a broader rectangle data Vector, such as Tileset `rectData`. "tags=\"haxe,release\"" A matrix object (of the openfl.geom.Matrix class), which you can use to define transformations on the shader. For example, you can use the following matrix to rotate a shader by 45 degrees (pi/4 radians): ```haxe var matrix = new openfl.geom.Matrix(); matrix.rotate(Math.PI / 4); ``` The coordinates received in the shader are based on the matrix that is specified for the `matrix` parameter. For a default (`null`) matrix, the coordinates in the shader are local pixel coordinates which can be used to sample an input. The shader to use for the fill. This Shader instance is not required to specify an image input. However, if an image input is specified in the shader, the input must be provided manually by setting the `input` property of the corresponding ShaderInput property of the `Shader.data` property. When you pass a Shader instance as an argument the shader is copied internally and the drawing fill operation uses that internal copy, not a reference to the original shader. Any changes made to the shader, such as changing a parameter value, input, or bytecode, are not applied to the copied shader that's used for the fill. <__graphicsDataType set="null"> <__graphicsFillType set="null"> { matrix : null } Creates a new GraphicsShaderFill object. @param shader The shader to use for the fill. This Shader instance is not required to specify an image input. However, if an image input is specified in the shader, the input must be provided manually by setting the `input` property of the corresponding ShaderInput property of the `Shader.data` property. @param matrix A matrix object (of the openfl.geom.Matrix class), which you can use to define transformations on the shader. Defines a shader fill. Use a GraphicsShaderFill object with the `Graphics.drawGraphicsData()` method. Drawing a GraphicsShaderFill object is the equivalent of calling the `Graphics.beginShaderFill()` method. "tags=\"haxe,release\"" Indicates the alpha transparency value of the fill. Valid values are 0 (fully transparent) to 1(fully opaque). The default value is 1. Display objects with alpha set to 0 are active, even though they are invisible. The color of the fill. Valid values are in the hexadecimal format 0xRRGGBB. The default value is 0xFF0000(or the uint 0). <__graphicsDataType set="null"> <__graphicsFillType set="null"> { alpha : 1, color : 0 } Creates a new GraphicsSolidFill object. @param color The color value. Valid values are in the hexadecimal format 0xRRGGBB. @param alpha The alpha transparency value. Valid values are 0(fully transparent) to 1(fully opaque). Defines a solid fill. Use a GraphicsSolidFill object with the `Graphics.drawGraphicsData()` method. Drawing a GraphicsSolidFill object is the equivalent of calling the `Graphics.beginFill()` method. "tags=\"haxe,release\"" Specifies the type of caps at the end of lines. Valid values are: `CapsStyle.NONE`, `CapsStyle.ROUND`, and `CapsStyle.SQUARE`. If a value is not indicated, Flash uses round caps. For example, the following illustrations show the different `capsStyle` settings. For each setting, the illustration shows a blue line with a thickness of 30(for which the `capsStyle` applies), and a superimposed black line with a thickness of 1(for which no `capsStyle` applies): Specifies the instance containing data for filling a stroke. An IGraphicsFill instance can represent a series of fill commands. Specifies the type of joint appearance used at angles. Valid values are: `JointStyle.BEVEL`, `JointStyle.MITER`, and `JointStyle.ROUND`. If a value is not indicated, Flash uses round joints. For example, the following illustrations show the different `joints` settings. For each setting, the illustration shows an angled blue line with a thickness of 30(for which the `jointStyle` applies), and a superimposed angled black line with a thickness of 1(for which no `jointStyle` applies): **Note:** For `joints` set to `JointStyle.MITER`, you can use the `miterLimit` parameter to limit the length of the miter. Indicates the limit at which a miter is cut off. Valid values range from 1 to 255(and values outside that range are rounded to 1 or 255). This value is only used if the `jointStyle` is set to `"miter"`. The `miterLimit` value represents the length that a miter can extend beyond the point at which the lines meet to form a joint. The value expresses a factor of the line `thickness`. For example, with a `miterLimit` factor of 2.5 and a `thickness` of 10 pixels, the miter is cut off at 25 pixels. For example, consider the following angled lines, each drawn with a `thickness` of 20, but with `miterLimit` set to 1, 2, and 4. Superimposed are black reference lines showing the meeting points of the joints: Notice that a given `miterLimit` value has a specific maximum angle for which the miter is cut off. The following table lists some examples: Specifies whether to hint strokes to full pixels. This affects both the position of anchors of a curve and the line stroke size itself. With `pixelHinting` set to `true`, Flash Player hints line widths to full pixel widths. With `pixelHinting` set to `false`, disjoints can appear for curves and straight lines. For example, the following illustrations show how Flash Player renders two rounded rectangles that are identical, except that the `pixelHinting` parameter used in the `lineStyle()` method is set differently(the images are scaled by 200%, to emphasize the difference): Specifies the stroke thickness scaling. Valid values are: * `LineScaleMode.NORMAL` - Always scale the line thickness when the object is scaled(the default). * `LineScaleMode.NONE` - Never scale the line thickness. * `LineScaleMode.VERTICAL` - Do not scale the line thickness if the object is scaled vertically _only_. For example, consider the following circles, drawn with a one-pixel line, and each with the `scaleMode` parameter set to `LineScaleMode.VERTICAL`. The circle on the left is scaled vertically only, and the circle on the right is scaled both vertically and horizontally: * `LineScaleMode.HORIZONTAL` - Do not scale the line thickness if the object is scaled horizontally _only_. For example, consider the following circles, drawn with a one-pixel line, and each with the `scaleMode` parameter set to `LineScaleMode.HORIZONTAL`. The circle on the left is scaled horizontally only, and the circle on the right is scaled both vertically and horizontally: Indicates the thickness of the line in points; valid values are 0-255. If a number is not specified, or if the parameter is undefined, a line is not drawn. If a value of less than 0 is passed, the default is 0. The value 0 indicates hairline thickness; the maximum thickness is 255. If a value greater than 255 is passed, the default is 255. <__graphicsDataType set="null"> { fill : null, miterLimit : 3, joints : JointStyle.ROUND, caps : CapsStyle.NONE, scaleMode : LineScaleMode.NORMAL, pixelHinting : false, thickness : null } Creates a new GraphicsStroke object. @param pixelHinting A Boolean value that specifies whether to hint strokes to full pixels. This affects both the position of anchors of a curve and the line stroke size itself. With `pixelHinting` set to `true`, Flash Player hints line widths to full pixel widths. With `pixelHinting` set to `false`, disjoints can appear for curves and straight lines. For example, the following illustrations show how Flash Player renders two rounded rectangles that are identical, except that the `pixelHinting` parameter used in the `lineStyle()` method is set differently (the images are scaled by 200%, to emphasize the difference): If a value is not supplied, the line does not use pixel hinting. @param scaleMode A value from the LineScaleMode class that specifies which scale mode to use: * `LineScaleMode.NORMAL` - Always scale the line thickness when the object is scaled (the default). * `LineScaleMode.NONE` - Never scale the line thickness. * `LineScaleMode.VERTICAL` - Do not scale the line thickness if the object is scaled vertically _only_. For example, consider the following circles, drawn with a one-pixel line, and each with the `scaleMode` parameter set to `LineScaleMode.VERTICAL`. The circle on the left is scaled vertically only, and the circle on the right is scaled both vertically and horizontally: * `LineScaleMode.HORIZONTAL` - Do not scale the line thickness if the object is scaled horizontally _only_. For example, consider the following circles, drawn with a one-pixel line, and each with the `scaleMode` parameter set to `LineScaleMode.HORIZONTAL`. The circle on the left is scaled horizontally only, and the circle on the right is scaled both vertically and horizontally: @param caps A value from the CapsStyle class that specifies the type of caps at the end of lines. Valid values are: `CapsStyle.NONE`, `CapsStyle.ROUND`, and `CapsStyle.SQUARE`. If a value is not indicated, Flash uses round caps. For example, the following illustrations show the different `capsStyle` settings. For each setting, the illustration shows a blue line with a thickness of 30(for which the `capsStyle` applies), and a superimposed black line with a thickness of 1(for which no `capsStyle` applies): @param joints A value from the JointStyle class that specifies the type of joint appearance used at angles. Valid values are: `JointStyle.BEVEL`, `JointStyle.MITER`, and `JointStyle.ROUND`. If a value is not indicated, Flash uses round joints. For example, the following illustrations show the different `joints` settings. For each setting, the illustration shows an angled blue line with a thickness of 30(for which the `jointStyle` applies), and a superimposed angled black line with a thickness of 1(for which no `jointStyle` applies): **Note:** For `joints` set to `JointStyle.MITER`, you can use the `miterLimit` parameter to limit the length of the miter. Defines a line style or stroke. Use a GraphicsStroke object with the `Graphics.drawGraphicsData()` method. Drawing a GraphicsStroke object is the equivalent of calling one of the methods of the Graphics class that sets the line style, such as the `Graphics.lineStyle()` method, the `Graphics.lineBitmapStyle()` method, or the `Graphics.lineGradientStyle()` method. "tags=\"haxe,release\"" Specifies whether to render triangles that face in a given direction. Used to prevent the rendering of triangles that cannot be seen in the current view. Can be set to any value defined by the TriangleCulling class. A Vector of integers or indexes, where every three indexes define a triangle. If the indexes parameter is null then every three vertices (six x,y pairs in the vertices Vector) defines a triangle. Otherwise each index refers to a vertex, which is a pair of numbers in the vertices Vector. For example `indexes[1]` refers to (`vertices[2]`, `vertices[3]`). A Vector of normalized coordinates used to apply texture mapping. Each coordinate refers to a point on the bitmap used for the fill. There must be one UV or one UVT coordinate per vertex. In UV coordinates, (0,0) is the upper left of the bitmap, and (1,1) is the lower right of the bitmap. If the length of this vector is twice the length of the `vertices` vector then normalized coordinates are used without perspective correction. If the length of this vector is three times the length of the `vertices` vector then the third coordinate is interpreted as 't', the distance from the eye to the texture in eye space. This helps the rendering engine correctly apply perspective when mapping textures in 3D. A Vector of Numbers where each pair of numbers is treated as a point (an x, y pair). <__graphicsDataType set="null"> { culling : NONE, uvtData : null, indices : null, vertices : null } Creates a new GraphicsTrianglePath object. @param vertices A Vector of Numbers where each pair of numbers is treated as a point (an x, y pair). Required. @param indices A Vector of integers or indexes, where every three indexes define a triangle. @param uvtData A Vector of normalized coordinates used to apply texture mapping. @param culling Specifies whether to render triangles that face in a given direction. Used to prevent the rendering of triangles that cannot be seen in the current view. Can be set to any value defined by the TriangleCulling class. Defines an ordered set of triangles that can be rendered using either (u,v) fill coordinates or a normal fill. Each triangle in the path is represented by three sets of (x, y) coordinates, each of which is one point of the triangle. The triangle vertices do not contain z coordinates and do not necessarily represent 3D faces. However a triangle path can be used to support the rendering of 3D geometry in a 2D space. "tags=\"haxe,release\"" Returns the number of tiles of this object. Adds a Tile instance to this ITileContainer instance. The tile is added to the front (top) of all other tiles in this ITileContainer instance. (To add a tile to a specific index position, use the `addTileAt()` method.) @param tile The Tile instance to add to this ITileContainer instance. @return The Tile instance that you pass in the `tile` parameter. Adds a Tile instance to this ITileContainer instance. The tile is added at the index position specified. An index of 0 represents the back (bottom) of the rendered list for this ITileContainer object. For example, the following example shows three tiles, labeled a, b, and c, at index positions 0, 2, and 1, respectively: ![b over c over a](/images/DisplayObjectContainer_layers.jpg) @param tile The Tile instance to add to this ITileContainer instance. @param index The index position to which the tile is added. If you specify a currently occupied index position, the tile object that exists at that position and all higher positions are moved up one position in the tile list. @return The Tile instance that you pass in the `tile` parameter. Adds an Array of Tile instances to this ITileContainer instance. The tiles are added to the front (top) of all other tiles in this ITileContainer instance. @param tiles The Tile instances to add to this ITileContainer instance. @return The Tile Array that you pass in the `tiles` parameter. Determines whether the specified tile is contained within the ITileContainer instance. The search includes the entire tile list including this ITileContainer instance. Grandchildren, great-grandchildren, and so on each return `true`. @param tile The tile object to test. @return `true` if the `tile` object is contained within the ITileContainer; otherwise `false`. Returns the tile instance that exists at the specified index. @param index The index position of the tile object. @return The tile object at the specified index position. Returns the index position of a contained Tile instance. @param child The Tile instance to identify. @return The index position of the tile object to identify. Removes the specified Tile instance from the tile list of the ITileContainer instance. The index positions of any tile objects above the tile in the ITileContainer are decreased by 1. @param tile The Tile instance to remove. @return The Tile instance that you pass in the `tile` parameter. Removes a Tile from the specified `index` position in the tile list of the ITileContainer. The index positions of any tile objects above the tile in the ITileContainer are decreased by 1. @param index The index of the Tile to remove. @return The Tile instance that was removed. { endIndex : 0x7fffffff, beginIndex : 0 } Removes all Tile instances from the tile list of the ITileContainer instance. @param beginIndex The beginning position. @param endIndex The ending position. Changes the position of an existing tile in the tile container. This affects the layering of tile objects. For example, the following example shows three tile objects, labeled a, b, and c, at index positions 0, 1, and 2, respectively: ![c over b over a](/images/DisplayObjectContainerSetChildIndex1.jpg) When you use the `setTileIndex()` method and specify an index position that is already occupied, the only positions that change are those in between the tile object's former and new position. All others will stay the same. If a tile is moved to an index LOWER than its current index, all tiles in between will INCREASE by 1 for their index reference. If a tile is moved to an index HIGHER than its current index, all tiles in between will DECREASE by 1 for their index reference. For example, if the tile container in the previous example is named `container`, you can swap the position of the tile objects labeled a and b by calling the following code: ```haxe container.setTileIndex(container.getTileAt(1), 0); ``` This code results in the following arrangement of objects: ![c over a over b](/images/DisplayObjectContainerSetChildIndex2.jpg) @param tile The Tile instance for which you want to change the index number. @param index The resulting index number for the `tile` object. Sorts the z-order (front-to-back order) of all the tile objects in this container based on a comparison function. A comparison function should take two arguments to compare. Given the elements A and B, the result of `compareFunction` can have a negative, 0, or positive value: * A negative return value specifies that A appears before B in the sorted sequence. * A return value of 0 specifies that A and B have the same sort order. * A positive return value specifies that A appears after B in the sorted sequence. The sort operation is not guaranteed to be stable, which means that the order of equal elements may not be retained. @param compareFunction A comparison function to use when sorting. Swaps the z-order (front-to-back order) of the two specified tile objects. All other tile objects in the tile container remain in the same index positions. @param child1 The first tile object. @param child2 The second tile object. Swaps the z-order (front-to-back order) of the tile objects at the two specified index positions in the tile list. All other tile objects in the tile container remain in the same index positions. @param index1 The index position of the first tile object. @param index2 The index position of the second tile object. ITileContainer is an interface implemented by compatible tile container objects, including the Tilemap and TileContainer classes. The InterpolationMethod class provides values for the `interpolationMethod` parameter in the `Graphics.beginGradientFill()` and `Graphics.lineGradientStyle()` methods. This parameter determines the RGB space to use when rendering the gradient. cast 0 Specifies that the RGB interpolation method should be used. This means that the gradient is rendered with exponential sRGB(standard RGB) space. The sRGB space is a W3C-endorsed standard that defines a non-linear conversion between red, green, and blue component values and the actual intensity of the visible component color. For example, consider a simple linear gradient between two colors(with the `spreadMethod` parameter set to `SpreadMethod.REFLECT`). The different interpolation methods affect the appearance as follows: cast 1 Specifies that the RGB interpolation method should be used. This means that the gradient is rendered with exponential sRGB(standard RGB) space. The sRGB space is a W3C-endorsed standard that defines a non-linear conversion between red, green, and blue component values and the actual intensity of the visible component color. For example, consider a simple linear gradient between two colors(with the `spreadMethod` parameter set to `SpreadMethod.REFLECT`). The different interpolation methods affect the appearance as follows: cast 0 Specifies that the RGB interpolation method should be used. This means that the gradient is rendered with exponential sRGB(standard RGB) space. The sRGB space is a W3C-endorsed standard that defines a non-linear conversion between red, green, and blue component values and the actual intensity of the visible component color. For example, consider a simple linear gradient between two colors(with the `spreadMethod` parameter set to `SpreadMethod.REFLECT`). The different interpolation methods affect the appearance as follows: cast 1 Specifies that the RGB interpolation method should be used. This means that the gradient is rendered with exponential sRGB(standard RGB) space. The sRGB space is a W3C-endorsed standard that defines a non-linear conversion between red, green, and blue component values and the actual intensity of the visible component color. For example, consider a simple linear gradient between two colors(with the `spreadMethod` parameter set to `SpreadMethod.REFLECT`). The different interpolation methods affect the appearance as follows: A value between 1 and 100, where 1 means the lowest quality and 100 means the highest quality. The higher the value, the larger the size of the output of the compression, and the smaller the compression ratio. { quality : 80 } Creates a JPEGEncoderOptions object with the specified setting. @param quality The initial quality value. The JPEGEncoderOptions class defines a compression algorithm for the `openfl.display.BitmapData.encode()` method. "tags=\"haxe,release\"" The JointStyle class is an enumeration of constant values that specify the joint style to use in drawing lines. These constants are provided for use as values in the `joints` parameter of the `openfl.display.Graphics.lineStyle()` method. The method supports three types of joints: miter, round, and bevel, as the following example shows: cast 0 Specifies beveled joints in the `joints` parameter of the `openfl.display.Graphics.lineStyle()` method. cast 1 Specifies mitered joints in the `joints` parameter of the `openfl.display.Graphics.lineStyle()` method. cast 2 Specifies round joints in the `joints` parameter of the `openfl.display.Graphics.lineStyle()` method. cast 0 Specifies beveled joints in the `joints` parameter of the `openfl.display.Graphics.lineStyle()` method. cast 1 Specifies mitered joints in the `joints` parameter of the `openfl.display.Graphics.lineStyle()` method. cast 2 Specifies round joints in the `joints` parameter of the `openfl.display.Graphics.lineStyle()` method. The LineScaleMode class provides values for the `scaleMode` parameter in the `Graphics.lineStyle()` method. cast 0 With this setting used as the `scaleMode` parameter of the `lineStyle()` method, the thickness of the line scales _only_ vertically. For example, consider the following circles, drawn with a one-pixel line, and each with the `scaleMode` parameter set to `LineScaleMode.VERTICAL`. The circle on the left is scaled only vertically, and the circle on the right is scaled both vertically and horizontally. cast 1 With this setting used as the `scaleMode` parameter of the `lineStyle()` method, the thickness of the line never scales. cast 2 With this setting used as the `scaleMode` parameter of the `lineStyle()` method, the thickness of the line always scales when the object is scaled(the default). cast 3 With this setting used as the `scaleMode` parameter of the `lineStyle()` method, the thickness of the line scales _only_ horizontally. For example, consider the following circles, drawn with a one-pixel line, and each with the `scaleMode` parameter set to `LineScaleMode.HORIZONTAL`. The circle on the left is scaled only horizontally, and the circle on the right is scaled both vertically and horizontally. cast 0 With this setting used as the `scaleMode` parameter of the `lineStyle()` method, the thickness of the line scales _only_ vertically. For example, consider the following circles, drawn with a one-pixel line, and each with the `scaleMode` parameter set to `LineScaleMode.VERTICAL`. The circle on the left is scaled only vertically, and the circle on the right is scaled both vertically and horizontally. cast 1 With this setting used as the `scaleMode` parameter of the `lineStyle()` method, the thickness of the line never scales. cast 2 With this setting used as the `scaleMode` parameter of the `lineStyle()` method, the thickness of the line always scales when the object is scaled(the default). cast 3 With this setting used as the `scaleMode` parameter of the `lineStyle()` method, the thickness of the line scales _only_ horizontally. For example, consider the following circles, drawn with a one-pixel line, and each with the `scaleMode` parameter set to `LineScaleMode.HORIZONTAL`. The circle on the left is scaled only horizontally, and the circle on the right is scaled both vertically and horizontally. Contains the root display object of the SWF file or image(JPG, PNG, or GIF) file that was loaded by using the `load()` or `loadBytes()` methods. @throws SecurityError The loaded SWF file or image file belongs to a security sandbox to which you do not have access. For a loaded SWF file, you can avoid this situation by having the file call the `Security.allowDomain()` method or by having the loading file specify a `loaderContext` parameter with its `securityDomain` property set to `SecurityDomain.currentDomain` when you call the `load()` or `loadBytes()` method. Returns a LoaderInfo object corresponding to the object being loaded. LoaderInfo objects are shared between the Loader object and the loaded content object. The LoaderInfo object supplies loading progress information and statistics about the loaded file. Events related to the load are dispatched by the LoaderInfo object referenced by the `contentLoaderInfo` property of the Loader object. The `contentLoaderInfo` property is set to a valid LoaderInfo object, even before the content is loaded, so that you can add event listeners to the object prior to the load. To detect uncaught errors that happen in a loaded SWF, use the `Loader.uncaughtErrorEvents` property, not the `Loader.contentLoaderInfo.uncaughtErrorEvents` property. An object that dispatches an uncaughtError event when an unhandled error occurs in the SWF that's loaded by this Loader object. An uncaught error happens when an error is thrown outside of any `try..catch` blocks or when an ErrorEvent object is dispatched with no registered listeners. Note that a Loader object's `uncaughtErrorEvents` property dispatches events that bubble through it, not events that it dispatches directly. It never dispatches an `uncaughtErrorEvent` in the target phase. It only dispatches the event in the capture and bubbling phases. To detect an uncaught error in the current SWF (the SWF in which the Loader object is defined) use the `LoaderInfo.uncaughtErrorEvents` property instead. If the content loaded by the Loader object is an AVM1 (ActionScript 2) SWF file, uncaught errors in the AVM1 SWF file do not result in an `uncaughtError` event. <__library> <__path> <__unloaded> Cancels a `load()` method operation that is currently in progress for the Loader instance. { context : null } Loads a SWF, JPEG, progressive JPEG, unanimated GIF, or PNG file into an object that is a child of this Loader object. If you load an animated GIF file, only the first frame is displayed. As the Loader object can contain only a single child, issuing a subsequent `load()` request terminates the previous request, if still pending, and commences a new load. **Note**: In AIR 1.5 and Flash Player 10, the maximum size for a loaded image is 8,191 pixels in width or height, and the total number of pixels cannot exceed 16,777,215 pixels.(So, if an loaded image is 8,191 pixels wide, it can only be 2,048 pixels high.) In Flash Player 9 and earlier and AIR 1.1 and earlier, the limitation is 2,880 pixels in height and 2,880 pixels in width. A SWF file or image loaded into a Loader object inherits the position, rotation, and scale properties of the parent display objects of the Loader object. Use the `unload()` method to remove movies or images loaded with this method, or to cancel a load operation that is in progress. You can prevent a SWF file from using this method by setting the `allowNetworking` parameter of the the `object` and `embed` tags in the HTML page that contains the SWF content. When you use this method, consider the Flash Player security model, which is described in the Loader class description. In Flash Player 10 and later, if you use a multipart Content-Type(for example "multipart/form-data") that contains an upload(indicated by a "filename" parameter in a "content-disposition" header within the POST body), the POST operation is subject to the security rules applied to uploads: * The POST operation must be performed in response to a user-initiated action, such as a mouse click or key press. * If the POST operation is cross-domain(the POST target is not on the same server as the SWF file that is sending the POST request), the target server must provide a URL policy file that permits cross-domain access. Also, for any multipart Content-Type, the syntax must be valid (according to the RFC2046 standard). If the syntax appears to be invalid, the POST operation is subject to the security rules applied to uploads. For more information related to security, see the Flash Player Developer Center Topic: [Security](http://www.adobe.com/go/devnet_security_en). @param request The absolute or relative URL of the SWF, JPEG, GIF, or PNG file to be loaded. A relative path must be relative to the main SWF file. Absolute URLs must include the protocol reference, such as http:// or file:///. Filenames cannot include disk drive specifications. @param context A LoaderContext object, which has properties that define the following: * Whether or not to check for the existence of a policy file upon loading the object * The ApplicationDomain for the loaded object * The SecurityDomain for the loaded object * The ImageDecodingPolicy for the loaded image object If the `context` parameter is not specified or refers to a null object, the loaded content remains in its own security domain. For complete details, see the description of the properties in the [LoaderContext](../system/LoaderContext.html) class. @throws IOError The `digest` property of the `request` object is not `null`. You should only set the `digest` property of a URLRequest object when calling the `URLLoader.load()` method when loading a SWZ file(an Adobe platform component). @throws IllegalOperationError If the `requestedContentParent` property of the `context` parameter is a `Loader`. @throws IllegalOperationError If the `LoaderContext.parameters` parameter is set to non-null and has some values which are not Strings. @throws SecurityError The value of `LoaderContext.securityDomain` must be either `null` or `SecurityDomain.currentDomain`. This reflects the fact that you can only place the loaded media in its natural security sandbox or your own(the latter requires a policy file). @throws SecurityError Local SWF files may not set LoaderContext.securityDomain to anything other than `null`. It is not permitted to import non-local media into a local sandbox, or to place other local media in anything other than its natural sandbox. @throws SecurityError You cannot connect to commonly reserved ports. For a complete list of blocked ports, see "Restricting Networking APIs" in the _ActionScript 3.0 Developer's Guide_. @throws SecurityError If the `applicationDomain` or `securityDomain` properties of the `context` parameter are from a disallowed domain. @throws SecurityError If a local SWF file is attempting to use the `securityDomain` property of the `context` parameter. @event asyncError Dispatched by the `contentLoaderInfo` object if the `LoaderContext.requestedContentParent` property has been specified and it is not possible to add the loaded content as a child to the specified DisplayObjectContainer. This could happen if the loaded content is a `openfl.display.AVM1Movie` or if the `addChild()` call to the requestedContentParent throws an error. @event complete Dispatched by the `contentLoaderInfo` object when the file has completed loading. The `complete` event is always dispatched after the `init` event. @event httpStatus Dispatched by the `contentLoaderInfo` object when a network request is made over HTTP and Flash Player can detect the HTTP status code. @event init Dispatched by the `contentLoaderInfo` object when the properties and methods of the loaded SWF file are accessible. The `init` event always precedes the `complete` event. @event ioError Dispatched by the `contentLoaderInfo` object when an input or output error occurs that causes a load operation to fail. @event open Dispatched by the `contentLoaderInfo` object when the loading operation starts. @event progress Dispatched by the `contentLoaderInfo` object as data is received while load operation progresses. @event securityError Dispatched by the `contentLoaderInfo` object if a SWF file in the local-with-filesystem sandbox attempts to load content in the local-with-networking sandbox, or vice versa. @event securityError Dispatched by the `contentLoaderInfo` object if the `LoaderContext.requestedContentParent` property has been specified and the security sandbox of the `LoaderContext.requestedContentParent` does not have access to the loaded SWF. @event unload Dispatched by the `contentLoaderInfo` object when a loaded object is removed. { context : null } Loads from binary data stored in a ByteArray object. The `loadBytes()` method is asynchronous. You must wait for the "init" event before accessing the properties of a loaded object. When you use this method, consider the Flash Player security model, which is described in the Loader class description. @param bytes A ByteArray object. The contents of the ByteArray can be any of the file formats supported by the Loader class: SWF, GIF, JPEG, or PNG. @param context A LoaderContext object. Only the `applicationDomain` property of the LoaderContext object applies; the `checkPolicyFile` and `securityDomain` properties of the LoaderContext object do not apply. If the `context` parameter is not specified or refers to a null object, the content is loaded into the current security domain - a process referred to as "import loading" in Flash Player security documentation. Specifically, if the loading SWF file trusts the remote SWF by incorporating the remote SWF into its code, then the loading SWF can import it directly into its own security domain. For more information related to security, see the Flash Player Developer Center Topic: [Security](http://www.adobe.com/go/devnet_security_en). @throws ArgumentError If the `length` property of the ByteArray object is not greater than 0. @throws IllegalOperationError If the `checkPolicyFile` or `securityDomain` property of the `context` parameter are non-null. @throws IllegalOperationError If the `requestedContentParent` property of the `context` parameter is a `Loader`. @throws IllegalOperationError If the `LoaderContext.parameters` parameter is set to non-null and has some values which are not Strings. @throws SecurityError If the provided `applicationDomain` property of the `context` property is from a disallowed domain. @throws SecurityError You cannot connect to commonly reserved ports. For a complete list of blocked ports, see "Restricting Networking APIs" in the _ActionScript 3.0 Developer's Guide_. @event asyncError Dispatched by the `contentLoaderInfo` object if the `LoaderContext.requestedContentParent` property has been specified and it is not possible to add the loaded content as a child to the specified DisplayObjectContainer. This could happen if the loaded content is a `openfl.display.AVM1Movie` or if the `addChild()` call to the requestedContentParent throws an error. @event complete Dispatched by the `contentLoaderInfo` object when the operation is complete. The `complete` event is always dispatched after the `init` event. @event init Dispatched by the `contentLoaderInfo` object when the properties and methods of the loaded data are accessible. The `init` event always precedes the `complete` event. @event ioError Dispatched by the `contentLoaderInfo` object when the runtime cannot parse the data in the byte array. @event open Dispatched by the `contentLoaderInfo` object when the operation starts. @event progress Dispatched by the `contentLoaderInfo` object as data is transfered in memory. @event securityError Dispatched by the `contentLoaderInfo` object if the `LoaderContext.requestedContentParent` property has been specified and the security sandbox of the `LoaderContext.requestedContentParent` does not have access to the loaded SWF. @event unload Dispatched by the `contentLoaderInfo` object when a loaded object is removed. Removes a child of this Loader object that was loaded by using the `load()` method. The `property` of the associated LoaderInfo object is reset to `null`. The child is not necessarily destroyed because other objects might have references to it; however, it is no longer a child of the Loader object. As a best practice, before you unload a child SWF file, you should explicitly close any streams in the child SWF file's objects, such as LocalConnection, NetConnection, NetStream, and Sound objects. Otherwise, audio in the child SWF file might continue to play, even though the child SWF file was unloaded. To close streams in the child SWF file, add an event listener to the child that listens for the `unload` event. When the parent calls `Loader.unload()`, the `unload` event is dispatched to the child. The following code shows how you might do this: ``` function closeAllStreams(evt:Event) { myNetStream.close(); mySound.close(); myNetConnection.close(); myLocalConnection.close(); } myMovieClip.loaderInfo.addEventListener(Event.UNLOAD, closeAllStreams); ``` { gc : true } Attempts to unload child SWF file contents and stops the execution of commands from loaded SWF files. This method attempts to unload SWF files that were loaded using `Loader.load()` or `Loader.loadBytes()` by removing references to EventDispatcher, NetConnection, Timer, Sound, or Video objects of the child SWF file. As a result, the following occurs for the child SWF file and the child SWF file's display list: * Sounds are stopped. * Stage event listeners are removed. * Event listeners for `enterFrame`, `frameConstructed`, `exitFrame`, `activate` and `deactivate` are removed. * Timers are stopped. * Camera and Microphone instances are detached * Movie clips are stopped. @param gc Provides a hint to the garbage collector to run on the child SWF objects(`true`) or not(`false`). If you are unloading many objects asynchronously, setting the `gc` paramter to `false` might improve application performance. However, if the parameter is set to `false`, media and display objects of the child SWF file might persist in memory after running the `unloadAndStop()` command. <__dispatchError set="method" line="705"> <__setContent set="method" line="712"> "checkstyle:Dynamic" Creates a Loader object that you can use to load files, such as SWF, JPEG, GIF, or PNG files. Call the `load()` method to load the asset as a child of the Loader instance. You can then add the Loader object to the display list(for instance, by using the `addChild()` method of a DisplayObjectContainer instance). The asset appears on the Stage as it loads. You can also use a Loader instance "offlist," that is without adding it to a display object container on the display list. In this mode, the Loader instance might be used to load a SWF file that contains additional modules of an application. To detect when the SWF file is finished loading, you can use the events of the LoaderInfo object associated with the `contentLoaderInfo` property of the Loader object. At that point, the code in the module SWF file can be executed to initialize and start the module. In the offlist mode, a Loader instance might also be used to load a SWF file that contains components or media assets. Again, you can use the LoaderInfo object event notifications to detect when the components are finished loading. At that point, the application can start using the components and media assets in the library of the SWF file by instantiating the ActionScript 3.0 classes that represent those components and assets. To determine the status of a Loader object, monitor the following events that the LoaderInfo object associated with the `contentLoaderInfo` property of the Loader object: * The `open` event is dispatched when loading begins. * The `ioError` or `securityError` event is dispatched if the file cannot be loaded or if an error occured during the load process. * The `progress` event fires continuously while the file is being loaded. * The `complete` event is dispatched when a file completes downloading, but before the loaded movie clip's methods and properties are available. * The `init` event is dispatched after the properties and methods of the loaded SWF file are accessible, so you can begin manipulating the loaded SWF file. This event is dispatched before the `complete` handler. In streaming SWF files, the `init` event can occur significantly earlier than the `complete` event. For most purposes, use the `init` handler. The Loader class is used to load SWF files or image (JPG, PNG, or GIF) files. Use the `load()` method to initiate loading. The loaded display object is added as a child of the Loader object. Use the URLLoader class to load text or binary data. The Loader class overrides the following methods that it inherits, because a Loader object can only have one child display object - the display object that it loads. Calling the following methods throws an exception: `addChild()`, `addChildAt()`, `removeChild()`, `removeChildAt()`, and `setChildIndex()`. To remove a loaded display object, you must remove the _Loader_ object from its parent DisplayObjectContainer child array. **Note:** The ActionScript 2.0 MovieClipLoader and LoadVars classes are not used in ActionScript 3.0. The Loader and URLLoader classes replace them. When you use the Loader class, consider the Flash Player and Adobe AIR security model: * You can load content from any accessible source. * Loading is not allowed if the calling SWF file is in a network sandbox and the file to be loaded is local. * If the loaded content is a SWF file written with ActionScript 3.0, it cannot be cross-scripted by a SWF file in another security sandbox unless that cross-scripting arrangement was approved through a call to the `System.allowDomain()` or the `System.allowInsecureDomain()` method in the loaded content file. * If the loaded content is an AVM1 SWF file(written using ActionScript 1.0 or 2.0), it cannot be cross-scripted by an AVM2 SWF file(written using ActionScript 3.0). However, you can communicate between the two SWF files by using the LocalConnection class. * If the loaded content is an image, its data cannot be accessed by a SWF file outside of the security sandbox, unless the domain of that SWF file was included in a URL policy file at the origin domain of the image. * Movie clips in the local-with-file-system sandbox cannot script movie clips in the local-with-networking sandbox, and the reverse is also prevented. * You cannot connect to commonly reserved ports. For a complete list of blocked ports, see "Restricting Networking APIs" in the _ActionScript 3.0 Developer's Guide_. However, in AIR, content in the `application` security sandbox(content installed with the AIR application) are not restricted by these security limitations. For more information related to security, see the Flash Player Developer Center Topic: [Security](http://www.adobe.com/go/devnet_security_en). When loading a SWF file from an untrusted source(such as a domain other than that of the Loader object's root SWF file), you may want to define a mask for the Loader object, to prevent the loaded content(which is a child of the Loader object) from drawing to portions of the Stage outside of that mask, as shown in the following code: "tags=\"haxe,release\"" openfl.display.LoaderInfo openfl.events.Event <__rootURL expr="""" line="114" static="1"> "" hide "checkstyle:FieldDocComment" When an external SWF file is loaded, all ActionScript 3.0 definitions contained in the loaded class are stored in the `applicationDomain` property. All code in a SWF file is defined to exist in an application domain. The current application domain is where your main application runs. The system domain contains all application domains, including the current domain and all classes used by Flash Player or Adobe AIR. All application domains, except the system domain, have an associated parent domain. The parent domain of your main application's `applicationDomain` is the system domain. Loaded classes are defined only when their parent doesn't already define them. You cannot override a loaded class definition with a newer definition. For usage examples of application domains, see the "Client System Environment" chapter in the _ActionScript 3.0 Developer's Guide_. @throws SecurityError This security sandbox of the caller is not allowed to access this ApplicationDomain. The bytes associated with a LoaderInfo object. @throws SecurityError If the object accessing this API is prevented from accessing the loaded object due to security restrictions. This situation can occur, for instance, when a Loader object attempts to access the `contentLoaderInfo.content` property and it is not granted security permission to access the loaded content. For more information related to security, see the Flash Player Developer Center Topic: [Security](http://www.adobe.com/go/devnet_security_en). The number of bytes that are loaded for the media. When this number equals the value of `bytesTotal`, all of the bytes are loaded. The number of compressed bytes in the entire media file. Before the first `progress` event is dispatched by this LoaderInfo object's corresponding Loader object, `bytesTotal` is 0. After the first `progress` event from the Loader object, `bytesTotal` reflects the actual number of bytes to be downloaded. Expresses the trust relationship from content(child) to the Loader (parent). If the child has allowed the parent access, `true`; otherwise, `false`. This property is set to `true` if the child object has called the `allowDomain()` method to grant permission to the parent domain or if a URL policy is loaded at the child domain that grants permission to the parent domain. If child and parent are in the same domain, this property is set to `true`. For more information related to security, see the Flash Player Developer Center Topic: [Security](http://www.adobe.com/go/devnet_security_en). @throws Error Thrown if the file is not downloaded sufficiently to retrieve the requested information. The loaded object associated with this LoaderInfo object. @throws SecurityError If the object accessing this API is prevented from accessing the loaded object due to security restrictions. This situation can occur, for instance, when a Loader object attempts to access the `contentLoaderInfo.content` property and it is not granted security permission to access the loaded content. For more information related to security, see the Flash Player Developer Center Topic: [Security](http://www.adobe.com/go/devnet_security_en). The MIME type of the loaded file. The value is `null` if not enough of the file has loaded in order to determine the type. The following list gives the possible values: * `"application/x-shockwave-flash"` * `"image/jpeg"` * `"image/gif"` * `"image/png"` The nominal frame rate, in frames per second, of the loaded SWF file. This number is often an integer, but need not be. This value may differ from the actual frame rate in use. Flash Player or Adobe AIR only uses a single frame rate for all loaded SWF files at any one time, and this frame rate is determined by the nominal frame rate of the main SWF file. Also, the main frame rate may not be able to be achieved, depending on hardware, sound synchronization, and other factors. @throws Error If the file is not downloaded sufficiently to retrieve the requested information. @throws Error If the file is not a SWF file. The nominal height of the loaded file. This value might differ from the actual height at which the content is displayed, since the loaded content or its parent display objects might be scaled. @throws Error If the file is not downloaded sufficiently to retrieve the requested information. The Loader object associated with this LoaderInfo object. If this LoaderInfo object is the `loaderInfo` property of the instance of the main class of the SWF file, no Loader object is associated. @throws SecurityError If the object accessing this API is prevented from accessing the Loader object because of security restrictions. This can occur, for instance, when a loaded SWF file attempts to access its `loaderInfo.loader` property and it is not granted security permission to access the loading SWF file. For more information related to security, see the Flash Player Developer Center Topic: [Security](http://www.adobe.com/go/devnet_security_en). The URL of the SWF file that initiated the loading of the media described by this LoaderInfo object. For the instance of the main class of the SWF file, this URL is the same as the SWF file's own URL. "checkstyle:Dynamic" An object that contains name-value pairs that represent the parameters provided to the loaded SWF file. You can use a `for-in` loop to extract all the names and values from the `parameters` object. The two sources of parameters are: the query string in the URL of the main SWF file, and the value of the `FlashVars` HTML parameter (this affects only the main SWF file). The `parameters` property replaces the ActionScript 1.0 and 2.0 technique of providing SWF file parameters as properties of the main timeline. The value of the `parameters` property is null for Loader objects that contain SWF files that use ActionScript 1.0 or 2.0. It is only non-null for Loader objects that contain SWF files that use ActionScript 3.0. Expresses the trust relationship from Loader(parent) to the content (child). If the parent has allowed the child access, `true`; otherwise, `false`. This property is set to `true` if the parent object called the `allowDomain()` method to grant permission to the child domain or if a URL policy file is loaded at the parent domain granting permission to the child domain. If child and parent are in the same domain, this property is set to `true`. For more information related to security, see the Flash Player Developer Center Topic: [Security](http://www.adobe.com/go/devnet_security_en). @throws Error Thrown if the file is not downloaded sufficiently to retrieve the requested information. Expresses the domain relationship between the loader and the content: `true` if they have the same origin domain; `false` otherwise. @throws Error Thrown if the file is not downloaded sufficiently to retrieve the requested information. An EventDispatcher instance that can be used to exchange events across security boundaries. Even when the Loader object and the loaded content originate from security domains that do not trust one another, both can access `sharedEvents` and send and receive events via this object. An object that dispatches an `uncaughtError` event when an unhandled error occurs in code in this LoaderInfo object's SWF file. An uncaught error happens when an error is thrown outside of any `try..catch` blocks or when an ErrorEvent object is dispatched with no registered listeners. This property is created when the SWF associated with this LoaderInfo has finished loading. Until then the `uncaughtErrorEvents` property is `null`. In an ActionScript-only project, you can access this property during or after the execution of the constructor function of the main class of the SWF file. For a Flex project, the `uncaughtErrorEvents` property is available after the `applicationComplete` event is dispatched. The URL of the media being loaded. Before the first `progress` event is dispatched by this LoaderInfo object's corresponding Loader object, the value of the `url` property might reflect only the initial URL specified in the call to the `load()` method of the Loader object. After the first `progress` event, the `url` property reflects the media's final URL, after any redirects and relative URLs are resolved. In some cases, the value of the `url` property is truncated; see the `isURLInaccessible` property for details. The nominal width of the loaded content. This value might differ from the actual width at which the content is displayed, since the loaded content or its parent display objects might be scaled. @throws Error If the file is not downloaded sufficiently to retrieve the requested information. <__completed> <__complete set="method" line="419"> <__update set="method" line="435"> The LoaderInfo class provides information about a loaded SWF file or a loaded image file(JPEG, GIF, or PNG). LoaderInfo objects are available for any display object. The information provided includes load progress, the URLs of the loader and loaded content, the number of bytes total for the media, and the nominal height and width of the media. You can access LoaderInfo objects in two ways: * The `contentLoaderInfo` property of a openfl.display.Loader object - The `contentLoaderInfo` property is always available for any Loader object. For a Loader object that has not called the `load()` or `loadBytes()` method, or that has not sufficiently loaded, attempting to access many of the properties of the `contentLoaderInfo` property throws an error. * The `loaderInfo` property of a display object. The `contentLoaderInfo` property of a Loader object provides information about the content that the Loader object is loading, whereas the `loaderInfo` property of a DisplayObject provides information about the root SWF file for that display object. When you use a Loader object to load a display object(such as a SWF file or a bitmap), the `loaderInfo` property of the display object is the same as the `contentLoaderInfo` property of the Loader object(`DisplayObject.loaderInfo = Loader.contentLoaderInfo`). Because the instance of the main class of the SWF file has no Loader object, the `loaderInfo` property is the only way to access the LoaderInfo for the instance of the main class of the SWF file. The following diagram shows the different uses of the LoaderInfo object - for the instance of the main class of the SWF file, for the `contentLoaderInfo` property of a Loader object, and for the `loaderInfo` property of a loaded object: When a loading operation is not complete, some properties of the `contentLoaderInfo` property of a Loader object are not available. You can obtain some properties, such as `bytesLoaded`, `bytesTotal`, `url`, `loaderURL`, and `applicationDomain`. When the `loaderInfo` object dispatches the `init` event, you can access all properties of the `loaderInfo` object and the loaded image or SWF file. **Note:** All properties of LoaderInfo objects are read-only. The `EventDispatcher.dispatchEvent()` method is not applicable to LoaderInfo objects. If you call `dispatchEvent()` on a LoaderInfo object, an IllegalOperationError exception is thrown. @event complete Dispatched when data has loaded successfully. In other words, it is dispatched when all the content has been downloaded and the loading has finished. The `complete` event is always dispatched after the `init` event. The `init` event is dispatched when the object is ready to access, though the content may still be downloading. @event httpStatus Dispatched when a network request is made over HTTP and an HTTP status code can be detected. @event init Dispatched when the properties and methods of a loaded SWF file are accessible and ready for use. The content, however, can still be downloading. A LoaderInfo object dispatches the `init` event when the following conditions exist: * All properties and methods associated with the loaded object and those associated with the LoaderInfo object are accessible. * The constructors for all child objects have completed. * All ActionScript code in the first frame of the loaded SWF's main timeline has been executed. For example, an `Event.INIT` is dispatched when the first frame of a movie or animation is loaded. The movie is then accessible and can be added to the display list. The complete movie, however, can take longer to download. The `Event.COMPLETE` is only dispatched once the full movie is loaded. The `init` event always precedes the `complete` event. @event ioError Dispatched when an input or output error occurs that causes a load operation to fail. @event open Dispatched when a load operation starts. @event progress Dispatched when data is received as the download operation progresses. @event unload Dispatched by a LoaderInfo object whenever a loaded object is removed by using the `unload()` method of the Loader object, or when a second load is performed by the same Loader object and the original content is removed prior to the load beginning. "tags=\"haxe,release\"" Creates a new MovieClip based upon a Timeline instance. @param timeline A Timeline object @return A new Sprite Specifies the number of the frame in which the playhead is located in the timeline of the MovieClip instance. If the movie clip has multiple scenes, this value is the frame number in the current scene. The label at the current frame in the timeline of the MovieClip instance. If the current frame has no label, `currentLabel` is `null`. The current label in which the playhead is located in the timeline of the MovieClip instance. If the current frame has no label, `currentLabel` is set to the name of the previous frame that includes a label. If the current frame and previous frames do not include a label, `currentLabel` returns `null`. Returns an array of FrameLabel objects from the current scene. If the MovieClip instance does not use scenes, the array includes all frame labels from the entire MovieClip instance. The current scene in which the playhead is located in the timeline of the MovieClip instance. A Boolean value that indicates whether a movie clip is enabled. The default value of `enabled` is `true`. If `enabled` is set to `false`, the movie clip's Over, Down, and Up frames are disabled. The movie clip continues to receive events(for example, `mouseDown`, `mouseUp`, `keyDown`, and `keyUp`). The `enabled` property governs only the button-like properties of a movie clip. You can change the `enabled` property at any time; the modified movie clip is immediately enabled or disabled. If `enabled` is set to `false`, the object is not included in automatic tab ordering. The number of frames that are loaded from a streaming SWF file. You can use the `framesLoaded` property to determine whether the contents of a specific frame and all the frames before it loaded and are available locally in the browser. You can also use it to monitor the downloading of large SWF files. For example, you might want to display a message to users indicating that the SWF file is loading until a specified frame in the SWF file finishes loading. If the movie clip contains multiple scenes, the `framesLoaded` property returns the number of frames loaded for _all_ scenes in the movie clip. A Boolean value that indicates whether a movie clip is curently playing. An array of Scene objects, each listing the name, the number of frames, and the frame labels for a scene in the MovieClip instance. The total number of frames in the MovieClip instance. If the movie clip contains multiple frames, the `totalFrames` property returns the total number of frames in _all_ scenes in the movie clip. <__enabled> <__hasDown> <__hasOver> <__hasUp> <__mouseIsDown> <__scene> <__timeline> Adds a new FrameScript to this MovieClip. The FrameScript will be executed automatically when the MovieClip enters the specified frame. This is only functional if this MovieClip has an attached Timeline. @param index A zero-based index referencing a frame @param method A method to be called entering the requested frame. Attaches a Timeline to this MovieClip. MovieClips that contain a Timeline can play(), stop() and can include FrameScripts. @param timeline A Timeline object { scene : null } Starts playing the SWF file at the specified frame. This happens after all remaining actions in the frame have finished executing. To specify a scene as well as a frame, specify a value for the `scene` parameter. @param frame A number representing the frame number, or a string representing the label of the frame, to which the playhead is sent. If you specify a number, it is relative to the scene you specify. If you do not specify a scene, the current scene determines the global frame number to play. If you do specify a scene, the playhead jumps to the frame number in the specified scene. @param scene The name of the scene to play. This parameter is optional. { scene : null } Brings the playhead to the specified frame of the movie clip and stops it there. This happens after all remaining actions in the frame have finished executing. If you want to specify a scene in addition to a frame, specify a `scene` parameter. @param frame A number representing the frame number, or a string representing the label of the frame, to which the playhead is sent. If you specify a number, it is relative to the scene you specify. If you do not specify a scene, the current scene determines the global frame number at which to go to and stop. If you do specify a scene, the playhead goes to the frame number in the specified scene and stops. @param scene The name of the scene. This parameter is optional. @throws ArgumentError If the `scene` or `frame` specified are not found in this movie clip. Sends the playhead to the next frame and stops it. This happens after all remaining actions in the frame have finished executing. Moves the playhead in the timeline of the movie clip. Sends the playhead to the previous frame and stops it. This happens after all remaining actions in the frame have finished executing. Stops the playhead in the movie clip. <__enterFrame set="method" line="341" override="1"> <__stopAllMovieClips set="method" line="354" override="1"> <__tabTest set="method" line="360" override="1"> <__onMouseDown set="method" line="367"> <__onMouseUp set="method" line="382"> <__onRollOut set="method" line="406"> <__onRollOver set="method" line="420"> Creates a new MovieClip instance. After creating the MovieClip, call the `addChild()` or `addChildAt()` method of a display object container that is onstage. The MovieClip class inherits from the following classes: Sprite, DisplayObjectContainer, InteractiveObject, DisplayObject, and EventDispatcher. Unlike the Sprite object, a MovieClip object has a timeline. In Flash Professional, the methods for the MovieClip class provide the same functionality as actions that target movie clips. Some additional methods do not have equivalent actions in the Actions toolbox in the Actions panel in the Flash authoring tool. Children instances placed on the Stage in Flash Professional cannot be accessed by code from within the constructor of a parent instance since they have not been created at that point in code execution. Before accessing the child, the parent must instead either create the child instance by code or delay access to a callback function that listens for the child to dispatch its `Event.ADDED_TO_STAGE` event. If you modify any of the following properties of a MovieClip object that contains a motion tween, the playhead is stopped in that MovieClip object: `alpha`, `blendMode`, `filters`, `height`, `opaqueBackground`, `rotation`, `scaleX`, `scaleY`, `scale9Grid`, `scrollRect`, `transform`, `visible`, `width`, `x`, or `y`. However, it does not stop the playhead in any child MovieClip objects of that MovieClip object. **Note:**Flash Lite 4 supports the MovieClip.opaqueBackground property only if FEATURE_BITMAPCACHE is defined. The default configuration of Flash Lite 4 does not define FEATURE_BITMAPCACHE. To enable the MovieClip.opaqueBackground property for a suitable device, define FEATURE_BITMAPCACHE in your project. openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() "tags=\"haxe,release\"" openfl.display.Timeline openfl.geom.ColorTransform <__alphaValue expr="[1]" line="57" static="1"> [1] <__colorMultipliersValue expr="[0, 0, 0, 0]" line="58" static="1"> [0, 0, 0, 0] <__colorOffsetsValue expr="[0, 0, 0, 0]" line="59" static="1"> [0, 0, 0, 0] <__defaultColorMultipliersValue expr="[1, 1, 1, 1]" line="60" static="1"> [1, 1, 1, 1] <__emptyColorValue expr="[0, 0, 0, 0]" line="61" static="1"> [0, 0, 0, 0] <__emptyAlphaValue expr="[1]" line="62" static="1"> [1] <__hasColorTransformValue expr="[false]" line="63" static="1"> [false] <__scissorRectangle expr="new Rectangle()" line="64" static="1"> new Rectangle() <__textureSizeValue expr="[0, 0]" line="65" static="1"> [0, 0] "checkstyle:Dynamic" The current OpenGL render context <__context3D> <__clipRects> <__currentDisplayShader> <__currentGraphicsShader> <__currentRenderTarget> <__currentShader> <__currentShaderBuffer> <__defaultDisplayShader> <__defaultGraphicsShader> <__defaultRenderTarget> <__defaultShader> <__displayHeight> <__displayWidth> <__flipped> <__gl> "checkstyle:Dynamic" <__height> <__maskShader> <__matrix> "checkstyle:Dynamic" <__maskObjects> <__numClipRects> <__offsetX> <__offsetY> <__projection> "checkstyle:Dynamic" <__projectionFlipped> "checkstyle:Dynamic" <__scrollRectMasks> <__softwareRenderer> <__stencilReference> <__tempRect> <__updatedStencil> <__upscaled> <__values> <__width> Applies an alpha value to the active shader, if compatible with OpenFL core shaders { repeat : false } Binds a BitmapData object as the first active texture of the current active shader, if compatible with OpenFL core shaders Applies a color transform value to the active shader, if compatible with OpenFL core shaders Applies the "has color transform" uniform value for the active shader, if compatible with OpenFL core shaders Applies render matrix to the active shader, if compatible with OpenFL core shaders "checkstyle:Dynamic" Converts an OpenFL two-dimensional matrix to a compatible 3D matrix for use with OpenGL rendering. Repeated calls to this method will return the same object with new values, so it will need to be cloned if the result must be cached Sets the current active shader, which automatically unbinds the previous shader if it was bound using an OpenFL Shader object Updates the current OpenGL viewport using the current OpenFL stage coordinates Updates the current active shader with cached alpha, color transform, bitmap data and other uniform or attribute values. This should be called in advance of rendering Updates the active shader to expect an alpha array, if the current shader is compatible with OpenFL core shaders Updates the active shader to expect a color transform array, if the current shader is compatible with OpenFL core shaders <__cleanup set="method" line="432"> <__clear set="method" line="448" override="1"> <__clearShader set="method" line="462"> <__copyShader set="method" line="484"> <__getMatrix set="method" line="494"> <__initShader set="method" line="530"> <__initDisplayShader set="method" line="549"> <__initGraphicsShader set="method" line="568"> <__initShaderBuffer set="method" line="587"> <__popMask set="method" line="597" override="1"> <__popMaskObject set="method" line="624" override="1"> { handleScrollRect : true } <__popMaskRect set="method" line="645" override="1"> <__pushMask set="method" line="662" override="1"> <__pushMaskObject set="method" line="683" override="1"> { handleScrollRect : true } <__pushMaskRect set="method" line="708" override="1"> <__render set="method" line="746" override="1"> <__renderDrawable set="method" line="842"> <__renderDrawableMask set="method" line="868"> <__renderFilterPass set="method" line="894"> { clear : true } <__resize set="method" line="937" override="1"> <__resumeClipAndMask set="method" line="954"> <__scissorRect set="method" line="977"> { clipRect : null } <__setBlendMode set="method" line="999" override="1"> <__setRenderTarget set="method" line="1036"> <__setShaderBuffer set="method" line="1047"> <__suspendClipAndMask set="method" line="1053"> <__updateShaderBuffer set="method" line="1067"> { defaultRenderTarget : null } **BETA** The OpenGLRenderer API exposes support for OpenGL render instructions within the `RenderEvent.RENDER_OPENGL` event. "tags=\"haxe,release\"" lime.graphics.GLRenderContext openfl.display._internal.ShaderBuffer openfl.display3D.Context3D openfl.display.BitmapData openfl.display.DisplayObject openfl.display.Graphics openfl.display.IBitmapDrawable openfl.display.Shader openfl.display.ShaderParameter openfl.display.Stage3D openfl.geom.ColorTransform openfl.geom.Matrix openfl.geom.Rectangle openfl.display._internal openfl.display3D.textures openfl.display3D openfl.display openfl.text Chooses compression speed over file size. Setting this property to true improves compression speed but creates larger files. { fastCompression : false } Creates a PNGEncoderOptions object, optionally specifying compression settings. @param fastCompression The initial compression mode. The PNGEncoderOptions class defines a compression algorithm for the `openfl.display.BitmapData.encode()` method. "tags=\"haxe,release\"" The PixelSnapping class is an enumeration of constant values for setting the pixel snapping options by using the `pixelSnapping` property of a Bitmap object. cast 0 A constant value used in the `pixelSnapping` property of a Bitmap object to specify that the bitmap image is always snapped to the nearest pixel, independent of any transformation. cast 1 A constant value used in the `pixelSnapping` property of a Bitmap object to specify that the bitmap image is snapped to the nearest pixel if it is drawn with no rotation or skew and it is drawn at a scale factor of 99.9% to 100.1%. If these conditions are satisfied, the image is drawn at 100% scale, snapped to the nearest pixel. Internally, this setting allows the image to be drawn as fast as possible by using the vector renderer. cast 2 A constant value used in the `pixelSnapping` property of a Bitmap object to specify that no pixel snapping occurs. cast 0 A constant value used in the `pixelSnapping` property of a Bitmap object to specify that the bitmap image is always snapped to the nearest pixel, independent of any transformation. cast 1 A constant value used in the `pixelSnapping` property of a Bitmap object to specify that the bitmap image is snapped to the nearest pixel if it is drawn with no rotation or skew and it is drawn at a scale factor of 99.9% to 100.1%. If these conditions are satisfied, the image is drawn at 100% scale, snapped to the nearest pixel. Internally, this setting allows the image to be drawn as fast as possible by using the vector renderer. cast 2 A constant value used in the `pixelSnapping` property of a Bitmap object to specify that no pixel snapping occurs. ()]]> "checkstyle:Dynamic" { display : null } The Preloader class is a Lime Preloader instance that uses an OpenFL display object to display loading progress. "tags=\"haxe,release\"" openfl.display.LoaderInfo "checkstyle:FieldDocComment" openfl.utils._internal.AssetsMacro.initBinding() openfl.utils._internal.AssetsMacro.initBinding() "checkstyle:FieldDocComment" hide "tags=\"haxe,release\"" kernel DoNothing < namespace: "Adobe::Example"; vendor: "Adobe examples"; version: 1; description: "A shader that does nothing, but does it well."; > { input image4 src; output pixel4 dst; parameter float2 size < description: "The size of the image to which the kernel is applied"; minValue: float2(0.0, 0.0); maxValue: float2(100.0, 100.0); defaultValue: float2(50.0, 50.0); >; parameter float radius < description: "The radius of the effect"; minValue: 0.0; maxValue: 50.0; defaultValue: 25.0; >; void evaluatePixel() { float2 one = (radius / radius) ∗ (size / size); dst = sampleNearest(src, outCoord()); } } ``` If you create a Shader instance by loading the byte code for this shader, the ShaderData instance in its `data` property contains these properties: | Property | Data type | Value | | --- | --- | --- | | name | `String` | "DoNothing" | | nameSpace | `String` | "Adobe::Example" | | version | `String` | "1" | | description | `String` | "A shader that does nothing, but does it well." | | src | `ShaderInput` | _[A ShaderInput instance]_ | | size | `ShaderParameter` | _[A ShaderParameter instance, with properties for the parameter metadata]_ | | radius | `ShaderParameter` | _[A ShaderParameter instance, with properties for the parameter metadata]_ | Note that any input image or parameter that is defined in the shader source code but not used in the shader's `evaluatePixel()` function is removed when the shader is compiled to byte code. In that case, there is no corresponding ShaderInput or ShaderParameter instance added as a property of the ShaderData instance. Generally, developer code does not create a ShaderData instance. A ShaderData instance containing data, parameters, and inputs for a shader is available as the Shader instance's `data` property.]]> "tags=\"haxe,release\"" "checkstyle:Dynamic" <_new public="1" set="method" line="103" static="1"> Creates a ShaderData instance. Generally, developer code does not call the ShaderData constructor directly. A ShaderData instance containing data, parameters, and inputs for a Shader instance is accessed using its `data` property. @param byteCode The shader's byte code. <_new public="1" set="method" line="103" static="1"> Creates a ShaderData instance. Generally, developer code does not call the ShaderData constructor directly. A ShaderData instance containing data, parameters, and inputs for a Shader instance is accessed using its `data` property. @param byteCode The shader's byte code. instance.]]> The texture filter to use when binding this shader input. This property is not available when targeting Flash. instance. When the input is a BitmapData instance the height is automatically determined.]]> "checkstyle:Dynamic" The zero-based index of the input in the shader, indicating the order of the input definitions in the shader. instance. If a ByteArray value is assigned to the `input` property, the following conditions must be met: * The `height` and `width` properties must be set. * The byte array's contents must only consist of 32-bit floating-point values. These values can be written using the `ByteArray.writeFloat()` method. * The total length in bytes of the ByteArray must be exactly `width` times `height` times `channels` times 4. * The byte array's `endian` property must be `Endian.LITTLE_ENDIAN`. If a Vector. instance is assigned to the `input` property, the length of the Vector must be equal to `width` times `height` times `channels`.]]> The mip filter to use when binding this shader input. This property is not available when targeting Flash. hide "checkstyle:FieldDocComment" instance. When the input is a BitmapData instance the width is automatically determined.]]> The wrap mode to use when binding this shader input. This property is not available when targeting Flash. <__isUniform> <__disableGL set="method" line="152"> <__updateGL set="method" line="161"> { overrideWrap : null, overrideMipFilter : null, overrideFilter : null, overrideInput : null } Creates a ShaderInput instance. Developer code does not call the ShaderInput constructor directly. A ShaderInput instance is created for each of a shader's inputs when the Shader instance is created. instance containing the image data and assign it to the `input` property. The ShaderInput instance representing a Shader instance's input image is accessed as a property of the Shader instance's `data` property. The ShaderInput property has the same name as the input's name in the shader code. For example, if a shader defines an input named `src`, the ShaderInput instance representing the `src` input is available as the `src` property, as this example shows: ```haxe myShader.data.src.input = new BitmapData(50, 50, true, 0xFF990000); ``` For some uses of a Shader instance, you do not need to specify an input image, because it is automatically specified by the operation. You only need to specify an input when a Shader is used for the following: * Shader fill * ShaderFilter, only for the second or additional inputs if the shader is defined to use more than one input. (The object to which the filter is applied is automatically used as the first input.) * Shader blend mode, only for the third or additional inputs if the shader is defined to use more than two inputs. (The objects being blended are automatically used as the first and second inputs.) * ShaderJob background execution If the shader is being executed using a ShaderJob instance to process a ByteArray containing a linear array of data, set the ShaderInput instance's `height` to 1 and `width` to the number of 32-bit floating point values in the ByteArray. In that case, the input in the shader must be defined with the `image1` data type. Generally, developer code does not create a ShaderInput instance directly. A ShaderInput instance is created for each of a shader's inputs when the Shader instance is created.]]> openfl.display3D.Context3D "tags=\"haxe,release\"" "checkstyle:Dynamic" The zero-based index of the parameter. hide "checkstyle:FieldDocComment" The data type of the parameter as defined in the shader. The set of possible values for the `type` property is defined by the constants in the ShaderParameterType class. The value or values that are passed in as the parameter value to the shader. The `value` property is an indexed Array. The number and type of the elements of the Array correspond to the data type of the parameter, which can be determined using the `type` property. The following table indicates the parameter type and corresponding number and data type of the `value` Array's elements: | Parameter type | # Elements | Element data type | | --- | --- | --- | | float (`ShaderParameterType.FLOAT`) | 1 | Number | | float2 (`ShaderParameterType.FLOAT2`) | 2 | Number | | float3 (`ShaderParameterType.FLOAT3`) | 3 | Number | | float4 (`ShaderParameterType.FLOAT4`) | 4 | Number | | int (`ShaderParameterType.INT`) | 1 | int or uint | | int2 (`ShaderParameterType.INT2`) | 2 | int or uint | | int3 (`ShaderParameterType.INT3`) | 3 | int or uint | | int4 (`ShaderParameterType.INT4`) | 4 | int or uint | | bool (`ShaderParameterType.BOOL`) | 1 | Boolean | | bool2 (`ShaderParameterType.BOOL2`) | 2 | Boolean | | bool3 (`ShaderParameterType.BOOL3`) | 3 | Boolean | | bool4 (`ShaderParameterType.BOOL4`) | 4 | Boolean | | float2x2 (`ShaderParameterType.MATRIX2X2`) | 4 | Number | | float3x3 (`ShaderParameterType.MATRIX3X3`) | 9 | Number | | float4x4 (`ShaderParameterType.MATRIX4X4`) | 16 | Number | For the matrix parameter types, the array elements fill the rows of the matrix, then the columns. For example, suppose the following line of ActionScript is used to fill a `float2x2` parameter named `myMatrix`: ```haxe myShader.data.myMatrix.value = [.1, .2, .3, .4]; ``` Within the shader, the matrix elements have the following values: * `myMatrix[0][0]`: .1 * `myMatrix[0][1]`: .2 * `myMatrix[1][0]`: .3 * `myMatrix[1][1]`: .4 <__arrayLength> <__internal> <__isBool> <__isFloat> <__isInt> <__isUniform> <__length> <__uniformMatrix> <__useArray> <__disableGL set="method" line="172"> <__updateGL set="method" line="187"> { overrideValue : null } <__updateGLFromBuffer set="method" line="423"> ; parameter float radius < description: "The radius of the effect"; minValue: 0.0; maxValue: 50.0; defaultValue: 25.0; >; ``` The ShaderParameter instance corresponding to the `size` parameter has the following metadata properties in addition to its built-in properties: | Property name | Data type | Value | | --- | --- | --- | | `name` | String | `"size"` | | `description` | String | `"The size of the image to which the kernel is applied"` | | `minValue` | Array | `[0, 0]` | | `maxValue` | Array | `[100, 100]` | | `defaultValue` | Array | `[50, 50]` | The ShaderParameter corresponding to the `radius` parameter has the following additional properties: | Property name | Data type | Value | | --- | --- | --- | | `name` | String | `"radius"` | | `description` | String | `"The radius of the effect"` | | `minValue` | Array | `[0]` | | `maxValue` | Array | `[50]` | | `defaultValue` | Array | `[25]` | Generally, developer code does not create a ShaderParameter instance directly. A ShaderParameter instance is created for each of a shader's parameters when the Shader instance is created.]]> "tags=\"haxe,release\"" openfl.display3D.Context3D This class defines the constants that represent the possible values for the ShaderParameter class's `type` property. Each constant represents one of the data types available in Flash Player for parameters in the Pixel Bender shader language. cast 0 Indicates that the shader parameter is defined as a `bool` value, equivalent to a single Boolean instance in ActionScript. Note that even though the parameter only expects a single value, the `ShaderParameter.value` property is an Array, so the single value must be the only element of an Array assigned to the `value` property, like this: ```haxe // assumes the shader has a parameter named "param" // whose data type is bool myShader.data.param.value = [true]; ``` cast 1 Indicates that the shader parameter is defined as a `bool2` value, equivalent to an Array of two Boolean instances in ActionScript. cast 2 Indicates that the shader parameter is defined as a `bool3` value, equivalent to an Array of three Boolean instances in ActionScript. cast 3 Indicates that the shader parameter is defined as a `bool4` value, equivalent to an Array of four Boolean instances in ActionScript. cast 4 Indicates that the shader parameter is defined as a `float` value, equivalent to a single Number instance in ActionScript. Note that even though the parameter only expects a single value, the `ShaderParameter.value` property is an Array, so the single value must be the only element of an Array assigned to the `value` property, like this: ```haxe // assumes the shader has a parameter named "param" // whose data type is float myShader.data.param.value = [22.5]; ``` cast 5 Indicates that the shader parameter is defined as a `float2` value, equivalent to an Array of two Number instances in ActionScript. cast 6 Indicates that the shader parameter is defined as a `float3` value, equivalent to an Array of three Number instances in ActionScript. cast 7 Indicates that the shader parameter is defined as a `float4` value, equivalent to an Array of four Number instances in ActionScript. cast 8 Indicates that the shader parameter is defined as an `int` value, equivalent to a single int or uint instance in ActionScript. Note that even though the parameter only expects a single value, the `ShaderParameter.value` property is an Array, so the single value must be the only element of an Array assigned to the `value` property, like this: ```haxe // assumes the shader has a parameter named "param" // whose data type is int myShader.data.param.value = [275]; ``` cast 9 Indicates that the shader parameter is defined as an `int2` value, equivalent to an Array of two int or uint instances in ActionScript. cast 10 Indicates that the shader parameter is defined as an `int3` value, equivalent to an Array of three int or uint instances in ActionScript. cast 11 Indicates that the shader parameter is defined as an `int4` value, equivalent to an Array of four int or uint instances in ActionScript. cast 12 Indicates that the shader parameter is defined as a `float2x2` value, equivalent to a 2-by-2 matrix. This matrix is represented as an Array of four Number instances in ActionScript. cast 13 Indicates that the shader parameter is defined as a `float2x3` value, equivalent to a 2-by-3 matrix. This matrix is represented as an Array of six Float instances in Haxe. cast 14 Indicates that the shader parameter is defined as a `float2x4` value, equivalent to a 2-by-4 matrix. This matrix is represented as an Array of eight Float instances in Haxe. cast 15 Indicates that the shader parameter is defined as a `float3x2` value, equivalent to a 3-by-2 matrix. This matrix is represented as an Array of six Float instances in Haxe. cast 16 Indicates that the shader parameter is defined as a `float3x3` value, equivalent to a 3-by-3 matrix. This matrix is represented as an Array of nine Number instances in ActionScript. cast 17 Indicates that the shader parameter is defined as a `float3x4` value, equivalent to a 3-by-4 matrix. This matrix is represented as an Array of twelve Float instances in Haxe. cast 18 Indicates that the shader parameter is defined as a `float4x2` value, equivalent to a 4-by-2 matrix. This matrix is represented as an Array of eight Float instances in Haxe. cast 19 Indicates that the shader parameter is defined as a `float4x3` value, equivalent to a 4-by-3 matrix. This matrix is represented as an Array of twelve Float instances in Haxe. cast 20 Indicates that the shader parameter is defined as a `float4x4` value, equivalent to a 4-by-4 matrix. This matrix is represented as an Array of 16 Number instances in ActionScript. cast 0 Indicates that the shader parameter is defined as a `bool` value, equivalent to a single Boolean instance in ActionScript. Note that even though the parameter only expects a single value, the `ShaderParameter.value` property is an Array, so the single value must be the only element of an Array assigned to the `value` property, like this: ```haxe // assumes the shader has a parameter named "param" // whose data type is bool myShader.data.param.value = [true]; ``` cast 1 Indicates that the shader parameter is defined as a `bool2` value, equivalent to an Array of two Boolean instances in ActionScript. cast 2 Indicates that the shader parameter is defined as a `bool3` value, equivalent to an Array of three Boolean instances in ActionScript. cast 3 Indicates that the shader parameter is defined as a `bool4` value, equivalent to an Array of four Boolean instances in ActionScript. cast 4 Indicates that the shader parameter is defined as a `float` value, equivalent to a single Number instance in ActionScript. Note that even though the parameter only expects a single value, the `ShaderParameter.value` property is an Array, so the single value must be the only element of an Array assigned to the `value` property, like this: ```haxe // assumes the shader has a parameter named "param" // whose data type is float myShader.data.param.value = [22.5]; ``` cast 5 Indicates that the shader parameter is defined as a `float2` value, equivalent to an Array of two Number instances in ActionScript. cast 6 Indicates that the shader parameter is defined as a `float3` value, equivalent to an Array of three Number instances in ActionScript. cast 7 Indicates that the shader parameter is defined as a `float4` value, equivalent to an Array of four Number instances in ActionScript. cast 8 Indicates that the shader parameter is defined as an `int` value, equivalent to a single int or uint instance in ActionScript. Note that even though the parameter only expects a single value, the `ShaderParameter.value` property is an Array, so the single value must be the only element of an Array assigned to the `value` property, like this: ```haxe // assumes the shader has a parameter named "param" // whose data type is int myShader.data.param.value = [275]; ``` cast 9 Indicates that the shader parameter is defined as an `int2` value, equivalent to an Array of two int or uint instances in ActionScript. cast 10 Indicates that the shader parameter is defined as an `int3` value, equivalent to an Array of three int or uint instances in ActionScript. cast 11 Indicates that the shader parameter is defined as an `int4` value, equivalent to an Array of four int or uint instances in ActionScript. cast 12 Indicates that the shader parameter is defined as a `float2x2` value, equivalent to a 2-by-2 matrix. This matrix is represented as an Array of four Number instances in ActionScript. cast 13 Indicates that the shader parameter is defined as a `float2x3` value, equivalent to a 2-by-3 matrix. This matrix is represented as an Array of six Float instances in Haxe. cast 14 Indicates that the shader parameter is defined as a `float2x4` value, equivalent to a 2-by-4 matrix. This matrix is represented as an Array of eight Float instances in Haxe. cast 15 Indicates that the shader parameter is defined as a `float3x2` value, equivalent to a 3-by-2 matrix. This matrix is represented as an Array of six Float instances in Haxe. cast 16 Indicates that the shader parameter is defined as a `float3x3` value, equivalent to a 3-by-3 matrix. This matrix is represented as an Array of nine Number instances in ActionScript. cast 17 Indicates that the shader parameter is defined as a `float3x4` value, equivalent to a 3-by-4 matrix. This matrix is represented as an Array of twelve Float instances in Haxe. cast 18 Indicates that the shader parameter is defined as a `float4x2` value, equivalent to a 4-by-2 matrix. This matrix is represented as an Array of eight Float instances in Haxe. cast 19 Indicates that the shader parameter is defined as a `float4x3` value, equivalent to a 4-by-3 matrix. This matrix is represented as an Array of twelve Float instances in Haxe. cast 20 Indicates that the shader parameter is defined as a `float4x4` value, equivalent to a 4-by-4 matrix. This matrix is represented as an Array of 16 Number instances in ActionScript. This class defines the constants that represent the possible values for the Shader class's `precisionHint` property. Each constant represents one of the precision modes for executing shader operations. The precision mode selection affects the following shader operations. These operations are faster on an Intel processor with the SSE instruction set: * `sin(x)` * `cos(x)` * `tan(x)` * `asin(x)` * `acos(x)` * `atan(x)` * `atan(x, y)` * `exp(x)` * `exp2(x)` * `log(x)` * `log2(x)` * `pow(x, y)` * `reciprocal(x)` * `sqrt(x)` cast 0 Represents fast precision mode. Fast precision mode is designed for maximum performance but does not work consistently on different platforms and individual CPU configurations. In many cases, this level of precision is sufficient to create graphic effects without visible artifacts. It is usually faster to use fast precision mode than to use lookup tables. cast 1 Represents full precision mode. In full precision mode, the shader computes all math operations to the full width of the IEEE 32-bit floating standard. This mode provides consistent behavior on all platforms. In this mode, some math operations such as trigonometric and exponential functions can be slow. cast 0 Represents fast precision mode. Fast precision mode is designed for maximum performance but does not work consistently on different platforms and individual CPU configurations. In many cases, this level of precision is sufficient to create graphic effects without visible artifacts. It is usually faster to use fast precision mode than to use lookup tables. cast 1 Represents full precision mode. In full precision mode, the shader computes all math operations to the full width of the IEEE 32-bit floating standard. This mode provides consistent behavior on all platforms. In this mode, some math operations such as trigonometric and exponential functions can be slow. <__constructor static="1"> Specifies a display object that is used as the visual object for the button "Down" state - the state that the button is in when the user selects the `hitTestState` object. A Boolean value that specifies whether a button is enabled. When a button is disabled(the enabled property is set to `false`), the button is visible but cannot be clicked. The default value is `true`. This property is useful if you want to disable part of your navigation; for example, you might want to disable a button in the currently displayed page so that it can't be clicked and the page cannot be reloaded. **Note:** To prevent mouseClicks on a button, set both the `enabled` and `mouseEnabled` properties to `false`. Specifies a display object that is used as the hit testing object for the button. For a basic button, set the `hitTestState` property to the same display object as the `overState` property. If you do not set the `hitTestState` property, the SimpleButton is inactive - it does not respond to user input events. Specifies a display object that is used as the visual object for the button over state - the state that the button is in when the pointer is positioned over the button. The SoundTransform object assigned to this button. A SoundTransform object includes properties for setting volume, panning, left speaker assignment, and right speaker assignment. This SoundTransform object applies to all states of the button. This SoundTransform object affects only embedded sounds. Indicates whether other display objects that are SimpleButton or MovieClip objects can receive user input release events. The `trackAsMenu` property lets you create menus. You can set the `trackAsMenu` property on any SimpleButton or MovieClip object. If the `trackAsMenu` property does not exist, the default behavior is `false`. You can change the `trackAsMenu` property at any time; the modified button immediately takes on the new behavior. Specifies a display object that is used as the visual object for the button up state - the state that the button is in when the pointer is not positioned over the button. A Boolean value that, when set to `true`, indicates whether the hand cursor is shown when the pointer rolls over a button. If this property is set to `false`, the arrow pointer cursor is displayed instead. The default is `true`. You can change the `useHandCursor` property at any time; the modified button immediately uses the new cursor behavior. <__currentState set="accessor"> <__downState> <__hitTestState> <__ignoreEvent> <__overState> <__previousStates> <__soundTransform> <__upState> <__getBounds set="method" line="196" override="1"> <__getRenderBounds set="method" line="209" override="1"> <__getCursor set="method" line="230" override="1"> <__hitTest set="method" line="236" override="1"> <__hitTestMask set="method" line="285" override="1"> <__setStageReference set="method" line="297" override="1"> <__setTransformDirty set="method" line="312" override="1"> <__update set="method" line="327" override="1"> <__updateTransforms set="method" line="345" override="1"> { overrideTransform : null } <__this_onMouseDown set="method" line="502"> <__this_onMouseOut set="method" line="510"> <__this_onMouseOver set="method" line="520"> <__this_onMouseUp set="method" line="533"> { hitTestState : null, downState : null, overState : null, upState : null } Creates a new SimpleButton instance. Any or all of the display objects that represent the various button states can be set as parameters in the constructor. @param upState The initial value for the SimpleButton up state. @param overState The initial value for the SimpleButton over state. @param downState The initial value for the SimpleButton down state. @param hitTestState The initial value for the SimpleButton hitTest state. The SimpleButton class lets you control all instances of button symbols in a SWF file. In Flash Professional, you can give a button an instance name in the Property inspector. SimpleButton instance names are displayed in the Movie Explorer and in the Insert Target Path dialog box in the Actions panel. After you create an instance of a button in Flash Professional, you can use the methods and properties of the SimpleButton class to manipulate buttons with ActionScript. In ActionScript 3.0, you use the `new SimpleButton()` constructor to create a SimpleButton instance. The SimpleButton class inherits from the InteractiveObject class. "tags=\"haxe,release\"" openfl.display.MovieClip openfl.geom.Matrix openfl.geom.Rectangle openfl.utils._internal.AssetsMacro.initBinding() The SpreadMethod class provides values for the `spreadMethod` parameter in the `beginGradientFill()` and `lineGradientStyle()` methods of the Graphics class. The following example shows the same gradient fill using various spread methods: cast 0 Specifies that the gradient use the _pad_ spread method. cast 1 Specifies that the gradient use the _reflect_ spread method. cast 2 Specifies that the gradient use the _repeat_ spread method. cast 0 Specifies that the gradient use the _pad_ spread method. cast 1 Specifies that the gradient use the _reflect_ spread method. cast 2 Specifies that the gradient use the _repeat_ spread method. A value from the StageAlign class that specifies the alignment of the stage in Flash Player or the browser. The following are valid values: The `align` property is only available to an object that is in the same security sandbox as the Stage owner(the main SWF file). To avoid this, the Stage owner can grant permission to the domain of the calling object by calling the `Security.allowDomain()` method or the `Security.alowInsecureDomain()` method. For more information, see the "Security" chapter in the _ActionScript 3.0 Developer's Guide_. Specifies whether this stage allows the use of the full screen mode Specifies whether this stage allows the use of the full screen with text input mode The associated Lime Application instance. The window background color. Specifies the effective pixel scaling factor of the stage. This value is 1 on standard screens and HiDPI (Retina display) screens. When the stage is rendered on HiDPI screens the pixel resolution is doubled; even if the stage scaling mode is set to `StageScaleMode.NO_SCALE`. `Stage.stageWidth` and `Stage.stageHeight` continue to be reported in classic pixel units. **BETA** The current Context3D the default display renderer. This property is supported only when using hardware rendering. A value from the StageDisplayState class that specifies which display state to use. The following are valid values: * `StageDisplayState.FULL_SCREEN` Sets AIR application or Flash runtime to expand the stage over the user's entire screen, with keyboard input disabled. * `StageDisplayState.FULL_SCREEN_INTERACTIVE` Sets the AIR application to expand the stage over the user's entire screen, with keyboard input allowed.(Not available for content running in Flash Player.) * `StageDisplayState.NORMAL` Sets the Flash runtime back to the standard stage display mode. The scaling behavior of the movie in full-screen mode is determined by the `scaleMode` setting(set using the `Stage.scaleMode` property or the SWF file's `embed` tag settings in the HTML file). If the `scaleMode` property is set to `noScale` while the application transitions to full-screen mode, the Stage `width` and `height` properties are updated, and the Stage dispatches a `resize` event. If any other scale mode is set, the stage and its contents are scaled to fill the new screen dimensions. The Stage object retains its original `width` and `height` values and does not dispatch a `resize` event. The following restrictions apply to SWF files that play within an HTML page(not those using the stand-alone Flash Player or not running in the AIR runtime): * To enable full-screen mode, add the `allowFullScreen` parameter to the `object` and `embed` tags in the HTML page that includes the SWF file, with `allowFullScreen` set to `"true"`, as shown in the following example: * Full-screen mode is initiated in response to a mouse click or key press by the user; the movie cannot change `Stage.displayState` without user input. Flash runtimes restrict keyboard input in full-screen mode. Acceptable keys include keyboard shortcuts that terminate full-screen mode and non-printing keys such as arrows, space, Shift, and Tab keys. Keyboard shortcuts that terminate full-screen mode are: Escape (Windows, Linux, and Mac), Control+W(Windows), Command+W(Mac), and Alt+F4. A Flash runtime dialog box appears over the movie when users enter full-screen mode to inform the users they are in full-screen mode and that they can press the Escape key to end full-screen mode. * Starting with Flash Player 9.0.115.0, full-screen works the same in windowless mode as it does in window mode. If you set the Window Mode (`wmode` in the HTML) to Opaque Windowless (`opaque`) or Transparent Windowless (`transparent`), full-screen can be initiated, but the full-screen window will always be opaque. These restrictions are _not_ present for SWF content running in the stand-alone Flash Player or in AIR. AIR supports an interactive full-screen mode which allows keyboard input. For AIR content running in full-screen mode, the system screen saver and power saving options are disabled while video content is playing and until either the video stops or full-screen mode is exited. On Linux, setting `displayState` to `StageDisplayState.FULL_SCREEN` or `StageDisplayState.FULL_SCREEN_INTERACTIVE` is an asynchronous operation. @throws SecurityError Calling the `displayState` property of a Stage object throws an exception for any caller that is not in the same security sandbox as the Stage owner(the main SWF file). To avoid this, the Stage owner can grant permission to the domain of the caller by calling the `Security.allowDomain()` method or the `Security.allowInsecureDomain()` method. For more information, see the "Security" chapter in the _ActionScript 3.0 Developer's Guide_. Trying to set the `displayState` property while the settings dialog is displayed, without a user response, or if the `param` or `embed` HTML tag's `allowFullScreen` attribute is not set to `true` throws a security error. The interactive object with keyboard focus; or `null` if focus is not set or if the focused object belongs to a security sandbox to which the calling object does not have access. @throws Error Throws an error if focus cannot be set to the target. Gets and sets the frame rate of the stage. The frame rate is defined as frames per second. By default the rate is set to the frame rate of the first SWF file loaded. Valid range for the frame rate is from 0.01 to 1000 frames per second. **Note:** An application might not be able to follow high frame rate settings, either because the target platform is not fast enough or the player is synchronized to the vertical blank timing of the display device (usually 60 Hz on LCD devices). In some cases, a target platform might also choose to lower the maximum frame rate if it anticipates high CPU usage. For content running in Adobe AIR, setting the `frameRate` property of one Stage object changes the frame rate for all Stage objects (used by different NativeWindow objects). @throws SecurityError Calling the `frameRate` property of a Stage object throws an exception for any caller that is not in the same security sandbox as the Stage owner(the main SWF file). To avoid this, the Stage owner can grant permission to the domain of the caller by calling the `Security.allowDomain()` method or the `Security.allowInsecureDomain()` method. For more information, see the "Security" chapter in the _ActionScript 3.0 Developer's Guide_. Returns the height of the monitor that will be used when going to full screen size, if that state is entered immediately. If the user has multiple monitors, the monitor that's used is the monitor that most of the stage is on at the time. **Note**: If the user has the opportunity to move the browser from one monitor to another between retrieving the value and going to full screen size, the value could be incorrect. If you retrieve the value in an event handler that sets `Stage.displayState` to `StageDisplayState.FULL_SCREEN`, the value will be correct. This is the pixel height of the monitor and is the same as the stage height would be if `Stage.align` is set to `StageAlign.TOP_LEFT` and `Stage.scaleMode` is set to `StageScaleMode.NO_SCALE`. www.adobe.com/go/display_settings.]]> Returns the width of the monitor that will be used when going to full screen size, if that state is entered immediately. If the user has multiple monitors, the monitor that's used is the monitor that most of the stage is on at the time. **Note**: If the user has the opportunity to move the browser from one monitor to another between retrieving the value and going to full screen size, the value could be incorrect. If you retrieve the value in an event handler that sets `Stage.displayState` to `StageDisplayState.FULL_SCREEN`, the value will be correct. This is the pixel width of the monitor and is the same as the stage width would be if `Stage.align` is set to `StageAlign.TOP_LEFT` and `Stage.scaleMode` is set to `StageScaleMode.NO_SCALE`. A value from the StageQuality class that specifies which rendering quality is used. The following are valid values: * `StageQuality.LOW` - Low rendering quality. Graphics are not anti-aliased, and bitmaps are not smoothed, but runtimes still use mip-mapping. * `StageQuality.MEDIUM` - Medium rendering quality. Graphics are anti-aliased using a 2 x 2 pixel grid, bitmap smoothing is dependent on the `Bitmap.smoothing` setting. Runtimes use mip-mapping. This setting is suitable for movies that do not contain text. * `StageQuality.HIGH` - High rendering quality. Graphics are anti-aliased using a 4 x 4 pixel grid, and bitmap smoothing is dependent on the `Bitmap.smoothing` setting. Runtimes use mip-mapping. This is the default rendering quality setting that Flash Player uses. * `StageQuality.BEST` - Very high rendering quality. Graphics are anti-aliased using a 4 x 4 pixel grid. If `Bitmap.smoothing` is `true` the runtime uses a high quality downscale algorithm that produces fewer artifacts(however, using `StageQuality.BEST` with `Bitmap.smoothing` set to `true` slows performance significantly and is not a recommended setting). Higher quality settings produce better rendering of scaled bitmaps. However, higher quality settings are computationally more expensive. In particular, when rendering scaled video, using higher quality settings can reduce the frame rate. In the desktop profile of Adobe AIR, `quality` can be set to `StageQuality.BEST` or `StageQuality.HIGH`(and the default value is `StageQuality.HIGH`). Attempting to set it to another value has no effect(and the property remains unchanged). In the moble profile of AIR, all four quality settings are available. The default value on mobile devices is `StageQuality.MEDIUM`. For content running in Adobe AIR, setting the `quality` property of one Stage object changes the rendering quality for all Stage objects(used by different NativeWindow objects). **_Note:_** The operating system draws the device fonts, which are therefore unaffected by the `quality` property. @throws SecurityError Calling the `quality` property of a Stage object throws an exception for any caller that is not in the same security sandbox as the Stage owner (the main SWF file). To avoid this, the Stage owner can grant permission to the domain of the caller by calling the `Security.allowDomain()` method or the `Security.allowInsecureDomain()` method. For more information, see the "Security" chapter in the _ActionScript 3.0 Developer's Guide_. A value from the StageScaleMode class that specifies which scale mode to use. The following are valid values: * `StageScaleMode.EXACT_FIT` - The entire application is visible in the specified area without trying to preserve the original aspect ratio. Distortion can occur, and the application may appear stretched or compressed. * `StageScaleMode.SHOW_ALL` - The entire application is visible in the specified area without distortion while maintaining the original aspect ratio of the application. Borders can appear on two sides of the application. * `StageScaleMode.NO_BORDER` - The entire application fills the specified area, without distortion but possibly with some cropping, while maintaining the original aspect ratio of the application. * `StageScaleMode.NO_SCALE` - The entire application is fixed, so that it remains unchanged even as the size of the player window changes. Cropping might occur if the player window is smaller than the content. @throws SecurityError Calling the `scaleMode` property of a Stage object throws an exception for any caller that is not in the same security sandbox as the Stage owner(the main SWF file). To avoid this, the Stage owner can grant permission to the domain of the caller by calling the `Security.allowDomain()` method or the `Security.allowInsecureDomain()` method. For more information, see the "Security" chapter in the _ActionScript 3.0 Developer's Guide_. Specifies whether to show or hide the default items in the Flash runtime context menu. If the `showDefaultContextMenu` property is set to `true` (the default), all context menu items appear. If the `showDefaultContextMenu` property is set to `false`, only the Settings and About... menu items appear. @throws SecurityError Calling the `showDefaultContextMenu` property of a Stage object throws an exception for any caller that is not in the same security sandbox as the Stage owner (the main SWF file). To avoid this, the Stage owner can grant permission to the domain of the caller by calling the `Security.allowDomain()` method or the `Security.allowInsecureDomain()` method. For more information, see the "Security" chapter in the _ActionScript 3.0 Developer's Guide_. The area of the stage that is currently covered by the software keyboard. The area has a size of zero (0,0,0,0) when the soft keyboard is not visible. When the keyboard opens, the `softKeyboardRect` is set at the time the softKeyboardActivate event is dispatched. If the keyboard changes size while open, the runtime updates the `softKeyboardRect` property and dispatches an additional softKeyboardActivate event. **Note:** On Android, the area covered by the keyboard is estimated when the operating system does not provide the information necessary to determine the exact area. This problem occurs in fullscreen mode and also when the keyboard opens in response to an InteractiveObject receiving focus or invoking the `requestSoftKeyboard()` method. A list of Stage3D objects available for displaying 3-dimensional content. You can use only a limited number of Stage3D objects at a time. The number of available Stage3D objects depends on the platform and on the available hardware. A Stage3D object draws in front of a StageVideo object and behind the OpenFL display list. Specifies whether or not objects display a glowing border when they have focus. @throws SecurityError Calling the `stageFocusRect` property of a Stage object throws an exception for any caller that is not in the same security sandbox as the Stage owner(the main SWF file). To avoid this, the Stage owner can grant permission to the domain of the caller by calling the `Security.allowDomain()` method or the `Security.allowInsecureDomain()` method. For more information, see the "Security" chapter in the _ActionScript 3.0 Developer's Guide_. The current height, in pixels, of the Stage. If the value of the `Stage.scaleMode` property is set to `StageScaleMode.NO_SCALE` when the user resizes the window, the Stage content maintains its size while the `stageHeight` property changes to reflect the new height size of the screen area occupied by the SWF file.(In the other scale modes, the `stageHeight` property always reflects the original height of the SWF file.) You can add an event listener for the `resize` event and then use the `stageHeight` property of the Stage class to determine the actual pixel dimension of the resized Flash runtime window. The event listener allows you to control how the screen content adjusts when the user resizes the window. Air for TV devices have slightly different behavior than desktop devices when you set the `stageHeight` property. If the `Stage.scaleMode` property is set to `StageScaleMode.NO_SCALE` and you set the `stageHeight` property, the stage height does not change until the next frame of the SWF. **Note:** In an HTML page hosting the SWF file, both the `object` and `embed` tags' `height` attributes must be set to a percentage(such as `100%`), not pixels. If the settings are generated by JavaScript code, the `height` parameter of the `AC_FL_RunContent() ` method must be set to a percentage, too. This percentage is applied to the `stageHeight` value. @throws SecurityError Calling the `stageHeight` property of a Stage object throws an exception for any caller that is not in the same security sandbox as the Stage owner(the main SWF file). To avoid this, the Stage owner can grant permission to the domain of the caller by calling the `Security.allowDomain()` method or the `Security.allowInsecureDomain()` method. For more information, see the "Security" chapter in the _ActionScript 3.0 Developer's Guide_. Specifies the current width, in pixels, of the Stage. If the value of the `Stage.scaleMode` property is set to `StageScaleMode.NO_SCALE` when the user resizes the window, the Stage content maintains its defined size while the `stageWidth` property changes to reflect the new width size of the screen area occupied by the SWF file.(In the other scale modes, the `stageWidth` property always reflects the original width of the SWF file.) You can add an event listener for the `resize` event and then use the `stageWidth` property of the Stage class to determine the actual pixel dimension of the resized Flash runtime window. The event listener allows you to control how the screen content adjusts when the user resizes the window. Air for TV devices have slightly different behavior than desktop devices when you set the `stageWidth` property. If the `Stage.scaleMode` property is set to `StageScaleMode.NO_SCALE` and you set the `stageWidth` property, the stage width does not change until the next frame of the SWF. **Note:** In an HTML page hosting the SWF file, both the `object` and `embed` tags' `width` attributes must be set to a percentage(such as `100%`), not pixels. If the settings are generated by JavaScript code, the `width` parameter of the `AC_FL_RunContent() ` method must be set to a percentage, too. This percentage is applied to the `stageWidth` value. @throws SecurityError Calling the `stageWidth` property of a Stage object throws an exception for any caller that is not in the same security sandbox as the Stage owner (the main SWF file). To avoid this, the Stage owner can grant permission to the domain of the caller by calling the `Security.allowDomain()` method or the `Security.allowInsecureDomain()` method. For more information, see the "Security" chapter in the _ActionScript 3.0 Developer's Guide_. The associated Lime Window instance for this Stage. <__cacheFocus> Indicates whether GPU compositing is available and in use. The `wmodeGPU` value is `true` _only_ when all three of the following conditions exist: * GPU compositing has been requested. * GPU compositing is available. * GPU compositing is in use. Specifically, the `wmodeGPU` property indicates one of the following: 1. GPU compositing has not been requested or is unavailable. In this case, the `wmodeGPU` property value is `false`. 2. GPU compositing has been requested (if applicable and available), but the environment is operating in "fallback mode" (not optimal rendering) due to limitations of the content. In this case, the `wmodeGPU` property value is `true`. 3. GPU compositing has been requested (if applicable and available), and the environment is operating in the best mode. In this case, the `wmodeGPU` property value is also `true`. In other words, the `wmodeGPU` property identifies the capability and state of the rendering environment. For runtimes that do not support GPU compositing, such as AIR 1.5.2, the value is always `false`, because (as stated above) the value is `true` only when GPU compositing has been requested, is available, and is in use. The `wmodeGPU` property is useful to determine, at runtime, whether or not GPU compositing is in use. The value of `wmodeGPU` indicates if your content is going to be scaled by hardware, or not, so you can present graphics at the correct size. You can also determine if you're rendering in a fast path or not, so that you can adjust your content complexity accordingly. For Flash Player in a browser, GPU compositing can be requested by the value of `gpu` for the `wmode` HTML parameter in the page hosting the SWF file. For other configurations, GPU compositing can be requested in the header of a SWF file (set using SWF authoring tools). However, the `wmodeGPU` property does not identify the current rendering performance. Even if GPU compositing is "in use" the rendering process might not be operating in the best mode. To adjust your content for optimal rendering, use a Flash runtime debugger version, and set the `DisplayGPUBlendsetting` in your mm.cfg file. **Note:** This property is always `false` when referenced from ActionScript that runs before the runtime performs its first rendering pass. For example, if you examine `wmodeGPU` from a script in Frame 1 of Adobe Flash Professional, and your SWF file is the first SWF file loaded in a new instance of the runtime, then the `wmodeGPU` value is `false`. To get an accurate value, wait until at least one rendering pass has occurred. If you write an event listener for the `exitFrame` event of any `DisplayObject`, the `wmodeGPU` value at is the correct value. <__clearBeforeRender> <__color> <__colorSplit> <__colorString> <__contentsScaleFactor> <__currentTabOrderIndex> <__deltaTime> <__dirty> <__displayMatrix> <__displayRect> <__displayState> <__dragBounds> <__dragObject> <__dragOffsetX> <__dragOffsetY> <__focus> <__forceRender> <__fullscreen> <__fullScreenSourceRect> <__invalidated> <__lastClickTime> <__lastClickTarget> <__logicalWidth> <__logicalHeight> <__macKeyboard> <__mouseDownLeft> <__mouseDownMiddle> <__mouseDownRight> <__mouseOutStack> <__mouseOverTarget> <__mouseX> <__mouseY> <__pendingMouseEvent> <__pendingMouseX> <__pendingMouseY> <__quality> <__renderer> <__rendering> <__rollOutStack> <__scaleMode> <__stack> <__touchData> <__transparent> <__uncaughtErrorEvents> <__wasDirty> <__wasFullscreen> <__primaryTouch> Calling the `invalidate()` method signals Flash runtimes to alert display objects on the next opportunity it has to render the display list(for example, when the playhead advances to a new frame). After you call the `invalidate()` method, when the display list is next rendered, the Flash runtime sends a `render` event to each display object that has registered to listen for the `render` event. You must call the `invalidate()` method each time you want the Flash runtime to send `render` events. The `render` event gives you an opportunity to make changes to the display list immediately before it is actually rendered. This lets you defer updates to the display list until the latest opportunity. This can increase performance by eliminating unnecessary screen updates. The `render` event is dispatched only to display objects that are in the same security domain as the code that calls the `stage.invalidate()` method, or to display objects from a security domain that has been granted permission via the `Security.allowDomain()` method. <__broadcastEvent set="method" line="1156"> "checkstyle:Dynamic" <__createRenderer set="method" line="1189"> <__dispatchEvent set="method" line="1244" override="1"> ["checkstyle:Dynamic", "checkstyle:LeftCurly"] <__dispatchPendingMouseEvent set="method" line="1266"> <__dispatchStack set="method" line="1276"> ["checkstyle:Dynamic", "checkstyle:LeftCurly"] <__dispatchTarget set="method" line="1397"> "checkstyle:Dynamic" <__drag set="method" line="1417"> <__getInteractive set="method" line="1453" override="1"> <__globalToLocal set="method" line="1463" override="1"> <__handleError set="method" line="1474"> "checkstyle:Dynamic" <__onKey set="method" line="1528"> <__onLimeCreateWindow set="method" line="1767"> <__onLimeGamepadAxisMove set="method" line="1801"> <__onLimeGamepadButtonDown set="method" line="1820"> <__onLimeGamepadButtonUp set="method" line="1839"> <__onLimeGamepadConnect set="method" line="1858"> <__onLimeGamepadDisconnect set="method" line="1882"> <__onLimeKeyDown set="method" line="1901"> <__onLimeKeyUp set="method" line="1908"> <__onLimeModuleExit set="method" line="1915"> <__onLimeMouseDown set="method" line="1936"> <__onLimeMouseMove set="method" line="1957"> <__onLimeMouseMoveRelative set="method" line="1970"> <__onLimeMouseUp set="method" line="1975"> <__onLimeMouseWheel set="method" line="1996"> <__onLimeRender set="method" line="2012"> <__onLimeRenderContextLost set="method" line="2149"> <__onLimeRenderContextRestored set="method" line="2160"> <__onLimeTextEdit set="method" line="2170"> <__onLimeTextInput set="method" line="2175"> <__onLimeTouchCancel set="method" line="2207"> <__onLimeTouchMove set="method" line="2219"> <__onLimeTouchEnd set="method" line="2224"> <__onLimeTouchStart set="method" line="2235"> <__onLimeUpdate set="method" line="2245"> <__onLimeWindowActivate set="method" line="2252"> <__onLimeWindowClose set="method" line="2259"> <__onLimeWindowCreate set="method" line="2284"> <__onLimeWindowDeactivate set="method" line="2294"> <__onLimeWindowDropFile set="method" line="2301"> <__onLimeWindowEnter set="method" line="2304"> <__onLimeWindowExpose set="method" line="2309"> <__onLimeWindowFocusIn set="method" line="2316"> <__onLimeWindowFocusOut set="method" line="2345"> <__onLimeWindowFullscreen set="method" line="2376"> <__onLimeWindowLeave set="method" line="2390"> <__onLimeWindowMinimize set="method" line="2412"> <__onLimeWindowMove set="method" line="2420"> <__onLimeWindowResize set="method" line="2425"> <__onLimeWindowRestore set="method" line="2448"> <__onMouse set="method" line="2461"> <__onMouseWheel set="method" line="2858"> <__onTouch set="method" line="2892"> <__registerLimeModule set="method" line="3058"> <__resize set="method" line="3077"> <__setLogicalSize set="method" line="3218"> <__startDrag set="method" line="3226"> <__stopDrag set="method" line="3271"> <__unregisterLimeModule set="method" line="3277"> <__update set="method" line="3292" override="1"> { color : null } ® Player), the Stage represents the entire area where Flash content is shown. For content running in AIR on desktop operating systems, each NativeWindow object has a corresponding Stage object. The Stage object is not globally accessible. You need to access it through the `stage` property of a DisplayObject instance. The Stage class has several ancestor classes - DisplayObjectContainer, InteractiveObject, DisplayObject, and EventDispatcher - from which it inherits properties and methods. Many of these properties and methods are either inapplicable to Stage objects, or require security checks when called on a Stage object. The properties and methods that require security checks are documented as part of the Stage class. In addition, the following inherited properties are inapplicable to Stage objects. If you try to set them, an IllegalOperationError is thrown. These properties may always be read, but since they cannot be set, they will always contain default values. * `accessibilityProperties` * `alpha` * `blendMode` * `cacheAsBitmap` * `contextMenu` * `filters` * `focusRect` * `loaderInfo` * `mask` * `mouseEnabled` * `name` * `opaqueBackground` * `rotation` * `scale9Grid` * `scaleX` * `scaleY` * `scrollRect` * `tabEnabled` * `tabIndex` * `transform` * `visible` * `x` * `y` Some events that you might expect to be a part of the Stage class, such as `enterFrame`, `exitFrame`, `frameConstructed`, and `render`, cannot be Stage events because a reference to the Stage object cannot be guaranteed to exist in every situation where these events are used. Because these events cannot be dispatched by the Stage object, they are instead dispatched by every DisplayObject instance, which means that you can add an event listener to any DisplayObject instance to listen for these events. These events, which are part of the DisplayObject class, are called broadcast events to differentiate them from events that target a specific DisplayObject instance. Two other broadcast events, `activate` and `deactivate`, belong to DisplayObject's superclass, EventDispatcher. The `activate` and `deactivate` events behave similarly to the DisplayObject broadcast events, except that these two events are dispatched not only by all DisplayObject instances, but also by all EventDispatcher instances and instances of other EventDispatcher subclasses. For more information on broadcast events, see the DisplayObject class. @event fullScreen Dispatched when the Stage object enters, or leaves, full-screen mode. A change in full-screen mode can be initiated through ActionScript, or the user invoking a keyboard shortcut, or if the current focus leaves the full-screen window. @event mouseLeave Dispatched by the Stage object when the pointer moves out of the stage area. If the mouse button is pressed, the event is not dispatched. @event orientationChange Dispatched by the Stage object when the stage orientation changes. Orientation changes can occur when the user rotates the device, opens a slide-out keyboard, or when the `setAspectRatio()` is called. **Note:** If the `autoOrients` property is `false`, then the stage orientation does not change when a device is rotated. Thus, StageOrientationEvents are only dispatched for device rotation when `autoOrients` is `true`. @event orientationChanging Dispatched by the Stage object when the stage orientation begins changing. **Important:** orientationChanging events are not dispatched on Android devices. **Note:** If the `autoOrients` property is `false`, then the stage orientation does not change when a device is rotated. Thus, StageOrientationEvents are only dispatched for device rotation when `autoOrients` is `true`. @event resize Dispatched when the `scaleMode` property of the Stage object is set to `StageScaleMode.NO_SCALE` and the SWF file is resized. @event stageVideoAvailability Dispatched by the Stage object when the state of the stageVideos property changes.]]> "tags=\"haxe,release\"" openfl.display3D.Context3D openfl.display.DisplayObjectRenderer openfl.display.LoaderInfo openfl.display.Sprite openfl.display.Stage3D openfl.events.Event openfl.events.UncaughtErrorEvents openfl.geom.Matrix openfl.geom.Point openfl.ui.GameInput openfl.ui.Keyboard openfl.ui.Mouse <__active static="1"> The Context3D object associated with this Stage3D instance. This property is initially `null`. To create the Context3D instance for this Stage3D object, add an event listener for the `context3DCreate` event and then call the `requestContext3D` method. The listener is called once the Context3D object has been created. Specifies whether this Stage3D object is visible. Use this property to temporarily hide a Stage3D object on the Stage. This property defaults to `true`. The horizontal coordinate of the Stage3D display on the stage, in pixels. This property defaults to zero. The vertical coordinate of the Stage3D display on the stage, in pixels. This property defaults to zero. <__contextLost> <__contextRequested> <__height> <__indexBuffer> <__projectionTransform> <__renderTransform> <__stage> <__vertexBuffer> <__width> <__x> <__y> { profile : BASELINE, context3DRenderMode : AUTO } 0 ) { var stage3D:Stage3D = stage.stage3Ds[0]; stage3D.addEventListener( Event.CONTEXT3D_CREATE, myContext3DHandler ); stage3D.requestContext3D( ); } function myContext3DHandler ( event : Event ) : void { var targetStage3D : Stage3D = cast event.target; InitAll3DResources( targetStage3D.context3D ); StartRendering( targetStage3D.context3D ); } ``` @param context3DRenderMode The type of rendering context to request. The default is `Context3DRenderMode.AUTO` for which the runtime will create a hardware-accelerated context if possible and fall back to software otherwise. Use `Context3DRenderMode.SOFTWARE` to request a software rendering context. Software rendering is not available on mobile devices. Software rendering is available only for `Context3DProfile.BASELINE` and `Context3DProfile.BASELINE_CONSTRAINED`. @param profile (AIR 3.4 and higher) Specifies the extent to which Flash Player supports lower-level GPUs. The default is `Context3DProfile.BASELINE`, which returns a Context3D instance similar to that used in previous releases. To get details of all available profiles, see openfl.display3D.Context3DProfile. @event context3DCreate Dispatched when the requested rendering context is successfully completed. @event error Dispatched when the requested rendering context cannot be created. @throws Error if no listeners for the `context3DCreate` event have been added to this Stage3D object. @throws ArgumentError if this method is called again with a different `context3DRenderMode` before the previous call has completed.]]> 0 ) { var stage3D:Stage3D = stage.stage3Ds[0]; stage3D.addEventListener( Event.CONTEXT3D_CREATE, myContext3DHandler ); stage3D.requestContext3DMatchingProfiles(Vector.([Context3DProfile.BASELINE, Context3DProfile.BASELINE_EXTENDED])); } function myContext3DHandler ( event : Event ) : Void { var targetStage3D : Stage3D = cast event.target; if(targetStage3D.context3D.profile.localeCompare(Context3DProfile.BASELINE) == 0) { InitAll3DResources( targetStage3D.context3D ); } StartRendering( targetStage3D.context3D ); } ``` @param profiles (AIR 3.4 and higher) a profile arrays that developer want to use in their flash program. When developer pass profile array to `Stage3D.requestContext3DMatchingProfiles`, he will get a Context3D based on the high level profile in that array according to their hardware capability. The `rendermode` is set to AUTO, so the parameter is omitted. @event context3DCreate Dispatched when the requested rendering context is successfully completed. @event error Dispatched when the requested rendering context cannot be created. If the hardware is not available, it will not create a software context3d. @throws Error if no listeners for the context3DCreate event have been added to this Stage3D object. @throws ArgumentError if this method is called before the previous call has completed. @throws ArgumentError if the item in array is not openfl.display3D.Context3DProfile.]]> <__createContext set="method" line="376"> <__dispatchError set="method" line="476"> <__dispatchCreate set="method" line="482"> <__lostContext set="method" line="491"> <__resize set="method" line="502"> <__restoreContext set="method" line="542"> ® Player), the Stage represents the entire area where Flash content is shown. For content running in AIR on desktop operating systems, each NativeWindow object has a corresponding Stage object. The Stage object is not globally accessible. You need to access it through the `stage` property of a DisplayObject instance. The Stage class has several ancestor classes נDisplayObjectContainer, InteractiveObject, DisplayObject, and EventDispatcher נfrom which it inherits properties and methods. Many of these properties and methods are either inapplicable to Stage objects, or require security checks when called on a Stage object. The properties and methods that require security checks are documented as part of the Stage class. In addition, the following inherited properties are inapplicable to Stage objects. If you try to set them, an IllegalOperationError is thrown. These properties may always be read, but since they cannot be set, they will always contain default values. * `accessibilityProperties` * `alpha` * `blendMode` * `cacheAsBitmap` * `contextMenu` * `filters` * `focusRect` * `loaderInfo` * `mask` * `mouseEnabled` * `name` * `opaqueBackground` * `rotation` * `scale9Grid` * `scaleX` * `scaleY` * `scrollRect` * `tabEnabled` * `tabIndex` * `transform` * `visible` * `x` * `y` Some events that you might expect to be a part of the Stage class, such as `enterFrame`, `exitFrame`, `frameConstructed`, and `render`, cannot be Stage events because a reference to the Stage object cannot be guaranteed to exist in every situation where these events are used. Because these events cannot be dispatched by the Stage object, they are instead dispatched by every DisplayObject instance, which means that you can add an event listener to any DisplayObject instance to listen for these events. These events, which are part of the DisplayObject class, are called broadcast events to differentiate them from events that target a specific DisplayObject instance. Two other broadcast events, `activate` and `deactivate`, belong to DisplayObject's superclass, EventDispatcher. The `activate` and `deactivate` events behave similarly to the DisplayObject broadcast events, except that these two events are dispatched not only by all DisplayObject instances, but also by all EventDispatcher instances and instances of other EventDispatcher subclasses. For more information on broadcast events, see the DisplayObject class. @event fullScreen Dispatched when the Stage object enters, or leaves, full-screen mode. A change in full-screen mode can be initiated through ActionScript, or the user invoking a keyboard shortcut, or if the current focus leaves the full-screen window. @event mouseLeave Dispatched by the Stage object when the pointer moves out of the stage area. If the mouse button is pressed, the event is not dispatched. @event orientationChange Dispatched by the Stage object when the stage orientation changes. Orientation changes can occur when the user rotates the device, opens a slide-out keyboard, or when the `setAspectRatio()` is called. **Note:** If the `autoOrients` property is `false`, then the stage orientation does not change when a device is rotated. Thus, StageOrientationEvents are only dispatched for device rotation when `autoOrients` is `true`. @event orientationChanging Dispatched by the Stage object when the stage orientation begins changing. **Important:** orientationChanging events are not dispatched on Android devices. **Note:** If the `autoOrients` property is `false`, then the stage orientation does not change when a device is rotated. Thus, StageOrientationEvents are only dispatched for device rotation when `autoOrients` is `true`. @event resize Dispatched when the `scaleMode` property of the Stage object is set to `StageScaleMode.NO_SCALE` and the SWF file is resized. @event stageVideoAvailability Dispatched by the Stage object when the state of the stageVideos property changes.]]> "tags=\"haxe,release\"" lime.graphics.opengl.GL openfl.display3D.Context3D openfl.display3D.Program3D openfl.display.Bitmap openfl.display.BitmapData openfl.display.Stage The StageAlign class provides constant values to use for the `Stage.align` property. cast 0 Specifies that the Stage is aligned at the bottom. cast 1 Specifies that the Stage is aligned on the left. cast 2 Specifies that the Stage is aligned to the right. cast 3 Specifies that the Stage is aligned on the left. cast 4 Specifies that the Stage is aligned to the right. cast 5 Specifies that the Stage is aligned at the top. cast 6 Specifies that the Stage is aligned on the left. cast 7 Specifies that the Stage is aligned to the right. cast 0 Specifies that the Stage is aligned at the bottom. cast 1 Specifies that the Stage is aligned on the left. cast 2 Specifies that the Stage is aligned to the right. cast 3 Specifies that the Stage is aligned on the left. cast 4 Specifies that the Stage is aligned to the right. cast 5 Specifies that the Stage is aligned at the top. cast 6 Specifies that the Stage is aligned on the left. cast 7 Specifies that the Stage is aligned to the right. The StageDisplayState class provides values for the `Stage.displayState` property. cast 0 Specifies that the Stage is in full-screen mode. cast 1 Specifies that the Stage is in full-screen mode with keyboard interactivity enabled. cast 2 Specifies that the Stage is in normal mode. cast 0 Specifies that the Stage is in full-screen mode. cast 1 Specifies that the Stage is in full-screen mode with keyboard interactivity enabled. cast 2 Specifies that the Stage is in normal mode. The StageQuality class provides values for the `Stage.quality` property. cast 0 Specifies very high rendering quality: graphics are anti-aliased using a 4 x 4 pixel grid and bitmaps are always smoothed. cast 1 Specifies high rendering quality: graphics are anti-aliased using a 4 x 4 pixel grid, and bitmaps are smoothed if the movie is static. cast 2 Specifies low rendering quality: graphics are not anti-aliased, and bitmaps are not smoothed. cast 3 Specifies medium rendering quality: graphics are anti-aliased using a 2 x 2 pixel grid, but bitmaps are not smoothed. This setting is suitable for movies that do not contain text. cast 0 Specifies very high rendering quality: graphics are anti-aliased using a 4 x 4 pixel grid and bitmaps are always smoothed. cast 1 Specifies high rendering quality: graphics are anti-aliased using a 4 x 4 pixel grid, and bitmaps are smoothed if the movie is static. cast 2 Specifies low rendering quality: graphics are not anti-aliased, and bitmaps are not smoothed. cast 3 Specifies medium rendering quality: graphics are anti-aliased using a 2 x 2 pixel grid, but bitmaps are not smoothed. This setting is suitable for movies that do not contain text. The StageScaleMode class provides values for the `Stage.scaleMode` property. cast 0 Specifies that the entire application be visible in the specified area without trying to preserve the original aspect ratio. Distortion can occur. cast 1 Specifies that the entire application fill the specified area, without distortion but possibly with some cropping, while maintaining the original aspect ratio of the application. cast 2 Specifies that the size of the application be fixed, so that it remains unchanged even as the size of the player window changes. Cropping might occur if the player window is smaller than the content. cast 3 Specifies that the entire application be visible in the specified area without distortion while maintaining the original aspect ratio of the application. Borders can appear on two sides of the application. cast 0 Specifies that the entire application be visible in the specified area without trying to preserve the original aspect ratio. Distortion can occur. cast 1 Specifies that the entire application fill the specified area, without distortion but possibly with some cropping, while maintaining the original aspect ratio of the application. cast 2 Specifies that the size of the application be fixed, so that it remains unchanged even as the size of the player window changes. Cropping might occur if the player window is smaller than the content. cast 3 Specifies that the entire application be visible in the specified area without distortion while maintaining the original aspect ratio of the application. Borders can appear on two sides of the application. Indicates the alpha transparency value of the object specified. Valid values are 0 (fully transparent) to 1 (fully opaque). The default value is 1. Tile objects with `alpha` set to 0 _are_ active, even though they are invisible. A value from the BlendMode class that specifies which blend mode to use. This property is supported only when using hardware rendering or the Flash target. A ColorTransform object containing values that universally adjust the colors in the display object. This property is supported only when using hardware rendering. "checkstyle:Dynamic" An additional field for custom user-data Indicates the height of the tile, in pixels. The height is calculated based on the bounds of the tile after local transformations. When you set the `height` property, the `scaleY` property is adjusted accordingly. If a tile has a height of zero, no change is applied The ID of the tile to draw from the Tileset A Matrix object containing values that alter the scaling, rotation, and translation of the tile object. If the `matrix` property is set to a value (not `null`), the `x`, `y`, `scaleX`, `scaleY` and the `rotation` values will be overwritten. Modifies the origin x coordinate for this tile, which is the center value used when determining position, scale and rotation. Modifies the origin y coordinate for this tile, which is the center value used when determining position, scale and rotation. Indicates the ITileContainer object that contains this display object. Use the `parent` property to specify a relative path to tile objects that are above the current tile object in the tile list hierarchy. The custom rectangle to draw from the Tileset Indicates the rotation of the Tile instance, in degrees, from its original orientation. Values from 0 to 180 represent clockwise rotation; values from 0 to -180 represent counterclockwise rotation. Values outside this range are added to or subtracted from 360 to obtain a value within the range. For example, the statement `tile.rotation = 450` is the same as ` tile.rotation = 90`. Indicates the horizontal scale (percentage) of the object as applied from the origin point. The default origin point is (0,0). 1.0 equals 100% scale. Scaling the local coordinate system changes the `x` and `y` property values, which are defined in whole pixels. Indicates the vertical scale (percentage) of an object as applied from the origin point of the object. The default origin point is (0,0). 1.0 is 100% scale. Scaling the local coordinate system changes the `x` and `y` property values, which are defined in whole pixels. Uses a custom Shader instance when rendering this tile. This property is only supported when using hardware rendering. The Tileset that this Tile is rendered from. If `null`, this Tile will use the Tileset value of its parent. Whether or not the tile object is visible. Indicates the width of the tile, in pixels. The width is calculated based on the bounds of the tile after local transformations. When you set the `width` property, the `scaleX` property is adjusted accordingly. If a tile has a width of zero, no change is applied Indicates the _x_ coordinate of the Tile instance relative to the local coordinates of the parent ITileContainer. If the object is inside a TileContainer that has transformations, it is in the local coordinate system of the enclosing TileContainer. Thus, for a TileContainer rotated 90° counterclockwise, the TileContainer's children inherit a coordinate system that is rotated 90° counterclockwise. The object's coordinates refer to the registration point position. Indicates the _y_ coordinate of the Tile instance relative to the local coordinates of the parent ITileContainer. If the object is inside a TileContainer that has transformations, it is in the local coordinate system of the enclosing TileContainer. Thus, for a TileContainer rotated 90° counterclockwise, the TileContainer's children inherit a coordinate system that is rotated 90° counterclockwise. The object's coordinates refer to the registration point position. <__alpha> <__blendMode> <__colorTransform> <__dirty> <__id> <__length> <__matrix> <__originX> <__originY> <__rect> <__rotation> <__rotationCosine> <__rotationSine> <__scaleX> <__scaleY> <__shader> <__tileset> <__visible> Duplicates an instance of a Tile subclass. @return A new Tile object that is identical to the original. Gets you the bounding box of the Tile. It will find a tileset to know the original rect Then it will apply all the transformations from his parent. @param targetCoordinateSpace The tile that works as a coordinate system. @return Rectangle The bounding box. If no box found, this will return {0,0,0,0} rectangle instead of null. <__getBounds set="method" line="384"> Evaluates the bounding box of the tile to see if it overlaps or intersects with the bounding box of the `obj` tile. Both tiles must be under the same Tilemap for this to work. @param obj The tile to test against. @return `true` if the bounding boxes of the tiles intersect; `false` if not. Calling the `invalidate()` method signals to have the current tile redrawn the next time the tile object is eligible to be rendered. Invalidation is handled automatically, but in some cases it is necessary to trigger it manually, such as changing the parameters of a Shader instance attached to this tile. <__findTileRect set="method" line="460"> <__findTileset set="method" line="497"> <__getWorldTransform set="method" line="512"> Climbs all the way up to get a transformation matrix adds his own matrix and then returns it. @return Matrix The final transformation matrix from stage to this point. <__setRenderDirty set="method" line="524"> { originY : 0, originX : 0, rotation : 0, scaleY : 1, scaleX : 1, y : 0, x : 0, id : 0 } The Tile class is the base class for all objects that can be contained in a ITileContainer object. Use the Tilemap or TileContainer class to arrange the tile objects in the tile list. Tilemap or TileContainer objects can contain tile' objects, while other the Tile class is a "leaf" node that have only parents and siblings, no children. The Tile class supports basic functionality like the _x_ and _y_ position of an tile, as well as more advanced properties of a tile such as its transformation matrix. Tile objects render from a Tileset using either an `id` or a `rect` value, to reference either an existing rectangle within the Tileset, or a custom rectangle. Tile objects cannot be rendered on their own. In order to display a Tile object, it should be contained within a Tilemap instance. "tags=\"haxe,release\"" openfl.geom.ColorTransform openfl.geom.Matrix openfl.geom.Rectangle Returns the number of tiles of this object. <__tiles> Adds a Tile instance to this TileContainer instance. The tile is added to the front (top) of all other tiles in this TileContainer instance. (To add a tile to a specific index position, use the `addTileAt()` method.) @param tile The Tile instance to add to this TileContainer instance. @return The Tile instance that you pass in the `tile` parameter. Adds a Tile instance to this TileContainer instance. The tile is added at the index position specified. An index of 0 represents the back (bottom) of the rendered list for this TileContainer object. For example, the following example shows three tiles, labeled a, b, and c, at index positions 0, 2, and 1, respectively: ![b over c over a](/images/DisplayObjectContainer_layers.jpg) @param tile The Tile instance to add to this TileContainer instance. @param index The index position to which the tile is added. If you specify a currently occupied index position, the tile object that exists at that position and all higher positions are moved up one position in the tile list. @return The Tile instance that you pass in the `tile` parameter. Adds an Array of Tile instances to this TileContainer instance. The tiles are added to the front (top) of all other tiles in this TileContainer instance. @param tiles The Tile instances to add to this TileContainer instance. @return The Tile Array that you pass in the `tiles` parameter. Determines whether the specified tile is contained within the TileContainer instance. The search includes the entire tile list including this TileContainer instance. Grandchildren, great-grandchildren, and so on each return `true`. @param tile The tile object to test. @return `true` if the `tile` object is contained within the TileContainer; otherwise `false`. Override from tile. A single tile, just has his rectangle. A container must get a rectangle that contains all other rectangles. @param targetCoordinateSpace The tile that works as a coordinate system. @return Rectangle The bounding box. If no box found, this will return {0,0,0,0} rectangle instead of null. Returns the tile instance that exists at the specified index. @param index The index position of the tile object. @return The tile object at the specified index position. Returns the index position of a contained Tile instance. @param child The Tile instance to identify. @return The index position of the tile object to identify. Removes the specified Tile instance from the tile list of the TileContainer instance. The index positions of any tile objects above the tile in the TileContainer are decreased by 1. @param tile The Tile instance to remove. @return The Tile instance that you pass in the `tile` parameter. Removes a Tile from the specified `index` position in the tile list of the TileContainer. The index positions of any tile objects above the tile in the TileContainer are decreased by 1. @param index The index of the Tile to remove. @return The Tile instance that was removed. { endIndex : 0x7fffffff, beginIndex : 0 } Removes all Tile instances from the tile list of the TileContainer instance. @param beginIndex The beginning position. @param endIndex The ending position. Changes the position of an existing tile in the tile container. This affects the layering of tile objects. For example, the following example shows three tile objects, labeled a, b, and c, at index positions 0, 1, and 2, respectively: ![c over b over a](/images/DisplayObjectContainerSetChildIndex1.jpg) When you use the `setTileIndex()` method and specify an index position that is already occupied, the only positions that change are those in between the tile object's former and new position. All others will stay the same. If a tile is moved to an index LOWER than its current index, all tiles in between will INCREASE by 1 for their index reference. If a tile is moved to an index HIGHER than its current index, all tiles in between will DECREASE by 1 for their index reference. For example, if the tile container in the previous example is named `container`, you can swap the position of the tile objects labeled a and b by calling the following code: ```haxe container.setTileIndex(container.getTileAt(1), 0); ``` This code results in the following arrangement of objects: ![c over a over b](/images/DisplayObjectContainerSetChildIndex2.jpg) @param tile The Tile instance for which you want to change the index number. @param index The resulting index number for the `tile` object. Sorts the z-order (front-to-back order) of all the tile objects in this container based on a comparison function. A comparison function should take two arguments to compare. Given the elements A and B, the result of `compareFunction` can have a negative, 0, or positive value: * A negative return value specifies that A appears before B in the sorted sequence. * A return value of 0 specifies that A and B have the same sort order. * A positive return value specifies that A appears after B in the sorted sequence. The sort operation is not guaranteed to be stable, which means that the order of equal elements may not be retained. @param compareFunction A comparison function to use when sorting. Swaps the z-order (front-to-back order) of the two specified tile objects. All other tile objects in the tile container remain in the same index positions. @param child1 The first tile object. @param child2 The second tile object. Swaps the z-order (front-to-back order) of the tile objects at the two specified index positions in the tile list. All other tile objects in the tile container remain in the same index positions. @param index1 The index position of the first tile object. @param index2 The index position of the second tile object. { originY : 0, originX : 0, rotation : 0, scaleY : 1, scaleX : 1, y : 0, x : 0 } The TileContainer type is a special kind of Tile that can hold other tiles within it. Tile and TileContainer objects can be rendered by adding them to a Tilemap instance. "tags=\"haxe,release\"" openfl.geom.Matrix openfl.geom.Rectangle Returns the number of tiles of this object. Enable or disable support for the `alpha` property of contained tiles. Disabling this property can improve performance on certain renderers. Enable or disable support for the `blendMode` property of contained tiles. Disabling this property can improve performance on certain renderers. Enable or disable support for the `colorTransform` property of contained tiles. Disabling this property can improve performance on certain renderers. Optionally define a default Tileset to be used for all contained tiles. Tile instances that do not have their `tileset` property defined will use this value. If a Tile object does not have a Tileset set, either using this property or using the Tile `tileset` property, it will not be rendered. Controls whether or not the tilemap is smoothed when scaled. If `true`, the bitmap is smoothed when scaled. If `false`, the tilemap is not smoothed when scaled. <__group> <__tileset> <__buffer> <__bufferDirty> <__height> <__width> Adds a Tile instance to this Tilemap instance. The tile is added to the front (top) of all other tiles in this Tilemap instance. (To add a tile to a specific index position, use the `addTileAt()` method.) @param tile The Tile instance to add to this Tilemap instance. @return The Tile instance that you pass in the `tile` parameter. Adds a Tile instance to this Tilemap instance. The tile is added at the index position specified. An index of 0 represents the back (bottom) of the rendered list for this Tilemap object. For example, the following example shows three tiles, labeled a, b, and c, at index positions 0, 2, and 1, respectively: ![b over c over a](/images/DisplayObjectContainer_layers.jpg) @param tile The Tile instance to add to this Tilemap instance. @param index The index position to which the tile is added. If you specify a currently occupied index position, the tile object that exists at that position and all higher positions are moved up one position in the tile list. @return The Tile instance that you pass in the `tile` parameter. Adds an Array of Tile instances to this Tilemap instance. The tiles are added to the front (top) of all other tiles in this Tilemap instance. @param tiles The Tile instances to add to this Tilemap instance. @return The Tile Array that you pass in the `tiles` parameter. Determines whether the specified tile is contained within the Tilemap instance. The search includes the entire tile list including this Tilemap instance. Grandchildren, great-grandchildren, and so on each return `true`. @param tile The tile object to test. @return `true` if the `tile` object is contained within the Tilemap; otherwise `false`. Returns the tile instance that exists at the specified index. @param index The index position of the tile object. @return The tile object at the specified index position. Returns the index position of a contained Tile instance. @param child The Tile instance to identify. @return The index position of the tile object to identify. Returns a TileContainer with each of the tiles contained within this Tilemap. @return A new TileContainer with the same Tile references as this Tilemap Removes the specified Tile instance from the tile list of the Tilemap instance. The index positions of any tile objects above the tile in the Tilemap are decreased by 1. @param tile The Tile instance to remove. @return The Tile instance that you pass in the `tile` parameter. Removes a Tile from the specified `index` position in the tile list of the Tilemap. The index positions of any tile objects above the tile in the Tilemap are decreased by 1. @param index The index of the Tile to remove. @return The Tile instance that was removed. { endIndex : 0x7fffffff, beginIndex : 0 } Removes all Tile instances from the tile list of the ITileContainer instance. @param beginIndex The beginning position. @param endIndex The ending position. Changes the position of an existing tile in the tile container. This affects the layering of tile objects. For example, the following example shows three tile objects, labeled a, b, and c, at index positions 0, 1, and 2, respectively: ![c over b over a](/images/DisplayObjectContainerSetChildIndex1.jpg) When you use the `setTileIndex()` method and specify an index position that is already occupied, the only positions that change are those in between the tile object's former and new position. All others will stay the same. If a tile is moved to an index LOWER than its current index, all tiles in between will INCREASE by 1 for their index reference. If a tile is moved to an index HIGHER than its current index, all tiles in between will DECREASE by 1 for their index reference. For example, if the tile container in the previous example is named `container`, you can swap the position of the tile objects labeled a and b by calling the following code: ```haxe container.setTileIndex(container.getTileAt(1), 0); ``` This code results in the following arrangement of objects: ![c over a over b](/images/DisplayObjectContainerSetChildIndex2.jpg) @param tile The Tile instance for which you want to change the index number. @param index The resulting index number for the `tile` object. Sets all the Tile instances of this Tilemap instance. @param beginIndex The beginning position. @param endIndex The ending position. Sorts the z-order (front-to-back order) of all the tile objects in this container based on a comparison function. A comparison function should take two arguments to compare. Given the elements A and B, the result of `compareFunction` can have a negative, 0, or positive value: * A negative return value specifies that A appears before B in the sorted sequence. * A return value of 0 specifies that A and B have the same sort order. * A positive return value specifies that A appears after B in the sorted sequence. The sort operation is not guaranteed to be stable, which means that the order of equal elements may not be retained. @param compareFunction A comparison function to use when sorting. Swaps the z-order (front-to-back order) of the two specified tile objects. All other tile objects in the tile container remain in the same index positions. @param child1 The first tile object. @param child2 The second tile object. Swaps the z-order (front-to-back order) of the tile objects at the two specified index positions in the tile list. All other tile objects in the tile container remain in the same index positions. @param index1 The index position of the first tile object. @param index2 The index position of the second tile object. <__enterFrame set="method" line="380" override="1"> <__getBounds set="method" line="390" override="1"> <__hitTest set="method" line="404" override="1"> <__renderFlash set="method" line="428"> { smoothing : true, tileset : null } Creates a new Tilemap object. @param width The width of the tilemap in pixels. @param height The height of the tilemap in pixels. @param tileset A Tileset being referenced. @param smoothing Whether or not the tilemap is smoothed when scaled. For example, the following examples show the same tilemap scaled by a factor of 3, with `smoothing` set to `false` (left) and `true` (right): ![A bitmap without smoothing.](/images/bitmap_smoothing_off.jpg) ![A bitmap with smoothing.](/images/bitmap_smoothing_on.jpg) The Tilemap class represents a "quad batch", or series of objects that are rendered from the same bitmap. The Tilemap class is designed to encourage the use of a single Tileset reference for best performance, but it is possible to use unique Tileset references for each Tile or TileContainer within a Tilemap. On software renderered platforms, the Tilemap class uses a rendering method similar to BitmapData `copyPixels`, so it will perform fastest if tile objects do not use rotation or scale. On hardware rendered platforms, the Tilemap class uses a rendering method that is fast even with transforms, and allows support for additional features, such as custom `shader` references, and color transform. Using multiple Shader or Tileset references will require a new draw call each time there is a change. **Note:** The Tilemap class is not a subclass of the InteractiveObject class, so it cannot dispatch mouse events. However, you can use the `addEventListener()` method of the display object container that contains the Tilemap object. "tags=\"haxe,release\"" openfl.display.Tile openfl.geom.ColorTransform openfl.geom.Matrix openfl.geom.Rectangle The BitmapData object being referenced. The rectangles contained in this Tileset, structured as a Vector object. You can use the Tileset `rectData` property alongside the Graphics `drawQuads` method as a convenient way of re-using a list of rectangles. Returns the number of rectangles defined in this Tileset. <__bitmapData> <__data> Adds a new rectangle to this Tilemap object. @param rect A Rectangle represented a part of the referenced BitmapData object @returns The assigned ID value for this new rectangle Duplicates an instance of a Tileset subclass. @return A new Tileset object that is identical to the original. Returns whether the current Tileset already has a rectangle defined that matches the dimensions of a specific rectangle object. @param rect A Rectangle object to compare against @returns Whether the Tileset already contains the value of this rectangle Get the rectangle value associated with a specific tile ID. If the ID is invalid, then a `null` value will be returned. @param id A tile ID @return A new Rectangle containing the tile source rectangle, or `null` if the tile ID does not exist in this Tileset Gets the tile ID associated with a specified rectangle value, if it is defined in the Tileset. This will return `null` if the rectangle value is not defined in the Tileset. @param rect A Rectangle object to compare against @returns The defined tile ID, or `null` if the rectangle value is not present in this Tileset { rects : null } Creates a new Tileset instance. @param bitmapData A BitmapData object to reference @param rects An optional array of rectangles to define with the referenced BitmapData The Tileset class lets you specify logical rectangles within a larger BitmapData object, to be rendered using a Tilemap instance. The `Tileset()` constructor allows you to create a Tileset object that contains a reference to a BitmapData object. After you create a Tileset object, use the `addRect()` method to specify rectangles to be used for tile rendering. "tags=\"haxe,release\"" openfl.geom.Rectangle <__bitmapData public="1"> <__uvHeight public="1"> <__uvWidth public="1"> <__uvX public="1"> <__uvY public="1"> <__update set="method" line="247"> { rect : null } "tags=\"haxe,release\"" "checkstyle:FieldDocComment" openfl.display.Tileset hide The original frame rate for this Timeline. An Array of Scenes contained within this Timeline. Scenes are assumed to occur in order, so if the first Scene contains 10 frames, then the beginning of the second Scene will be treated as frame 11 when setting FrameScripts or implementing enterFrame(). An optional array of frame scripts to be executed. <__currentFrame> <__currentFrameLabel> <__currentLabel> <__currentLabels> <__currentScene> <__frameScripts> <__framesLoaded> <__frameTime> <__isPlaying> <__lastFrameScriptEval> <__lastFrameUpdate> <__scope> <__timeElapsed> <__totalFrames> OpenFL will call this method automatically. If you are making your own Timeline type, please override this method and implement the first frame initialization for a MovieClip. OpenFL will expect to use one Timeline instance per MovieClip. Please initialize the first frame in this method. Afterward enterFrame() will be called automatically when it is time to enter a different frame. OpenFL will call this method automatically for MovieClips with attached timelines. Please update your attached MovieClip instance to the requested frame when this method is called. OpenFL will call this method automatically. If you are making your own Timeline type, please override this method and implement the initialization of a Sprite. Sprites do not use frame scripts, or enter multiple frames. In other words, they will be similar to the first frame of a MovieClip. enterFrame() will not be called, and this Timeline object might be re-used again. <__addFrameScript set="method" line="115"> <__attachMovieClip set="method" line="139"> <__enterFrame set="method" line="188"> <__evaluateFrameScripts set="method" line="225"> <__getNextFrame set="method" line="257"> <__goto set="method" line="278"> <__gotoAndPlay set="method" line="290"> { scene : null } <__gotoAndStop set="method" line="296"> { scene : null } <__nextFrame set="method" line="302"> <__nextScene set="method" line="308"> <__play set="method" line="313"> <__prevFrame set="method" line="326"> <__prevScene set="method" line="332"> <__stop set="method" line="337"> <__resolveFrameReference set="method" line="342"> <__updateFrameLabel set="method" line="368"> <__updateSymbol set="method" line="393"> Provides support for MovieClip animations (or a single frame Sprite) when this class is overridden. For example, the OpenFL SWF library provides a Timeline generated from SWF assets. However, any editor that may provide UI or display elements could be used to generate assets for OpenFL timelines. To implement a custom Timeline, please override this class. Each Timeline can set their original animation frame rate, and can also provide Scenes or FrameScripts. OpenFL will automatically execute FrameScripts and request frame updates. There are currently three internal methods which should not be called by the user, which can be overridden to implement a new type of Timeline: attachMovieClip(); enterFrame(); initializeSprite(); "tags=\"haxe,release\"" Defines codes for culling algorithms that determine which triangles not to render when drawing triangle paths. The terms `POSITIVE` and `NEGATIVE` refer to the sign of a triangle's normal along the z-axis. The normal is a 3D vector that is perpendicular to the surface of the triangle. A triangle whose vertices 0, 1, and 2 are arranged in a clockwise order has a positive normal value. That is, its normal points in a positive z-axis direction, away from the current view point. When the `TriangleCulling.POSITIVE` algorithm is used, triangles with positive normals are not rendered. Another term for this is backface culling. A triangle whose vertices are arranged in a counter-clockwise order has a negative normal value. That is, its normal points in a negative z-axis direction, toward the current view point. When the `TriangleCulling.NEGATIVE` algorithm is used, triangles with negative normals will not be rendered. cast 0 Specifies culling of all triangles facing toward the current view point. cast 1 Specifies no culling. All triangles in the path are rendered. cast 2 Specifies culling of all triangles facing away from the current view point. This is also known as backface culling. cast 0 Specifies culling of all triangles facing toward the current view point. cast 1 Specifies no culling. All triangles in the path are rendered. cast 2 Specifies culling of all triangles facing away from the current view point. This is also known as backface culling. "checkstyle:Dynamic" The Window class is a Lime Window instance that automatically initializes an OpenFL stage for the current window. "tags=\"haxe,release\"" openfl.display.LoaderInfo openfl.display.Stage "checkstyle:FieldDocComment" { stitch_threshold : 0.05, stitch : false } "tags=\"haxe,release\"" "checkstyle:FieldDocComment" "tags=\"haxe,release\"" lime.graphics.ImageBuffer openfl.display.Bitmap openfl.display.BitmapData openfl.geom.Matrix "checkstyle:FieldDocComment" "tags=\"haxe,release\"" openfl.display.BitmapData "tags=\"haxe,release\"" openfl.display.DisplayObject openfl.geom.Matrix "checkstyle:FieldDocComment" "tags=\"haxe,release\"" openfl.display.DisplayObject openfl.display.DisplayObjectContainer new DrawCommandBuffer() "checkstyle:Dynamic" "tags=\"haxe,release\"" openfl.display._internal.DrawCommandReader "checkstyle:FieldDocComment" 0.70710678118654752440084436210485 0.4142135623730950488016887242097 new DrawCommandBuffer() new DrawCommandBuffer() new Matrix3() { strokeBefore : false } { skipT : false } { stroke : false } "tags=\"haxe,release\"" openfl.display.DisplayObject openfl.display.BitmapData openfl.display.Graphics openfl.geom.Matrix openfl.geom.Point openfl.geom.Rectangle "checkstyle:FieldDocComment" new Matrix3() "tags=\"haxe,release\"" openfl.display.DisplayObject openfl.display.Graphics openfl.geom.Matrix "checkstyle:FieldDocComment" "tags=\"haxe,release\"" openfl.display.SimpleButton "tags=\"haxe,release\"" openfl.display.BitmapData openfl.display.Graphics openfl.geom.Matrix openfl.text.TextField "checkstyle:FieldDocComment" "checkstyle:Dynamic" "tags=\"haxe,release\"" lime.graphics.ImageBuffer openfl.display.BitmapData openfl.display.Tile openfl.display.TileContainer openfl.display.Tilemap openfl.display.Tileset openfl.geom.Matrix openfl.geom.Rectangle "checkstyle:FieldDocComment" openfl.display.Bitmap openfl.display.BitmapData "checkstyle:FieldDocComment" openfl.display.BitmapData openfl.display.DisplayObject openfl.geom.Matrix "checkstyle:FieldDocComment" openfl.display.DisplayObject openfl.display.DisplayObjectContainer 0.70710678118654752440084436210485 0.4142135623730950488016887242097 new DrawCommandBuffer() new DrawCommandBuffer() "checkstyle:Dynamic" { strokeBefore : false } "checkstyle:Dynamic" "checkstyle:Dynamic" { skipT : false } { stroke : false } openfl.display.DisplayObject openfl.display.BitmapData openfl.display.Graphics openfl.geom.Matrix openfl.geom.Point openfl.geom.Rectangle "checkstyle:FieldDocComment" openfl.display.SimpleButton openfl.text._internal.TextEngine openfl.display.Graphics openfl.geom.Matrix openfl.text.TextField openfl.text.TextFormat "checkstyle:FieldDocComment" "checkstyle:Dynamic" lime.graphics.ImageBuffer openfl.display.BitmapData openfl.display.Tile openfl.display.TileContainer openfl.display.Tilemap openfl.display.Tileset openfl.geom.Matrix openfl.geom.Rectangle "checkstyle:FieldDocComment" openfl.media.Video openfl.net.NetStream "checkstyle:FieldDocComment" " tags=\"haxe,release\" " openfl.display3D.Context3D openfl.display.Bitmap openfl.display.BitmapData openfl.display.Shader openfl.display.Stage openfl.filters.BitmapFilter openfl.geom.ColorTransform "checkstyle:FieldDocComment" " tags=\"haxe,release\" " openfl.display.BitmapData openfl.display.Shader openfl.display3D.Context3D 0xFFFF 0x2AAA 0xFFFC { length : -1 } { dataPerVertex : -1 } "checkstyle:FieldDocComment" "tags=\"haxe,release\"" openfl.display3D.Context3D openfl.display.DisplayObject openfl.geom.Matrix openfl.geom.Rectangle "checkstyle:FieldDocComment" " tags=\"haxe,release\" " openfl.display.DisplayObject openfl.display.DisplayObjectContainer new BitmapData(1, 1, false, 0) new ColorTransform(1, 1, 1, 1, 0, 0, 0, 0) "tags=\"haxe,release\"" openfl.display3D.Context3D openfl.display.DisplayObject openfl.display.Graphics openfl.display.Shader openfl.geom.ColorTransform openfl.geom.Matrix openfl.geom.Rectangle "checkstyle:FieldDocComment" new BitmapData(1, 1, false, 0) hide openfl.display._internal hide openfl.display._internal hide openfl.display._internal hide openfl.display._internal "varying vec2 openfl_TextureCoordv;\n\n\t\tuniform sampler2D openfl_Texture;\n\n\t\tvoid main(void) {\n\n\t\t\tvec4 color = texture2D (openfl_Texture, openfl_TextureCoordv);\n\n\t\t\tif (color.a == 0.0) {\n\n\t\t\t\tdiscard;\n\n\t\t\t} else {\n\n\t\t\t\tgl_FragColor = color;\n\n\t\t\t}\n\n\t\t}" "attribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\t\tvarying vec2 openfl_TextureCoordv;\n\n\t\tuniform mat4 openfl_Matrix;\n\n\t\tvoid main(void) {\n\n\t\t\topenfl_TextureCoordv = openfl_TextureCoord;\n\n\t\t\tgl_Position = openfl_Matrix * openfl_Position;\n\n\t\t}" openfl.utils._internal.ShaderMacro.build() openfl.utils._internal.ShaderMacro.build() "tags=\"haxe,release\"" "tags=\"haxe,release\"" openfl.display3D.Context3D openfl.display.DisplayObject openfl.display.BitmapData openfl.display.Graphics openfl.display.Shader openfl.filters.BitmapFilter openfl.geom.ColorTransform openfl.geom.Matrix "checkstyle:FieldDocComment" " tags=\"haxe,release\" " openfl.display.SimpleButton " tags=\"haxe,release\" " openfl.display.Graphics openfl.text.TextField "checkstyle:FieldDocComment" { isTopLevel : true } "tags=\"haxe,release\"" openfl.display3D.Context3D openfl.display3D.VertexBuffer3D openfl.display.Shader openfl.display.Tilemap openfl.display.Tileset openfl.display.Tile openfl.filters.BitmapFilter openfl.geom.ColorTransform openfl.geom.Matrix openfl.geom.Rectangle "checkstyle:FieldDocComment" <__textureSizeValue expr="[0, 0.]" line="22" static="1"> [0, 0.] "tags=\"haxe,release\"" openfl.display3D.Context3D openfl.display.Shader openfl.geom.ColorTransform openfl.media.Video openfl.net.NetStream "checkstyle:FieldDocComment" lime.graphics.ImageBuffer openfl.display.Bitmap openfl.display.BitmapData "checkstyle:FieldDocComment" openfl.display.DisplayObject openfl.geom.Matrix "checkstyle:FieldDocComment" openfl.display.DisplayObject openfl.display.DisplayObjectContainer openfl.display.DisplayObject openfl.display.Graphics openfl.geom.Matrix openfl.geom.Rectangle "checkstyle:FieldDocComment" openfl.display.DisplayObject openfl.display.SimpleButton <__regexColor expr="~/color=("#([^"]+)"|'#([^']+)')/" line="20" static="1"> ~/color=("#([^"]+)"|'#([^']+)')/ <__regexFace expr="~/face=("([^"]+)"|'([^']+)')/" line="21" static="1"> ~/face=("([^"]+)"|'([^']+)')/ <__regexFont expr="~/<font ([^>]+)>/" line="22" static="1"> ]+)>/]]> <__regexCloseFont expr="new EReg("</font>", "gi")" line="23" static="1"> ", "gi")]]> <__regexSize expr="~/size=("([^"]+)"|'([^']+)')/" line="24" static="1"> ~/size=("([^"]+)"|'([^']+)')/ <__getAttributeMatch set="method" line="449" static="1"> openfl.display.DisplayObject openfl.text._internal.TextEngine openfl.text.TextField "checkstyle:FieldDocComment" openfl.display.DisplayObject openfl.display.TileContainer openfl.display.Tilemap openfl.geom.Matrix "checkstyle:FieldDocComment" openfl.media.Video openfl.net.NetStream "checkstyle:FieldDocComment" "checkstyle:Dynamic" "tags=\"haxe,release\"" openfl.display._internal openfl.display._internal "checkstyle:FieldDocComment" <_new public="1" get="inline" set="null" line="335" static="1"> <_new public="1" get="inline" set="null" line="335" static="1"> <_new public="1" get="inline" set="null" line="371" static="1"> <_new public="1" get="inline" set="null" line="371" static="1"> <_new public="1" get="inline" set="null" line="393" static="1"> <_new public="1" get="inline" set="null" line="393" static="1"> <_new public="1" get="inline" set="null" line="457" static="1"> <_new public="1" get="inline" set="null" line="457" static="1"> <_new public="1" get="inline" set="null" line="472" static="1"> <_new public="1" get="inline" set="null" line="472" static="1"> <_new public="1" get="inline" set="null" line="522" static="1"> <_new public="1" get="inline" set="null" line="522" static="1"> <_new public="1" get="inline" set="null" line="558" static="1"> <_new public="1" get="inline" set="null" line="558" static="1"> <_new public="1" get="inline" set="null" line="587" static="1"> <_new public="1" get="inline" set="null" line="587" static="1"> <_new public="1" get="inline" set="null" line="623" static="1"> <_new public="1" get="inline" set="null" line="623" static="1"> <_new public="1" get="inline" set="null" line="652" static="1"> <_new public="1" get="inline" set="null" line="652" static="1"> <_new public="1" get="inline" set="null" line="688" static="1"> <_new public="1" get="inline" set="null" line="688" static="1"> <_new public="1" get="inline" set="null" line="738" static="1"> <_new public="1" get="inline" set="null" line="738" static="1"> <_new public="1" get="inline" set="null" line="774" static="1"> <_new public="1" get="inline" set="null" line="774" static="1"> <_new public="1" get="inline" set="null" line="782" static="1"> <_new public="1" get="inline" set="null" line="782" static="1"> <_new public="1" get="inline" set="null" line="818" static="1"> <_new public="1" get="inline" set="null" line="818" static="1"> <_new public="1" get="inline" set="null" line="882" static="1"> <_new public="1" get="inline" set="null" line="882" static="1"> <_new public="1" get="inline" set="null" line="946" static="1"> <_new public="1" get="inline" set="null" line="946" static="1"> <_new public="1" get="inline" set="null" line="968" static="1"> <_new public="1" get="inline" set="null" line="968" static="1"> <_new public="1" get="inline" set="null" line="990" static="1"> <_new public="1" get="inline" set="null" line="990" static="1"> <_new public="1" get="inline" set="null" line="1005" static="1"> <_new public="1" get="inline" set="null" line="1005" static="1"> <_new public="1" get="inline" set="null" line="1020" static="1"> <_new public="1" get="inline" set="null" line="1020" static="1"> <_new public="1" get="inline" set="null" line="1028" static="1"> <_new public="1" get="inline" set="null" line="1028" static="1"> "checkstyle:FieldDocComment" <__renderFlash set="method"> openfl.display._internal.FlashRenderer new ColorTransform() new Bitmap() new Point() new Rectangle() openfl.display.Tile openfl.display.TileContainer openfl.display.Tilemap openfl.display.Tileset "checkstyle:FieldDocComment" hide cast 0 cast 1 cast 2 cast 3 cast 4 cast 5 cast 6 cast 7 cast 8 cast 0 cast 1 cast 2 cast 3 cast 4 cast 5 cast 6 cast 7 cast 8 cast 0 cast 1 cast 2 cast 3 cast 4 cast 0 cast 1 cast 2 cast 3 cast 4 cast 0 cast 1 cast 2 cast 3 cast 4 cast 5 cast 6 cast 7 cast 9 cast 10 cast 0 cast 1 cast 2 cast 3 cast 4 cast 5 cast 6 cast 7 cast 9 cast 10

      [151, 160, 137, 91, 90, 15, 131, 13, 201, 95, 96, 53, 194, 233, 7, 225, 140, 36, 103, 30, 69, 142, 8, 99, 37, 240, 21, 10, 23, 190, 6, 148, 247, 120, 234, 75, 0, 26, 197, 62, 94, 252, 219, 203, 117, 35, 11, 32, 57, 177, 33, 88, 237, 149, 56, 87, 174, 20, 125, 136, 171, 168, 68, 175, 74, 165, 71, 134, 139, 48, 27, 166, 77, 146, 158, 231, 83, 111, 229, 122, 60, 211, 133, 230, 220, 105, 92, 41, 55, 46, 245, 40, 244, 102, 143, 54, 65, 25, 63, 161, 1, 216, 80, 73, 209, 76, 132, 187, 208, 89, 18, 169, 200, 196, 135, 130, 116, 188, 159, 86, 164, 100, 109, 198, 173, 186, 3, 64, 52, 217, 226, 250, 124, 123, 5, 202, 38, 147, 118, 126, 255, 82, 85, 212, 207, 206, 59, 227, 47, 16, 58, 17, 182, 189, 28, 42, 223, 183, 170, 213, 119, 248, 152, 2, 44, 154, 163, 70, 221, 153, 101, 155, 167, 43, 172, 9, 129, 22, 39, 253, 19, 98, 108, 110, 79, 113, 224, 232, 178, 185, 112, 104, 218, 246, 97, 228, 251, 34, 242, 193, 238, 210, 144, 12, 191, 179, 162, 241, 81, 51, 145, 235, 249, 14, 239, 107, 49, 192, 214, 31, 181, 199, 106, 157, 184, 84, 204, 176, 115, 121, 50, 45, 127, 4, 150, 254, 138, 236, 205, 93, 222, 114, 67, 29, 24, 72, 243, 141, 128, 195, 78, 66, 215, 61, 156, 180, 151, 160, 137, 91, 90, 15, 131, 13, 201, 95, 96, 53, 194, 233, 7, 225, 140, 36, 103, 30, 69, 142, 8, 99, 37, 240, 21, 10, 23, 190, 6, 148, 247, 120, 234, 75, 0, 26, 197, 62, 94, 252, 219, 203, 117, 35, 11, 32, 57, 177, 33, 88, 237, 149, 56, 87, 174, 20, 125, 136, 171, 168, 68, 175, 74, 165, 71, 134, 139, 48, 27, 166, 77, 146, 158, 231, 83, 111, 229, 122, 60, 211, 133, 230, 220, 105, 92, 41, 55, 46, 245, 40, 244, 102, 143, 54, 65, 25, 63, 161, 1, 216, 80, 73, 209, 76, 132, 187, 208, 89, 18, 169, 200, 196, 135, 130, 116, 188, 159, 86, 164, 100, 109, 198, 173, 186, 3, 64, 52, 217, 226, 250, 124, 123, 5, 202, 38, 147, 118, 126, 255, 82, 85, 212, 207, 206, 59, 227, 47, 16, 58, 17, 182, 189, 28, 42, 223, 183, 170, 213, 119, 248, 152, 2, 44, 154, 163, 70, 221, 153, 101, 155, 167, 43, 172, 9, 129, 22, 39, 253, 19, 98, 108, 110, 79, 113, 224, 232, 178, 185, 112, 104, 218, 246, 97, 228, 251, 34, 242, 193, 238, 210, 144, 12, 191, 179, 162, 241, 81, 51, 145, 235, 249, 14, 239, 107, 49, 192, 214, 31, 181, 199, 106, 157, 184, 84, 204, 176, 115, 121, 50, 45, 127, 4, 150, 254, 138, 236, 205, 93, 222, 114, 67, 29, 24, 72, 243, 141, 128, 195, 78, 66, 215, 61, 156, 180] "checkstyle:ConstantName"

      { stitch_threshold : 0.05, stitch : false } "tags=\"haxe,release\"" "checkstyle:FieldDocComment"
      { textureAlpha : false, centroid : false, ignoreSampler : false, lodBias : 0.0, mipfilter : MIPNONE, filter : NEAREST, wrap : CLAMP } "tags=\"haxe,release\"" "checkstyle:FieldDocComment" "checkstyle:Dynamic" "tags=\"haxe,release\"" openfl.display.Shader "checkstyle:FieldDocComment" false Indicates if Context3D supports video texture. <__driverInfo static="1"> <__glDepthStencil expr="-1" line="255" static="1"> -1 <__glMaxTextureMaxAnisotropy expr="-1" line="256" static="1"> -1 <__glMaxViewportDims expr="-1" line="257" static="1"> -1 <__glMemoryCurrentAvailable expr="-1" line="258" static="1"> -1 <__glMemoryTotalAvailable expr="-1" line="259" static="1"> -1 <__glTextureMaxAnisotropy expr="-1" line="260" static="1"> -1 0 Specifies the height of the back buffer, which can be changed by a successful call to the `configureBackBuffer()` method. The height may be modified when the browser zoom factor changes if the `wantsBestResolutionOnBrowserZoom` parameter is set to `true` in the last successful call to the `configureBackBuffer()` method. The change in height can be detected by registering an event listener for the browser zoom change event. 0 Specifies the width of the back buffer, which can be changed by a successful call to the `configureBackBuffer()` method. The width may be modified when the browser zoom factor changes if the `wantsBestResolutionOnBrowserZoom` parameter is set to `true` in the last successful call to the `configureBackBuffer()` method. The change in width can be detected by registering an event listener for the browser zoom change event. "OpenGL (Direct blitting)" The type of graphics library driver used by this rendering context. Indicates whether the rendering is using software, a DirectX driver, or an OpenGL driver. Also indicates whether hardware rendering failed. If hardware rendering fails, Flash Player uses software rendering for Stage3D and `driverInfo` contains one of the following values: * "Software Hw_disabled=userDisabled" - The Enable hardware acceleration checkbox in the Adobe Flash Player Settings UI is not selected. * "Software Hw_disabled=oldDriver" - There are known problems with the hardware graphics driver. Updating the graphics driver may fix this problem. * "Software Hw_disabled=unavailable" - Known problems with the hardware graphics driver or hardware graphics initialization failure. * "Software Hw_disabled=explicit" - The content explicitly requested software rendering through requestContext3D. * "Software Hw_disabled=domainMemory" - The content uses domainMemory, which requires a license when used with Stage3D hardware rendering. Visit adobe.com/go/fpl. Specifies whether errors encountered by the renderer are reported to the application. When `enableErrorChecking` is `true`, the `clear()`, and `drawTriangles()` methods are synchronous and can throw errors. When `enableErrorChecking` is `false`, the default, the `clear()`, and `drawTriangles()` methods are asynchronous and errors are not reported. Enabling error checking reduces rendering performance. You should only enable error checking when debugging. Specifies the maximum height of the back buffer. The inital value is the system limit in the platform. The property can be set to a value smaller than or equal to, but not greater than, the system limit. The property can be set to a value greater than or equal to, but not smaller than, the minimum limit. The minimum limit is a constant value, 32, when the back buffer is not configured. The minimum limit will be the value of the `height` parameter in the last successful call to the `configureBackBuffer()` method after the back buffer is configured. Specifies the maximum width of the back buffer. The inital value is the system limit in the platform. The property can be set to a value smaller than or equal to, but not greater than, the system limit. The property can be set to a value greater than or equal to, but not smaller than, the minimum limit. The minimum limit is a constant value, 32, when the back buffer is not configured. The minimum limit will be the value of the width parameter in the last successful call to the `configureBackBuffer()` method after the back buffer is configured. STANDARD The feature-support profile in use by this Context3D object. gpu` will fall back to `direct`) This API can be used when the SWF version is 32 or later.]]> <__backBufferAntiAlias> <__backBufferTexture> <__backBufferWantsBestResolution> <__backBufferWantsBestResolutionOnBrowserZoom> <__cleared> <__context> <__contextState> <__renderStage3DProgram> <__enableErrorChecking> <__fragmentConstants> <__frontBufferTexture> <__positionScale> <__present> <__programs> <__quadIndexBuffer> <__quadIndexBufferCount> <__quadIndexBufferElements> <__stage> <__stage3D> <__state> <__vertexConstants> { mask : Context3DClearMask.ALL, stencil : 0, depth : 1, alpha : 1, blue : 0, green : 0, red : 0 } Clears the color, depth, and stencil buffers associated with this Context3D object and fills them with the specified values. Set the `mask` parameter to specify which buffers to clear. Use the constants defined in the Context3DClearMask class to set the `mask` parameter. Use the bitwise OR operator, "|", to add multiple buffers to the mask (or use Context3DClearMask.ALL). When rendering to the back buffer, the `configureBackBuffer()` method must be called before any `clear()` calls. **Note:** If you specify a parameter value outside the allowed range, Numeric parameter values are silently clamped to the range zero to one. Likewise, if stencil is greater than 0xff it is set to 0xff. @param red the red component of the color with which to clear the color buffer, in the range zero to one. @param green the green component of the color with which to clear the color buffer, in the range zero to one. @param blue the blue component of the color with which to clear the color buffer, in the range zero to one. @param alpha the alpha component of the color with which to clear the color buffer, in the range zero to one. The alpha component is not used for blending. It is written to the buffer alpha directly. @param depth the value with which to clear the depth buffer, in the range zero to one. @param stencil the 8-bit value with which to clear the stencil buffer, in a range of 0x00 to 0xff. @param mask specifies which buffers to clear. @throws Error Object Disposed: If this Context3D object has been disposed by a calling dispose() or because the underlying rendering hardware has been lost. @throws Error 3768: The Stage3D API may not be used during background execution. { wantsBestResolutionOnBrowserZoom : false, wantsBestResolution : false, enableDepthAndStencil : true } Sets the viewport dimensions and other attributes of the rendering buffer. Rendering is double-buffered. The back buffer is swapped with the visible, front buffer when the `present()` method is called. The minimum size of the buffer is 32x32 pixels. The maximum size of the back buffer is limited by the device capabilities and can also be set by the user through the properties `maxBackBufferWidth` and `maxBackBufferHeight`. Configuring the buffer is a slow operation. Avoid changing the buffer size or attributes during normal rendering operations. @param width width in pixels of the buffer. @param height height in pixels of the buffer. @param antiAlias an integer value specifying the requested antialiasing quality. The value correlates to the number of subsamples used when antialiasing. Using more subsamples requires more calculations to be performed, although the relative performance impact depends on the specific rendering hardware. The type of antialiasing and whether antialiasing is performed at all is dependent on the device and rendering mode. Antialiasing is not supported at all by the software rendering context. | --- | --- | | 0 | No antialiasing | | 2 | Minimal antialiasing | | 4 | High-quality antialiasing | | 16 | Very high-quality antialiasing | @param enableDepthAndStencil `false` indicates no depth or stencil buffer is created, `true` creates a depth and a stencil buffer. For an AIR 3.2 or later application compiled with SWF version 15 or higher, if the `renderMode` element in the application descriptor file is `direct`, then the `depthAndStencil` element in the application descriptor file must have the same value as this argument. By default, the value of the `depthAndStencil` element is `false`. @param wantsBestResolution `true` indicates that if the device supports HiDPI screens it will attempt to allocate a larger back buffer than indicated with the `width` and `height` parameters. Since this add more pixels and potentially changes the result of shader operations this is turned off by default. Use `Stage.contentsScaleFactor` to determine by how much the native back buffer was scaled up. @param wantsBestResolutionOnBrowserZoom `true` indicates that the size of the back buffer should increase in proportion to the increase in the browser zoom factor. The setting of this value is persistent across multiple browser zooms. The default value of the parameter is `false`. Set `maxBackBufferWidth` and `maxBackBufferHeight` properties to limit the back buffer size increase. Use `backBufferWidth` and `backBufferHeight` to determine the current size of the back buffer. @throws Error Object Disposed: if this Context3D object has been disposed by a calling `dispose()` or because the underlying rendering hardware has been lost. @throws Error Bad Input Size: The `width` or `height` parameter is either less than the minimum back buffer allowed size or greater than the maximum back buffer size allowed. @throws Error 3709: The `depthAndStencil` flag in the application descriptor must match the `enableDepthAndStencil` Boolean passed to `configureBackBuffer()` on the Context3D object. { streamingLevels : 0 } 0 can impact memory usage and performance. @return A new CubeTexture object @throws Error Object Disposed: if this Context3D object has been disposed by a calling `dispose()` or because the underlying rendering hardware has been lost. @throws Error Resource Limit Exceeded: if too many Texture objects are created or the amount of memory allocated to textures is exceeded. @throws ArgumentError Depth Texture Not Implemented: if you attempt to create a depth texture. @throws ArgumentError Texture Size Is Zero: if the size parameter is not greater than zero. @throws ArgumentError Texture Not Power Of Two: if the size parameter is not a power of two. @throws ArgumentError Texture Too Big: if the size parameter is greater than 1024. @throws Error Texture Creation Failed: if the CubeTexture object could not be created by the rendering context (but information about the reason is not available). @throws ArgumentError Invalid streaming level: if streamingLevels is greater or equal to `log2(size)`.]]> { bufferUsage : STATIC_DRAW } Creates an IndexBuffer3D object. Use an IndexBuffer3D object to upload a set of triangle indices to the rendering context and to reference that set of indices for rendering. Each index in the index buffer references a corresponding vertex in a vertex buffer. Each set of three indices identifies a triangle. Pass the IndexBuffer3D object to the `drawTriangles()` method to render one or more triangles defined in the index buffer. You cannot create IndexBuffer3D objects with the IndexBuffer3D class constructor; use this method instead. After creating a IndexBuffer3D object, upload the indices using the IndexBuffer3D `uploadFromVector()` or `uploadFromByteArray()` methods. @param numIndices the number of vertices to be stored in the buffer. @param bufferUsage the expected buffer usage. Use one of the constants defined in Context3DBufferUsage. The hardware driver can do appropriate optimization when you set it correctly. This parameter is only available after Flash 12/AIR 4. @return A new IndexBuffer3D object @throws Error Object Disposed: if this Context3D object has been disposed by a calling `dispose()` or because the underlying rendering hardware has been lost. @throws Error Resource Limit Exceeded: if too many index buffers are created or the amount of memory allocated to index buffers is exceeded. @throws Error 3768: The Stage3D API may not be used during background execution. @throws ArgumentError Buffer Too Big: when `numIndices` is greater than or equal to 0xf0000. { format : AGAL } Creates a Program3D object. Use a Program3D object to upload shader programs to the rendering context and to reference uploaded programs during rendering. A Program3D object stores two programs, a vertex program and a fragment program (also known as a pixel program). The programs are written in a binary shader assembly language. You cannot create Program3D objects with a Program3D constructor; use this method instead. After creating a Program3D object, upload the programs using the Program3D `upload()` method. @param format (Experimental) Set the format of this Program3D instance to AGAL (default) or to GLSL for use on GL-based renderers @return A new Program3D object @throws Error Object Disposed: if this Context3D object has been disposed by a calling `dispose()` or because the underlying rendering hardware has been lost. @throws Error The number of programs exceeds 4096 or the total memory size exceeds 16MB (use dispose to free Program3D resources). Creates a Rectangle Texture object. Use a RectangleTexture object to upload texture bitmaps to the rendering context and to reference a texture during rendering. You cannot create RectangleTexture objects with a RectangleTexture constructor; use this method instead. After creating a RectangleTexture object, upload the texture bitmaps using the Texture `uploadFromBitmapData()` or `uploadFromByteArray()` methods. Note that 32-bit integer textures are stored in a packed BGRA format to match the OpenFL BitmapData format. Floating point textures use a conventional RGBA format. Rectangle textures are different from regular 2D textures in that their width and height do not have to be powers of two. Also, they do not contain mip maps. They are most useful for use in render to texture cases. If a rectangle texture is used with a sampler that uses mip map filtering or repeat wrapping the drawTriangles call will fail. Rectangle texture also do not allow streaming. The only texture formats supported by Rectangle textures are BGRA, BGR_PACKED, BGRA_PACKED. The compressed texture formats are not supported by Rectangle Textures. @param width The texture width in texels. @param height The texture height in texels. @param format The texel format, of the Context3DTextureFormat enumerated list. @param optimizeForRenderToTexture Set to true if the texture is likely to be used as a render target. @return A new RectangleTexture object @throws Error Object Disposed: if this Context3D object has been disposed by a calling dispose() or because the underlying rendering hardware has been lost. @throws Error Resource Limit Exceeded: if too many Texture objects are created or the amount of memory allocated to textures is exceeded. @throws ArgumentError Texture Size Is Zero: if both the width or height parameters are not greater than zero. @throws ArgumentError Texture Too Big: if either the width or the height parameter is greater than 2048. @throws Error Texture Creation Failed: if the Texture object could not be created by the rendering context (but information about the reason is not available). @throws Error Requires Baseline Profile Or Above: if rectangular texture is created with baseline constrained profile. { streamingLevels : 0 } 0 can impact memory usage and performance. @return A new Texture object @throws Error Object Disposed: if this Context3D object has been disposed by a calling dispose() or because the underlying rendering hardware has been lost. @throws Error Resource Limit Exceeded: if too many Texture objects are created or the amount of memory allocated to textures is exceeded. @throws ArgumentError Depth Texture Not Implemented: if you attempt to create a depth texture. @throws ArgumentError Texture Size Is Zero: if both the width or height parameters are not greater than zero. @throws ArgumentError Texture Not Power Of Two: if both the width and height parameters are not a power of two. @throws ArgumentError Texture Too Big: if either the width or the height parameter is greater than 2048 for baseline and baseline constrained profile or if either the width or the height parameter is greater than 4096 for profile baseline extended and above. @throws Error Texture Creation Failed: if the Texture object could not be created by the rendering context (but information about the reason is not available). @throws ArgumentError Invalid streaming level: if streamingLevels is greater or equal to log2(min(width,height)).]]> { bufferUsage : STATIC_DRAW } Creates a VertexBuffer3D object. Use a VertexBuffer3D object to upload a set of vertex data to the rendering context. A vertex buffer contains the data needed to render each point in the scene geometry. The data attributes associated with each vertex typically includes position, color, and texture coordinates and serve as the input to the vertex shader program. Identify the data values that correspond to one of the inputs of the vertex program using the `setVertexBufferAt()` method. You can specify up to sixty-four 32-bit values for each vertex. You cannot create VertexBuffer3D objects with a VertexBuffer3D constructor; use this method instead. After creating a VertexBuffer3D object, upload the vertex data using the VertexBuffer3D `uploadFromVector()` or `uploadFromByteArray()` methods. @param numVertices the number of vertices to be stored in the buffer. The maximum number of vertices in a single buffer is 65535. @param data32PerVertex the number of 32-bit(4-byte) data values associated with each vertex. The maximum number of 32-bit data elements per vertex is 64 (or 256 bytes). Note that only eight attribute registers are accessible by a vertex shader program at any given time. Use `setVertextBufferAt()` to select attributes from within a vertex buffer. @param bufferUsage the expected buffer usage. Use one of the constants defined in Context3DBufferUsage. The hardware driver can do appropriate optimization when you set it correctly. This parameter is only available after Flash 12/AIR 4 @return A new VertexBuffer3D object @throws Error Object Disposed: if this Context3D object has been disposed by a calling `dispose()` or because the underlying rendering hardware has been lost. @throws Error Resource Limit Exceeded: if too many vertex buffer objects are created or the amount of memory alloted to vertex buffers is exceeded. @throws ArgumentError Buffer Too Big: when `numVertices` is greater than 0x10000 or `data32PerVertex` is greater than 64. @throws ArgumentError Buffer Has Zero Size: when `numVertices` is zero or `data32PerVertex` is zero. @throws ArgumentError Buffer Creation Failed: if the VertexBuffer3D object could not be created by the rendering context (but additional information about the reason is not available). @throws Error 3768: The Stage3D API may not be used during background execution. Creates a VideoTexture object. Use a VideoTexture object to obtain video frames as texture from NetStream object or Camera object and to upload the video frames to the rendering context. The VideoTexture object cannot be created with the VideoTexture constructor; use this method instead. After creating a VideoTexture object, attach NetStream object or Camera Object to get the video frames with the VideoTexture `attachNetStream()` or `attachCamera()` methods. Note that this method returns null if the system doesn't support this feature. VideoTexture does not contain mipmaps. If VideoTexture is used with a sampler that uses mip map filtering or repeat wrapping, the drawTriangles call will fail. VideoTexture can be treated as BGRA texture by the shaders. The attempt to instantiate the VideoTexture Object will fail if the Context3D was requested with sotfware rendering mode. A maximum of 4 VideoTexture objects are available per Context3D instance. On mobile the actual number of supported VideoTexture objects may be less than 4 due to platform limitations. @return A new VideoTexture object @throws Error Object Disposed: if this Context3D object has been disposed by a calling `dispose()` or because the underlying rendering hardware has been lost. @throws Error Resource Limit Exceeded: if too many Texture objects are created or the amount of memory allocated to textures is exceeded. @throws Error Texture Creation Failed: if the Texture object could not be created by the rendering context (but information about the reason is not available). { recreate : true } Frees all resources and internal storage associated with this Context3D. All index buffers, vertex buffers, textures, and programs that were created through this Context3D are disposed just as if calling `dispose()` on each of them individually. In addition, the Context3D itself is disposed freeing all temporary buffers and the back buffer. If you call `configureBackBuffer()`, `clear()`, `drawTriangles()`, `createCubeTexture()`, `createTexture()`, `createProgram()`, `createIndexBuffer()`, `createVertexBuffer()`, or `drawToBitmapData()` after calling `dispose()`, the runtime throws an exception. Warning: calling `dispose()` on a Context3D while there is still a event listener for `Events.CONTEXT3D_CREATE` set on the asociated Stage3D object the `dispose()` call will simulate a device loss. It will create a new Context3D on the Stage3D and issue the `Events.CONTEXT3D_CREATE` event again. If this is not desired remove the event listener from the Stage3D object before calling `dispose()` or set the `recreate` parameter to `false`. @param recreate Whether to allow this Stage3D object to create itself again { destPoint : null, srcRect : null } Draws the current render buffer to a bitmap. The current contents of the back render buffer are copied to a BitmapData object. This is potentially a very slow operation that can take up to a second. Use with care. Note that this function does not copy the front render buffer (the one shown on stage), but the buffer being drawn to. To capture the rendered image as it appears on the stage, call `drawToBitmapData()` immediately before you calling `present()`. Beginning with AIR 25, two new parameters have been introduced in the API `drawToBitmapData()`. This API now takes three parameters. The first one is the existing parameter `destination:BitmapData`. The second parameter is `srcRect:Rectangle`, which is target rectangle on Stage3D. The third parameter is `destPoint:Point`, which is the coordinate on the destination bitmap. The parameters `srcRect` and `destPoint` are optional and default to `(0,0,bitmapWidth,bitmapHeight)` and `(0,0)`, respectively. When the image is drawn, it is not scaled to fit the bitmap. Instead, the contents are clipped to the size of the destination bitmap. OpenFL BitmapData objects store colors already multiplied by the alpha component. For example, if the "pure" rgb color components of a pixel are (0x0A, 0x12, 0xBB) and the alpha component is 0x7F (.5), then the pixel is stored in the BitmapData object with the rgba values: (0x05, 0x09, 0x5D, 0x7F). You can set the blend factors so that the colors rendered to the buffer are multiplied by alpha or perform the operation in the fragment shader. The rendering context does not validate that the colors are stored in premultiplied format. @param destination The target BitmapData for this drawing operation @param srcRect The source rectangle in the current Stage3D context @param destPoint A destination point to write to in the target BitmapData @throws Error Object Disposed: if this Context3D object has been disposed by a calling `dispose()` or because the underlying rendering hardware has been lost. @throws Error 3768: The Stage3D API may not be used during background execution. @throws Error 3802: If either one of the parameters `destPoint:Point` or `srcRect:Rectangle` is outside the bitmap/stage3D coordinate bound, or if non-numeric(NaN) values are passed as input. { numTriangles : -1, firstIndex : 0 } Render the specified triangles using the current buffers and state of this Context3D object. For each triangle, the triangle vertices are processed by the vertex shader program and the triangle surface is processed by the pixel shader program. The output color from the pixel program for each pixel is drawn to the render target depending on the stencil operations, depth test, source and destination alpha, and the current blend mode. The render destination can be the main render buffer or a texture. If culling is enabled, (with the `setCulling()` method), then triangles can be discarded from the scene before the pixel program is run. If stencil and depth testing are enabled, then output pixels from the pixel program can be discarded without updating the render destination. In addition, the pixel program can decide not to output a color for a pixel. The rendered triangles are not displayed in the viewport until you call the `present()` method. After each `present()` call, the `clear()` method must be called before the first `drawTriangles()` call or rendering fails. When `enableErrorChecking` is `false`, this function returns immediately, does not wait for results, and throws exceptions only if this Context3D instance has been disposed or there are too many draw calls. If the rendering context state is invalid rendering fails silently. When the `enableErrorChecking` property is `true`, this function returns after the triangles are drawn and throws exceptions for any drawing errors or invalid context state. @param indexBuffer:IndexBuffer3D — a set of vertex indices referencing the vertices to render. @param firstIndex:int (default = 0) — the index of the first vertex index selected to render. Default 0. @param numTriangles:int (default = -1) — the number of triangles to render. Each triangle consumes three indices. Pass -1 to draw all triangles in the index buffer. Default -1. @throws Error — Object Disposed: if this Context3D object has been disposed by a calling `dispose()` or because the underlying rendering hardware has been lost. @throws Error — If this method is called too many times between calls to `present()`. The maximum number of calls is 32,768. The following errors are only thrown when `enableErrorChecking` property is true: @throws Error Need To Clear Before Draw: If the buffer has not been cleared since the last `present()` call. @throws Error If a valid Program3D object is not set. @throws Error No Valid Index Buffer Set: If an IndexBuffer3D object is not set. @throws Error Sanity Check On Parameters Failed: when the number of triangles to be drawn or the `firstIndex` exceed allowed values. @throws RangeError — Not Enough Indices In This Buffer: when there aren't enough indices in the buffer to define the number of triangles to be drawn. @throws Error — Sample Binds Texture Also Bound To Render: when the render target is a texture and that texture assigned to a texture input of the current fragment program. @throws Error — Sample Binds Invalid Texture: an invalid texture is specified as the input to the current fragment program. @throws Error — Sampler Format Does Not Match Texture Format: when the texture assigned as the input to the current fragment program has a different format than that specified for the sampler register. For example, a 2D texture is assigned to a cube texture sampler. @throws Error — Sample Binds Undefined Texture: The current fragment program accesses a texture register that has not been set (using `setTextureAt()`). @throws Error — Same Texture Needs Same Sampler Params: If a texture is used for more than one sampler register, all of the samplers must have the same settings. For example, you cannot set one sampler to clamp and another to wrap. @throws Error — Texture Bound But Not Used: A texture is set as a shader input, but it is not used. @throws Error — Stream Is Not Used: A vertex buffer is assigned to a vertex attribute input, but the vertex program does not reference the corresponding register. @throws Error — Stream Is Invalid: a VertexBuffer3D object assigned to a vertex program input is not a valid object. @throws RangeError — Stream Does Not Have Enough Vertices: A vertex buffer supplying data for drawing the specified triangles does not have enough data. @throws RangeError — Stream Vertex Offset Out Of Bounds: The offset specified in a `setVertexBufferAt()` call is negative or past the end of the buffer. @throws Error — Stream Read But Not Set: A vertex attribute used by the current vertex program is not set (using `setVertexBufferAt()`). Displays the back rendering buffer. Calling the `present()` method makes the results of all rendering operations since the last `present()` call visible and starts a new rendering cycle. After calling `present`, you must call `clear()` before making another `drawTriangles()` call. Otherwise, this function will alternately clear the render buffer to yellow and green or, if `enableErrorChecking` has been set to `true`, an exception is thrown. Calling `present()` also resets the render target, just like calling `setRenderToBackBuffer()`. @throws Error Need To Clear Before Draw: If the `clear()` has not been called since the previous call to `present()`. (Two consecutive `present()` calls are not allowed without calling `clear()` in between.) @throws Error 3768: The Stage3D API may not be used during background execution. Specifies the factors used to blend the output color of a drawing operation with the existing color. The output (source) color of the pixel shader program is combined with the existing (destination) color at that pixel according to the following formula: `result color = (source color * sourceFactor) + (destination color * destinationFactor)` The destination color is the current color in the render buffer for that pixel. Thus it is the result of the most recent `clear()` call and any intervening `drawTriangles()` calls. Use `setBlendFactors()` to set the factors used to multiply the source and destination colors before they are added together. The default blend factors are, `sourceFactor = Context3DBlendFactor.ONE`, and `destinationFactor = Context3DBlendFactor.ZERO`, which results in the source color overwriting the destination color (in other words, no blending of the two colors occurs). For normal alpha blending, use `sourceFactor = Context3DBlendFactor.SOURCE_ALPHA` and `destinationFactor = Context3DBlendFactor.ONE_MINUS_SOURCE_ALPHA`. Use the constants defined in the Context3DBlendFactor class to set the parameters of this function. @param sourceFactor The factor with which to multiply the source color. Defaults to `Context3DBlendFactor.ONE`. @param destinationFactor The factor with which to multiply the destination color. Defaults to `Context3DBlendFactor.ZERO`. @throws Error — Invalid Enum: when `sourceFactor` or `destinationFactor` is not one of the recognized values, which are defined in the Context3DBlendFactor class. hide Sets the mask used when writing colors to the render buffer. Only color components for which the corresponding color mask parameter is `true` are updated when a color is written to the render buffer. For example, if you call: `setColorMask(true, false, false, false)`, only the red component of a color is written to the buffer until you change the color mask again. The color mask does not affect the behavior of the `clear()` method. @param red set false to block changes to the red channel. @param green set false to block changes to the green channel. @param blue set false to block changes to the blue channel. @param alpha set false to block changes to the alpha channel. Sets triangle culling mode. Triangles may be excluded from the scene early in the rendering pipeline based on their orientation relative to the view plane. Specify vertex order consistently (clockwise or counter-clockwise) as seen from the outside of the model to cull correctly. @param triangleFaceToCull the culling mode. Use one of the constants defined in the Context3DTriangleFace class. @throws Error Invalid Enum Error: when triangleFaceToCull is not one of the values defined in the Context3DTriangleFace class. Sets type of comparison used for depth testing. The depth of the source pixel output from the pixel shader program is compared to the current value in the depth buffer. If the comparison evaluates as `false`, then the source pixel is discarded. If `true`, then the source pixel is processed by the next step in the rendering pipeline, the stencil test. In addition, the depth buffer is updated with the depth of the source pixel, as long as the `depthMask` parameter is set to `true`. Sets the test used to compare depth values for source and destination pixels. The source pixel is composited with the destination pixel when the comparison is `true`. The comparison operator is applied as an infix operator between the source and destination pixel values, in that order. @param depthMask the destination depth value will be updated from the source pixel when `true`. @param passCompareMode the depth comparison test operation. One of the values of Context3DCompareMode. Sets vertex and fragment shader programs to use for subsequent rendering. @param program the Program3D object representing the vertex and fragment programs to use. Set constants for use by shader programs using values stored in a ByteArray. Sets constants that can be accessed from the vertex or fragment program. @param programType one of Context3DProgramType. @param firstRegister the index of the first shader program constant to set. @param numRegisters the number of registers to set. Every register is read as four float values. @param data the source ByteArray object @param byteArrayOffset an offset into the ByteArray for reading @throws TypeError kNullPointerError when data is null. @throws RangeError kConstantRegisterOutOfBounds when attempting to set more than the maximum number of shader constants. @throws RangeError kBadInputSize if `byteArrayOffset` is greater than or equal to the length of data or no. of elements in `data - byteArrayOffset` is less than `numRegisters*16` { transposedMatrix : false } Sets constants for use by shader programs using values stored in a Matrix3D. Use this function to pass a matrix to a shader program. The function sets 4 constant registers used by the vertex or fragment program. The matrix is assigned to registers row by row. The first constant register is assigned the top row of the matrix. You can set 128 registers for a vertex program and 28 for a fragment program. @param programType The type of shader program, either `Context3DProgramType.VERTEX` or `Context3DProgramType.FRAGMENT`. @param firstRegister the index of the first constant register to set. Since a Matrix3D has 16 values, four registers are set. @param matrix the matrix containing the constant values. @param transposedMatrix if `true` the matrix entries are copied to registers in transposed order. The default value is `false`. @throws TypeError Null Pointer Error: when matrix is `null`. @throws RangeError Constant Register Out Of Bounds: when attempting to set more than the maximum number of shader constant registers. { numRegisters : -1 } Sets the constant inputs for the shader programs. Sets an array of constants to be accessed by a vertex or fragment shader program. Constants set in Program3D are accessed within the shader programs as constant registers. Each constant register is comprised of 4 floating point values (x, y, z, w). Therefore every register requires 4 entries in the data Vector. The number of registers that you can set for vertex program and fragment program depends on the Context3DProfile. @param programType The type of shader program, either `Context3DProgramType.VERTEX` or `Context3DProgramType.FRAGMENT`. @param firstRegister the index of the first constant register to set. @param data the floating point constant values. There must be at least `numRegisters` 4 elements in data. @param numRegisters the number of constants to set. Specify -1, the default value, to set enough registers to use all of the available data. @throws TypeError Null Pointer Error: when data is `null`. @throws RangeError Constant Register Out Of Bounds: when attempting to set more than the maximum number of shader constant registers. @throws RangeError Bad Input Size: When the number of elements in data is less than `numRegisters*4` Sets the back rendering buffer as the render target. Subsequent calls to `drawTriangles()` and `clear()` methods result in updates to the back buffer. Use this method to resume normal rendering after using the `setRenderToTexture()` method. { surfaceSelector : 0, antiAlias : 0, enableDepthAndStencil : false } Sets the specified texture as the rendering target. Subsequent calls to `drawTriangles()` and `clear()` methods update the specified texture instead of the back buffer. Mip maps are created automatically. Use the `setRenderToBackBuffer()` to resume normal rendering to the back buffer. No clear is needed before drawing. If there is no clear operation, the render content will be retained. depth buffer and stencil buffer will also not be cleared. But it is forced to clear when first drawing. Calling `present()` resets the target to the back buffer. @param texture the target texture to render into. Set to `null` to resume rendering to the back buffer (`setRenderToBackBuffer()` and `present` also reset the target to the back buffer). @param enableDepthAndStencil if `true`, depth and stencil testing are available. If `false`, all depth and stencil state is ignored for subsequent drawing operations. @param antiAlias the antialiasing quality. Use 0 to disable antialiasing; higher values improve antialiasing quality, but require more calculations. The value is currently ignored by mobile platform and software rendering context. @param surfaceSelector specifies which element of the texture to update. Texture objects have one surface, so you must specify 0, the default value. CubeTexture objects have six surfaces, so you can specify an integer from 0 through 5. @param colorOutputIndex The output color register. Must be 0 for constrained or baseline mode. Otherwise specifies the output color register. @throws ArgumentError for a mismatched surfaceSelector parameter. The value must be 0 for 2D textures and 0..5 for cube maps. @throws ArgumentError texture is not derived from the TextureBase class (either Texture or CubeTexture classes). @throws ArgumentError colorOutputIndex must be an integer is from 0 through 3. @throws ArgumentError this call requires a Context3D that is created with the standard profile or above. Manually override texture sampler state. Texture sampling state is typically set at the time setProgram is called. However, you can override texture sampler state with this function. If you do not want the program to change sampler state, set the `ignoresamnpler` bit in AGAL and use this function. @param sampler sampler The sampler register to use. Maps to the sampler register in AGAL. @param wrap Wrapping mode. Defined in Context3DWrapMode. The default is repeat. @param filter Texture filtering mode. Defined in Context3DTextureFilter. The default is nearest. @param mipfilter Mip map filter. Defined in Context3DMipFilter. The default is none. @throws Error sampler out of range @throws Error wrap, filter, mipfilter bad enum @throws Error Object Disposed: if this Context3D object has been disposed by a calling `dispose()` or because the underlying rendering hardware has been lost. Sets a scissor rectangle, which is type of drawing mask. The renderer only draws to the area inside the scissor rectangle. Scissoring does not affect clear operations. Pass `null` to turn off scissoring. @param rectangle The rectangle in which to draw. Specify the rectangle position and dimensions in pixels. The coordinate system origin is the top left corner of the viewport, with positive values increasing down and to the right (the same as the normal OpenFL display coordinate system). { actionOnDepthPassStencilFail : KEEP, actionOnDepthFail : KEEP, actionOnBothPass : KEEP, compareMode : ALWAYS, triangleFace : FRONT_AND_BACK } Sets stencil mode and operation. An 8-bit stencil reference value can be associated with each draw call. During rendering, the reference value can be tested against values stored previously in the frame buffer. The result of the test can control the draw action and whether or how the stored stencil value is updated. In addition, depth testing controls whether stencil testing is performed. A failed depth test can also be used to control the action taken on the stencil buffer. In the pixel processing pipeline, depth testing is performed first. If the depth test fails, a stencil buffer update action can be taken, but no further evaluation of the stencil buffer value can be made. If the depth test passes, then the stencil test is performed. Alternate actions can be taken depending on the outcome of the stencil test. The stencil reference value is set using `setStencilReferenceValue()`. @param triangleFace the triangle orientations allowed to contribute to the stencil operation. One of Context3DTriangleFace. @param compareMode the test operator used to compare the current stencil reference value and the destination pixel stencil value. Destination pixel color and depth update is performed when the comparison is true. The stencil actions are performed as requested in the following action parameters. The comparison operator is applied as an infix operator between the current and destination reference values, in that order (in pseudocode: `if stencilReference OPERATOR stencilBuffer then pass`). Use one of the constants defined in the Context3DCompareMode class. @param actionOnBothPass action to be taken when both depth and stencil comparisons pass. Use one of the constants defined in the Context3DStencilAction class. @param actionOnDepthFail action to be taken when depth comparison fails. Use one of the constants defined in the Context3DStencilAction class. @param actionOnDepthPassStencilFail action to be taken when depth comparison passes and the stencil comparison fails. Use one of the constants defined in the Context3DStencilAction class. @throws Error Invalid Enum Error: when `triangleFace` is not one of the values defined in the Context3DTriangleFace class. @throws Error Invalid Enum Error: when `compareMode` is not one of the values defined in the Context3DCompareMode class. @throws Error Invalid Enum Error: when `actionOnBothPass`, `actionOnDepthFail`, or `actionOnDepthPassStencilFail` is not one of the values defined in the Context3DStencilAction class. { writeMask : 0xFF, readMask : 0xFF } Sets the stencil comparison value used for stencil tests. Only the lower 8 bits of the reference value are used. The stencil buffer value is also 8 bits in length. Use the `readMask` and `writeMask` to use the stencil buffer as a bit field. @param referenceValue an 8-bit reference value used in reference value comparison tests. @param readMask an 8-bit mask for applied to both the current stencil buffer value and the reference value before the comparison. @param writeMask an 8-bit mask applied to the reference value before updating the stencil buffer. Specifies the texture to use for a texture input register of a fragment program. A fragment program can read information from up to eight texture objects. Use this function to assign a Texture or CubeTexture object to one of the sampler registers used by the fragment program. **Note:** if you change the active fragment program (with setProgram) to a shader that uses fewer textures, set the unused registers to `null`: ``haxe setTextureAt(7, null); ``` @param sampler the sampler register index, a value from 0 through 7. @param texture the texture object to make available, either a Texture or a CubeTexture instance. { format : FLOAT_4, bufferOffset : 0 } Specifies which vertex data components correspond to a single vertex shader program input. Use the setVertexBufferAt method to identify which components of the data defined for each vertex in a VertexBuffer3D buffer belong to which inputs to the vertex program. The developer of the vertex program determines how much data is needed per vertex. That data is mapped from 1 or more VertexBuffer3D stream(s) to the attribute registers of the vertex shader program. The smallest unit of data consumed by the vertex shader is a 32-bit data. Offsets into the vertex stream are specified in multiples of 32-bits. As an example, a programmer might define each vertex with the following data: ``` position: x float32 y float32 z float32 color: r unsigned byte g unsigned byte b unsigned byte a unsigned byte ``` Assuming the vertex was defined in a VertexBuffer3D object named buffer, it would be assigned to a vertex shader with the following code: ```haxe setVertexBufferAt(0, buffer, 0, Context3DVertexBufferFormat.FLOAT_3); // attribute #0 will contain the position information setVertexBufferAt(1, buffer, 3, Context3DVertexBufferFormat.BYTES_4); // attribute #1 will contain the color information ``` @param index the index of the attribute register in the vertex shader (0 through 7). @param buffer the buffer that contains the source vertex data to be fed to the vertex shader. @param bufferOffset an offset from the start of the data for a single vertex at which to start reading this attribute. In the example above, the position data has an offset of 0 because it is the first attribute; color has an offset of 3 because the color attribute follows the three 32-bit position values. The offset is specified in units of 32 bits. @param format a value from the Context3DVertexBufferFormat class specifying the data type of this attribute. @throws Error Invalid Enum: when format is not one of the values defined in the Context3DVertexBufferFormat class. @throws RangeError Attribute Register Out Of Bounds: when the index parameter is outside the range from 0 through 7. (A maximum of eight vertex attribute registers can be used by a shader.) <__bindGLArrayBuffer set="method" line="1905"> <__bindGLElementArrayBuffer set="method" line="1914"> <__bindGLFramebuffer set="method" line="1923"> <__bindGLTexture2D set="method" line="1932"> <__bindGLTextureCubeMap set="method" line="1944"> <__dispose set="method" line="1956"> <__drawTriangles set="method" line="1980"> { firstIndex : 0 } <__flushGL set="method" line="2008"> <__flushGLBlend set="method" line="2023"> <__flushGLColor get="inline" set="null" line="2050"> <__flushGLCulling set="method" line="2065"> <__flushGLDepth set="method" line="2095"> <__flushGLFramebuffer set="method" line="2134"> <__flushGLProgram set="method" line="2181"> <__flushGLScissor set="method" line="2225"> <__flushGLStencil set="method" line="2262"> <__flushGLTextures set="method" line="2295"> <__flushGLViewport set="method" line="2379"> <__getGLBlend set="method" line="2424"> <__getGLCompareMode set="method" line="2455"> <__getGLStencilAction set="method" line="2471"> <__getGLTriangleFace set="method" line="2487"> <__renderStage3D set="method" line="2499"> <__setGLBlend set="method" line="2546"> <__setGLBlendEquation set="method" line="2562"> <__setGLCullFace set="method" line="2571"> <__setGLDepthTest set="method" line="2587"> <__setGLFrontFace set="method" line="2603"> <__setGLScissorTest set="method" line="2612"> <__setGLStencilTest set="method" line="2628"> { stage3D : null, contextState : null } The Context3D class provides a context for rendering geometrically defined graphics. A rendering context includes a drawing surface and its associated resources and state. When possible, the rendering context uses the hardware graphics processing unit (GPU). Otherwise, the rendering context uses software. (If rendering through Context3D is not supported on a platform, the stage3Ds property of the Stage object contains an empty list.) The Context3D rendering context is a programmable pipeline that is very similar to OpenGL ES 2, but is abstracted so that it is compatible with a range of hardware and GPU interfaces. Although designed for 3D graphics, the rendering pipeline does not mandate that the rendering is three dimensional. Thus, you can create a 2D renderer by supplying the appropriate vertex and pixel fragment programs. In both the 3D and 2D cases, the only geometric primitive supported is the triangle. Get an instance of the Context3D class by calling the requestContext3D() method of a Stage3D object. A limited number of Context3D objects can exist per stage; one for each Stage3D in the Stage.stage3Ds list. When the context is created, the Stage3D object dispatches a context3DCreate event. A rendering context can be destroyed and recreated at any time, such as when another application that uses the GPU gains focus. Your code should anticipate receiving multiple context3DCreate events. Position the rendering area on the stage using the x and y properties of the associated Stage3D instance. To render and display a scene (after getting a Context3D object), the following steps are typical: 1. Configure the main display buffer attributes by calling `configureBackBuffer()`. 2. Create and initialize your rendering resources, including: * Vertex and index buffers defining the scene geometry * Vertex and pixel programs (shaders) for rendering the scene * Textures 3. Render a frame: * Set the render state as appropriate for an object or collection of objects in the scene. * Call the `drawTriangles()` method to render a set of triangles. * Change the rendering state for the next group of objects. * Call `drawTriangles()` to draw the triangles defining the objects. * Repeat until the scene is entirely rendered. * Call the `present()` method to display the rendered scene on the stage. The following limits apply to rendering: Resource limits: | Resource | Number allowed | Total memory | | --- | --- | --- | | Vertex buffers | 4096 | 256 MB | | Index buffers | 4096 | 128 MB | | Programs | 4096 | 16 MB | | Textures | 4096 | 128 MB | | Cube textures | 4096 | 256 MB | AGAL limits: 200 opcodes per program. Draw call limits: 32,768 `drawTriangles()` calls for each `present()` call. The following limits apply to textures: Texture limits for AIR 32 bit: | Texture | Maximum size | Total GPU memory | | --- | --- | --- | | Normal Texture (below Baseline extended) | 2048x2048 | 512 MB | | Normal Texture (Baseline extended and above) | 4096x4096 | 512 MB | | Rectangular Texture (below Baseline extended) | 2048x2048 | 512 MB | | Rectangular Texture (Baseline extended and above) | 4096x4096 | 512 MB | | Cube Texture | 1024x1024 | 256 MB | Texture limits for AIR 64 bit (Desktop): | Texture | Maximum size | Total GPU memory | | --- | --- | --- | | Normal Texture (below Baseline extended) | 2048x2048 | 512 MB | | Normal Texture (Baseline extended to Standard) | 4096x4096 | 512 MB | | Normal Texture (Standard extended and above) | 4096x4096 | 2048 MB | | Rectangular Texture (below Baseline extended) | 2048x2048 | 512 MB | | Rectangular Texture (Baseline extended to Standard) | 4096x4096 | 512 MB | | Rectangular Texture (Standard extended and above) | 4096x4096 | 2048 MB | | Cube Texture | 1024x1024 | 256 MB | 512 MB is the absolute limit for textures, including the texture memory required for mipmaps. However, for Cube Textures, the memory limit is 256 MB. You cannot create Context3D objects with the Context3D constructor. It is constructed and available as a property of a Stage3D instance. The Context3D class can be used on both desktop and mobile platforms, both when running in Flash Player and AIR. "tags=\"haxe,release\"" openfl.display3D._internal.Context3DState openfl.display3D.textures.CubeTexture openfl.display3D.textures.RectangleTexture openfl.display3D.textures.TextureBase openfl.display3D.textures.Texture openfl.display3D.textures.VideoTexture openfl.display3D.IndexBuffer3D openfl.display3D.Program3D openfl.display3D.VertexBuffer3D openfl.display.BitmapData openfl.display.Bitmap openfl.display.DisplayObjectRenderer openfl.display.Shader openfl.display.Stage openfl.display.Stage3D openfl.geom.Point openfl.geom.Rectangle Defines the values to use for specifying the source and destination blend factors. A blend factor represents a particular four-value vector that is multiplied with the source or destination color in the blending formula. The blending formula is: ``` result = source * sourceFactor + destination * destinationFactor ``` In the formula, the source color is the output color of the pixel shader program. The destination color is the color that currently exists in the color buffer, as set by previous clear and draw operations. For example, if the source color is (.6, .6, .6, .4) and the source blend factor is `Context3DBlendFactor.ONE_MINUS_SOURCE_ALPHA`, then the source part of the blending equation is calculated as: ``` (.6, .6, .6, .4) * (1-0.4, 1-0.4, 1-0.4, 1-0.4) = (.36, .36, .36, .24) ``` The final calculation is clamped to the range [0,1]. **Examples** The following examples demonstrate the blending math using `source color = (.6,.4,.2,.4)`, `destination color = (.8,.8,.8,.5)`, and various blend factors. | Purpose | Source factor | Destination factor | Blend formula | Result | | --- | --- | --- | --- | --- | | No blending | ONE | ZERO | (.6,.4,.2,.4) * ( 1, 1, 1, 1) + (.8,.8,.8,.5) * ( 0, 0, 0, 0) | ( .6, .4, .2, .4) | | Alpha | SOURCE_ALPHA | ONE_MINUS_SOURCE_ALPHA | (.6,.4,.2,.4) * (.4,.4,.4,.4) + (.8,.8,.8,.5) * (.6,.6,.6,.6) | (.72,.64,.56,.46) | | Additive | ONE | ONE | (.6,.4,.2,.4) * ( 1, 1, 1, 1) + (.8,.8,.8,.5) * ( 1, 1, 1, 1) ( 1, 1, 1, .9) | | Multiply | DESTINATION_COLOR | ZERO | (.6,.4,.2,.4) * (.8,.8,.8,.5) + (.8,.8,.8,.5) * ( 0, 0, 0, 0) | (.48,.32,.16, .2) | | Screen | ONE | ONE_MINUS_SOURCE_COLOR | (.6,.4,.2,.4) * ( 1, 1, 1, 1) + (.8,.8,.8,.5) * (.4,.6,.8,.6) | (.92,.88,.68, .7) | Note that not all combinations of blend factors are useful and that you can sometimes achieve the same effect in different ways. cast 0 a,Da,Da,Da), where Da is the alpha component of the fragment color computed by the pixel program.]]> cast 1 r,Dg,Db,Da), where Dr/g/b/a is the corresponding component of the current color in the color buffer.]]> cast 2 The blend factor is (1,1,1,1). cast 3 a,1-Da,1-Da,1-Da), where Da is the alpha component of the current color in the color buffer.]]> cast 4 r,1-Dg,1-Db,1-Da), where Dr/g/b/a is the corresponding component of the current color in the color buffer.]]> cast 5 a,1-Sa,1-Sa,1-Sa), where Sa is the alpha component of the fragment color computed by the pixel program.]]> cast 6 r,1-Sg,1-Sb,1-Sa), where Sr/g/b/a is the corresponding component of the fragment color computed by the pixel program.]]> cast 7 a,Sa,Sa,Sa), where Sa is the alpha component of the fragment color computed by the pixel program.]]> cast 8 r,Sg,Sb,Sa), where Sr/g/b/a is the corresponding component of the fragment color computed by the pixel program.]]> cast 9 The blend factor is (0,0,0,0). cast 0 a,Da,Da,Da), where Da is the alpha component of the fragment color computed by the pixel program.]]> cast 1 r,Dg,Db,Da), where Dr/g/b/a is the corresponding component of the current color in the color buffer.]]> cast 2 The blend factor is (1,1,1,1). cast 3 a,1-Da,1-Da,1-Da), where Da is the alpha component of the current color in the color buffer.]]> cast 4 r,1-Dg,1-Db,1-Da), where Dr/g/b/a is the corresponding component of the current color in the color buffer.]]> cast 5 a,1-Sa,1-Sa,1-Sa), where Sa is the alpha component of the fragment color computed by the pixel program.]]> cast 6 r,1-Sg,1-Sb,1-Sa), where Sr/g/b/a is the corresponding component of the fragment color computed by the pixel program.]]> cast 7 a,Sa,Sa,Sa), where Sa is the alpha component of the fragment color computed by the pixel program.]]> cast 8 r,Sg,Sb,Sa), where Sr/g/b/a is the corresponding component of the fragment color computed by the pixel program.]]> cast 9 The blend factor is (0,0,0,0). Defines the values to use for specifying the buffer usage type. cast 0 Indicates the buffer will be used for drawing and be updated frequently cast 1 Indicates the buffer will be used for drawing and be updated once This type is the default value for buffers in `Stage3D`. cast 0 Indicates the buffer will be used for drawing and be updated frequently cast 1 Indicates the buffer will be used for drawing and be updated once This type is the default value for buffers in `Stage3D`. Defines the values to use for specifying Context3D clear masks. cast 0x07 Clear all buffers. cast 0x01 Clear only the color buffer. cast 0x02 Clear only the depth buffer. cast 0x04 Clear only the stencil buffer. cast 0x07 Clear all buffers. cast 0x01 Clear only the color buffer. cast 0x02 Clear only the depth buffer. cast 0x04 Clear only the stencil buffer. Defines the values to use for specifying 3D buffer comparisons in the `setDepthTest()` and `setStencilAction()` methods of a Context3D instance. cast 0 The comparison always evaluates as true. cast 1 Equal (==). cast 2 ).]]> cast 3 =).]]> cast 4 cast 5 cast 6 The comparison never evaluates as true. cast 7 Not equal (!=). cast 0 The comparison always evaluates as true. cast 1 Equal (==). cast 2 ).]]> cast 3 =).]]> cast 4 cast 5 cast 6 The comparison never evaluates as true. cast 7 Not equal (!=). Defines the values to use for sampler mipmap filter mode cast 0 Select the two closest MIP levels and linearly blend between them (the highest quality mode, but has some performance cost). cast 1 Use the nearest neighbor metric to select MIP levels (the fastest rendering method). cast 2 Always use the top level texture (has a performance penalty when downscaling). cast 0 Select the two closest MIP levels and linearly blend between them (the highest quality mode, but has some performance cost). cast 1 Use the nearest neighbor metric to select MIP levels (the fastest rendering method). cast 2 Always use the top level texture (has a performance penalty when downscaling). Defines the values to use for specifying the Context3D profile. cast 0 Use the default feature support profile. This profile most closely resembles Stage3D support used in previous releases. cast 1 Use a constrained feature support profile to target older GPUs This profile is primarily targeted at devices that only support PS_2.0 level shaders like the Intel GMA 9xx series. In addition, this mode tries to improve memory bandwidth usage by rendering directly into the back buffer. There are several side effects: * You are limited to 64 ALU and 32 texture instructions per shader. * Only four texture read instructions per shader. * No support for predicate register. This affects sln/sge/seq/sne, which you replace with compound mov/cmp instructions, available with ps_2_0. * The Context3D back buffer must always be within the bounds of the stage. * Only one instance of a Context3D running in Constrained profile is allowed within a Flash Player instance. * Standard display list list rendering is driven by `Context3D.present()` instead of being based on the SWF frame rate. That is, if a Context3D object is active and visible you must call `Context3D.present()` to render the standard display list. * Reading back from the back buffer through `Context3D.drawToBitmapData()` might include parts of the display list content. Alpha information will be lost. cast 2 Use an extended feature support profile to target newer GPUs which support larger textures This profile increases the maximum 2D Texture and RectangleTexture size to 4096x4096 cast 3 Use an standard profile to target GPUs which support MRT, AGAL2 and float textures. This profile supports 4 render targets. Increase AGAL commands and register count. Add float textures. cast 4 Use an standard profile to target GPUs which support AGAL2 and float textures. This profile is an alternative to standard profile, which removes MRT and a few features in AGAL2 but can reach more GPUs. cast 5 Use standard extended profile to target GPUs which support AGAL3 and instanced drawing feature. This profile extends the standard profile. This profile is enabled on mobile platforms from AIR 17.0 and on Windows and Mac from AIR 18.0. cast 0 Use the default feature support profile. This profile most closely resembles Stage3D support used in previous releases. cast 1 Use a constrained feature support profile to target older GPUs This profile is primarily targeted at devices that only support PS_2.0 level shaders like the Intel GMA 9xx series. In addition, this mode tries to improve memory bandwidth usage by rendering directly into the back buffer. There are several side effects: * You are limited to 64 ALU and 32 texture instructions per shader. * Only four texture read instructions per shader. * No support for predicate register. This affects sln/sge/seq/sne, which you replace with compound mov/cmp instructions, available with ps_2_0. * The Context3D back buffer must always be within the bounds of the stage. * Only one instance of a Context3D running in Constrained profile is allowed within a Flash Player instance. * Standard display list list rendering is driven by `Context3D.present()` instead of being based on the SWF frame rate. That is, if a Context3D object is active and visible you must call `Context3D.present()` to render the standard display list. * Reading back from the back buffer through `Context3D.drawToBitmapData()` might include parts of the display list content. Alpha information will be lost. cast 2 Use an extended feature support profile to target newer GPUs which support larger textures This profile increases the maximum 2D Texture and RectangleTexture size to 4096x4096 cast 3 Use an standard profile to target GPUs which support MRT, AGAL2 and float textures. This profile supports 4 render targets. Increase AGAL commands and register count. Add float textures. cast 4 Use an standard profile to target GPUs which support AGAL2 and float textures. This profile is an alternative to standard profile, which removes MRT and a few features in AGAL2 but can reach more GPUs. cast 5 Use standard extended profile to target GPUs which support AGAL3 and instanced drawing feature. This profile extends the standard profile. This profile is enabled on mobile platforms from AIR 17.0 and on Windows and Mac from AIR 18.0. Defines the values to use for specifying a Program3D source format. cast 0 The program will use the AGAL (Adobe Graphics Assembly Language) format cast 1 The program will use the GLSL (GL Shader Language) format cast 0 The program will use the AGAL (Adobe Graphics Assembly Language) format cast 1 The program will use the GLSL (GL Shader Language) format Defines the values to use for specifying whether a shader program is a fragment or a vertex program. cast 0 A fragment (or pixel) program. cast 1 A vertex program. cast 0 A fragment (or pixel) program. cast 1 A vertex program. Defines the values to use for specifying the Context3D render mode. cast 0 Automatically choose rendering engine. A hardware-accelerated rendering engine is used if available on the current device. Availability of hardware acceleration is influenced by the device capabilites, the wmode when running under Flash Player, and the render mode when running under AIR. cast 1 Use software 3D rendering. Software rendering is not available on mobile devices. cast 0 Automatically choose rendering engine. A hardware-accelerated rendering engine is used if available on the current device. Availability of hardware acceleration is influenced by the device capabilites, the wmode when running under Flash Player, and the render mode when running under AIR. cast 1 Use software 3D rendering. Software rendering is not available on mobile devices. Defines the values to use for specifying stencil actions. A stencil action specifies how the values in the stencil buffer should be changed. cast 0 Decrement the stencil buffer value, clamping at 0, the minimum value. cast 1 Decrement the stencil buffer value. If the result is less than 0, the minimum value, then the buffer value is "wrapped around" to 255. cast 2 Increment the stencil buffer value, clamping at 255, the maximum value. cast 3 Increment the stencil buffer value. If the result exceeds 255, the maximum value, then the buffer value is "wrapped around" to 0. cast 4 Invert the stencil buffer value, bitwise. For example, if the 8-bit binary number in the stencil buffer is: 11110000, then the value is changed to: 00001111. cast 5 Keep the current stencil buffer value. cast 6 Replace the stencil buffer value with the reference value. cast 7 Set the stencil buffer value to 0. cast 0 Decrement the stencil buffer value, clamping at 0, the minimum value. cast 1 Decrement the stencil buffer value. If the result is less than 0, the minimum value, then the buffer value is "wrapped around" to 255. cast 2 Increment the stencil buffer value, clamping at 255, the maximum value. cast 3 Increment the stencil buffer value. If the result exceeds 255, the maximum value, then the buffer value is "wrapped around" to 0. cast 4 Invert the stencil buffer value, bitwise. For example, if the 8-bit binary number in the stencil buffer is: 11110000, then the value is changed to: 00001111. cast 5 Keep the current stencil buffer value. cast 6 Replace the stencil buffer value with the reference value. cast 7 Set the stencil buffer value to 0. Defines the values to use for sampler filter mode. cast 0 Use anisotropic filter with radio 16 when upsampling textures cast 1 Use anisotropic filter with radio 2 when upsampling textures cast 2 Use anisotropic filter with radio 4 when upsampling textures cast 3 Use anisotropic filter with radio 8 when upsampling textures cast 4 Use linear interpolation when upsampling textures (gives a smooth, blurry look). cast 5 Use nearest neighbor sampling when upsampling textures (gives a pixelated, sharp mosaic look). cast 0 Use anisotropic filter with radio 16 when upsampling textures cast 1 Use anisotropic filter with radio 2 when upsampling textures cast 2 Use anisotropic filter with radio 4 when upsampling textures cast 3 Use anisotropic filter with radio 8 when upsampling textures cast 4 Use linear interpolation when upsampling textures (gives a smooth, blurry look). cast 5 Use nearest neighbor sampling when upsampling textures (gives a pixelated, sharp mosaic look). Defines the values to use for specifying a texture format. cast 0 16 bit, bgr packed as 5:6:5 cast 1 32 bit cast 2 16 bit, bgra packed as 4:4:4:4 cast 3 ATF (Adobe Texture Format) cast 4 ATF (Adobe Texture Format), with alpha cast 5 64 bit, rgba as 16:16:16:16 cast 0 16 bit, bgr packed as 5:6:5 cast 1 32 bit cast 2 16 bit, bgra packed as 4:4:4:4 cast 3 ATF (Adobe Texture Format) cast 4 ATF (Adobe Texture Format), with alpha cast 5 64 bit, rgba as 16:16:16:16 Constants to specify the orientation of a triangle relative to the view point. "checkstyle:FieldDocComment" cast 0 cast 1 cast 2 cast 3 cast 0 cast 1 cast 2 cast 3 Defines the values to use for specifying vertex buffers. "checkstyle:FieldDocComment" cast 0 cast 1 cast 2 cast 3 cast 4 cast 0 cast 1 cast 2 cast 3 cast 4 Defines the values to use for sampler wrap mode cast 0 Clamp texture coordinates outside the 0..1 range. The function is x = max(min(x,0),1) cast 1 Clamp in U axis but Repeat in V axis. cast 2 cast 3 Repeat in U axis but Clamp in V axis. cast 0 Clamp texture coordinates outside the 0..1 range. The function is x = max(min(x,0),1) cast 1 Clamp in U axis but Repeat in V axis. cast 2 cast 3 Repeat in U axis but Clamp in V axis. <__context> <__id> <__memoryUsage> <__numIndices> <__tempUInt16Array> <__usage> Free all native GPU resources associated with this object. No `upload()` calls on this object will work and using the object in rendering will also fail. Store in the graphics subsystem vertex indices. @param data a ByteArray containing index data. Each index is represented by 16-bits (two bytes) in the array. The number of bytes in data should be `byteArrayOffset` plus two times count. @param byteArrayOffset offset, in bytes, into the data ByteArray from where to start reading. @param startOffset The index in this IndexBuffer3D object of the first index to be loaded in this IndexBuffer3D object. A value for `startIndex` not equal to zero may be used to load a sub-region of the index data. @param count The number of indices represented by data. @throws TypeError kNullPointerError when data is null. @throws RangeError kBadInputSize when any of `count`, `byteArrayOffset`, or `startOffset` is less than 0, or if `byteArrayOffset` is greater than or equal to the length of data, or if two times count plus `byteArrayOffset` is greater than the length of data, or if `startOffset + count` is greater than `numIndices` given in `context3D.createIndexBuffer()`. @throws Error 3768: The Stage3D API may not be used during background execution. { byteLength : -1 } Store in the graphics subsystem vertex indices. @param data an ArrayBufferView containing index data. Each index is represented by 16-bits (two bytes) in the array. @param byteLength The number of bytes to read. Store in the graphics subsystem vertex indices. @param data a vector of vertex indices. Only the low 16 bits of each index value are used. The length of the vector must be greater than or equal to count. @param startOffset The index in this IndexBuffer3D object of the first index to be loaded. A value for startOffset not equal to zero may be used to load a sub-region of the index data. @param count The number of indices in `data`. @throws TypeError kNullPointerError when `data` is `null`. @throws RangeError kBadInputSize when `count is less than 0 or greater than the length of `data`, or when `startOffset + count` is greater than `numIndices` given in `context3D.createIndexBuffer()`. @throws Error 3768: The Stage3D API may not be used during background execution. IndexBuffer3D is used to represent lists of vertex indices comprising graphic elements retained by the graphics subsystem. Indices managed by an IndexBuffer3D object may be used to select vertices from a vertex stream. Indices are 16-bit unsigned integers. The maximum allowable index value is 65535 (0xffff). The graphics subsystem does not retain a reference to vertices provided to this object. Data uploaded to this object may be modified or discarded without affecting the stored values. IndexBuffer3D cannot be instantiated directly. Create instances by using `context3D.createIndexBuffer()` "tags=\"haxe,release\"" openfl.display3D.Context3D openfl.display.Stage <__agalAlphaSamplerEnabled> <__agalAlphaSamplerUniforms> <__agalFragmentUniformMap> <__agalPositionScale> <__agalSamplerUniforms> <__agalSamplerUsageMask> <__agalUniforms> <__agalVertexUniformMap> <__context> <__format> <__glFragmentShader> <__glFragmentSource> <__glProgram> <__glslAttribNames> <__glslAttribTypes> <__glslSamplerNames> <__glslUniformLocations> <__glslUniformNames> <__glslUniformTypes> <__glVertexShader> <__glVertexSource> <__samplerStates> Frees all resources associated with this object. After disposing a Program3D object, calling `upload()` and rendering using this object will fail. **BETA** Get the index for the specified shader attribute. @returns The index, or -1 if the attribute is not bound or was not found in the shader sources **BETA** Get the index for the specified shader constant. @returns The index, or -1 if the constant is not bound or was not found in the shader sources Uploads a pair of rendering programs expressed in AGAL (Adobe Graphics Assembly Language) bytecode. Program bytecode can be created using the Pixel Bender 3D offline tools. It can also be created dynamically. The AGALMiniAssembler class is a utility class that compiles AGAL assembly language programs to AGAL bytecode. The class is not part of the runtime. When you upload the shader programs, the bytecode is compiled into the native shader language for the current device (for example, OpenGL or Direct3D). The runtime validates the bytecode on upload. The programs run whenever the Context3D `drawTriangles()` method is invoked. The vertex program is executed once for each vertex in the list of triangles to be drawn. The fragment program is executed once for each pixel on a triangle surface. The "variables" used by a shader program are called registers. The following registers are defined: | Name | Number per Fragment program | Number per Vertex program | Purpose | | --- | --- | --- | --- | | Attribute | n/a | 8 | Vertex shader input; read from a vertex buffer specified using `Context3D.setVertexBufferAt()`. | | Constant | 28 | 128 | Shader input; set using the `Context3D.setProgramConstants()` family of functions. | | Temporary | 8 | 8 | Temporary register for computation, not accessible outside program. | | Output | 1 | 1 | Shader output: in a vertex program, the output is the clipspace position; in a fragment program, the output is a color. | | Varying | 8 | 8 | Transfer interpolated data between vertex and fragment shaders. The varying registers from the vertex program are applied as input to the fragment program. Values are interpolated according to the distance from the triangle vertices. | | Sampler | 8 | n/a | Fragment shader input; read from a texture specified using `Context3D.setTextureAt()` | A vertex program receives input from two sources: vertex buffers and constant registers. Specify which vertex data to use for a particular vertex attribute register using the Context3D `setVertexBufferAt()` method. You can define up to eight input registers for vertex attributes. The vertex attribute values are read from the vertex buffer for each vertex in the triangle list and placed in the attribute register. Specify constant registers using the Context3D `setProgramConstantsFromMatrix()` or `setProgramConstantsFromVector()` methods. Constant registers retain the same value for every vertex in the triangle list. (You can only modify the constant values between calls to `drawTriangles().`) The vertex program is responsible for projecting the triangle vertices into clip space (the canonical viewing area within ±1 on the x and y axes and 0-1 on the z axis) and placing the transformed coordinates in its output register. (Typically, the appropriate projection matrix is provided to the shader in a set of constant registers.) The vertex program must also copy any vertex attributes or computed values needed by the fragment program to a special set of variables called varying registers. When a fragment shader runs, the value supplied in a varying register is linearly interpolated according to the distance of the current fragment from each triangle vertex. A fragment program receives input from the varying registers and from a separate set of constant registers (set with `setProgramConstantsFromMatrix()` or `setProgramConstantsFromVector()`). You can also read texture data from textures uploaded to the rendering context using sampler registers. Specify which texture to access with a particular sampler register using the Context3D `setTextureAt()` method. The fragment program is responsible for setting its output register to a color value. @param vertexProgram AGAL bytecode for the Vertex program. The ByteArray object must use the little endian format. @param fragmentProgram AGAL bytecode for the Fragment program. The ByteArray object must use the little endian format. @throws TypeError Null Pointer Error: if vertexProgram or fragmentProgram is `null`. @throws Error Object Disposed: if the Program3D object was disposed either directly by a call to `dispose()`, or indirectly by calling the Context3D `dispose()` or because the rendering context was disposed because of device loss. @throws ArgumentError Agal Program Too Small: when either program code array is smaller than 31 bytes length. This is the size of the shader bytecode of a one-instruction program. @throws ArgumentError Program Must Be Little Endian: if either of the program byte code arrays is not little endian. @throws Error Native Shader Compilation Failed: if the output of the AGAL translator is not a compilable native shader language program. This error is only thrown in release players. @throws Error Native Shader Compilation Failed OpenGL: if the output of the AGAL translator is not a compilable OpengGL shader language program, and includes compilation diagnostics. This error is only thrown in debug players. @throws Error Native Shader Compilation Failed D3D9: if the output of the AGAL translator is not a compilable Direct3D shader language program, and includes compilation diagnostics. This error is only thrown in debug players. The following errors are thrown when the AGAL bytecode validation fails: @throws Error Not An Agal Program: if the header "magic byte" is wrong. The first byte of the bytecode must be 0xa0. This error can indicate that the byte array is set to the wrong endian order. @throws Error Bad Agal Version: if the AGAL version is not supported by the current SWF version. The AGAL version must be set to 1 for SWF version 13. @throws Error Bad Agal Program Type: if the AGAL program type identifier is not valid. The third byte in the byte code must be 0xa1. This error can indicates that the byte array is set to the wrong endian order. @throws Error Bad Agal Shader Type: if the shader type code is not either fragment or vertex (1 or 0). @throws Error Invalid Agal Opcode Out Of Range: if an invalid opcode is encountered in the token stream. @throws Error Invalid Agal Opcode Not Implemented: if an invalid opcode is encountered in the token stream. @throws Error Agal Opcode Only Allowed In Fragment Program: if an opcode is encountered in the token stream of the vertex program that is only allowed in fragment programs, such as KIL or TEX. @throws Error Bad Agal Source Operands: if both source operands are constant registers. You must compute the result outside the shader program and pass it in using a single constant register. @throws Error Both Operands Are Indirect Reads: if both operands are indirect reads. @throws Error Opcode Destination Must Be All Zero: if a token with an opcode (such as KIL) that has no destination sets a non-zero value for the destination register. @throws Error Opcode Destination Must Use Mask: if an opcode that produces only a 3 component result is used without masking. @throws Error Too Many Tokens: if there are too many tokens (more than 200) in an AGAL program. @throws Error Fragment Shader Type: if the fragment program type (byte 6 of fragmentProgram parameter) is not set to 1. @throws Error Vertex Shader Type: if the vertex program type (byte 6 of vertexProgram parameter) is not set to 0. @throws Error Varying Read But Not Written To: if the fragment shader reads a varying register that was never written to by the vertex shader. @throws Error Varying Partial Write: if a varying register is only partially written to. All components of a varying register must be written to. @throws Error Fragment Write All Components: if a fragment color output is only partially written to. All four components of the color output must be written to. @throws Error Vertex Write All Components: if a vertex clip space output is only partially written to. All components of the vertex clip space output must be written to. @throws Error Unused Operand: if an unused operand in a token is not set to all zero. @throws Error Sampler Register Only In Fragment: if a texture sampler register is used in a vertex program. @throws Error Sampler Register Second Operand: if a sampler register is used as a destination or first operand of an AGAL token. @throws Error Indirect Only Allowed In Vertex: if indirect addressing is used in a fragment program. @throws Error Indirect Only Into Constant Registers: if indirect addressing is used on a non-constant register. @throws Error Indirect Source Type: if the indirect source type is not attribute, constant or temporary register. @throws Error Indirect Addressing Fields Must Be Zero: if not all indirect addressing fields are zero for direct addressing. @throws Error Varying Registers Only Read In Fragment: if a varying register is read in a vertex program. Varying registers can only be written in vertex programs and read in fragment programs. @throws Error Attribute Registers Only Read In Vertex: if an attribute registers is read in a fragment program. Attribute registers can only be read in vertex programs. @throws Error Can Not Read Output Register: if an output (position or color) register is read. Output registers can only be written to, not read. @throws Error Temp Register Read Without Write: if a temporary register is read without being written to earlier. @throws Error Temp Register Component Read Without Write: if a specific temporary register component is read without being written to earlier. @throws Error Sampler Register Cannot Be Written To: if a sampler register is written to. Sampler registers can only be read, not written to. @throws Error Varying Registers Write: if a varying register is written to in a fragment program. Varying registers can only be written in vertex programs and read in fragment programs. @throws Error Attribute Register Cannot Be Written To: if an attribute register is written to. Attribute registers are read-only. @throws Error Constant Register Cannot Be Written To: if a constant register is written to inside a shader program. @throws Error Destination Writemask Is Zero: if a destination writemask is zero. All components of an output register must be set. @throws Error AGAL Reserved Bits Should Be Zero: if any reserved bits in a token are not zero. This indicates an error in creating the bytecode (or malformed bytecode). @throws Error Unknown Register Type: if an invalid register type index is used. @throws Error Sampler Register Out Of Bounds: if an invalid sampler register index is used. @throws Error Varying Register Out Of Bounds: if an invalid varying register index is used. @throws Error Attribute Register Out Of Bounds: if an invalid attribute register index is used. @throws Error Constant Register Out Of Bounds: if an invalid constant register index is used. @throws Error Output Register Out Of Bounds: if an invalid output register index is used. @throws Error Temporary Register Out Of Bounds: if an invalid temporary register index is used. @throws Error Cube Map Sampler Must Use Clamp: if a cube map sampler does not set the wrap mode to clamp. @throws Error Unknown Sampler Dimension: if a sample uses an unknown sampler dimension. (Only 2D and cube textures are supported.) @throws Error Unknown Filter Mode: if a sampler uses an unknown filter mode. (Only nearest neighbor and linear filtering are supported.) @throws Error Unknown Mipmap Mode: if a sampler uses an unknown mipmap mode. (Only none, nearest neighbor, and linear mipmap modes are supported.) @throws Error Unknown Wrapping Mode if a sampler uses an unknown wrapping mode. (Only clamp and repeat wrapping modes are supported.) @throws Error Unknown Special Flag: if a sampler uses an unknown special flag. @throws Error Output Color Not Maskable: You cannot mask the color output register in a fragment program. All components of the color register must be set. @throws Error Second Operand Must Be Sampler Register: The AGAL tex opcode must have a sampler as the second source operand. @throws Error Indirect Not Allowed: indirect addressing used where not allowed. @throws Error Swizzle Must Be Scalar: swizzling error. @throws Error Cant Swizzle 2nd Source: swizzling error. @throws Error Second Use Of Sampler Must Have Same Params: all samplers that access the same texture must use the same dimension, wrap, filter, special, and mipmap settings. @throws Error 3768: The Stage3D API may not be used during background execution. **BETA** Uploads a pair of rendering programs expressed in GLSL (GL Shader Language). <__buildAGALUniformList set="method" line="481"> <__deleteShaders set="method" line="587"> <__disable set="method" line="609"> <__enable set="method" line="651"> <__flush set="method" line="706"> <__getSamplerState set="method" line="747"> <__markDirty set="method" line="752"> <__processGLSLData set="method" line="766"> <__setPositionScale set="method" line="838"> <__setSamplerState set="method" line="849"> <__uploadFromGLSL set="method" line="854"> The Program3D class represents a pair of rendering programs (also called "shaders") uploaded to the rendering context. Programs managed by a Program3D object control the entire rendering of triangles during a Context3D drawTriangles() call. Upload the binary bytecode to the rendering context using the upload method. (Once uploaded, the program in the original byte array is no longer referenced; changing or discarding the source byte array does not change the program.) Programs always consist of two linked parts: A vertex and a fragment program. 1. The vertex program operates on data defined in VertexBuffer3D objects and is responsible for projecting vertices into clip space and passing any required vertex data, such as color, to the fragment shader. 2. The fragment shader operates on the attributes passed to it by the vertex program and produces a color for every rasterized fragment of a triangle, resulting in pixel colors. Note that fragment programs have several names in 3D programming literature, including fragment shader and pixel shader. Designate which program pair to use for subsequent rendering operations by passing the corresponding Program3D instance to the Context3D `setProgram()` method. You cannot create a Program3D object directly; use the Context3D `createProgram()` method instead. "tags=\"haxe,release\"" openfl.display3D.Context3D openfl.display.ShaderInput openfl.display.ShaderParameter openfl.display.Stage <__getUniformRegisters get="inline" set="null" line="1013"> "tags=\"haxe,release\"" openfl.display3D.Context3D "checkstyle:FieldDocComment" hide <__allDirty> <__anyDirty> <__registerLookup> <__uniforms> "tags=\"haxe,release\"" "checkstyle:FieldDocComment" hide <__context> <__data> <__id> <__memoryUsage> <__numVertices> <__stride> <__tempFloat32Array> <__usage> <__vertexSize> Frees all resources associated with this object. After disposing a vertex buffer, calling `upload()` and rendering using this object will fail. Uploads the data for a set of points to the rendering context from a byte array. @param data a byte array containing the vertex data. Each data value is four bytes long. The number of values in a vertex is specified at buffer creation using the data32PerVertex parameter to the Context3D `createVertexBuffer3D()` method. The length of the data in bytes must be `byteArrayOffset` plus four times the number of values per vertex times the number of vertices. The ByteArray object must use the little endian format. @param byteArrayOffset number of bytes to skip from the beginning of data @param startVertex The index of the first vertex to be loaded. A value for startVertex not equal to zero may be used to load a sub-region of the vertex data. @param numVertices The number of vertices to be loaded from data. @throws TypeError Null Pointer Error: when data is `null`. @throws RangeError Bad Input Size: if `byteArrayOffset` is less than 0, or if `byteArrayOffset` is greater than or equal to the length of data, or if no. of elements in data - `byteArrayOffset` is less than `numVertices*data32pervertex*4` given in Context3D `createVertexBuffer()`. @throws Error 3768: The Stage3D API may not be used during background execution. { byteLength : -1 } Uploads the data for a set of points to the rendering context from a typed array. @param data a typed array of 32-bit values. A single vertex is comprised of a number of values stored sequentially in the vector. The number of values in a vertex is specified at buffer creation using the `data32PerVertex` parameter to the Context3D `createVertexBuffer3D()` method. @param byteLength The number of bytes to read. Uploads the data for a set of points to the rendering context from a vector array. @param data a vector of 32-bit values. A single vertex is comprised of a number of values stored sequentially in the vector. The number of values in a vertex is specified at buffer creation using the data32PerVertex parameter to the Context3D `createVertexBuffer3D()` method. The length of the vector must be the number of values per vertex times the number of vertexes. @param startVertex The index of the first vertex to be loaded. A value for `startVertex` not equal to zero may be used to load a sub-region of the vertex data. @param numVertices The number of vertices represented by data. @throws TypeError Null Pointer Error: when `data` is `null`. @throws RangeError Bad Input Size: when number of elements in data is less than `numVertices * data32PerVertex` given in Context3D `createVertexBuffer()`, or when `startVertex + numVertices` is greater than `numVertices` given in Context3D `createVertexBuffer()`. The VertexBuffer3D class represents a set of vertex data uploaded to a rendering context. Use a VertexBuffer3D object to define the data associated with each point in a set of vertexes. You can upload the vertex data either from a Vector array or a ByteArray. (Once uploaded, the data in the original array is no longer referenced; changing or discarding the source array does not change the vertex data.) The data associated with each vertex is in an application-defined format and is used as the input for the vertex shader program. Identify which values belong to which vertex program input using the Context3D `setVertexBufferAt()` function. A vertex program can use up to eight inputs (also known as vertex attribute registers). Each input can require between one and four 32-bit values. For example, the [x,y,z] position coordinates of a vertex can be passed to a vertex program as a vector containing three 32 bit values. The Context3DVertexBufferFormat class defines constants for the supported formats for shader inputs. You can supply up to sixty-four 32-bit values (256 bytes) of data for each point (but a single vertex shader cannot use all of the data in this case). The `setVertexBufferAt()` function also identifies which vertex buffer to use for rendering any subsequent `drawTriangles()` calls. To render data from a different vertex buffer, call setVertexBufferAt() again with the appropriate arguments. (You can store data for the same point in multiple vertex buffers, say position data in one buffer and texture coordinates in another, but typically rendering is more efficient if all the data for a point comes from a single buffer.) The Index3DBuffer object passed to the Context3D `drawTriangles()` method organizes the vertex data into triangles. Each value in the index buffer is the index to a vertex in the vertex buffer. A set of three indexes, in sequence, defines a triangle. You cannot create a VertexBuffer3D object directly. Use the Context3D `createVertexBuffer()` method instead. To free the render context resources associated with a vertex buffer, call the object's `dispose()` method. "tags=\"haxe,release\"" openfl.display3D.Context3D openfl.display.Stage "tags=\"haxe,release\"" "checkstyle:FieldDocComment" { useMask : true } "tags=\"haxe,release\"" "checkstyle:FieldDocComment" new Array() { offset : 0 } "tags=\"haxe,release\"" "checkstyle:FieldDocComment" "tags=\"haxe,release\"" cast 0 cast 1 cast 2 cast 3 cast 4 cast 5 cast 0 cast 1 cast 2 cast 3 cast 4 cast 5 "tags=\"haxe,release\"" "checkstyle:FieldDocComment" { offset : 0, emitSwizzle : true } "tags=\"haxe,release\"" "checkstyle:FieldDocComment" cast 0 cast 1 cast 2 cast 3 cast 4 cast 5 cast 0 cast 1 cast 2 cast 3 cast 4 cast 5 cast 0 cast 1 cast 2 cast 3 cast 0 cast 1 cast 2 cast 3 0 <__readUInt24 set="method" line="145"> <__readUInt32 set="method" line="154"> "tags=\"haxe,release\"" "checkstyle:FieldDocComment" cast 0 cast 1 cast 0 cast 1 <__currentGLArrayBuffer> <__currentGLElementArrayBuffer> <__currentGLFramebuffer> <__currentGLTexture2D> <__currentGLTextureCubeMap> <__enableGLBlend> <__enableGLCullFace> <__enableGLDepthTest> <__enableGLScissorTest> <__enableGLStencilTest> <__frontFaceGLCCW> <__glBlendEquation> <__primaryGLFramebuffer> <__rttDepthGLRenderbuffer> <__rttGLFramebuffer> <__rttGLRenderbuffer> <__rttStencilGLRenderbuffer> "checkstyle:FieldDocComment" <__compressedFormats static="1"> <__compressedFormatsAlpha static="1"> <__supportsBGRA expr="null" line="37" static="1"> null <__textureFormat static="1"> <__textureInternalFormat static="1"> <__alphaTexture> <__context> <__format> <__glDepthRenderbuffer> <__glFramebuffer> <__glStencilRenderbuffer> <__height> <__internalFormat> <__optimizeForRenderToTexture> <__samplerState> <__streamingLevels> <__textureContext> "checkstyle:Dynamic" <__textureID> <__textureTarget> <__width> Frees all GPU resources associated with this texture. After disposal, calling `upload()` or rendering with this object fails. <__getGLFramebuffer set="method" line="186"> "checkstyle:Dynamic" <__getImage set="method" line="251"> <__getTexture set="method" line="304"> <__setSamplerState set="method" line="309"> <__uploadFromImage set="method" line="382"> The TextureBase class is the base class for Context3D texture objects. **Note:** You cannot create your own texture classes using TextureBase. To add functionality to a texture class, extend either Texture or CubeTexture instead. "tags=\"haxe,release\"" openfl.display._internal.SamplerState openfl.display3D.Context3D openfl.display.BitmapData openfl.display.Stage <__framebufferSurface> <__size> <__uploadedSides> { async : false } Uploads a cube texture in Adobe Texture Format (ATF) from a byte array. The byte array must contain all faces and mipmaps for the texture. @param data a byte array that containing a compressed cube texture including mipmaps. The ByteArray object must use the little endian format. @param byteArrayOffset an optional offset at which to start reading the texture data. @param async If `true`, this function returns immediately. Any draw method which attempts to use the texture will fail until the upload completes successfully. Upon successful upload, this Texture object dispatches `Event.TEXTURE_READY`. Default value: `false`. @throws TypeError Null Pointer Error: when `data` is `null`. @throws ArgumentError Texture Decoding Failed: when the compression format of this object cannot be derived from the format of the compressed data in data. @throws ArgumentError Texture Needs To Be Square: when the decompressed texture does not have equal `width` and `height`. @throws ArgumentError Texture Size Does Not Match: when the width and height of the decompressed texture do not equal the length of the texture's edge. @throws ArgumentError Miplevel Too Large: if the mip level of the decompressed texture is greater than that implied by the length of the texture's edge. @throws ArgumentError Texture Format Mismatch: if the decoded ATF bytes don't contain a texture compatible with this texture's format or is not a cube texture. @throws Error 3768: The Stage3D API may not be used during background execution. @throws RangeError Bad Input Size: when there is integer overflow of `byteArrayOffset` or if `byteArrayOffset` + 6 is greater than the length of `data`, or if the number of bytes available from `byteArrayOffset` to the end of the data byte array is less than the amount of data required for ATF texture. { generateMipmap : false, miplevel : 0 } Uploads a component of a cube map texture from a BitmapData object. This function uploads one mip level of one side of the cube map. Call `uploadFromBitmapData()` as necessary to upload each mip level and face of the cube map. @param source a bitmap. @param side A code indicating which side of the cube to upload: positive X : 0 negative X : 1 positive Y : 2 negative Y : 3 positive Z : 4 negative Z : 5 @param miplevel the mip level to be loaded, level zero being the top-level full-resolution image. The default value is zero. @throws TypeError Null Pointer Error: if source is `null`. @throws ArgumentError Miplevel Too Large: if the specified mip level is greater than that implied by the the texture's dimensions. @throws ArgumentError Invalid Cube Side: if side is greater than 5. @throws ArgumentError Invalid BitmapData Error: if source if the BitmapData object does not contain a valid cube texture face. The image must be square, with sides equal to a power of two, and the correct size for the miplevel specified. @throws ArgumentError Texture Format Mismatch: if the texture format is `Context3DTextureFormat.COMPRESSED` or `Context3DTextureFormat.COMPRESSED_ALPHA` and the code is executing on a mobile platform where runtime texture compression is not supported. @throws Error 3768: The Stage3D API may not be used during background execution. { miplevel : 0 } Uploads a component of a cube map texture from a ByteArray object. This function uploads one mip level of one side of the cube map. Call `uploadFromByteArray()` as neccessary to upload each mip level and face of the cube map. @param data a byte array containing the image in the format specified when this CubeTexture object was created. The ByteArray object must use the little endian format. @param byteArrayOffset reading of the byte array starts there. @param side A code indicating which side of the cube to upload: positive X : 0 negative X : 1 positive Y : 2 negative Y : 3 positive Z : 4 negative Z : 5 @param miplevel the mip level to be loaded, level zero is the top-level, full-resolution image. @throws TypeError Null Pointer Error: when data is null. @throws ArgumentError Miplevel Too Large: if the specified mip level is greater than that implied by the Texture's dimensions. @throws RangeError Bad Input Size: if the number of bytes available from byteArrayOffset to the end of the data byte array is less than the amount of data required for a texture of this mip level or if byteArrayOffset is greater than or equal to the length of data. @throws ArgumentError Texture Format Mismatch: if the texture format is Context3DTextureFormat.COMPRESSED or Context3DTextureFormat.COMPRESSED_ALPHA and the code is executing on a mobile platform where runtime texture compression is not supported. @throws Error 3768: The Stage3D API may not be used during background execution. { miplevel : 0 } Uploads a component of a cube map texture from an ArrayBufferView object. This function uploads one mip level of one side of the cube map. Call `uploadFromTypedArray()` as necessary to upload each mip level and face of the cube map. @param data a typed array containing the image in the format specified when this CubeTexture object was created. @param side A code indicating which side of the cube to upload: positive X : 0 negative X : 1 positive Y : 2 negative Y : 3 positive Z : 4 negative Z : 5 @param miplevel the mip level to be loaded, level zero is the top-level, full-resolution image. <__getGLFramebuffer set="method" line="257" override="1"> <__setSamplerState set="method" line="288" override="1"> <__sideToTarget set="method" line="325"> <__uploadCompressedTextureFromByteArray set="method" line="341"> The CubeTexture class represents a cube texture uploaded to a rendering context. Defines a cube map texture for use during rendering. Cube mapping is used for many rendering techniques, such as environment maps, skyboxes, and skylight illumination. You cannot create a CubeTexture object directly; use the Context3D `createCubeTexture()` instead. "tags=\"haxe,release\"" openfl.display3D.Context3D openfl.display.Stage openfl.events.Event Uploads a texture from a BitmapData object. @param source a bitmap. @throws TypeError Null Pointer Error: when `source` is `null`. @throws ArgumentError Invalid BitmapData Error: when `source` does not contain a valid texture. The maximum allowed size in any dimension is 4096 or the size of the backbuffer, whichever is greater. @throws Error 3768: The Stage3D API may not be used during background execution. Uploads a texture from a ByteArray. @param data a byte array that is contains enough bytes in the textures internal format to fill the texture. rgba textures are read as bytes per texel component (1 or 4). float textures are read as floats per texel component (1 or 4). The ByteArray object must use the little endian format. @param byteArrayOffset the position in the byte array object at which to start reading the texture data. @throws TypeError Null Pointer Error: when `data` is `null`. @throws RangeError Bad Input Size: if the number of bytes available from `byteArrayOffset` to the end of data byte array is less than the amount of data required for a texture, or if `byteArrayOffset` is greater than or equal to the length of data. @throws Error 3768: The Stage3D API may not be used during background execution. Uploads a texture from an ArrayBufferView. @param data a typed array that contains enough bytes in the textures internal format to fill the texture. rgba textures are read as bytes per texel component (1 or 4). float textures are read as floats per texel component (1 or 4). <__setSamplerState set="method" line="124" override="1"> The Rectangle Texture class represents a 2-dimensional texture uploaded to a rendering context. Defines a 2D texture for use during rendering. Texture cannot be instantiated directly. Create instances by using Context3D `createRectangleTexture()` method. "tags=\"haxe,release\"" openfl.display3D.Context3D openfl.display.Stage <__lowMemoryMode expr="false" line="31" static="1"> false { async : false } Uploads a compressed texture in Adobe Texture Format (ATF) from a ByteArray object. ATF file version 2 requires SWF version 21 or newer and ATF file version 3 requires SWF version 29 or newer. For ATF files created with png image without alpha the format string given during Context3DObject `createTexture` should be `"COMPRESSED"` and for ATF files created with png image with alpha the format string given during Context3DObject `createTexture` should be `"COMPRESSED_ALPHA"`. @param data a byte array that contains a compressed texture including mipmaps. The ByteArray object must use the little endian format. @param byteArrayOffset the position in the byte array at which to start reading the texture data. @param async If true, this function returns immediately. Any draw method which attempts to use the texture will fail until the upload completes successfully. Upon successful upload, this CubeTexture object dispatches `Event.TEXTURE_READY`. Default value: `false`. @throws TypeError Null Pointer Error: when `data` is `null`. @throws ArgumentError Texture Decoding Failed: when the compression format of this object cannot be derived from the format of the compressed data in data or when the SWF version is incompatible with the ATF file version. @throws ArgumentError Texture Size Does Not Match: when the width and height of the decompressed texture do not equal the dimensions of this Texture object. @throws ArgumentError Miplevel Too Large: if the mip level of the decompressed texture is greater than that implied by the size of the texture. @throws ArgumentError Texture Format Mismatch: if the decoded ATF bytes don't contain a texture compatible with this texture's format. @throws Error 3768: The Stage3D API may not be used during background execution. @throws RangeError Bad Input Size: when there is integer overflow of `byteArrayOffset` or if `byteArrayOffset` + 6 is greater than the length of `data`, or if the number of bytes available from `byteArrayOffset` to the end of the `data` byte array is less than the amount of data required for ATF texture. { generateMipmap : false, miplevel : 0 } Uploads a texture from a BitmapData object. @param source a bitmap. @param miplevel the mip level to be loaded, level zero being the top-level full-resolution image. @throws TypeError Null Pointer Error: when `source` is `null`. @throws ArgumentError Miplevel Too Large: if the specified mip level is greater than that implied by the larger of the Texture's dimensions. @throws ArgumentError Invalid BitmapData Error: if `source` if the BitmapData object does not contain a valid cube texture face. The image must have sides equal to a power of two, and the correct size for the miplevel specified. @throws ArgumentError Texture Format Mismatch: if the texture format is Context3DTextureFormat.COMPRESSED or Context3DTextureFormat.COMPRESSED_ALPHA and the code is executing on a mobile platform where runtime texture compression is not supported. @throws Error 3768: The Stage3D API may not be used during background execution. { miplevel : 0 } Uploads a texture from a ByteArray. @param data a byte array that is contains enough bytes in the textures internal format to fill the texture. rgba textures are read as bytes per texel component (1 or 4). float textures are read as floats per texel component (1 or 4). The ByteArray object must use the little endian format. @param byteArrayOffset the position in the byte array object at which to start reading the texture data. @param miplevel the mip level to be loaded, level zero is the top-level, full-resolution image. @throws TypeError Null Pointer Error: when `data` is `null`. @throws ArgumentError Miplevel Too Large: if the specified mip level is greater than that implied by the larger of the Texture's dimensions. @throws RangeError Bad Input Size: if the number of bytes available from `byteArrayOffset` to the end of the data byte array is less than the amount of data required for a texture of this mip level or if `byteArrayOffset` is greater than or equal to the length of data. @throws ArgumentError Texture Format Mismatch: if the texture format is Context3DTextureFormat.COMPRESSED or Context3DTextureFormat.COMPRESSED_ALPHA and the code is executing on a mobile platform where runtime texture compression is not supported. @throws Error 3768: The Stage3D API may not be used during background execution. { miplevel : 0 } Uploads a texture from an ArrayBufferView. @param data a typed array that contains enough bytes in the textures internal format to fill the texture. rgba textures are read as bytes per texel component (1 or 4). float textures are read as floats per texel component (1 or 4). @param miplevel the mip level to be loaded, level zero is the top-level, full-resolution image. <__setSamplerState set="method" line="263" override="1"> <__uploadCompressedTextureFromByteArray set="method" line="300"> The Texture class represents a 2-dimensional texture uploaded to a rendering context. Defines a 2D texture for use during rendering. Texture cannot be instantiated directly. Create instances by using Context3D `createTexture()` method. "tags=\"haxe,release\"" openfl.display3D.Context3D openfl.display.Stage openfl.events.Event An integer specifying the height of the video stream, in pixels. For a live stream, this value is the same as the Camera.height property of the Camera object that is capturing the video stream. For a recorded video file, this value is the height of the video. The `NetStream.Video.DimensionChange` event is dispatched in the case of recorded videos when this value changes. An integer specifying the width of the video stream, in pixels. For a live stream, this value is the same as the Camera.width property of the Camera object that is capturing the video stream. For a recorded video file, this value is the width of the video. The `NetStream.Video.DimensionChange` event is dispatched in the case of recorded videos when this value changes. <__cacheTime> <__netStream> Specifies a video stream to be rendered within the texture of the VideoTexture object. A video file can be stored on the local file system or on Flash Media Server. If the value of the netStream argument is `null`, the video is no longer played in the VideoTexture object. @param netStream <__getTexture set="method" line="150" override="1"> <__textureReady set="method" line="166"> RGB conversion) and so the standard shaders with static images can be used without change. The image used by the rendering pipeline is the latest up-to-date frame at the time the rendering occurs using this texture. There is no tearing in a video frame, however if the same texture is used several times, some of the instances may be from different timestamps.]]> "tags=\"haxe,release\"" openfl.display3D.Context3D openfl.display.Stage openfl.net.NetStream openfl.events.Event <_pools expr="[]" line="9" static="1"> [] * Recycle or create new FlxRect. * Be sure to put() them back into the pool after you're done with them! * Recycle or create a new FlxRect which will automatically be released * to the pool when passed into a flixel function. <_weak expr="false"> false <_inPool expr="false"> false * Add this FlxRect to the recycling pool. * Add this FlxPoint to the recycling pool if it's a weak reference (allocated via weak()). * Does nothing * Necessary for IFlxDestroyable. { message : "" } "tags=\"haxe,release\"" { message : "" } Creates a new IOError object. @param message A string associated with the error object. The IOError exception is thrown when some type of input or output failure occurs. For example, an IOError exception is thrown if a read/write operation is attempted on a socket that has not connected or that has become disconnected. "tags=\"haxe,release\"" { id : 0, message : null } Creates a new EOFError object. @param message A string associated with the error object. An EOFError exception is thrown when you attempt to read past the end of the available data. For example, an EOFError is thrown when one of the read methods in the IDataInput interface is called and there is insufficient data to satisfy the read request. "tags=\"haxe,release\"" { message : "" } Creates a new IllegalOperationError object. @param message A string associated with the error object. The IllegalOperationError exception is thrown when a method is not implemented or the implementation doesn't cover the current usage. Examples of illegal operation error exceptions include: * A base class, such as DisplayObjectContainer, provides more functionality than a Stage can support(such as masks) * Certain accessibility methods are called when the player is compiled without accessibility support * The mms.cfg setting prohibits a FileReference action * ActionScript tries to run a `FileReference.browse()` call when a browse dialog box is already open * ActionScript tries to use an unsupported protocol for a FileReference object(such as FTP) * Authoring-only features are invoked from a run-time player * An attempt is made to set the name of a Timeline-placed object "tags=\"haxe,release\"" { message : "" } "tags=\"haxe,release\"" { message : "" } "tags=\"haxe,release\"" "activity" The `ActivityEvent.ACTIVITY` constant defines the value of the `type` property of an `activity` event object. This event has the following properties: | Property | Value | | --- | --- | | `activating` | `true` if the device is activating or `false` if it is deactivating. | | `bubbles` | `false` | | `cancelable` | `false`; there is no default behavior to cancel. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `target` | The object beginning or ending a session, such as a Camera or Microphone object. | Indicates whether the device is activating (`true`) or deactivating (`false`). <__init set="method" line="84" override="1"> { activating : false, cancelable : false, bubbles : false } Creates an event object that contains information about activity events. Event objects are passed as parameters to Event listeners. @param type The type of the event. Event listeners can access this information through the inherited `type` property. There is only one type of activity event: `ActivityEvent.ACTIVITY`. @param bubbles Determines whether the Event object participates in the bubbling phase of the event flow. Event listeners can access this information through the inherited `bubbles` property. @param cancelable Determines whether the Event object can be canceled. Event listeners can access this information through the inherited `cancelable` property. @param activating Indicates whether the device is activating (`true`) or deactivating (`false`). Event listeners can access this information through the `activating` property. A Camera or Microphone object dispatches an ActivityEvent object whenever a camera or microphone reports that it has become active or inactive. There is only one type of activity event: `ActivityEvent.ACTIVITY`. "tags=\"haxe,release\"" "link" Defines the value of the `type` property of a `link` event object. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `true` | | `cancelable` | `false`; there is no default behavior to cancel. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `target` | The text field containing the hyperlink that has been clicked. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | | `text` | The remainder of the URL after "event:" | "textInput" Defines the value of the `type` property of a `textInput` event object. **Note:** This event is not dispatched for the Delete or Backspace keys. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `true` | | `cancelable` | `true`; call the `preventDefault()` method to cancel default behavior. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `target` | The text field into which characters are being entered. The target is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | |`text` | The character or sequence of characters entered by the user. | ` tag.]]> <__init set="method" line="103" override="1"> { text : "", cancelable : false, bubbles : false } Creates an Event object that contains information about text events. Event objects are passed as parameters to event listeners. @param type The type of the event. Event listeners can access this information through the inherited `type` property. Possible values are: `TextEvent.LINK` and `TextEvent.TEXT_INPUT`. @param bubbles Determines whether the Event object participates in the bubbling phase of the event flow. Event listeners can access this information through the inherited `bubbles` property. @param cancelable Determines whether the Event object can be canceled. Event listeners can access this information through the inherited `cancelable` property. @param text One or more characters of text entered by the user. Event listeners can access this information through the `text` property. An object dispatches a TextEvent object when a user enters text in a text field or clicks a hyperlink in an HTML-enabled text field. There are two types of text events: `TextEvent.LINK` and `TextEvent.TEXT_INPUT`. "tags=\"haxe,release\"" "error" Defines the value of the `type` property of an `error` event object. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `false` | | `cancelable` | `false`; there is no default behavior to cancel. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `target` | The object experiencing a network operation failure. | | `text` | Text to be displayed as an error message. | Contains the reference number associated with the specific error. For a custom ErrorEvent object, this number is the value from the `id` parameter supplied in the constructor. <__init set="method" line="96" override="1"> { id : 0, text : "", cancelable : false, bubbles : false } Creates an Event object that contains information about error events. Event objects are passed as parameters to event listeners. @param type The type of the event. Event listeners can access this information through the inherited `type` property. There is only one type of error event: `ErrorEvent.ERROR`. @param bubbles Determines whether the Event object bubbles. Event listeners can access this information through the inherited `bubbles` property. @param cancelable Determines whether the Event object can be canceled. Event listeners can access this information through the inherited `cancelable` property. @param text Text to be displayed as an error message. Event listeners can access this information through the `text` property. @param id A reference number to associate with the specific error (supported in Adobe AIR only). An object dispatches an ErrorEvent object when an error causes an asynchronous operation to fail. The ErrorEvent class defines only one type of `error` event: `ErrorEvent.ERROR`. The ErrorEvent class also serves as the base class for several other error event classes, including the AsyncErrorEvent, IOErrorEvent, SecurityErrorEvent, SQLErrorEvent, and UncaughtErrorEvent classes. You can check for `error` events that do not have any listeners by registering a listener for the `uncaughtError` (UncaughtErrorEvent.UNCAUGHT_ERROR) event. An uncaught error also causes an error dialog box displaying the error event to appear when content is running in the debugger version of Flash Player or the AIR Debug Launcher(ADL) application. "tags=\"haxe,release\"" "asyncError" The `AsyncErrorEvent.ASYNC_ERROR` constant defines the value of the `type` property of an `asyncError` event object. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `false` | | `cancelable` | `false`; there is no default behavior to cancel. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `target` | The object dispatching the event. | | `error` | The error that triggered the event. | The exception that was thrown. <__init set="method" line="89" override="1"> { error : null, text : "", cancelable : false, bubbles : false } Creates an AsyncErrorEvent object that contains information about asyncError events. AsyncErrorEvent objects are passed as parameters to event listeners. @param type The type of the event. Event listeners can access this information through the inherited `type` property. There is only one type of error event: `ErrorEvent.ERROR`. @param bubbles Determines whether the Event object bubbles. Event listeners can access this information through the inherited `bubbles` property. @param cancelable Determines whether the Event object can be canceled. Event listeners can access this information through the inherited `cancelable` property. @param text Text to be displayed as an error message. Event listeners can access this information through the `text` property. @param error The exception that occurred. If error is non-null, the event's `errorId` property is set from the error's `errorId` property. An object dispatches an AsyncErrorEvent when an exception is thrown from native asynchronous code, which could be from, for example, LocalConnection, NetConnection, SharedObject, or NetStream. There is only one type of asynchronous error event: `AsyncErrorEvent.ASYNC_ERROR`. "tags=\"haxe,release\"" "tags=\"haxe,release\"" "checkstyle:FieldDocComment" hide "tags=\"haxe,release\"" "checkstyle:FieldDocComment" The EventPhase class provides values for the `eventPhase` property of the Event class. cast 2 The target phase, which is the second phase of the event flow. cast 3 The bubbling phase, which is the third phase of the event flow. cast 1 The capturing phase, which is the first phase of the event flow. cast 2 The target phase, which is the second phase of the event flow. cast 3 The bubbling phase, which is the third phase of the event flow. cast 1 The capturing phase, which is the first phase of the event flow. The EventType abstract type provides type safety when matching dispatch events with the correct type of listener For example, the following code has the wrong type in the event listener, it should be a MouseEvent: ```haxe addEventListener(MouseEvent.CLICK, function(event:TouchEvent) {}); ``` OpenFL uses the EventType abstract for standard event types to turn these logical errors into a compile-time errors. A == B A != B A == B A != B "focusIn" Defines the value of the `type` property of a `focusIn` event object. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `true` | | `cancelable` | `false`; there is no default behavior to cancel. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `keyCode` | 0; applies only to `keyFocusChange` events. | | `relatedObject` | The complementary InteractiveObject instance that is affected by the change in focus. | | `shiftKey` | `false`; applies only to `keyFocusChange` events. | | `target` | The InteractiveObject instance that has just received focus. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | | `direction` | The direction from which focus was assigned. This property reports the value of the `direction` parameter of the `assignFocus()` method of the stage. If the focus changed through some other means, the value will always be `FocusDirection.NONE`. Applies only to `focusIn` events. For all other focus events the value will be `FocusDirection.NONE`. | "focusOut" Defines the value of the `type` property of a `focusOut` event object. This event has the following properties: |Property | Value || --- | --- || `bubbles` | `true` || `cancelable` | `false`; there is no default behavior to cancel. || `currentTarget` | The object that is actively processing the Event object with an event listener. || `keyCode` | 0; applies only to `keyFocusChange` events. || `relatedObject` | The complementary InteractiveObject instance that is affected by the change in focus. || `shiftKey` | `false`; applies only to `keyFocusChange` events. || `target` | The InteractiveObject instance that has just lost focus. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | "keyFocusChange" Defines the value of the `type` property of a `keyFocusChange` event object. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `true` | | `cancelable` | `true`; call the `preventDefault()` method to cancel default behavior. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `keyCode` | The key code value of the key pressed to trigger a `keyFocusChange` event. | | `relatedObject` | The complementary InteractiveObject instance that is affected by the change in focus. | | `shiftKey` | `true` if the Shift key modifier is activated; `false` otherwise. | | `target` | The InteractiveObject instance that currently has focus. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | "mouseFocusChange" Defines the value of the `type` property of a `mouseFocusChange` event object. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `true` | | `cancelable` | `true`; call the `preventDefault()` method to cancel default behavior. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `keyCode` | 0; applies only to `keyFocusChange` events. | | `relatedObject` | The complementary InteractiveObject instance that is affected by the change in focus. | | `shiftKey` | `false`; applies only to `keyFocusChange` events. | | `target` | The InteractiveObject instance that currently has focus. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | The key code value of the key pressed to trigger a `keyFocusChange` event. A reference to the complementary InteractiveObject instance that is affected by the change in focus. For example, when a `focusOut` event occurs, the `relatedObject` represents the InteractiveObject instance that has gained focus. The value of this property can be `null` in two circumstances: if there no related object, or there is a related object, but it is in a security sandbox to which you don't have access. Use the `isRelatedObjectInaccessible()` property to determine which of these reasons applies. Indicates whether the Shift key modifier is activated, in which case the value is `true`. Otherwise, the value is `false`. This property is used only if the FocusEvent is of type `keyFocusChange`. <__init set="method" line="191" override="1"> { keyCode : 0, shiftKey : false, relatedObject : null, cancelable : false, bubbles : false } Creates an Event object with specific information relevant to focus events. Event objects are passed as parameters to event listeners. @param type The type of the event. Possible values are: `FocusEvent.FOCUS_IN`, `FocusEvent.FOCUS_OUT`, `FocusEvent.KEY_FOCUS_CHANGE`, and `FocusEvent.MOUSE_FOCUS_CHANGE`. @param bubbles Determines whether the Event object participates in the bubbling stage of the event flow. @param cancelable Determines whether the Event object can be canceled. @param relatedObject Indicates the complementary InteractiveObject instance that is affected by the change in focus. For example, when a `focusIn` event occurs, `relatedObject` represents the InteractiveObject that has lost focus. @param shiftKey Indicates whether the Shift key modifier is activated. @param keyCode Indicates the code of the key pressed to trigger a `keyFocusChange` event. An object dispatches a FocusEvent object when the user changes the focus from one object in the display list to another. There are four types of focus events: * `FocusEvent.FOCUS_IN` * `FocusEvent.FOCUS_OUT` * `FocusEvent.KEY_FOCUS_CHANGE` * `FocusEvent.MOUSE_FOCUS_CHANGE` "tags=\"haxe,release\"" "fullScreen" The `FullScreenEvent.FULL_SCREEN` constant defines the value of the `type` property of a `fullScreen` event object. This event has the following properties: | Property | Value | | --- | --- | | `fullScreen` | `true` if the display state is full screen or `false` if it is normal. | | `bubbles` | `false` | | `cancelable` | `false`; there is no default behavior to cancel. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `target` | The Stage object. | "fullScreenInteractiveAccepted" The `FULL_SCREEN_INTERACTIVE_ACCEPTED:String` constant defines the value of the type property of a `fullScreenInteractiveAccepted` event object. This event has the following properties: | Property | Value | | --- | --- | | `fullScreen` | `true` if the display state is full screen or `false` if it is normal. | | `bubbles` | `false` | | `cancelable` | `false`; there is no default behavior to cancel. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `target` | The Stage object. | Indicates whether the Stage object is in full-screen mode (`true`) or not (`false`). Indicates whether the Stage object is in full-screen interactive mode (`true`) or not (`false`). <__init set="method" line="109" override="1"> { interactive : false, fullScreen : false, cancelable : false, bubbles : false } Creates an event object that contains information about `fullScreen` events. Event objects are passed as parameters to event listeners. @param type The type of the event. Event listeners can access this information through the inherited `type` property. There is only one type of `fullScreen` event: `FullScreenEvent.FULL_SCREEN`. @param bubbles Determines whether the Event object participates in the bubbling phase of the event flow. Event listeners can access this information through the inherited `bubbles` property. @param cancelable Determines whether the Event object can be canceled. Event listeners can access this information through the inherited `cancelable` property. @param fullScreen Indicates whether the device is activating (`true`) or deactivating (`false`). Event listeners can access this information through the `activating` property. The Stage object dispatches a FullScreenEvent object whenever the Stage enters or leaves full-screen display mode. There is only one type of `fullScreen` event: `FullScreenEvent.FULL_SCREEN`. "tags=\"haxe,release\"" "deviceAdded" Indicates that a compatible device has been connected or turned on. "deviceRemoved" Indicates that one of the enumerated devices has been disconnected or turned off. "deviceUnusable" Dispatched when a game input device is connected but is not usable. Returns a reference to the device that was added or removed. When a device is added, use this property to get a reference to the new device, instead of enumerating all of the devices to find the new one. <__init set="method" line="61" override="1"> { device : null, cancelable : false, bubbles : true } The GameInputEvent class represents an event that is dispatched when a game input device has either been added or removed from the application platform. A game input device also dispatches events when it is turned on or off. "tags=\"haxe,release\"" "httpResponseStatus" Unlike the `httpStatus` event, the `httpResponseStatus` event is delivered before any response data. Also, the `httpResponseStatus` event includes values for the `responseHeaders` and `responseURL` properties (which are undefined for an `httpStatus` event. Note that the `httpResponseStatus` event (if any) will be sent before (and in addition to) any `complete` or `error` event. The `HTTPStatusEvent.HTTP_RESPONSE_STATUS` constant defines the value of the `type` property of a `httpResponseStatus` event object. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `false` | | `cancelable` | `false`; there is no default behavior to cancel. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `responseURL` | The URL from which the response was returned. | | `responseHeaders` | The response headers that the response returned, as an array of URLRequestHeader objects. | | `status` | The HTTP status code returned by the server. | | `target` | The network object receiving an HTTP status code. | "httpStatus" The `HTTPStatusEvent.HTTP_STATUS` constant defines the value of the `type` property of a `httpStatus` event object. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `false` | | `cancelable` | `false`; there is no default behavior to cancel. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `status` | The HTTP status code returned by the server. | | `target` | The network object receiving an HTTP status code. | Indicates whether the request was redirected. The response headers that the response returned, as an array of URLRequestHeader objects. The URL that the response was returned from. In the case of redirects, this will be different from the request URL. The HTTP status code returned by the server. For example, a value of 404 indicates that the server has not found a match for the requested URI. HTTP status codes can be found in sections 10.4 and 10.5 of the HTTP specification at [http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html). If Flash Player or AIR cannot get a status code from the server, or if it cannot communicate with the server, the default value of 0 is passed to your code. A value of 0 can be generated in any player(for example, if a malformed URL is requested), and a value of 0 is always generated by the Flash Player plug-in when it is run in the following browsers, which do not pass HTTP status codes to the player: Netscape, Mozilla, Safari, Opera, and Internet Explorer for the Macintosh. <__init set="method" line="148" override="1"> { redirected : false, status : 0, cancelable : false, bubbles : false } Creates an Event object that contains specific information about HTTP status events. Event objects are passed as parameters to event listeners. @param type The type of the event. Event listeners can access this information through the inherited `type` property. There is only one type of HTTPStatus event: `HTTPStatusEvent.HTTP_STATUS`. @param bubbles Determines whether the Event object participates in the bubbling stage of the event flow. Event listeners can access this information through the inherited `bubbles` property. @param cancelable Determines whether the Event object can be canceled. Event listeners can access this information through the inherited `cancelable` property. @param status Numeric status. Event listeners can access this information through the `status` property. The application dispatches HTTPStatusEvent objects when a network request returns an HTTP status code. HTTPStatusEvent objects are always sent before error or completion events. An HTTPStatusEvent object does not necessarily indicate an error condition; it simply reflects the HTTP status code(if any) that is provided by the networking stack. Some Flash Player environments may be unable to detect HTTP status codes; a status code of 0 is always reported in these cases. In Flash Player, there is only one type of HTTPStatus event: `httpStatus`. In the AIR runtime, a FileReference, URLLoader, or URLStream can register to listen for an `httpResponseStatus`, which includes `responseURL` and `responseHeaders` properties. These properties are undefined in a `httpStatus` event. "tags=\"haxe,release\"" "ioError" Defines the value of the `type` property of an `ioError` event object. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `false` | | `cancelable` | `false`; there is no default behavior to cancel. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `errorID` | A reference number associated with the specific error (AIR only). | | `target` | The network object experiencing the input/output error. | | `text` | Text to be displayed as an error message. | "standardOutputIoError" The `standardOutputIoError` event is dispatched when an error occurs while reading data from the `standardOutput` stream of a NativeProcess object. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `false` | | `cancelable` | `false`; there is no default behavior to cancel. | | `currentTarget` | The object that is actively processing the Event. | | `errorID` | The reference number associated with the specific error. | | `target` | The object on which the error occurred. | | `text` | Text to be displayed as an error message. | "standardErrorIoError" The `standardErrorIoError` event is dispatched when an error occurs while reading data from the `standardError` stream of a NativeProcess object. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `false` | | `cancelable` | `false`; there is no default behavior to cancel. | | `currentTarget` | The object that is actively processing the Event. | | `errorID` | The reference number associated with the specific error. | | `target` | The object on which the error occurred. | | `text` | Text to be displayed as an error message. | { id : 0, text : "", cancelable : false, bubbles : true } Creates an Event object that contains specific information about `ioError` events. Event objects are passed as parameters to Event listeners. @param type The type of the event. Event listeners can access this information through the inherited `type` property. There is only one type of input/output error event: `IOErrorEvent.IO_ERROR`. @param bubbles Determines whether the Event object participates in the bubbling stage of the event flow. Event listeners can access this information through the inherited `bubbles` property. @param cancelable Determines whether the Event object can be canceled. Event listeners can access this information through the inherited `cancelable` property. @param text Text to be displayed as an error message. Event listeners can access this information through the `text` property. @param id A reference number to associate with the specific error (supported in Adobe AIR only). An IOErrorEvent object is dispatched when an error causes input or output operations to fail. You can check for error events that do not have any listeners by using the debugger version of Flash Player or the AIR Debug Launcher(ADL). The string defined by the `text` parameter of the IOErrorEvent constructor is displayed. "tags=\"haxe,release\"" "keyDown" The `KeyboardEvent.KEY_DOWN` constant defines the value of the `type` property of a `keyDown` event object. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `true` | | `cancelable` | `true` in AIR, `false` in Flash Player; in AIR, canceling this event prevents the character from being entered into a text field. | | `charCode` | The character code value of the key pressed or released. | | `commandKey` | `true` on Mac if the Command key is active. Otherwise, `false` | | `controlKey` | `true` on Windows and Linux if the Ctrl key is active. `true` on Mac if either the Control key is active. Otherwise, `false` | | `ctrlKey` | `true` on Windows and Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `keyCode` | The key code value of the key pressed or released. | | `keyLocation` | The location of the key on the keyboard. | | `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. | | `target` | The InteractiveObject instance with focus. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | "keyUp" The `KeyboardEvent.KEY_UP` constant defines the value of the `type` property of a `keyUp` event object. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `true` | | `cancelable` | `false`; there is no default behavior to cancel. | | `charCode` | Contains the character code value of the key pressed or released. | | `commandKey` | `true` on Mac if the Command key is active. Otherwise, `false` | | `controlKey` | `true` on Windows and Linux if the Ctrl key is active. `true` on Mac if either the Control key is active. Otherwise, `false` | | `ctrlKey` | `true` on Windows if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `keyCode` | The key code value of the key pressed or released. | | `keyLocation` | The location of the key on the keyboard. | | `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. | | `target` | The InteractiveObject instance with focus. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | Indicates whether the Alt key is active(`true`) or inactive (`false`) on Windows; indicates whether the Option key is active on Mac OS. Contains the character code value of the key pressed or released. The character code values are English keyboard values. For example, if you press Shift+3, `charCode` is # on a Japanese keyboard, just as it is on an English keyboard. **Note: **When an input method editor(IME) is running, `charCode` does not report accurate character codes. Indicates whether the Command key is active (`true`) or inactive (`false`). Supported for Mac OS only. On Mac OS, the `commandKey` property has the same value as the `ctrlKey` property. Indicates whether the Control key is active (`true`) or inactive (`false`). On Windows and Linux, this is also true when the Ctrl key is active. On Windows and Linux, indicates whether the Ctrl key is active (`true`) or inactive(`false`); On Mac OS, indicates whether either the Ctrl key or the Command key is active. The key code value of the key pressed or released. **Note: **When an input method editor(IME) is running, `keyCode` does not report accurate key codes. Indicates the location of the key on the keyboard. This is useful for differentiating keys that appear more than once on a keyboard. For example, you can differentiate between the left and right Shift keys by the value of this property: `KeyLocation.LEFT` for the left and `KeyLocation.RIGHT` for the right. Another example is differentiating between number keys pressed on the standard keyboard (`KeyLocation.STANDARD`) versus the numeric keypad (`KeyLocation.NUM_PAD`). Indicates whether the Shift key modifier is active(`true`) or inactive(`false`). <__init set="method" line="212" override="1"> { commandKeyValue : false, controlKeyValue : false, shiftKeyValue : false, altKeyValue : false, ctrlKeyValue : false, keyLocationValue : null, keyCodeValue : 0, charCodeValue : 0, cancelable : false, bubbles : false } Creates an Event object that contains specific information about keyboard events. Event objects are passed as parameters to event listeners. @param type The type of the event. Possible values are: `KeyboardEvent.KEY_DOWN` and `KeyboardEvent.KEY_UP` @param bubbles Determines whether the Event object participates in the bubbling stage of the event flow. @param cancelable Determines whether the Event object can be canceled. @param charCodeValue The character code value of the key pressed or released. The character code values returned are English keyboard values. For example, if you press Shift+3, the `Keyboard.charCode()` property returns # on a Japanese keyboard, just as it does on an English keyboard. @param keyCodeValue The key code value of the key pressed or released. @param keyLocationValue The location of the key on the keyboard. @param ctrlKeyValue On Windows, indicates whether the Ctrl key is activated. On Mac, indicates whether either the Ctrl key or the Command key is activated. @param altKeyValue Indicates whether the Alt key modifier is activated(Windows only). @param shiftKeyValue Indicates whether the Shift key modifier is activated. @param commandKeyValue Indicates whether the Command key modifier is activated. A KeyboardEvent object id dispatched in response to user input through a keyboard. There are two types of keyboard events: `KeyboardEvent.KEY_DOWN` and `KeyboardEvent.KEY_UP` Because mappings between keys and specific characters vary by device and operating system, use the TextEvent event type for processing character input. To listen globally for key events, listen on the Stage for the capture and target or bubble phase. "tags=\"haxe,release\"" "click" Defines the value of the `type` property of a `click` event object. This event has the following properties: | Property | Value | | --- | --- | | `altKey` | `true` if the Alt key is active (Windows). | | `bubbles` | `true` | | `buttonDown` | For click events, this value is always `false`. | | `cancelable` | `false`; there is no default behavior to cancel. | | `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. | | `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. | | `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. | | `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. | | `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. | | `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. | | `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. | | `target` | The InteractiveObject instance under the pointing device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | "doubleClick" Defines the value of the `type` property of a `doubleClick` event object. The `doubleClickEnabled` property must be `true` for an object to generate the `doubleClick` event. This event has the following properties: | Property | Value | | --- | --- | | `altKey` | `true` if the Alt key is active (Windows). | | `bubbles` | `true` | | `buttonDown` | For double-click events, this value is always `false`. | | `cancelable` | `false`; there is no default behavior to cancel. | | `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. | | `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. | | `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. | | `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. | | `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. | | `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. | | `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. | | `target` | The InteractiveObject instance under the pointing device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | "middleClick" Defines the value of the `type` property of a `middleClick` event object. This event has the following properties: | Property | Value | | --- | --- | | `altKey` | `true` if the Alt key is active (Windows). | | `bubbles` | `true` | | `buttonDown` | For middle-click events, this property is always `false`. | | `cancelable` | `false`; there is no default behavior to cancel. | | `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. | | `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. | | `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. | | `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. | | `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. | | `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. | | `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. | | `target` | The InteractiveObject instance under the pointing device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | "middleMouseDown" Defines the value of the `type` property of a `middleMouseDown` event object. This event has the following properties: | Property | Value | | --- | --- | | `altKey` | `true` if the Alt key is active (Windows). | | `bubbles` | `true` | | `buttonDown` | `true` if the middle mouse button is pressed; `false` otherwise. | | `cancelable` | `false`; the default behavior cannot be canceled. | | `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. | | `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. | | `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. | | `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. | | `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. | | `clickCount` | Count of the number of mouse clicks to indicate whether the event is part of a multi-click sequence. | | `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. | | `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. | | `target` | The InteractiveObject instance under the pointing device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | "middleMouseUp" Defines the value of the `type` property of a `middleMouseUp` event object. This event has the following properties: | Property | Value | | --- | --- | | `altKey` | `true` if the Alt key is active (Windows). | | `bubbles` | `true` | | `buttonDown` | `true` if the middle mouse button is pressed; `false` otherwise. | | `cancelable` | `false`; the default behavior cannot be canceled. | | `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. | | `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. | | `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. | | `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. | | `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. | | `clickCount` | Count of the number of mouse clicks to indicate whether the event is part of a multi-click sequence. | | `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. | | `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. | | `target` | The InteractiveObject instance under the pointing device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | "mouseDown" Defines the value of the `type` property of a `mouseDown` event object. This event has the following properties: | Property | Value | | --- | --- | | `altKey` | `true` if the Alt key is active (Windows). | | `bubbles` | `true` | | `buttonDown` | `true` if the primary mouse button is pressed; `false` otherwise. | | `cancelable` | `false`; the default behavior cannot be canceled. | | `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. | | `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. | | `ctrlKey` | `true` on Windows and Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. | | `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. | | `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. | | `clickCount` | Count of the number of mouse clicks to indicate whether the event is part of a multi-click sequence. | | `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. | | `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. | | `target` | The InteractiveObject instance under the pointing device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | "mouseMove" Defines the value of the `type` property of a `mouseMove` event object. This event has the following properties: | Property | Value | | --- | --- | | `altKey` | `true` if the Alt key is active (Windows). | | `bubbles` | `true` | | `buttonDown` | `true` if the primary mouse button is pressed; `false` otherwise. | | `cancelable` | `false`; the default behavior cannot be canceled. | | `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. | | `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. | | `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. | | `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. | | `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. | | `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. | | `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. | | `target` | The InteractiveObject instance under the pointing device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | "mouseOut" Defines the value of the `type` property of a `mouseOut` event object. This event has the following properties: | Property | Value | | --- | --- | | `altKey` | `true` if the Alt key is active (Windows). | | `bubbles` | `true` | | `buttonDown` | `true` if the primary mouse button is pressed; `false` otherwise. | | `cancelable` | `false`; the default behavior cannot be canceled. | | `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. | | `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. | | `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `relatedObject` | The display list object to which the pointing device now points. | | `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. | | `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. | | `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. | | `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. | | `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. | | `target` | The InteractiveObject instance under the pointing device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | "mouseOver" Defines the value of the `type` property of a `mouseOver` event object. This event has the following properties: | Property | Value | | --- | --- | | `altKey` | `true` if the Alt key is active (Windows). | | `bubbles` | `true` | | `buttonDown` | `true` if the primary mouse button is pressed; `false` otherwise. | | `cancelable` | `false`; the default behavior cannot be canceled. | | `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. | | `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. | | `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `relatedObject` | The display list object to which the pointing device was pointing. | | `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. | | `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. | | `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. | | `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. | | `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. | | `target` | The InteractiveObject instance under the pointing device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | "mouseUp" Defines the value of the `type` property of a `mouseUp` event object. This event has the following properties: | Property | Value | | --- | --- | | `altKey` | `true` if the Alt key is active (Windows). | | `bubbles` | `true` | | `buttonDown` | `true` if the primary mouse button is pressed; `false` otherwise. | | `cancelable` | `false`; the default behavior cannot be canceled. | | `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. | | `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. | | `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. | | `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. | | `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. | | `clickCount` | Count of the number of mouse clicks to indicate whether the event is part of a multi-click sequence. | | `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. | | `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. | | `target` | The InteractiveObject instance under the pointing device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | "mouseWheel" Defines the value of the `type` property of a `mouseWheel` event object. This event has the following properties: | Property | Value | | --- | --- | | `altKey` | `true` if the Alt key is active (Windows). | | `bubbles` | `true` | | `buttonDown` | `true` if the primary mouse button is pressed; `false` otherwise. | | `cancelable` | `false`; the default behavior cannot be canceled. | | `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. | | `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. | | `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `delta` | The number of lines that that each notch on the mouse wheel represents. | | `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. | | `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. | | `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. | | `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. | | `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. | | `target` | The InteractiveObject instance under the pointing device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | "releaseOutside" Defines the value of the `type` property of a `releaseOutside` event object. This event has the following properties: "rightClick" Defines the value of the `type` property of a `rightClick` event object. This event has the following properties: | Property | Value | | --- | --- | | `altKey` | `true` if the Alt key is active (Windows). | | `bubbles` | `true` | | `buttonDown` | For right-click events, this property is always `false`. | | `cancelable` | `false`; there is no default behavior to cancel. | | `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. | | `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. | | `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. | | `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. | | `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. | | `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. | | `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. | | `target` | The InteractiveObject instance under the pointing device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | "rightMouseDown" Defines the value of the `type` property of a `rightMouseDown` event object. This event has the following properties: | Property | Value | | --- | --- | | `altKey` | `true` if the Alt key is active (Windows). | | `bubbles` | `true` | | `buttonDown` | For right-click events, this property is always `true`. | | `cancelable` | `false`; the default behavior cannot be canceled. | | `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. | | `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. | | `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. | | `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. | | `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. | | `clickCount` | Count of the number of mouse clicks to indicate whether the event is part of a multi-click sequence. | | `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. | | `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. | | `target` | The InteractiveObject instance under the pointing device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | "rightMouseUp" Defines the value of the `type` property of a `rightMouseUp` event object. This event has the following properties: | Property | Value | | --- | --- | | `altKey` | `true` if the Alt key is active (Windows). | | `bubbles` | `true` | | `buttonDown` | `true` if the right mouse button is pressed; `false` otherwise. | | `cancelable` | `false`; the default behavior cannot be canceled. | | `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. | | `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. | | `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. | | `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. | | `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. | | `clickCount` | Count of the number of mouse clicks to indicate whether the event is part of a multi-click sequence. | | `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. | | `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. | | `target` | The InteractiveObject instance under the pointing device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | "rollOut" Defines the value of the `type` property of a `rollOut` event object. This event has the following properties: | Property | Value | | --- | --- | | `altKey` | `true` if the Alt key is active (Windows). | | `bubbles` | `false` | | `buttonDown` | `true` if the primary mouse button is pressed; `false` otherwise. | | `cancelable` | `false`; there is no default behavior to cancel. | | `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. | | `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. | | `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `relatedObject` | The display list object to which the pointing device now points. | | `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. | | `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. | | `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. | | `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. | | `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. | | `target` | The InteractiveObject instance under the pointing device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | "rollOver" Defines the value of the `type` property of a `rollOver` event object. This event has the following properties: | Property | Value | | --- | --- | | `altKey` | `true` if the Alt key is active (Windows). | | `bubbles` | `false` | | `buttonDown` | `true` if the primary mouse button is pressed; `false` otherwise. | | `cancelable` | `false`; there is no default behavior to cancel. | | `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. | | `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. | | `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `relatedObject` | The display list object to which the pointing device was pointing. | | `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. | | `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. | | `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. | | `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. | | `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. | | `target` | The InteractiveObject instance under the pointing device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | <__altKey static="1"> <__buttonDown static="1"> <__commandKey static="1"> <__ctrlKey static="1"> <__shiftKey static="1"> <__create set="method" line="680" static="1"> { delta : 0 } Indicates whether the Alt key is active(`true`) or inactive (`false`). Supported for Windows only. On other operating systems, this property is always set to `false`. Indicates whether the primary mouse button is pressed(`true`) or not(`false`). Indicates whether the command key is activated (Mac only.) The value of property `commandKey` will have the same value as property `ctrlKey` on the Mac. Always `false` on Windows or Linux. Indicates whether or not the mouse down event is part of a multi-click sequence. This parameter will be zero for all mouse events other than `MouseEvent.mouseDown`, `MouseEvent.mouseUp`, `MouseEvent.middleMouseDown`, `MouseEvent.middleMouseUp`, `MouseEvent.rightMouseDown`, and `MouseEvent.rightMouseUp`. Listening for single clicks, double clicks, or any multi-click sequence is possible with the `clickCount` parameter. For example, an initial `MouseEvent.mouseDown` and `MouseEvent.mouseUp` will have a `clickCount` of 1, and the second `MouseEvent.mouseDown` and `MouseEvent.mouseUp` in a double-click sequence will have a `clickCount` of 2. If the mouse moves sufficiently or the multi-click sequence is interrupted for some reason, then the next `MouseEvent.mouseDown` will have a `clickCount` of 1. The `doubleClick` event will continue to fire as expected. On Windows or Linux, indicates whether the Ctrl key is active (`true`) or inactive(`false`). On Macintosh, indicates whether either the Control key or the Command key is activated. Indicates how many lines should be scrolled for each unit the user rotates the mouse wheel. A positive delta value indicates an upward scroll; a negative value indicates a downward scroll. Typical values are 1 to 3, but faster rotation may produce larger values. This setting depends on the device and operating system and is usually configurable by the user. This property applies only to the `MouseEvent.mouseWheel` event. If `true`, the `relatedObject` property is set to `null` for reasons related to security sandboxes. If the nominal value of `relatedObject` is a reference to a DisplayObject in another sandbox, `relatedObject` is set to `null` unless there is permission in both directions across this sandbox boundary. Permission is established by calling `Security.allowDomain()` from a SWF file, or by providing a policy file from the server of an image file, and setting the `LoaderContext.checkPolicyFile` property when loading the image. The horizontal coordinate at which the event occurred relative to the containing sprite. The vertical coordinate at which the event occurred relative to the containing sprite. A reference to a display list object that is related to the event. For example, when a `mouseOut` event occurs, `relatedObject` represents the display list object to which the pointing device now points. This property applies to the `mouseOut`, `mouseOver`, `rollOut`, and `rollOver` events. The value of this property can be `null` in two circumstances: if there no related object, or there is a related object, but it is in a security sandbox to which you don't have access. Use the `isRelatedObjectInaccessible()` property to determine which of these reasons applies. Indicates whether the Shift key is active(`true`) or inactive (`false`). The horizontal coordinate at which the event occurred in global Stage coordinates. This property is calculated when the `localX` property is set. The vertical coordinate at which the event occurred in global Stage coordinates. This property is calculated when the `localY` property is set. Instructs Flash Player or Adobe AIR to render after processing of this event completes, if the display list has been modified. <__init set="method" line="690" override="1"> { clickCount : 0, commandKey : false, delta : 0, buttonDown : false, shiftKey : false, altKey : false, ctrlKey : false, relatedObject : null, localY : 0, localX : 0, cancelable : false, bubbles : true } Creates an Event object that contains information about mouse events. Event objects are passed as parameters to event listeners. @param type The type of the event. Possible values are: `MouseEvent.CLICK`, `MouseEvent.DOUBLE_CLICK`, `MouseEvent.MOUSE_DOWN`, `MouseEvent.MOUSE_MOVE`, `MouseEvent.MOUSE_OUT`, `MouseEvent.MOUSE_OVER`, `MouseEvent.MOUSE_UP`, `MouseEvent.MIDDLE_CLICK`, `MouseEvent.MIDDLE_MOUSE_DOWN`, `MouseEvent.MIDDLE_MOUSE_UP`, `MouseEvent.RIGHT_CLICK`, `MouseEvent.RIGHT_MOUSE_DOWN`, `MouseEvent.RIGHT_MOUSE_UP`, `MouseEvent.MOUSE_WHEEL`, `MouseEvent.ROLL_OUT`, and `MouseEvent.ROLL_OVER`. @param bubbles Determines whether the Event object participates in the bubbling phase of the event flow. @param cancelable Determines whether the Event object can be canceled. @param localX The horizontal coordinate at which the event occurred relative to the containing sprite. @param localY The vertical coordinate at which the event occurred relative to the containing sprite. @param relatedObject The complementary InteractiveObject instance that is affected by the event. For example, when a `mouseOut` event occurs, `relatedObject` represents the display list object to which the pointing device now points. @param ctrlKey On Windows or Linux, indicates whether the Ctrl key is activated. On Mac, indicates whether either the Ctrl key or the Command key is activated. @param altKey Indicates whether the Alt key is activated(Windows or Linux only). @param shiftKey Indicates whether the Shift key is activated. @param buttonDown Indicates whether the primary mouse button is pressed. @param delta Indicates how many lines should be scrolled for each unit the user rotates the mouse wheel. A positive delta value indicates an upward scroll; a negative value indicates a downward scroll. Typical values are 1 to 3, but faster rotation may produce larger values. This parameter is used only for the `MouseEvent.mouseWheel` event. A MouseEvent object is dispatched into the event flow whenever mouse events occur. A mouse event is usually generated by a user input device, such as a mouse or a trackball, that uses a pointer. When nested nodes are involved, mouse events target the deepest possible nested node that is visible in the display list. This node is called the _target node_. To have a target node's ancestor receive notification of a mouse event, use `EventDispatcher.addEventListener()` on the ancestor node with the `type` parameter set to the specific mouse event you want to detect. "tags=\"haxe,release\"" "netStatus" Defines the value of the `type` property of a `netStatus` event object. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `false` | | `cancelable` | `false`; there is no default behavior to cancel. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `info` | An object with properties that describe the object's status or error condition. | | `target` | The NetConnection or NetStream object reporting its status. | `. On Flash Media Server, `` is disabled by default. When enabled, the default timeout value is 3600 seconds (1 hour). For more information, see [Close idle connections](http://help.adobe.com/en_US/flashmediaserver/configadmin/WS5b3ccc516d4fbf351e63e3d119f2925e64-7ff0.html#WS5b3ccc516d4fbf351e63e3d119f2925e64-7fe9). | | `"NetConnection.Connect.InvalidApp"` | `"error"` | The application name specified in the call to `NetConnection.connect()` is invalid. | | `"NetConnection.Connect.NetworkChange"` | `"status"` | Flash Player has detected a network change, for example, a dropped wireless connection, a successful wireless connection,or a network cable loss.
      Use this event to check for a network interface change. Don't use this event to implement your NetConnection reconnect logic. Use `"NetConnection.Connect.Closed"` to implement your NetConnection reconnect logic. | | `"NetConnection.Connect.Rejected"` | `"error"` | The connection attempt did not have permission to access the application. | | `"NetConnection.Connect.Success"` | `"status"` | The connection attempt succeeded. | | `"NetGroup.Connect.Failed"` | `"error"` | The NetGroup connection attempt failed. The `info.group` property indicates which NetGroup failed. | | `"NetGroup.Connect.Rejected"` | `"error"` | The NetGroup is not authorized to function. The `info.group` property indicates which NetGroup was denied. | | `"NetGroup.Connect.Succcess"` | `"status"` | The NetGroup is successfully constructed and authorized to function. The `info.group` property indicates which NetGroup has succeeded. | | `"NetGroup.LocalCoverage.Notify"` | `"status"` | Sent when a portion of the group address space for which this node is responsible changes. | | `"NetGroup.MulticastStream.PublishNotify"` | `"status"` | Sent when a new named stream is detected in NetGroup's Group. The `info.name:String` property is the name of the detected stream. | | `"NetGroup.MulticastStream.UnpublishNotify"` | `"status"` | Sent when a named stream is no longer available in the Group. The `info.name:String` property is name of the stream which has disappeared. | | `"NetGroup.Neighbor.Connect"` | `"status"` | Sent when a neighbor connects to this node. The `info.neighbor:String` property is the group address of the neighbor. The `info.peerID:String` property is the peer ID of the neighbor. | | `"NetGroup.Neighbor.Disconnect"` | `"status"` | Sent when a neighbor disconnects from this node. The `info.neighbor:String` property is the group address of the neighbor. The `info.peerID:String` property is the peer ID of the neighbor. | | `"NetGroup.Posting.Notify"` | `"status"` | Sent when a new Group Posting is received. The `info.message:Object` property is the message. The `info.messageID:String` property is this message's messageID. | | `"NetGroup.Replication.Fetch.Failed"` | `"status"` | Sent when a fetch request for an object (previously announced with NetGroup.Replication.Fetch.SendNotify) fails or is denied. A new attempt for the object will be made if it is still wanted. The `info.index:Number` property is the index of the object that had been requested. | | `"NetGroup.Replication.Fetch.Result"` | `"status"` | Sent when a fetch request was satisfied by a neighbor. The `info.index:Number` property is the object index of this result. The `info.object:Object` property is the value of this object. This index will automatically be removed from the Want set. If the object is invalid, this index can be re-added to the Want set with `NetGroup.addWantObjects()`. | | `"NetGroup.Replication.Fetch.SendNotify"` | `"status"` | Sent when the Object Replication system is about to send a request for an object to a neighbor.The `info.index:Number` property is the index of the object that is being requested. | | `"NetGroup.Replication.Request"` | `"status"` | Sent when a neighbor has requested an object that this node has announced with `NetGroup.addHaveObjects()`. This request **must** eventually be answered with either `NetGroup.writeRequestedObject()` or `NetGroup.denyRequestedObject()`. Note that the answer may be asynchronous. The `info.index:Number` property is the index of the object that has been requested. The `info.requestID:int` property is the ID of this request, to be used by `NetGroup.writeRequestedObject()` or `NetGroup.denyRequestedObject()`. | | `"NetGroup.SendTo.Notify"` | `"status"` | Sent when a message directed to this node is received. The `info.message:Object` property is the message. The `info.from:String` property is the groupAddress from which the message was received. The `info.fromLocal:Boolean` property is `TRUE` if the message was sent by this node (meaning the local node is the nearest to the destination group address), and `FALSE` if the message was received from a different node. To implement recursive routing, the message must be resent with `NetGroup.sendToNearest()` if `info.fromLocal` is `FALSE`. | | `"NetStream.Buffer.Empty"` | `"status"` | Flash Player is not receiving data quickly enough to fill the buffer. Data flow is interrupted until the buffer refills, at which time a `NetStream.Buffer.Full` message is sent and the stream begins playing again. | | `"NetStream.Buffer.Flush"` | `"status"` | Data has finished streaming, and the remaining buffer is emptied. | | `"NetStream.Buffer.Full"` | `"status"` | The buffer is full and the stream begins playing. | | `"NetStream.Connect.Closed"` | `"status"` | The P2P connection was closed successfully. The `info.stream` property indicates which stream has closed. | | `"NetStream.Connect.Failed"` | `"error"` | The P2P connection attempt failed. The `info.stream` property indicates which stream has failed. | | `"NetStream.Connect.Rejected"` | `"error"` | The P2P connection attempt did not have permission to access the other peer. The `info.stream` property indicates which stream was rejected. | | `"NetStream.Connect.Success"` | `"status"` | The P2P connection attempt succeeded. The `info.stream` property indicates which stream has succeeded. | | `"NetStream.DRM.UpdateNeeded"` | `"status"` | A NetStream object is attempting to play protected content, but the required Flash Access module is either not present, not permitted by the effective content policy, or not compatible with the current player. To update the module or player, use the `update()` method of flash.system.SystemUpdater. | | `"NetStream.Failed"` | `"error"` | (Flash Media Server) An error has occurred for a reason other than those listed in other event codes. | | `"NetStream.MulticastStream.Reset"` | `"status"` | A multicast subscription has changed focus to a different stream published with the same name in the same group. Local overrides of multicast stream parameters are lost. Reapply the local overrides or the new stream's default parameters will be used. | | `"NetStream.Pause.Notify"` | `"status"` | The stream is paused. | | `"NetStream.Play.Failed"` | `"error"` | An error has occurred in playback for a reason other than those listed elsewhere in this table, such as the subscriber not having read access. | | `"NetStream.Play.FileStructureInvalid"` | `"error"` | (AIR and Flash Player 9.0.115.0) The application detects an invalid file structure and will not try to play this type of file. | | `"NetStream.Play.InsufficientBW"` | `"warning"` | (Flash Media Server) The client does not have sufficient bandwidth to play the data at normal speed. | | `"NetStream.Play.NoSupportedTrackFound"` | `"error"` | (AIR and Flash Player 9.0.115.0) The application does not detect any supported tracks (video, audio or data) and will not try to play the file. | | `"NetStream.Play.PublishNotify"` | `"status"` | The initial publish to a stream is sent to all subscribers. | | `"NetStream.Play.Reset"` | `"status"` | Caused by a play list reset. | | `"NetStream.Play.Start"` | `"status"` | Playback has started. | | `"NetStream.Play.Stop"` | `"status"` | Playback has stopped. | | `"NetStream.Play.StreamNotFound"` | `"error"` | The file passed to the `NetStream.play()` method can't be found. | | `"NetStream.Play.Transition"` | `"status"` | (Flash Media Server 3.5) The server received the command to transition to another stream as a result of bitrate stream switching. This code indicates a success status event for the `NetStream.play2()` call to initiate a stream switch. If the switch does not succeed, the server sends a `NetStream.Play.Failed` event instead. When the stream switch occurs, an `onPlayStatus` event with a code of "NetStream.Play.TransitionComplete" is dispatched. For Flash Player 10 and later. | | `"NetStream.Play.UnpublishNotify"` | `"status"` | An unpublish from a stream is sent to all subscribers. | | `"NetStream.Publish.BadName"` | `"error"` | Attempt to publish a stream which is already being published by someone else. | | `"NetStream.Publish.Idle"` | `"status"` | The publisher of the stream is idle and not transmitting data. | | `"NetStream.Publish.Start"` | `"status"` | Publish was successful. | | `"NetStream.Record.AlreadyExists"` | `"status"` | The stream being recorded maps to a file that is already being recorded to by another stream. This can happen due to misconfigured virtual directories. | | `"NetStream.Record.Failed"` | `"error"` | An attempt to record a stream failed. | | `"NetStream.Record.NoAccess"` | `"error"` | Attempt to record a stream that is still playing or the client has no access right. | | `"NetStream.Record.Start"` | `"status"` | Recording has started. | | `"NetStream.Record.Stop"` | `"status"` | Recording stopped. | | `"NetStream.Seek.Failed"` | `"error"` | The seek fails, which happens if the stream is not seekable. | | `"NetStream.Seek.InvalidTime"` | `"error"` | For video downloaded progressively, the user has tried to seek or play past the end of the video data that has downloaded thus far, or past the end of the video once the entire file has downloaded. The `info.details` property of the event object contains a time code that indicates the last valid position to which the user can seek. | | `"NetStream.Seek.Notify"` | `"status"` | The seek operation is complete.
      Sent when `NetStream.seek()` is called on a stream in AS3 NetStream Data Generation Mode. The info object is extended to include `info.seekPoint` which is the same value passed to `NetStream.seek()`. | | `"NetStream.Step.Notify"` | `"status"` | The step operation is complete. | | `"NetStream.Unpause.Notify"` | `"status"` | The stream is resumed. | | `"NetStream.Unpublish.Success"` | `"status"` | The unpublish operation was successfuul. | | `"SharedObject.BadPersistence"` | `"error"` | A request was made for a shared object with persistence flags, but the request cannot be granted because the object has already been created with different flags. | | `"SharedObject.Flush.Failed"` | `"error"` | The "pending" status is resolved, but the `SharedObject.flush()` failed. | | `"SharedObject.Flush.Success"` | `"status"` | The "pending" status is resolved and the `SharedObject.flush()` call succeeded. | | `"SharedObject.UriMismatch"` | `"error"` | An attempt was made to connect to a NetConnection object that has a different URI (URL) than the shared object. | If you consistently see errors regarding the buffer, try changing the buffer using the `NetStream.bufferTime` property.]]>
      <__init set="method" line="171" override="1"> { info : null, cancelable : false, bubbles : false } Creates an Event object that contains information about `netStatus` events. Event objects are passed as parameters to event listeners. @param type The type of the event. Event listeners can access this information through the inherited `type` property. There is only one type of status event: `NetStatusEvent.NET_STATUS`. @param bubbles Determines whether the Event object participates in the bubbling stage of the event flow. Event listeners can access this information through the inherited `bubbles` property. @param cancelable Determines whether the Event object can be canceled. Event listeners can access this information through the inherited `cancelable` property. @param info An object containing properties that describe the object's status. Event listeners can access this object through the `info` property. A NetConnection, NetStream, or SharedObject object dispatches NetStatusEvent objects when a it reports its status. There is only one type of status event: `NetStatusEvent.NET_STATUS`. "tags=\"haxe,release\""
      "progress" Defines the value of the `type` property of a `progress` event object. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `false` | | `bytesLoaded` | The number of items or bytes loaded at the time the listener processes the event. | | `bytesTotal` | The total number of items or bytes that ultimately will be loaded if the loading process succeeds. | | `cancelable` | `false`; there is no default behavior to cancel. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `target` | The object reporting progress. | "socketData" Defines the value of the `type` property of a `socketData` event object. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `false` | | `cancelable` | `false`; there is no default behavior to cancel. | | `currentTarget` | The object that is actively processing the Event. | | `bytesLoaded` | The number of items or bytes loaded at the time the listener processes the event. | | `bytesTotal` | 0; this property is not used by `socketData` event objects. | | `target` | The socket reporting progress. | "standardOutputData" Defines the value of the `type` property of a `standardOutputData` event object. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `false` | | `cancelable` | `false`; there is no default behavior to cancel. | | `currentTarget` | The object that is actively processing the Event. | | `bytesLoaded` | The number of bytes of output data buffered by the NativeProcessObject.standardOutput due to this event. | | `bytesTotal` | 0; this property is not used by `standardOutputData` event objects. | | `target` | The NativeProcess object reporting output data. | "standardErrorData" Defines the value of the `type` property of a `standardErrorData` event object. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `false` | | `cancelable` | `false`; there is no default behavior to cancel. | | `currentTarget` | The object that is actively processing the Event. | | `bytesLoaded` | The number of bytes of output data buffered by the NativeProcessObject.standardError due to this event. | | `bytesTotal` | 0; this property is not used by `standardErrorData` event objects. | | `target` | The NativeProcess object reporting output data. | The number of items or bytes loaded when the listener processes the event. The total number of items or bytes that will be loaded if the loading process succeeds. If the progress event is dispatched/attached to a Socket object, the bytesTotal will always be 0 unless a value is specified in the bytesTotal parameter of the constructor. The actual number of bytes sent back or forth is not set and is up to the application developer. <__init set="method" line="145" override="1"> { bytesTotal : 0, bytesLoaded : 0, cancelable : false, bubbles : false } Creates an Event object that contains information about progress events. Event objects are passed as parameters to event listeners. @param type The type of the event. Possible values are:`ProgressEvent.PROGRESS`, `ProgressEvent.SOCKET_DATA`, `ProgressEvent.STANDARD_ERROR_DATA`, `ProgressEvent.STANDARD_INPUT_PROGRESS`, and `ProgressEvent.STANDARD_OUTPUT_DATA`. @param bubbles Determines whether the Event object participates in the bubbling stage of the event flow. @param cancelable Determines whether the Event object can be canceled. @param bytesLoaded The number of items or bytes loaded at the time the listener processes the event. @param bytesTotal The total number of items or bytes that will be loaded if the loading process succeeds. A ProgressEvent object is dispatched when a load operation has begun or a socket has received data. These events are usually generated when SWF files, images or data are loaded into an application. There are two types of progress events: `ProgressEvent.PROGRESS` and `ProgressEvent.SOCKET_DATA`. Additionally, in AIR ProgressEvent objects are dispatched when a data is sent to or from a child process using the NativeProcess class. "tags=\"haxe,release\"" "clearDOM" The `RenderEvent.CLEAR_DOM` constant defines the value of the `type` property of an `renderEvent` event object. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `true` | | `cancelable` | `true` | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `renderer` | A reference to the active display object renderer. | | `target` | The display object that is going to be rendered. | "renderCairo" The `RenderEvent.RENDER_CAIRO` constant defines the value of the `type` property of an `renderEvent` event object. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `true` | | `cancelable` | `true` | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `renderer` | A reference to the active display object renderer. | | `target` | The display object that is going to be rendered. | "renderCanvas" The `RenderEvent.RENDER_CANVAS` constant defines the value of the `type` property of an `renderEvent` event object. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `true` | | `cancelable` | `true` | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `renderer` | A reference to the active display object renderer. | | `target` | The display object that is going to be rendered. | "renderDOM" The `RenderEvent.RENDER_DOM` constant defines the value of the `type` property of an `renderEvent` event object. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `true` | | `cancelable` | `true` | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `renderer` | A reference to the active display object renderer. | | `target` | The display object that is going to be rendered. | "renderOpenGL" The `RenderEvent.RENDER_OPENGL` constant defines the value of the `type` property of an `renderEvent` event object. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `true` | | `cancelable` | `true` | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `renderer` | A reference to the active display object renderer. | | `target` | The display object that is going to be rendered. | Whether the current render should allow smoothing. The concatenated color transform for the display object being rendered. The concatenated matrix for the display object being rendered. The display object renderer being used for this render. <__init set="method" line="181" override="1"> { allowSmoothing : true, objectColorTransform : null, objectMatrix : null, cancelable : false, bubbles : false } Creates an Event object that contains information about render events. Event objects are passed as parameters to event listeners. @param type The type of the event. Possible values are: `RenderEvent.CLEAR_DOM`, `RenderEvent.RENDER_CAIRO`, `RenderEvent.RENDER_CANVAS`, `RenderEvent.RENDER_DOM`, and `RenderEvent.RENDER_OPENGL`. @param bubbles Determines whether the Event object participates in the bubbling stage of the event flow. @param cancelable Determines whether the Event object can be canceled. @param objectMatrix Sets the concatenated matrix for the display object being rendered. @param objectTransform Sets the concatenated color transform for the display object being rendered. @param allowSmoothing Determines whether the current render should allow smoothing. **BETA** RenderEvent is dispatched (optionally) once a listener is added to a DisplayObject. When the internal Stage renderer is ready to draw the specified object, a RenderEvent will be dispatched. Caching a RenderEvent to access at a later time will not work properly. Also, since the RenderEvent is more of an internal API, there may be additional concerns to order to ensure that all objects and features work as-intended. The type of RenderEvent dispatched will match the type of rendering being used. This renderer type will match the default Stage render, but also can depend on whether an off-screen render (such as DisplayObject `cacheAsBitmap` or BitmapData `draw`) is being used. "tags=\"haxe,release\"" openfl.geom.ColorTransform "securityError" The `SecurityErrorEvent.SECURITY_ERROR` constant defines the value of the `type` property of a `securityError` event object. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `false` | | `cancelable` | `false`; there is no default behavior to cancel. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `target` | The network object reporting the security error. | | `text` | Text to be displayed as an error message. | { id : 0, text : "", cancelable : false, bubbles : false } Creates an Event object that contains information about security error events. Event objects are passed as parameters to event listeners. @param type The type of the event. Event listeners can access this information through the inherited `type` property. There is only one type of error event: `SecurityErrorEvent.SECURITY_ERROR`. @param bubbles Determines whether the Event object participates in the bubbling stage of the event flow. Event listeners can access this information through the inherited `bubbles` property. @param cancelable Determines whether the Event object can be canceled. Event listeners can access this information through the inherited `cancelable` property. @param text Text to be displayed as an error message. Event listeners can access this information through the `text` property. @param id A reference number to associate with the specific error. An object dispatches a SecurityErrorEvent object to report the occurrence of a security error. Security errors reported through this class are generally from asynchronous operations, such as loading data, in which security violations may not manifest immediately. Your event listener can access the object's `text` property to determine what operation was attempted and any URLs that were involved. If there are no event listeners, the debugger version of Flash Player or the AIR Debug Launcher (ADL) application automatically displays an error message that contains the contents of the `text` property. There is one type of security error event: `SecurityErrorEvent.SECURITY_ERROR`. Security error events are the final events dispatched for any target object. This means that any other events, including generic error events, are not dispatched for a target object that experiences a security error. "tags=\"haxe,release\"" "timer" Defines the value of the `type` property of a `timer` event object. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `false` | | `cancelable` | `false`; there is no default behavior to cancel. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `target` | The Timer object that has reached its interval. | "timerComplete" Defines the value of the `type` property of a `timerComplete` event object. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `false` | | `cancelable` | `false`; there is no default behavior to cancel. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `target` | The Timer object that has completed its requests. | Instructs Flash Player or the AIR runtime to render after processing of this event completes, if the display list has been modified. { cancelable : false, bubbles : false } Creates an Event object with specific information relevant to `timer` events. Event objects are passed as parameters to event listeners. @param type The type of the event. Event listeners can access this information through the inherited `type` property. @param bubbles Determines whether the Event object bubbles. Event listeners can access this information through the inherited `bubbles` property. @param cancelable Determines whether the Event object can be canceled. Event listeners can access this information through the inherited `cancelable` property. A Timer object dispatches a TimerEvent objects whenever the Timer object reaches the interval specified by the `Timer.delay` property. "tags=\"haxe,release\"" "touchBegin" Defines the value of the `type` property of a `TOUCH_BEGIN` touch event object. The dispatched TouchEvent object has the following properties: | Property | Value | | --- | --- | | `altKey` | `true` if the Alt key is active (Windows or Linux). | | `bubbles` | `true` | | `cancelable` | `false`; there is no default behavior to cancel. | | `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. | | `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. | | `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `eventPhase` | The current phase in the event flow. | | `isRelatedObjectInaccessible` | `true` if the relatedObject property is set to `null` because of security sandbox rules. | | `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. | | `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. | | `pressure` | A value between `0.0` and `1.0` indicating force of the contact with the device. If the device does not support detecting the pressure, the value is `1.0`. | | `relatedObject` | A reference to a display list object related to the event. | | `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. | | `sizeX` | Width of the contact area. | | `sizeY` | Height of the contact area. | | `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. | | `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. | | `target` | The InteractiveObject instance under the touching device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | | `touchPointID` | A unique identification number (as an int) assigned to the touch point. | "touchEnd" Defines the value of the `type` property of a `TOUCH_END` touch event object. The dispatched TouchEvent object has the following properties: | Property | Value | | --- | --- | | `altKey` | `true` if the Alt key is active (Windows or Linux). | | `bubbles` | `true` | | `cancelable` | `false`; there is no default behavior to cancel. | | `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. | | `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. | | `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `eventPhase` | The current phase in the event flow. | | `isRelatedObjectInaccessible` | `true` if the relatedObject property is set to `null` because of security sandbox rules. | | `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. | | `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. | | `pressure` | A value between `0.0` and `1.0` indicating force of the contact with the device. If the device does not support detecting the pressure, the value is `1.0`. | | `relatedObject` | A reference to a display list object related to the event. | | `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. | | `sizeX` | Width of the contact area. | | `sizeY` | Height of the contact area. | | `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. | | `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. | | `target` | The InteractiveObject instance under the touching device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | | `touchPointID` | A unique identification number (as an int) assigned to the touch point. | "touchMove" Defines the value of the `type` property of a `TOUCH_MOVE` touch event object. The dispatched TouchEvent object has the following properties: | Property | Value | | --- | --- | | `altKey` | `true` if the Alt key is active (Windows or Linux). | | `bubbles` | `true` | | `cancelable` | `false`; there is no default behavior to cancel. | | `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. | | `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. | | `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `eventPhase` | The current phase in the event flow. | | `isRelatedObjectInaccessible` | `true` if the relatedObject property is set to `null` because of security sandbox rules. | | `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. | | `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. | | `pressure` | A value between `0.0` and `1.0` indicating force of the contact with the device. If the device does not support detecting the pressure, the value is `1.0`. | | `relatedObject` | A reference to a display list object related to the event. | | `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. | | `sizeX` | Width of the contact area. | | `sizeY` | Height of the contact area. | | `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. | | `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. | | `target` | The InteractiveObject instance under the touching device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | | `touchPointID` | A unique identification number (as an int) assigned to the touch point. | "touchOut" Defines the value of the `type` property of a `TOUCH_OUT` touch event object. The dispatched TouchEvent object has the following properties: | Property | Value | | --- | --- | | `altKey` | `true` if the Alt key is active (Windows or Linux). | | `bubbles` | `true` | | `cancelable` | `false`; there is no default behavior to cancel. | | `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. | | `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. | | `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `eventPhase` | The current phase in the event flow. | | `isRelatedObjectInaccessible` | `true` if the relatedObject property is set to `null` because of security sandbox rules. | | `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. | | `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. | | `pressure` | A value between `0.0` and `1.0` indicating force of the contact with the device. If the device does not support detecting the pressure, the value is `1.0`. | | `relatedObject` | A reference to a display list object related to the event. | | `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. | | `sizeX` | Width of the contact area. | | `sizeY` | Height of the contact area. | | `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. | | `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. | | `target` | The InteractiveObject instance under the touching device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | | `touchPointID` | A unique identification number (as an int) assigned to the touch point. | "touchOver" Defines the value of the `type` property of a `TOUCH_OVER` touch event object. The dispatched TouchEvent object has the following properties: | Property | Value | | --- | --- | | `altKey` | `true` if the Alt key is active (Windows or Linux). | | `bubbles` | `true` | | `cancelable` | `false`; there is no default behavior to cancel. | | `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. | | `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. | | `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `eventPhase` | The current phase in the event flow. | | `isRelatedObjectInaccessible` | `true` if the relatedObject property is set to `null` because of security sandbox rules. | | `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. | | `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. | | `pressure` | A value between `0.0` and `1.0` indicating force of the contact with the device. If the device does not support detecting the pressure, the value is `1.0`. | | `relatedObject` | A reference to a display list object related to the event. | | `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. | | `sizeX` | Width of the contact area. | | `sizeY` | Height of the contact area. | | `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. | | `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. | | `target` | The InteractiveObject instance under the touching device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | | `touchPointID` | A unique identification number (as an int) assigned to the touch point. | "touchRollOut" Defines the value of the `type` property of a `TOUCH_ROLL_OUT` touch event object. The dispatched TouchEvent object has the following properties: | Property | Value | | --- | --- | | `altKey` | `true` if the Alt key is active (Windows or Linux). | | `bubbles` | `true` | | `cancelable` | `false`; there is no default behavior to cancel. | | `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. | | `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. | | `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `eventPhase` | The current phase in the event flow. | | `isRelatedObjectInaccessible` | `true` if the relatedObject property is set to `null` because of security sandbox rules. | | `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. | | `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. | | `pressure` | A value between `0.0` and `1.0` indicating force of the contact with the device. If the device does not support detecting the pressure, the value is `1.0`. | | `relatedObject` | A reference to a display list object related to the event. | | `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. | | `sizeX` | Width of the contact area. | | `sizeY` | Height of the contact area. | | `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. | | `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. | | `target` | The InteractiveObject instance under the touching device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | | `touchPointID` | A unique identification number (as an int) assigned to the touch point. | "touchRollOver" Defines the value of the `type` property of a `TOUCH_ROLL_OVER` touch event object. The dispatched TouchEvent object has the following properties: | Property | Value | | --- | --- | | `altKey` | `true` if the Alt key is active (Windows or Linux). | | `bubbles` | `true` | | `cancelable` | `false`; there is no default behavior to cancel. | | `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. | | `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. | | `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `eventPhase` | The current phase in the event flow. | | `isRelatedObjectInaccessible` | `true` if the relatedObject property is set to `null` because of security sandbox rules. | | `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. | | `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. | | `pressure` | A value between `0.0` and `1.0` indicating force of the contact with the device. If the device does not support detecting the pressure, the value is `1.0`. | | `relatedObject` | A reference to a display list object related to the event. | | `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. | | `sizeX` | Width of the contact area. | | `sizeY` | Height of the contact area. | | `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. | | `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. | | `target` | The InteractiveObject instance under the touching device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | | `touchPointID` | A unique identification number (as an int) assigned to the touch point. | "touchTap" Defines the value of the `type` property of a `TOUCH_TAP` touch event object. The dispatched TouchEvent object has the following properties: | Property | Value | | --- | --- | | `altKey` | `true` if the Alt key is active (Windows or Linux). | | `bubbles` | `true` | | `cancelable` | `false`; there is no default behavior to cancel. | | `commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows. | | `controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive. | | `ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`. | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `eventPhase` | The current phase in the event flow. | | `isRelatedObjectInaccessible` | `true` if the relatedObject property is set to `null` because of security sandbox rules. | | `localX` | The horizontal coordinate at which the event occurred relative to the containing sprite. | | `localY` | The vertical coordinate at which the event occurred relative to the containing sprite. | | `pressure` | A value between `0.0` and `1.0` indicating force of the contact with the device. If the device does not support detecting the pressure, the value is `1.0`. | | `relatedObject` | A reference to a display list object related to the event. | | `shiftKey` | `true` if the Shift key is active; `false` if it is inactive. | | `sizeX` | Width of the contact area. | | `sizeY` | Height of the contact area. | | `stageX` | The horizontal coordinate at which the event occurred in global stage coordinates. | | `stageY` | The vertical coordinate at which the event occurred in global stage coordinates. | | `target` | The InteractiveObject instance under the touching device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event. | | `touchPointID` | A unique identification number (as an int) assigned to the touch point. | <__create set="method" line="501" static="1"> Indicates whether the Alt key is active(`true`) or inactive (`false`). Supported for Windows and Linux operating systems only. Indicates whether the command key is activated (Mac only). On a Mac OS, the value of the `commandKey` property is the same value as the `ctrlKey` property. This property is always `false` on Windows or Linux. Indicates whether the Control key is activated on Mac and whether the Ctrl key is activated on Windows or Linux. On Windows or Linux, indicates whether the Ctrl key is active (`true`) or inactive(`false`). On Macintosh, indicates whether either the Control key or the Command key is activated. "checkstyle:FieldDocComment" hide Indicates whether the first point of contact is mapped to mouse events. The horizontal coordinate at which the event occurred relative to the containing sprite. The vertical coordinate at which the event occurred relative to the containing sprite. A value between `0.0` and `1.0` indicating force of the contact with the device. If the device does not support detecting the pressure, the value is `1.0`. A reference to a display list object that is related to the event. For example, when a `touchOut` event occurs, `relatedObject` represents the display list object to which the pointing device now points. This property applies to the `touchOut`, `touchOver`, `touchRollOut`, and `touchRollOver` events. The value of this property can be `null` in two circumstances: if there is no related object, or there is a related object, but it is in a security sandbox to which you don't have access. Use the `isRelatedObjectInaccessible()` property to determine which of these reasons applies. Indicates whether the Shift key is active(`true`) or inactive (`false`). Width of the contact area. Only supported on Android(C++ target), in the range of 0-1. Height of the contact area. Only supported on Android(C++ target), in the range of 0-1. The horizontal coordinate at which the event occurred in global Stage coordinates. This property is calculated when the `localX` property is set. The vertical coordinate at which the event occurred in global Stage coordinates. This property is calculated when the `localY` property is set. A unique identification number(as an int) assigned to the touch point. Instructs Flash Player or Adobe AIR to render after processing of this event completes, if the display list has been modified. <__init set="method" line="511" override="1"> { isTouchPointCanceled : false, samples : null, touchIntent : null, timestamp : 0, controlKey : false, commandKey : false, shiftKey : false, altKey : false, ctrlKey : false, relatedObject : null, pressure : 0, sizeY : 0, sizeX : 0, localY : 0, localX : 0, isPrimaryTouchPoint : false, touchPointID : 0, cancelable : false, bubbles : true } Creates an Event object that contains information about touch events. Event objects are passed as parameters to event listeners. @param type The type of the event. Possible values are: `TouchEvent.TOUCH_BEGIN`, `TouchEvent.TOUCH_END`, `TouchEvent.TOUCH_MOVE`, `TouchEvent.TOUCH_OUT`, `TouchEvent.TOUCH_OVER`, `TouchEvent.TOUCH_ROLL_OUT`, `TouchEvent.TOUCH_ROLL_OVER`, and `TouchEvent.TOUCH_TAP`. @param bubbles Determines whether the Event object participates in the bubbling phase of the event flow. @param cancelable Determines whether the Event object can be canceled. @param touchPointID A unique identification number(as an int) assigned to the touch point. @param isPrimaryTouchPoint Indicates whether the first point of contact is mapped to mouse events. @param relatedObject The complementary InteractiveObject instance that is affected by the event. For example, when a `touchOut` event occurs, `relatedObject` represents the display list object to which the pointing device now points. @param ctrlKey On Windows or Linux, indicates whether the Ctrl key is activated. On Mac, indicates whether either the Ctrl key or the Command key is activated. @param altKey Indicates whether the Alt key is activated (Windows or Linux only). @param shiftKey Indicates whether the Shift key is activated. The TouchEvent class lets you handle events on devices that detect user contact with the device(such as a finger on a touch screen). When a user interacts with a device such as a mobile phone or tablet with a touch screen, the user typically touches the screen with his or her fingers or a pointing device. You can develop applications that respond to basic touch events(such as a single finger tap) with the TouchEvent class. Create event listeners using the event types defined in this class. For user interaction with multiple points of contact(such as several fingers moving across a touch screen at the same time) use the related GestureEvent, PressAndTapGestureEvent, and TransformGestureEvent classes. And, use the properties and methods of these classes to construct event handlers that respond to the user touching the device. Use the Multitouch class to determine the current environment's support for touch interaction, and to manage the support of touch interaction if the current environment supports it. **Note:** When objects are nested on the display list, touch events target the deepest possible nested object that is visible in the display list. This object is called the target node. To have a target node's ancestor(an object containing the target node in the display list) receive notification of a touch event, use `EventDispatcher.addEventListener()` on the ancestor node with the type parameter set to the specific touch event you want to detect. "tags=\"haxe,release\"" "uncaughtError" Defines the value of the `type` property of an `uncaughtError` event object. This event has the following properties: | Property | Value | | --- | --- | | `bubbles` | `true` | | `cancelable` | `true`; cancelling the event prevents the uncaught error dialog from appearing in debugger runtime versions | | `currentTarget` | The object that is actively processing the Event object with an event listener. | | `error` | The uncaught error. | | `target` | The LoaderInfo object associated with the SWF where the error happened. | | `text` | Text error message. | The error object associated with the uncaught error. Typically, this object's data type is one of the following: * An Error instance (or one of its subclasses), if the uncaught error is a synchronous error created by a `throw` statement, such as an error that could have been caught using a `try..catch` block * An ErrorEvent instance (or one of its subclasses), if the uncaught error is an asynchronous error that dispatches an error event when the error happens However, the `error` property can potentially be an object of any data type. ActionScript does not require a `throw` statement to be used only with Error objects. For example, the following code is legal both at compile time and run time: ```haxe throw new Sprite(); ``` If that `throw` statement is not caught by a `try..catch` block, the `throw` statement triggers an `uncaughtError` event. In that case, the `error` property of the UncaughtErrorEvent object that's dispatched is the Sprite object that's constructed in the `throw` statement. Consequently, in your `uncaughtError` listener, you should check the data type of the `error` property. The following example demonstrates this check: ```haxe function uncaughtErrorHandler(event:UncaughtErrorEvent):Void { var message:String; if (Std.isOfType(event.error, Error)) { message = cast(event.error, Error).message; } else if (Std.isOfType(event.error, ErrorEvent)) { message = cast(event.error, ErrorEvent).text; } else { message = Std.string(event.error); } } ``` If the `error` property contains an Error instance (or Error subclass), the available error information varies depending on the version of the runtime in which the content is running. The following functionality is only available when content is running in a debugger version of the runtime, such as the debugger version of Flash Player or the AIR Debug Launcher (ADL): * `Error.getStackTrace()` to get the call stack that led to the error. In non-debugger runtime versions, this method returns `null`. Note that call stack information is never available when the `error` property is an ErrorEvent instance. * Complete `Error.message` text. In non-debugger runtime versions, this property contains a short version of the error message, which is often a combination of the `Error.errorID` and `Error.name` properties. All other properties and methods of the Error class are available in all runtime versions. <__init set="method" line="200" override="1"> { error : null, cancelable : true, bubbles : true } Creates an UncaughtErrorEvent object that contains information about an `uncaughtError` event. @param type The type of the event. @param bubbles Determines whether the Event object participates in the bubbling stage of the event flow. Event listeners can access this information through the inherited `bubbles` property. @param cancelable Determines whether the Event object can be canceled. Event listeners can access this information through the inherited `cancelable` property. @param error_in The object associated with the error that was not caught or handled (an Error or ErrorEvent object under normal circumstances). An UncaughtErrorEvent object is dispatched by an instance of the UncaughtErrorEvents class when an uncaught error occurs. An uncaught error happens when an error is thrown outside of any `try..catch` blocks or when an ErrorEvent object is dispatched with no registered listeners. The uncaught error event functionality is often described as a "global error handler." The UncaughtErrorEvents object that dispatches the event is associated with either a LoaderInfo object or a Loader object. Use the following properties to access an UncaughtErrorEvents instance: * `LoaderInfo.uncaughtErrorEvents`: to detect uncaught errors in code defined in the same SWF. * `Loader.uncaughtErrorEvents`: to detect uncaught errors in code defined in the SWF loaded by a Loader object. When an `uncaughtError` event happens, even if the event is handled, execution does not continue in the call stack that caused the error. If the error is a synchronous error, any code remaining in the function where the error happened is not executed. Consequently, it is likely that when an uncaught error event happens, your application is in an unstable state. Since there can be many causes for an uncaught error, it is impossible to predict what functionality is available. For example, your application may be able to execute network operations or file operations. However, those operations aren't necessarily available. When one SWF loads another, `uncaughtError` events bubble down and up again through the LoaderInfo heirarchy. For example, suppose A.swf loads B.swf using a Loader instance. If an uncaught error occurs in B.swf, an `uncaughtError` event is dispatched to LoaderInfo and Loader objects in the following sequence: 1. (Capture phase) A.swf's LoaderInfo 2. (Capture phase) Loader in A.swf 3. (Target phase) B.swf's LoaderInfo 4. (Bubble phase) Loader in A.swf 5. (Bubble phase) A.swf's LoaderInfo A Loader object's `uncaughtErrorEvents` property never dispatches an `uncaughtErrorEvent` in the target phase. It only dispatches the event in the capture and bubbling phases. As with other event bubbling, calling `stopPropagation()` or `stopImmediatePropagation()` stops the event from being dispatched to any other listeners, with one important difference. A Loader object's UncaughtErrorEvents object is treated as a pair with the loaded SWF's `LoaderInfo.uncaughtErrorEvents` object for event propagation purposes. If a listener registered with one of those objects calls the `stopPropagation()` method, events are still dispatched to other listeners registered with that UncaughtErrorEvents object _and_ to listeners registered with its partner UncaughtErrorEvents object before event propagation ends. The `stopImmediatePropagation()` method still prevents events from being dispatched to all additional listeners. When content is running in a debugger version of the runtime, such as the debugger version of Flash Player or the AIR Debug Launcher (ADL), an uncaught error dialog appears when an uncaught error happens. For those runtime versions, the error dialog appears even when a listener is registered for the `uncaughtError` event. To prevent the dialog from appearing in that situation, call the UncaughtErrorEvent object's `preventDefault()` method. If the content loaded by a Loader object is an AVM1 (ActionScript 2) SWF file, uncaught errors in the AVM1 SWF file do not result in an `uncaughtError` event. In addition, JavaScript errors in HTML content loaded in an HTMLLoader object (including a Flex HTML control) do not result in an `uncaughtError` event. "tags=\"haxe,release\"" <__enabled> { useWeakReference : false, priority : 0, useCapture : false } { useCapture : false } Creates an UncaughtErrorEvents instance. Developer code shouldn't create UncaughtErrorEvents instances directly. To access an UncaughtErrorEvents object, use one of the following properties: * `LoaderInfo.uncaughtErrorEvents`: to detect uncaught errors in code defined in the same SWF. * `Loader.uncaughtErrorEvents`: to detect uncaught errors in code defined in the SWF loaded by a Loader object. try..catch` block to isolate code that potentially throws a synchronous error * When performing an operation that dispatches an event when an error occurs, register a listener for that error event If the content loaded by a Loader object is an AVM1 (ActionScript 2) SWF file, uncaught errors in the AVM1 SWF file do not result in an `uncaughtError` event. In addition, JavaScript errors in HTML content loaded in an HTMLLoader object (including a Flex HTML control) do not result in an `uncaughtError` event. @event uncaughtError Dispatched when an error occurs and developer code doesn't detect and handle the error.]]> "tags=\"haxe,release\"" <__bottomExtension> <__leftExtension> <__needSecondBitmapData> <__numShaderPasses> <__preserveObject> <__renderDirty> <__rightExtension> <__shaderBlendMode> <__smooth> <__topExtension> Returns a BitmapFilter object that is an exact copy of the original BitmapFilter object. @return A BitmapFilter object. <__applyFilter set="method" line="63"> <__initShader set="method" line="68"> The BitmapFilter class is the base class for all image filter effects. The BevelFilter, BlurFilter, ColorMatrixFilter, ConvolutionFilter, DisplacementMapFilter, DropShadowFilter, GlowFilter, GradientBevelFilter, and GradientGlowFilter classes all extend the BitmapFilter class. You can apply these filter effects to any display object. You can neither directly instantiate nor extend BitmapFilter. "tags=\"haxe,release\"" hide openfl.display._internal hide openfl.display._internal hide openfl.display._internal hide openfl.display._internal hide openfl.display._internal { code : null } "attribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\n\t\tvarying vec2 openfl_TextureCoordv;\n\n\t\tuniform mat4 openfl_Matrix;\n\t\tuniform vec2 openfl_TextureSize;" "openfl_TextureCoordv = openfl_TextureCoord;\n\n\t\tgl_Position = openfl_Matrix * openfl_Position;" "#pragma header\n\n\t\tvoid main(void) {\n\n\t\t\t#pragma body\n\n\t\t}" "varying vec2 openfl_TextureCoordv;\n\n\t\tuniform sampler2D openfl_Texture;\n\t\tuniform vec2 openfl_TextureSize;" "gl_FragColor = texture2D (openfl_Texture, openfl_TextureCoordv);" "#pragma header\n\n\t\tvoid main(void) {\n\n\t\t\t#pragma body\n\n\t\t}" openfl.utils._internal.ShaderMacro.build() openfl.utils._internal.ShaderMacro.build() "tags=\"haxe,release\"" <__update set="method" line="328" override="1"> "uniform sampler2D openfl_Texture;\n\n\t\tvarying vec2 vBlurCoords[7];\n\n\t\tvoid main(void) {\n\n\t\t\tvec4 sum = vec4(0.0);\n\t\t\tsum += texture2D(openfl_Texture, vBlurCoords[0]) * 0.00443;\n\t\t\tsum += texture2D(openfl_Texture, vBlurCoords[1]) * 0.05399;\n\t\t\tsum += texture2D(openfl_Texture, vBlurCoords[2]) * 0.24197;\n\t\t\tsum += texture2D(openfl_Texture, vBlurCoords[3]) * 0.39894;\n\t\t\tsum += texture2D(openfl_Texture, vBlurCoords[4]) * 0.24197;\n\t\t\tsum += texture2D(openfl_Texture, vBlurCoords[5]) * 0.05399;\n\t\t\tsum += texture2D(openfl_Texture, vBlurCoords[6]) * 0.00443;\n\n\t\t\tgl_FragColor = sum;\n\n\t\t}" "attribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\n\t\tuniform mat4 openfl_Matrix;\n\n\t\tuniform vec2 uRadius;\n\t\tvarying vec2 vBlurCoords[7];\n\t\tuniform vec2 uTextureSize;\n\n\t\tvoid main(void) {\n\n\t\t\tgl_Position = openfl_Matrix * openfl_Position;\n\n\t\t\tvec2 r = uRadius / uTextureSize;\n\t\t\tvBlurCoords[0] = openfl_TextureCoord - r;\n\t\t\tvBlurCoords[1] = openfl_TextureCoord - r * 0.75;\n\t\t\tvBlurCoords[2] = openfl_TextureCoord - r * 0.5;\n\t\t\tvBlurCoords[3] = openfl_TextureCoord;\n\t\t\tvBlurCoords[4] = openfl_TextureCoord + r * 0.5;\n\t\t\tvBlurCoords[5] = openfl_TextureCoord + r * 0.75;\n\t\t\tvBlurCoords[6] = openfl_TextureCoord + r;\n\n\t\t}" openfl.utils._internal.ShaderMacro.build() openfl.utils._internal.ShaderMacro.build() "tags=\"haxe,release\"" <__blurShader expr="new BlurShader()" line="73" static="1"> new BlurShader() The amount of horizontal blur. Valid values are from 0 to 255(floating point). The default value is 4. Values that are a power of 2(such as 2, 4, 8, 16 and 32) are optimized to render more quickly than other values. The amount of vertical blur. Valid values are from 0 to 255(floating point). The default value is 4. Values that are a power of 2(such as 2, 4, 8, 16 and 32) are optimized to render more quickly than other values. The number of times to perform the blur. The default value is `BitmapFilterQuality.LOW`, which is equivalent to applying the filter once. The value `BitmapFilterQuality.MEDIUM` applies the filter twice; the value `BitmapFilterQuality.HIGH` applies it three times and approximates a Gaussian blur. Filters with lower values are rendered more quickly. For most applications, a `quality` value of low, medium, or high is sufficient. Although you can use additional numeric values up to 15 to increase the number of times the blur is applied, higher values are rendered more slowly. Instead of increasing the value of `quality`, you can often get a similar effect, and with faster rendering, by simply increasing the values of the `blurX` and `blurY` properties. You can use the following BitmapFilterQuality constants to specify values of the `quality` property: * `BitmapFilterQuality.LOW` * `BitmapFilterQuality.MEDIUM` * `BitmapFilterQuality.HIGH` <__blurX> <__blurY> <__horizontalPasses> <__quality> <__verticalPasses> <__applyFilter set="method" line="185" override="1"> <__initShader set="method" line="198" override="1"> { quality : 1, blurY : 4, blurX : 4 } Initializes the filter with the specified parameters. The default values create a soft, unfocused image. @param blurX The amount to blur horizontally. Valid values are from 0 to 255.0(floating-point value). @param blurY The amount to blur vertically. Valid values are from 0 to 255.0(floating-point value). @param quality The number of times to apply the filter. You can specify the quality using the BitmapFilterQuality constants: * `openfl.filters.BitmapFilterQuality.LOW` * `openfl.filters.BitmapFilterQuality.MEDIUM` * `openfl.filters.BitmapFilterQuality.HIGH` High quality approximates a Gaussian blur. For most applications, these three values are sufficient. Although you can use additional numeric values up to 15 to achieve different effects, be aware that higher values are rendered more slowly. The BlurFilter class lets you apply a blur visual effect to display objects. A blur effect softens the details of an image. You can produce blurs that range from a softly unfocused look to a Gaussian blur, a hazy appearance like viewing an image through semi-opaque glass. When the `quality` property of this filter is set to low, the result is a softly unfocused look. When the `quality` property is set to high, it approximates a Gaussian blur filter. You can apply the filter to any display object(that is, objects that inherit from the DisplayObject class), such as MovieClip, SimpleButton, TextField, and Video objects, as well as to BitmapData objects. To create a new filter, use the constructor `new BlurFilter()`. The use of filters depends on the object to which you apply the filter: * To apply filters to movie clips, text fields, buttons, and video, use the `filters` property(inherited from DisplayObject). Setting the `filters` property of an object does not modify the object, and you can remove the filter by clearing the `filters` property. * To apply filters to BitmapData objects, use the `BitmapData.applyFilter()` method. Calling `applyFilter()` on a BitmapData object takes the source BitmapData object and the filter object and generates a filtered image as a result. If you apply a filter to a display object, the `cacheAsBitmap` property of the display object is set to `true`. If you remove all filters, the original value of `cacheAsBitmap` is restored. This filter supports Stage scaling. However, it does not support general scaling, rotation, and skewing. If the object itself is scaled (`scaleX` and `scaleY` are not set to 100%), the filter effect is not scaled. It is scaled only when the user zooms in on the Stage. A filter is not applied if the resulting image exceeds the maximum dimensions. In AIR 1.5 and Flash Player 10, the maximum is 8,191 pixels in width or height, and the total number of pixels cannot exceed 16,777,215 pixels.(So, if an image is 8,191 pixels wide, it can only be 2,048 pixels high.) In Flash Player 9 and earlier and AIR 1.1 and earlier, the limitation is 2,880 pixels in height and 2,880 pixels in width. If, for example, you zoom in on a large movie clip with a filter applied, the filter is turned off if the resulting image exceeds the maximum dimensions. "tags=\"haxe,release\"" openfl.geom.Point openfl.geom.Rectangle "\n\t\tuniform sampler2D openfl_Texture;\n\t\tuniform vec4 uColor;\n\t\tuniform float uStrength;\n\t\tvarying vec2 vTexCoord;\n\t\tvarying vec2 vBlurCoords[6];\n\n\t\tvoid main(void)\n\t\t{\n vec4 texel = texture2D(openfl_Texture, vTexCoord);\n\n vec3 contributions = vec3(0.00443, 0.05399, 0.24197);\n vec3 top = vec3(\n texture2D(openfl_Texture, vBlurCoords[0]).a,\n texture2D(openfl_Texture, vBlurCoords[1]).a,\n texture2D(openfl_Texture, vBlurCoords[2]).a\n );\n vec3 bottom = vec3(\n texture2D(openfl_Texture, vBlurCoords[3]).a,\n texture2D(openfl_Texture, vBlurCoords[4]).a,\n texture2D(openfl_Texture, vBlurCoords[5]).a\n );\n\n float a = texel.a * 0.39894;\n\t\t\ta += dot(top, contributions.xyz);\n a += dot(bottom, contributions.zyx);\n\n\t\t\tgl_FragColor = uColor * clamp(a * uStrength, 0.0, 1.0);\n\t\t}\n\t" "\n\t\tattribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\n\t\tuniform mat4 openfl_Matrix;\n\t\tuniform vec2 openfl_TextureSize;\n\n\t\tuniform vec2 uRadius;\n\t\tvarying vec2 vTexCoord;\n\t\tvarying vec2 vBlurCoords[6];\n\n\t\tvoid main(void) {\n\n\t\t\tgl_Position = openfl_Matrix * openfl_Position;\n\t\t\tvTexCoord = openfl_TextureCoord;\n\n\t\t\tvec3 offset = vec3(0.5, 0.75, 1.0);\n\t\t\tvec2 r = uRadius / openfl_TextureSize;\n\t\t\tvBlurCoords[0] = openfl_TextureCoord - r * offset.z;\n\t\t\tvBlurCoords[1] = openfl_TextureCoord - r * offset.y;\n\t\t\tvBlurCoords[2] = openfl_TextureCoord - r * offset.x;\n\t\t\tvBlurCoords[3] = openfl_TextureCoord + r * offset.x;\n\t\t\tvBlurCoords[4] = openfl_TextureCoord + r * offset.y;\n\t\t\tvBlurCoords[5] = openfl_TextureCoord + r * offset.z;\n\t\t}\n\t" openfl.utils._internal.ShaderMacro.build() openfl.utils._internal.ShaderMacro.build() "tags=\"haxe,release\"" "\n\t\tuniform sampler2D openfl_Texture;\n\t\tuniform sampler2D sourceBitmap;\n\t\tvarying vec4 textureCoords;\n\n\t\tvoid main(void) {\n\t\t\tvec4 src = texture2D(sourceBitmap, textureCoords.xy);\n\t\t\tvec4 glow = texture2D(openfl_Texture, textureCoords.zw);\n\n\t\t\tgl_FragColor = glow * (1.0 - src.a);\n\t\t}\n\t" "attribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\t\tuniform mat4 openfl_Matrix;\n\t\tuniform vec2 openfl_TextureSize;\n\t\tuniform vec2 offset;\n\t\tvarying vec4 textureCoords;\n\n\t\tvoid main(void) {\n\t\t\tgl_Position = openfl_Matrix * openfl_Position;\n\t\t\ttextureCoords = vec4(openfl_TextureCoord, openfl_TextureCoord - offset / openfl_TextureSize);\n\t\t}\n\t" openfl.utils._internal.ShaderMacro.build() openfl.utils._internal.ShaderMacro.build() "tags=\"haxe,release\"" "\n\t\tuniform sampler2D openfl_Texture;\n\t\tuniform sampler2D sourceBitmap;\n\t\tvarying vec4 textureCoords;\n\n\t\tvoid main(void) {\n\t\t\tvec4 src = texture2D(sourceBitmap, textureCoords.xy);\n\t\t\tvec4 glow = texture2D(openfl_Texture, textureCoords.zw);\n\n\t\t\tgl_FragColor = src + glow * (1.0 - src.a);\n\t\t}\n\t" "attribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\t\tuniform mat4 openfl_Matrix;\n\t\tuniform vec2 openfl_TextureSize;\n\t\tuniform vec2 offset;\n\t\tvarying vec4 textureCoords;\n\n\t\tvoid main(void) {\n\t\t\tgl_Position = openfl_Matrix * openfl_Position;\n\t\t\ttextureCoords = vec4(openfl_TextureCoord, openfl_TextureCoord - offset / openfl_TextureSize);\n\t\t}\n\t" openfl.utils._internal.ShaderMacro.build() openfl.utils._internal.ShaderMacro.build() "tags=\"haxe,release\"" "\n\t\tuniform sampler2D openfl_Texture;\n\t\tuniform sampler2D sourceBitmap;\n\t\tvarying vec4 textureCoords;\n\n\t\tvoid main(void) {\n\t\t\tvec4 src = texture2D(sourceBitmap, textureCoords.xy);\n\t\t\tvec4 glow = texture2D(openfl_Texture, textureCoords.zw);\n\n\t\t\tgl_FragColor = glow * src.a;\n\t\t}\n\t" "attribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\t\tuniform mat4 openfl_Matrix;\n\t\tuniform vec2 openfl_TextureSize;\n\t\tuniform vec2 offset;\n\t\tvarying vec4 textureCoords;\n\n\t\tvoid main(void) {\n\t\t\tgl_Position = openfl_Matrix * openfl_Position;\n\t\t\ttextureCoords = vec4(openfl_TextureCoord, openfl_TextureCoord - offset / openfl_TextureSize);\n\t\t}\n\t" openfl.utils._internal.ShaderMacro.build() openfl.utils._internal.ShaderMacro.build() "tags=\"haxe,release\"" "\n\t\tuniform sampler2D openfl_Texture;\n\t\tuniform sampler2D sourceBitmap;\n\t\tvarying vec4 textureCoords;\n\n\t\tvoid main(void) {\n\t\t\tvec4 src = texture2D(sourceBitmap, textureCoords.xy);\n\t\t\tvec4 glow = texture2D(openfl_Texture, textureCoords.zw);\n\n\t\t\tgl_FragColor = vec4((src.rgb * (1.0 - glow.a)) + (glow.rgb * src.a), src.a);\n\t\t}\n\t" "attribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\t\tuniform mat4 openfl_Matrix;\n\t\tuniform vec2 openfl_TextureSize;\n\t\tuniform vec2 offset;\n\t\tvarying vec4 textureCoords;\n\n\t\tvoid main(void) {\n\t\t\tgl_Position = openfl_Matrix * openfl_Position;\n\t\t\ttextureCoords = vec4(openfl_TextureCoord, openfl_TextureCoord - offset / openfl_TextureSize);\n\t\t}\n\t" openfl.utils._internal.ShaderMacro.build() openfl.utils._internal.ShaderMacro.build() "tags=\"haxe,release\"" "\n\t\tuniform sampler2D openfl_Texture;\n\t\tvarying vec2 vTexCoord;\n\n\t\tvoid main(void) {\n\t\t\tvec4 texel = texture2D(openfl_Texture, vTexCoord);\n\t\t\tgl_FragColor = vec4(texel.rgb, 1.0 - texel.a);\n\t\t}\n\t" "\n\t\tattribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\t\tuniform mat4 openfl_Matrix;\n\t\tvarying vec2 vTexCoord;\n\n\t\tvoid main(void) {\n\t\t\tgl_Position = openfl_Matrix * openfl_Position;\n\t\t\tvTexCoord = openfl_TextureCoord;\n\t\t}\n\t" openfl.utils._internal.ShaderMacro.build() openfl.utils._internal.ShaderMacro.build() "tags=\"haxe,release\"" <__invertAlphaShader expr="new InvertAlphaShader()" line="70" static="1"> new InvertAlphaShader() <__blurAlphaShader expr="new BlurAlphaShader()" line="71" static="1"> new BlurAlphaShader() <__combineShader expr="new CombineShader()" line="72" static="1"> new CombineShader() <__innerCombineShader expr="new InnerCombineShader()" line="73" static="1"> new InnerCombineShader() <__combineKnockoutShader expr="new CombineKnockoutShader()" line="74" static="1"> new CombineKnockoutShader() <__innerCombineKnockoutShader expr="new InnerCombineKnockoutShader()" line="75" static="1"> new InnerCombineKnockoutShader() The alpha transparency value for the color. Valid values are 0 to 1. For example, .25 sets a transparency value of 25%. The default value is 1. The amount of horizontal blur. Valid values are 0 to 255(floating point). The default value is 6. Values that are a power of 2(such as 2, 4, 8, 16, and 32) are optimized to render more quickly than other values. The amount of vertical blur. Valid values are 0 to 255(floating point). The default value is 6. Values that are a power of 2(such as 2, 4, 8, 16, and 32) are optimized to render more quickly than other values. The color of the glow. Valid values are in the hexadecimal format 0x_RRGGBB_. The default value is 0xFF0000. Specifies whether the glow is an inner glow. The value `true` indicates an inner glow. The default is `false`, an outer glow (a glow around the outer edges of the object). Specifies whether the object has a knockout effect. A value of `true` makes the object's fill transparent and reveals the background color of the document. The default value is `false` (no knockout effect). The number of times to apply the filter. The default value is `BitmapFilterQuality.LOW`, which is equivalent to applying the filter once. The value `BitmapFilterQuality.MEDIUM` applies the filter twice; the value `BitmapFilterQuality.HIGH` applies it three times. Filters with lower values are rendered more quickly. For most applications, a `quality` value of low, medium, or high is sufficient. Although you can use additional numeric values up to 15 to achieve different effects, higher values are rendered more slowly. Instead of increasing the value of `quality`, you can often get a similar effect, and with faster rendering, by simply increasing the values of the `blurX` and `blurY` properties. The strength of the imprint or spread. The higher the value, the more color is imprinted and the stronger the contrast between the glow and the background. Valid values are 0 to 255. The default is 2. <__alpha> <__blurX> <__blurY> <__color> <__horizontalPasses> <__inner> <__knockout> <__quality> <__strength> <__verticalPasses> <__applyFilter set="method" line="259" override="1"> <__initShader set="method" line="277" override="1"> <__updateSize set="method" line="348"> <__calculateNumShaderPasses set="method" line="357"> { knockout : false, inner : false, quality : 1, strength : 2, blurY : 6, blurX : 6, alpha : 1, color : 0xFF0000 } Initializes a new GlowFilter instance with the specified parameters. @param color The color of the glow, in the hexadecimal format 0x_RRGGBB_. The default value is 0xFF0000. @param alpha The alpha transparency value for the color. Valid values are 0 to 1. For example, .25 sets a transparency value of 25%. @param blurX The amount of horizontal blur. Valid values are 0 to 255 (floating point). Values that are a power of 2(such as 2, 4, 8, 16 and 32) are optimized to render more quickly than other values. @param blurY The amount of vertical blur. Valid values are 0 to 255 (floating point). Values that are a power of 2(such as 2, 4, 8, 16 and 32) are optimized to render more quickly than other values. @param strength The strength of the imprint or spread. The higher the value, the more color is imprinted and the stronger the contrast between the glow and the background. Valid values are 0 to 255. @param quality The number of times to apply the filter. Use the BitmapFilterQuality constants: * `BitmapFilterQuality.LOW` * `BitmapFilterQuality.MEDIUM` * `BitmapFilterQuality.HIGH` For more information, see the description of the `quality` property. @param inner Specifies whether the glow is an inner glow. The value ` true` specifies an inner glow. The value `false` specifies an outer glow(a glow around the outer edges of the object). @param knockout Specifies whether the object has a knockout effect. The value `true` makes the object's fill transparent and reveals the background color of the document. The GlowFilter class lets you apply a glow effect to display objects. You have several options for the style of the glow, including inner or outer glow and knockout mode. The glow filter is similar to the drop shadow filter with the `distance` and `angle` properties of the drop shadow filter set to 0. You can apply the filter to any display object(that is, objects that inherit from the DisplayObject class), such as MovieClip, SimpleButton, TextField, and Video objects, as well as to BitmapData objects. The use of filters depends on the object to which you apply the filter: * To apply filters to display objects, use the `filters` property(inherited from DisplayObject). Setting the `filters` property of an object does not modify the object, and you can remove the filter by clearing the `filters` property. * To apply filters to BitmapData objects, use the `BitmapData.applyFilter()` method. Calling `applyFilter()` on a BitmapData object takes the source BitmapData object and the filter object and generates a filtered image as a result. If you apply a filter to a display object, the `cacheAsBitmap` property of the display object is set to `true`. If you clear all filters, the original value of `cacheAsBitmap` is restored. This filter supports Stage scaling. However, it does not support general scaling, rotation, and skewing. If the object itself is scaled(if `scaleX` and `scaleY` are set to a value other than 1.0), the filter is not scaled. It is scaled only when the user zooms in on the Stage. A filter is not applied if the resulting image exceeds the maximum dimensions. In AIR 1.5 and Flash Player 10, the maximum is 8,191 pixels in width or height, and the total number of pixels cannot exceed 16,777,215 pixels.(So, if an image is 8,191 pixels wide, it can only be 2,048 pixels high.) In Flash Player 9 and earlier and AIR 1.1 and earlier, the limitation is 2,880 pixels in height and 2,880 pixels in width. For example, if you zoom in on a large movie clip with a filter applied, the filter is turned off if the resulting image exceeds the maximum dimensions. "tags=\"haxe,release\"" openfl.geom.ColorTransform openfl.geom.Point openfl.geom.Rectangle hide "checkstyle:FieldDocComment" The growth in pixels on the bottom side of the target object. The growth is the area beyond the bounds of the target object that is passed to the shader during execution. At execution time Flash Player or AIR computes the normal bounds of a movie clip and extends the bounds based on the `leftExtension`, `rightExtension`, `topExtension`, and `bottomExtension` values. @default 0 The growth in pixels on the left side of the target object. The growth is the area beyond the bounds of the target object that is passed to the shader during execution. At execution time Flash Player or AIR computes the normal bounds of a movie clip and extends the bounds based on the `leftExtension`, `rightExtension`, `topExtension`, and `bottomExtension` values. @default 0 The growth in pixels on the right side of the target object. The growth is the area beyond the bounds of the target object that is passed to the shader during execution. At execution time Flash Player or AIR computes the normal bounds of a movie clip and extends the bounds based on the `leftExtension`, `rightExtension`, `topExtension`, and `bottomExtension` values. @default 0 The shader to use for this filter. The Shader assigned to the `shader` property must specify at least one `image4` input. The input **does not** need to be specified in code using the associated ShaderInput object's `input` property. Instead, the object to which the filter is applied is automatically used as the first input (the input with `index` 0). A shader used as a filter can specify more than one input, in which case any additional input must be specified by setting its ShaderInput instance's `input` property. When you assign a Shader instance to this property the shader is copied internally and the filter operation uses that internal copy, not a reference to the original shader. Any changes made to the shader, such as changing a parameter value, input, or bytecode, are not applied to the copied shader that's used for the filter. To make it so that shader changes are taken into account in the filter output, you must reassign the Shader instance to the `shader` property. As with all filters, you must also reassign the ShaderFilter instance to the display object's `filters` property in order to apply filter changes. The growth in pixels on the top side of the target object. The growth is the area beyond the bounds of the target object that is passed to the shader during execution. At execution time Flash Player or AIR computes the normal bounds of a movie clip and extends the bounds based on the `leftExtension`, `rightExtension`, `topExtension`, and `bottomExtension` values. @default 0 <__initShader set="method" line="164" override="1"> Creates a new shader filter. @param shader The Shader to use for this filter. For details and limitations that the shader must conform to, see the description for the `shader` property. The ShaderFilter class applies a filter by executing a shader on the object being filtered. The filtered object is used as an input to the shader, and the shader output becomes the filter result. To create a new filter, use the constructor `new ShaderFilter()`. The use of filters depends on the object to which you apply the filter: * To apply filters to movie clips, text fields, buttons, and video, use the `filters` property (inherited from DisplayObject). Setting the `filters` property of an object does not modify the object, and you can remove the filter by clearing the `filters` property. * To apply filters to BitmapData objects, use the `BitmapData.applyFilter()` method. Calling `applyFilter()` on a BitmapData object takes the source BitmapData object and the filter object and generates a filtered image as a result. If you apply a filter to a display object, the value of the `cacheAsBitmap` property of the object is set to true. If you remove all filters, the original value of `cacheAsBitmap` is restored. This filter supports stage scaling. However, it does not support general scaling, rotation, and skewing. If the object itself is scaled (if the `scaleX` and `scaleY` properties are not set to 100%), the filter is not scaled. It is scaled only when the user zooms in on the stage. A filter is not applied if the resulting image exceeds the maximum dimensions. In AIR 1.5 and Flash Player 10, the maximum is 8,191 pixels in width or height, and the total number of pixels cannot exceed 16,777,215 pixels. (So, if an image is 8,191 pixels wide, it can only be 2,048 pixels high.) In Flash Player 9 and earlier and AIR 1.1 and earlier, the limitation is 2,880 pixels in height and 2,880 pixels in width. If, for example, you zoom in on a large movie clip with a filter applied, the filter is turned off if the resulting image exceeds the maximum dimensions. To specify the Shader instance to use with the filter, pass the Shader instance as an argument to the `ShaderFilter()` constructor, or set it as the value of the `shader` property. To allow the shader output to extend beyond the bounds of the filtered object, use the `leftExtension`, `rightExtension`, `topExtension`, and `bottomExtension` properties. "tags=\"haxe,release\"" The Orientation3D class is an enumeration of constant values for representing the orientation style of a Matrix3D object. The three types of orientation are Euler angles, axis angle, and quaternion. The `decompose` and `recompose` methods of the Matrix3D object take one of these enumerated types to identify the rotational components of the Matrix. cast 0 The axis angle orientation uses a combination of an axis and an angle to determine the orientation. A line or vector from the center of a three-dimensional globe to the surface is an example of an axis. The axis around which the object is rotated is a unit vector that represents any possible direction in the three-dimensional space. The angle represents the magnitude of the rotation about the vector. The direction determines where a display object is facing and the roll angle determines which way is up. You can use Vector3D and the Matrix3D objects to determine the various matrix transformations as well as to determine important three-dimensional programming values such as the distance to the intersection of two objects that can be used to detect simple collision between three-dimensional objects. The Matrix3D `appendRotation()` and Matrix3D `prependRotation()` methods use the axis angle orientation. cast 1 Euler angles, the default orientation for `decompose()` and `recompose()` methods, defines the orientation with three separate angles of rotation for each axis. Usually, a rotation around the x axis is followed by a rotation around the y axis, which is followed by a rotation around the z axis. Euler angles can sometimes lead to animation errors because of problems such as singularities when rotating around the x axis or gimbal lock. For example, since with Euler angles each axis is handled independently, gimbal lock can occur during the rotation around two or more axes. The axes can become aligned, leading to unexpected results. The axis rotation properties of the display object perform Euler angles rotation. cast 2 The quaternion orientation uses complex numbers. An orientation in quaternion is by the three axes of rotation (x,y,z) and an angle of rotation (w). Quaternion guarantees the shortest, most efficient path for the rotation. It also produces a smooth, gimbal-lock-free rotation. A gimbal lock can occur when during the rotation around two or more axes the axes are aligned, leading to unexpected results. The Matrix3D `interpolate()` method uses quaternion. cast 0 The axis angle orientation uses a combination of an axis and an angle to determine the orientation. A line or vector from the center of a three-dimensional globe to the surface is an example of an axis. The axis around which the object is rotated is a unit vector that represents any possible direction in the three-dimensional space. The angle represents the magnitude of the rotation about the vector. The direction determines where a display object is facing and the roll angle determines which way is up. You can use Vector3D and the Matrix3D objects to determine the various matrix transformations as well as to determine important three-dimensional programming values such as the distance to the intersection of two objects that can be used to detect simple collision between three-dimensional objects. The Matrix3D `appendRotation()` and Matrix3D `prependRotation()` methods use the axis angle orientation. cast 1 Euler angles, the default orientation for `decompose()` and `recompose()` methods, defines the orientation with three separate angles of rotation for each axis. Usually, a rotation around the x axis is followed by a rotation around the y axis, which is followed by a rotation around the z axis. Euler angles can sometimes lead to animation errors because of problems such as singularities when rotating around the x axis or gimbal lock. For example, since with Euler angles each axis is handled independently, gimbal lock can occur during the rotation around two or more axes. The axes can become aligned, leading to unexpected results. The axis rotation properties of the display object perform Euler angles rotation. cast 2 The quaternion orientation uses complex numbers. An orientation in quaternion is by the three axes of rotation (x,y,z) and an angle of rotation (w). Quaternion guarantees the shortest, most efficient path for the rotation. It also produces a smooth, gimbal-lock-free rotation. A gimbal lock can occur when during the rotation around two or more axes the axes are aligned, leading to unexpected results. The Matrix3D `interpolate()` method uses quaternion. A ColorTransform object containing values that universally adjust the colors in the display object. @throws TypeError The colorTransform is null when being set A ColorTransform object representing the combined color transformations applied to the display object and all of its parent objects, back to the root level. If different color transformations have been applied at different levels, all of those transformations are concatenated into one ColorTransform object for this property. A Matrix object representing the combined transformation matrixes of the display object and all of its parent objects, back to the root level. If different transformation matrixes have been applied at different levels, all of those matrixes are concatenated into one matrix for this property. Also, for resizeable SWF content running in the browser, this property factors in the difference between stage coordinates and window coordinates due to window resizing. Thus, the property converts local coordinates to window coordinates, which may not be the same coordinate space as that of the Stage. A Matrix object containing values that alter the scaling, rotation, and translation of the display object. If the `matrix` property is set to a value (not `null`), the `matrix3D` property is `null`. And if the `matrix3D` property is set to a value(not `null`), the `matrix` property is `null`. @throws TypeError The matrix is null when being set Provides access to the Matrix3D object of a three-dimensional display object. The Matrix3D object represents a transformation matrix that determines the display object's position and orientation. A Matrix3D object can also perform perspective projection. If the `matrix` property is set to a value(not `null`), the `matrix3D` property is `null`. And if the `matrix3D` property is set to a value(not `null`), the `matrix` property is `null`. A Rectangle object that defines the bounding rectangle of the display object on the stage. <__colorTransform> <__displayObject> <__hasMatrix> <__hasMatrix3D> <__setTransform set="method" line="287"> The Transform class provides access to color adjustment properties and two- or three-dimensional transformation objects that can be applied to a display object. During the transformation, the color or the orientation and position of a display object is adjusted(offset) from the current values or coordinates to new values or coordinates. The Transform class also collects data about color and two-dimensional matrix transformations that are applied to a display object and all of its parent objects. You can access these combined transformations through the `concatenatedColorTransform` and `concatenatedMatrix` properties. To apply color transformations: create a ColorTransform object, set the color adjustments using the object's methods and properties, and then assign the `colorTransformation` property of the `transform` property of the display object to the new ColorTransformation object. To apply two-dimensional transformations: create a Matrix object, set the matrix's two-dimensional transformation, and then assign the `transform.matrix` property of the display object to the new Matrix object. To apply three-dimensional transformations: start with a three-dimensional display object. A three-dimensional display object has a `z` property value other than zero. You do not need to create the Matrix3D object. For all three-dimensional objects, a Matrix3D object is created automatically when you assign a `z` value to a display object. You can access the display object's Matrix3D object through the display object's `transform` property. Using the methods of the Matrix3D class, you can add to or modify the existing transformation settings. Also, you can create a custom Matrix3D object, set the custom Matrix3D object's transformation elements, and then assign the new Matrix3D object to the display object using the `transform.matrix` property. To modify a perspective projection of the stage or root object: use the `transform.matrix` property of the root display object to gain access to the PerspectiveProjection object. Or, apply different perspective projection properties to a display object by setting the perspective projection properties of the display object's parent. The child display object inherits the new properties. Specifically, create a PerspectiveProjection object and set its properties, then assign the PerspectiveProjection object to the `perspectiveProjection` property of the parent display object's `transform` property. The specified projection transformation then applies to all the display object's three-dimensional children. Since both PerspectiveProjection and Matrix3D objects perform perspective transformations, do not assign both to a display object at the same time. Use the PerspectiveProjection object for focal length and projection center changes. For more control over the perspective transformation, create a perspective projection Matrix3D object. "tags=\"haxe,release\"" openfl.display.DisplayObject openfl.geom.ColorTransform The name of the album; corresponds to the ID3 2.0 tag TALB. The name of the artist; corresponds to the ID3 2.0 tag TPE1. A comment about the recording; corresponds to the ID3 2.0 tag COMM. The genre of the song; corresponds to the ID3 2.0 tag TCON. The name of the song; corresponds to the ID3 2.0 tag TIT2. The track number; corresponds to the ID3 2.0 tag TRCK. The year of the recording; corresponds to the ID3 2.0 tag TYER. The ID3Info class contains properties that reflect ID3 metadata. You can get additional metadata for MP3 files by accessing the `id3` property of the Sound class; for example, `mySound.id3.TIME`. For more information, see the entry for `Sound.id3` and the ID3 tag definitions at http://www.id3.org. "tags=\"haxe,release\"" The current amplitude(volume) of the left channel, from 0(silent) to 1 (full amplitude). When the sound is playing, the `position` property indicates in milliseconds the current point that is being played in the sound file. When the sound is stopped or paused, the `position` property indicates the last point that was played in the sound file. A common use case is to save the value of the `position` property when the sound is stopped. You can resume the sound later by restarting it from that saved position. If the sound is looped, `position` is reset to 0 at the beginning of each loop. The current amplitude(volume) of the right channel, from 0(silent) to 1 (full amplitude). The SoundTransform object assigned to the sound channel. A SoundTransform object includes properties for setting volume, panning, left speaker assignment, and right speaker assignment. <__isValid> <__soundTransform> <__source> Stops the sound playing in the channel. <__dispose set="method" line="131"> <__updateTransform set="method" line="143"> { soundTransform : null, source : null } The SoundChannel class controls a sound in an application. Every sound is assigned to a sound channel, and the application can have multiple sound channels that are mixed together. The SoundChannel class contains a `stop()` method, properties for monitoring the amplitude (volume) of the channel, and a property for assigning a SoundTransform object to the channel. @event soundComplete Dispatched when a sound has finished playing. "tags=\"haxe,release\"" openfl.media.SoundMixer The number of milliseconds to preload a streaming sound into a buffer before the sound starts to stream. Note that you cannot override the value of `SoundLoaderContext.bufferTime` by setting the global `SoundMixer.bufferTime` property. The `SoundMixer.bufferTime` property affects the buffer time for embedded streaming sounds in a SWF file and is independent of dynamically created Sound objects(that is, Sound objects created in ActionScript). ` tags. If you set `checkPolicyFile` to `true`, Flash Player or AIR waits until the policy file is verified before loading the sound. You should wait to perform any low-level operations on the sound data, such as calling `Sound.id3` or `SoundMixer.computeSpectrum()`, until `progress` and `complete` events are dispatched from the Sound object. If you set `checkPolicyFile` to `true` but no appropriate policy file is found, you will not receive an error until you perform an operation that requires a policy file, and then Flash Player or AIR throws a `SecurityError` exception. After you receive a `complete` event, you can test whether a relevant policy file was found by getting the value of `Sound.id3` within a `try` block and seeing if a `SecurityError` is thrown. Be careful with `checkPolicyFile` if you are downloading sound from a URL that uses server-side HTTP redirects. Flash Player or AIR tries to retrieve policy files that correspond to the `url` property of the URLRequest object passed to `Sound.load()`. If the final sound file comes from a different URL because of HTTP redirects, then the initially downloaded policy files might not be applicable to the sound's final URL, which is the URL that matters in security decisions. If you find yourself in this situation, here is one possible solution. After you receive a `progress` or `complete` event, you can examine the value of the `Sound.url` property, which contains the sound's final URL. Then call the `Security.loadPolicyFile()` method with a policy file URL that you calculate based on the sound's final URL. Finally, poll the value of `Sound.id3` until no exception is thrown. This does not apply to content in the AIR application sandbox. Content in the application sandbox always has programatic access to sound content, regardless of its origin. For more information related to security, see the Flash Player Developer Center Topic: Security.]]> { checkPolicyFile : false, bufferTime : 1000 } Creates a new sound loader context object. @param bufferTime The number of seconds to preload a streaming sound into a buffer before the sound starts to stream. @param checkPolicyFile Specifies whether the existence of a URL policy file should be checked upon loading the object (`true`) or not. The SoundLoaderContext class provides security checks for files that load sound. SoundLoaderContext objects are passed as an argument to the constructor and the `load()` method of the Sound class. When you use this class, consider the following security model: * Loading and playing a sound is not allowed if the calling file is in a network sandbox and the sound file to be loaded is local. * By default, loading and playing a sound is not allowed if the calling is local and tries to load and play a remote sound. A user must grant explicit permission to allow this. * Certain operations dealing with sound are restricted. The data in a loaded sound cannot be accessed by a file in a different domain unless you implement a URL policy file. Sound-related APIs that fall under this restriction are the `Sound.id3` property and the `SoundMixer.computeSpectrum()`, `SoundMixer.bufferTime`, and `SoundTransform()` methods. However, in Adobe AIR, content in the `application` security sandbox(content installed with the AIR application) are not restricted by these security limitations. For more information related to security, see the Flash Player Developer Center Topic: [Security](http://www.adobe.com/go/devnet_security_en). "tags=\"haxe,release\"" A value, from 0(none) to 1(all), specifying how much of the left input is played in the left speaker. A value, from 0(none) to 1(all), specifying how much of the left input is played in the right speaker. The left-to-right panning of the sound, ranging from -1(full pan left) to 1(full pan right). A value of 0 represents no panning(balanced center between right and left). A value, from 0(none) to 1(all), specifying how much of the right input is played in the left speaker. A value, from 0(none) to 1(all), specifying how much of the right input is played in the right speaker. The volume, ranging from 0(silent) to 1(full volume). "checkstyle:FieldDocComment" hide { panning : 0, vol : 1 } Creates a SoundTransform object. @param vol The volume, ranging from 0(silent) to 1(full volume). @param panning The left-to-right panning of the sound, ranging from -1 (full pan left) to 1(full pan right). A value of 0 represents no panning(center). The SoundTransform class contains properties for volume and panning. "tags=\"haxe,release\"" 32 The number of seconds to preload an embedded streaming sound into a buffer before it starts to stream. The data in a loaded sound, including its buffer time, cannot be accessed by a SWF file that is in a different domain unless you implement a cross-domain policy file. For more information about security and sound, see the Sound class description. The data in a loaded sound, including its buffer time, cannot be accessed by code in a file that is in a different domain unless you implement a cross-domain policy file. However, in the application sandbox in an AIR application, code can access data in sound files from any source. For more information about security and sound, see the Sound class description. The `SoundMixer.bufferTime` property only affects the buffer time for embedded streaming sounds in a SWF and is independent of dynamically created Sound objects (that is, Sound objects created in ActionScript). The value of `SoundMixer.bufferTime` cannot override or set the default of the buffer time specified in the SoundLoaderContext object that is passed to the `Sound.load()` method. The SoundTransform object that controls global sound properties. A SoundTransform object includes properties for setting volume, panning, left speaker assignment, and right speaker assignment. The SoundTransform object used in this property provides final sound settings that are applied to all sounds after any individual sound settings are applied. <__soundChannels expr="new Array()" line="51" static="1"> new Array() <__soundTransform expr="new SoundTransform()" line="52" static="1"> new SoundTransform() Determines whether any sounds are not accessible due to security restrictions. For example, a sound loaded from a domain other than that of the content calling this method is not accessible if the server for the sound has no URL policy file that grants access to the domain of that domain. The sound can still be loaded and played, but low-level operations, such as getting ID3 metadata for the sound, cannot be performed on inaccessible sounds. For AIR application content in the application security sandbox, calling this method always returns `false`. All sounds, including those loaded from other domains, are accessible to content in the application security sandbox. @return The string representation of the boolean. In Flash Professional, this method does not stop the playhead. Sounds set to stream will resume playing as the playhead moves over the frames in which they are located. When using this property, consider the following security model: * By default, calling the `SoundMixer.stopAll()` method stops only sounds in the same security sandbox as the object that is calling the method. Any sounds whose playback was not started from the same sandbox as the calling object are not stopped. * When you load the sound, using the `load()` method of the Sound class, you can specify a `context` parameter, which is a SoundLoaderContext object. If you set the `checkPolicyFile` property of the SoundLoaderContext object to `true`, Flash Player or Adobe AIR checks for a cross-domain policy file on the server from which the sound is loaded. If the server has a cross-domain policy file, and the file permits the domain of the calling content, then the file can stop the loaded sound by using the `SoundMixer.stopAll()` method; otherwise it cannot. However, in Adobe AIR, content in the `application` security sandbox (content installed with the AIR application) are not restricted by these security limitations. For more information related to security, see the Flash Player Developer Center Topic: Security.]]> <__registerSoundChannel set="method" line="180" static="1"> <__unregisterSoundChannel set="method" line="185" static="1"> The SoundMixer class contains static properties and methods for global sound control in the application. The SoundMixer class controls embedded and streaming sounds in the application. it does not control dynamically created sounds (that is, sounds generated in response to a Sound object dispatching a `sampleData` event). "tags=\"haxe,release\"" openfl.media.SoundChannel 5 Indicates the type of filter applied to decoded video as part of post-processing. The default value is 0, which lets the video compressor apply a deblocking filter as needed. Compression of video can result in undesired artifacts. You can use the `deblocking` property to set filters that reduce blocking and, for video compressed using the On2 codec, ringing. _Blocking_ refers to visible imperfections between the boundaries of the blocks that compose each video frame. _Ringing_ refers to distorted edges around elements within a video image. Two deblocking filters are available: one in the Sorenson codec and one in the On2 VP6 codec. In addition, a deringing filter is available when you use the On2 VP6 codec. To set a filter, use one of the following values: * 0—Lets the video compressor apply the deblocking filter as needed. * 1—Does not use a deblocking filter. * 2—Uses the Sorenson deblocking filter. * 3—For On2 video only, uses the On2 deblocking filter but no deringing filter. * 4—For On2 video only, uses the On2 deblocking and deringing filter. * 5—For On2 video only, uses the On2 deblocking and a higher-performance On2 deringing filter. If a value greater than 2 is selected for video when you are using the Sorenson codec, the Sorenson decoder defaults to 2. Using a deblocking filter has an effect on overall playback performance, and it is usually not necessary for high-bandwidth video. If a user's system is not powerful enough, the user may experience difficulties playing back video with a deblocking filter enabled. Specifies whether the video should be smoothed (interpolated) when it is scaled. For smoothing to work, the runtime must be in high-quality mode (the default). The default value is `false` (no smoothing). For video playback using Flash Player 9.0.115.0 and later versions, set this property to `true` to take advantage of mipmapping image optimization. An integer specifying the height of the video stream, in pixels. For live streams, this value is the same as the `Camera.height` property of the Camera object that is capturing the video stream. For recorded video files, this value is the height of the video. You may want to use this property, for example, to ensure that the user is seeing the video at the same size at which it was captured, regardless of the actual size of the Video object on the Stage. An integer specifying the width of the video stream, in pixels. For live streams, this value is the same as the `Camera.width` property of the Camera object that is capturing the video stream. For recorded video files, this value is the width of the video. You may want to use this property, for example, to ensure that the user is seeing the video at the same size at which it was captured, regardless of the actual size of the Video object on the Stage. <__active> <__buffer> <__bufferAlpha> <__bufferColorTransform> <__bufferContext> <__bufferData> <__dirty> <__height> <__indexBuffer> <__indexBufferContext> <__indexBufferData> <__stream> <__texture> <__textureTime> <__uvRect> <__vertexBuffer> <__vertexBufferContext> <__vertexBufferData> <__width> Specifies a video stream from a camera to be displayed within the boundaries of the Video object in the application. Use this method to attach live video captured by the user to the Video object. You can play the live video locally on the same computer or device on which it is being captured, or you can send it to Flash Media Server and use the server to stream it to other users. **Note:** In an iOS AIR application, camera video cannot be displayed when the application uses GPU rendering mode. @param camera A Camera object that is capturing video data. To drop the connection to the Video object, pass `null`. Clears the image currently displayed in the Video object (not the video stream). This method is useful for handling the current image. For example, you can clear the last image or display standby information without hiding the Video object. <__enterFrame set="method" line="274" override="1"> <__getBounds set="method" line="284" override="1"> <__getIndexBuffer set="method" line="295"> <__getTexture set="method" line="321"> <__getVertexBuffer set="method" line="349"> <__hitTest set="method" line="398" override="1"> <__hitTestMask set="method" line="421" override="1"> { height : 240, width : 320 } Creates a new Video instance. If no values for the `width` and `height` parameters are supplied, the default values are used. You can also set the width and height properties of the Video object after the initial construction, using `Video.width` and `Video.height`. When a new Video object is created, values of zero for width or height are not allowed; if you pass zero, the defaults will be applied. After creating the Video, call the `DisplayObjectContainer.addChild()` or `DisplayObjectContainer.addChildAt()` method to add the Video object to a parent DisplayObjectContainer object. @param width The width of the video, in pixels. @param height The height of the video, in pixels. Library to display it. 2. Add an embedded Video object to the library by clicking the Options menu on the right side of the Library panel title bar and selecting New Video. 3. In the Video Properties dialog box, name the embedded Video object for use in the library and click OK. 4. Drag the Video object to the Stage and use the Property Inspector to give it a unique instance name, such as `my_video`. (Do not name it Video.) In AIR applications on the desktop, playing video in fullscreen mode disables any power and screen saving features (when allowed by the operating system). **Note:** The Video class is not a subclass of the InteractiveObject class, so it cannot dispatch mouse events. However, you can call the `addEventListener()` method on the display object container that contains the Video object.]]> "tags=\"haxe,release\"" openfl.display3D.textures.TextureBase openfl.display3D.Context3D openfl.geom.ColorTransform openfl.geom.Matrix openfl.geom.Point openfl.geom.Rectangle openfl.net.NetStream The description string for the filter. The description is visible to the user in the dialog box that opens when `FileReference.browse()` or `FileReferenceList.browse()` is called. The description string contains a string, such as `"Images (*.gif, *.jpg, *.png)"`, that can help instruct the user on what file types can be uploaded or downloaded. Note that the actual file types that are supported by this FileReference object are stored in the `extension` property. A list of file extensions. This list indicates the types of files that you want to show in the file-browsing dialog box. (The list is not visible to the user; the user sees only the value of the `description` property.) The `extension` property contains a semicolon-delimited list of file extensions, with a wildcard (*) preceding each extension, as shown in the following string: `"*.jpg;*.gif;*.png"`. A list of Macintosh file types. This list indicates the types of files that you want to show in the file-browsing dialog box. (This list itself is not visible to the user; the user sees only the value of the `description` property.) The `macType` property contains a semicolon-delimited list of Macintosh file types, as shown in the following string: `"JPEG;jp2_;GIFF"`. { macType : null } Creates a new FileFilter instance. @param description The description string that is visible to users when they select files for uploading. @param extension A list of file extensions that indicate which file formats are visible to users when they select files for uploading. @param macType A list of Macintosh file types that indicate which file types are visible to users when they select files for uploading. If no value is passed, this parameter is set to `null`. ®.) On the Macintosh, if you supply a list of Macintosh file types, that list is used to filter the files. If not, the list of file extensions is used.]]> "tags=\"haxe,release\"" The creation date of the file on the local disk. If the object is was not populated, a call to get the value of this property returns `null`. @throws IOError If the file information cannot be accessed, an exception is thrown with a message indicating a file I/O error. @throws IllegalOperationError If the `FileReference.browse()`, `FileReferenceList.browse()`, or `FileReference.download()` method was not called successfully, an exception is thrown with a message indicating that functions were called in the incorrect sequence or an earlier call was unsuccessful. In this case, the value of the `creationDate` property is `null`. The Macintosh creator type of the file, which is only used in Mac OS versions prior to Mac OS X. In Windows or Linux, this property is `null`. If the FileReference object was not populated, a call to get the value of this property returns `null`. @throws IllegalOperationError On Macintosh, if the `FileReference.browse()`, `FileReferenceList.browse()`, or `FileReference.download()` method was not called successfully, an exception is thrown with a message indicating that functions were called in the incorrect sequence or an earlier call was unsuccessful. In this case, the value of the `creator` property is `null`. The ByteArray object representing the data from the loaded file after a successful call to the `load()` method. @throws IOError If the file cannot be opened or read, or if a similar error is encountered in accessing the file, an exception is thrown with a message indicating a file I/O error. In this case, the value of the `data` property is `null`. @throws IllegalOperationError If the `load()` method was not called successfully, an exception is thrown with a message indicating that functions were called in the incorrect sequence or an earlier call was unsuccessful. In this case, the value of the `data` property is `null`. The date that the file on the local disk was last modified. If the FileReference object was not populated, a call to get the value of this property returns `null`. @throws IOError If the file information cannot be accessed, an exception is thrown with a message indicating a file I/O error. @throws IllegalOperationError If the `FileReference.browse()`, `FileReferenceList.browse()`, or `FileReference.download()` method was not called successfully, an exception is thrown with a message indicating that functions were called in the incorrect sequence or an earlier call was unsuccessful. In this case, the value of the `modificationDate` property is `null`. The name of the file on the local disk. If the FileReference object was not populated (by a valid call to `FileReference.download()` or ` FileReference.browse()`), Flash Player throws an error when you try to get the value of this property. All the properties of a FileReference object are populated by calling the `browse()` method. Unlike other FileReference properties, if you call the `download()` method, the `name` property is populated when the `select` event is dispatched. @throws IllegalOperationError If the `FileReference.browse()`, `FileReferenceList.browse()`, or `FileReference.download()` method was not called successfully, an exception is thrown with a message indicating that functions were called in the incorrect sequence or an earlier call was unsuccessful. The size of the file on the local disk in bytes. If `size` is 0, an exception is thrown. _Note:_ In the initial version of ActionScript 3.0, the `size` property was defined as a uint object, which supported files with sizes up to about 4 GB. It is now implemented as a Number object to support larger files. @throws IOError If the file cannot be opened or read, or if a similar error is encountered in accessing the file, an exception is thrown with a message indicating a file I/O error. @throws IllegalOperationError If the `FileReference.browse()`, `FileReferenceList.browse()`, or `FileReference.download()` method was not called successfully, an exception is thrown with a message indicating that functions were called in the incorrect sequence or an earlier call was unsuccessful. The file type. In Windows or Linux, this property is the file extension. On the Macintosh, this property is the four-character file type, which is only used in Mac OS versions prior to Mac OS X. If the FileReference object was not populated, a call to get the value of this property returns `null`. For Windows, Linux, and Mac OS X, the file extension ?the portion of the `name` property that follows the last occurrence of the dot (.) character ?identifies the file type. @throws IllegalOperationError If the `FileReference.browse()`, `FileReferenceList.browse()`, or `FileReference.download()` method was not called successfully, an exception is thrown with a message indicating that functions were called in the incorrect sequence or an earlier call was unsuccessful. In this case, the value of the `type` property is `null`. The filename extension. A file's extension is the part of the name following (and not including) the final dot ("."). If there is no dot in the filename, the extension is `null`. Note: You should use the `extension` property to determine a file's type; do not use the `creator` or `type` properties. You should consider the `creator` and `type` properties to be considered deprecated. They apply to older versions of Mac OS. @throws IllegalOperationError If the reference is not initialized <__data> <__path> <__urlLoader> { typeFilter : null } FileFilter class. @throws Error If the method is not called in response to a user action, such as a mouse event or keypress event. @throws IllegalOperationError Thrown in the following situations: 1) Another FileReference or FileReferenceList browse session is in progress; only one file browsing session may be performed at a time. 2) A setting in the user's mms.cfg file prohibits this operation. @event cancel Dispatched when the user cancels the file upload Browse window. @event select Dispatched when the user successfully selects an item from the Browse file chooser.]]> Cancels any ongoing upload or download operation on this FileReference object. Calling this method does not dispatch the `cancel` event; that event is dispatched only when the user cancels the operation by dismissing the file upload or download dialog box. { defaultFileName : null } Security. When you download a file using this method, it is flagged as downloaded on operating systems that flag downloaded files: * Windows XP service pack 2 and later, and on Windows Vista * Mac OS 10.5 and later Some operating systems, such as Linux, do not flag downloaded files. Note that because of new functionality added to the Flash Player, when publishing to Flash Player 10, you can have only one of the following operations active at one time: `FileReference.browse()`, `FileReference.upload()`, `FileReference.download()`, `FileReference.load()`, `FileReference.save()`. Otherwise, Flash Player throws a runtime error (code 2174). Use `FileReference.cancel()` to stop an operation in progress. This restriction applies only to Flash Player 10. Previous versions of Flash Player are unaffected by this restriction on simultaneous multiple operations. In Adobe AIR, the download dialog is not always displayed in front of windows that are "owned" by another window (windows that have a non-null `owner` property). To avoid window ordering issues, hide owned windows before calling this method. @param request The URLRequest object. The `url` property of the URLRequest object should contain the URL of the file to download to the local computer. If this parameter is `null`, an exception is thrown. The `requestHeaders` property of the URLRequest object is ignored; custom HTTP request headers are not supported in uploads or downloads. To send `POST` or GET parameters to the server, set the value of `URLRequest.data` to your parameters, and set `URLRequest.method` to either `URLRequestMethod.POST` or `URLRequestMethod.GET`. On some browsers, URL strings are limited in length. Lengths greater than 256 characters may fail on some browsers or servers. @param defaultFileName The default filename displayed in the dialog box for the file to be downloaded. This string must not contain the following characters: `/ \ : * ? " < > | %` If you omit this parameter, the filename of the remote URL is parsed and used as the default. @throws ArgumentError If `url.data` is of type ByteArray, an exception is thrown. For use with the `FileReference.upload()` and `FileReference.download()` methods, `url.data` can only be of type URLVariables or String. @throws Error If the method is not called in response to a user action, such as a mouse event or keypress event. @throws IllegalOperationError Thrown in the following situations: 1) Another browse session is in progress; only one file browsing session can be performed at a time. 2) The value passed to `request` does not contain a valid path or protocol. 3) The filename to download contains prohibited characters. 4) A setting in the user's mms.cfg file prohibits this operation. @throws MemoryError This error can occur for the following reasons: 1) Flash Player cannot convert the `URLRequest.data` parameter from UTF8 to MBCS. This error is applicable if the URLRequest object passed to the `FileReference.download()` method is set to perform a GET operation and if `System.useCodePage` is set to `true`. 2) Flash Player cannot allocate memory for the `POST` data. This error is applicable if the URLRequest object passed to the `FileReference.download()` method is set to perform a `POST` operation. @throws SecurityError Local untrusted content may not communicate with the Internet. To avoid this situation, reclassify this SWF file as local-with-networking or trusted. This exception is thrown with a message indicating the filename and the URL that may not be accessed because of local file security restrictions. @throws SecurityError You cannot connect to commonly reserved ports. For a complete list of blocked ports, see "Restricting Networking APIs" in the _ActionScript 3.0 Developer's Guide_. @event cancel Dispatched when the user dismisses the dialog box. @event complete Dispatched when the file download operation successfully completes. @event ioError Dispatched for any of the following reasons: * An input/output error occurs while the file is being read or transmitted. * SWF content running in the stand-alone or external versions of Flash Player tries to download a file from a server that requires authentication. During download, the standalone and external players do not provide a means for users to enter passwords. If a SWF file in these players tries to download a file from a server that requires authentication, the download fails. File download can succeed only in the ActiveX control and browser plug-in players. @event open Dispatched when a download operation starts. @event progress Dispatched periodically during the file download operation. @event securityError Dispatched when a download fails because of a security error. @event select Dispatched when the user selects a file for download from the dialog box.]]> Starts the load of a local file selected by a user. Although Flash Player has no restriction on the size of files you can upload, download, load or save, it officially supports sizes of up to 100 MB. For content running in Flash Player, you must call the `FileReference.browse()` or `FileReferenceList.browse()` method before you call the `load()` method. However, content running in AIR in the application sandbox can call the `load()` method of a File object without first calling the `browse()` method. (The AIR File class extends the FileReference class.) Listeners receive events to indicate the progress, success, or failure of the load. Although you can use the FileReferenceList object to let users select multiple files to load, you must load the files one by one. To load the files one by one, iterate through the `FileReferenceList.fileList` array of FileReference objects. Adobe AIR also includes the FileStream class which provides more options for reading files. The `FileReference.upload()`, `FileReference.download()`, `FileReference.load()` and `FileReference.save()` functions are nonblocking. These functions return after they are called, before the file transmission is complete. In addition, if the FileReference object goes out of scope, any transaction that is not yet completed on that object is canceled upon leaving the scope. Be sure that your FileReference object remains in scope for as long as the upload, download, load or save is expected to continue. If the file finishes loading successfully, its contents are stored as a byte array in the `data` property of the FileReference object. The following security considerations apply: * Loading operations are not allowed if the calling SWF file is in an untrusted local sandbox. * The default behavior is to deny access between sandboxes. A website can enable access to a resource by adding a cross-domain policy file. * You can prevent a file from using this method by setting the `allowNetworking` parameter of the the `object` and `embed` tags in the HTML page that contains the SWF content. However, these considerations do not apply to AIR content in the application sandbox. Note that when publishing to Flash Player 10 or AIR 1.5, you can have only one of the following operations active at one time: `FileReference.browse()`, `FileReference.upload()`, `FileReference.download()`, `FileReference.load()`, `FileReference.save()`. Otherwise, the application throws a runtime error (code 2174). Use `FileReference.cancel()` to stop an operation in progress. This restriction applies only to Flash Player 10 and AIR 1.5. Previous versions of Flash Player or AIR are unaffected by this restriction on simultaneous multiple operations. In Adobe AIR, the file-browsing dialog is not always displayed in front of windows that are "owned" by another window (windows that have a non-null `owner` property). To avoid window ordering issues, hide owned windows before calling this method. @throws IllegalOperationError Thrown in the following situations: 1) Another FileReference or FileReferenceList browse session is in progress; only one file browsing session may be performed at a time. 2) A setting in the user's mms.cfg file prohibits this operation. @throws MemoryError This error can occur if the application cannot allocate memory for the file. The file may be too large or available memory may be too low. @event complete Dispatched when the file load operation completes successfully. @event ioError Invoked if the load fails because of an input/output error while the application is reading or writing the file. @event open Dispatched when an load operation starts. @event progress Dispatched periodically during the file load operation. { defaultFileName : null } | %` If a File object calls this method, the filename will be that of the file the File object references. (The AIR File class extends the FileReference class.) @throws ArgumentError If `data` is not of type ByteArray, and it does not have a `toString()` method, an exception is thrown. If `data` is not of type XML, and it does not have a `toXMLString()` method, an exception is thrown. @throws Error If the method is not called in response to a user action, such as a mouse event or keypress event. @throws IllegalOperationError Thrown in the following situations: 1) Another browse session is in progress; only one file browsing session can be performed at a time. 2) The filename to download contains prohibited characters. 3) A setting in the user's mms.cfg file prohibits this operation. @throws MemoryError This error can occur if Flash Player cannot allocate memory for the file. The file may be too large or available memory may be too low. @event cancel Dispatched when the user dismisses the dialog box. @event complete Dispatched when the file download operation successfully completes. @event ioError Dispatched if an input/output error occurs while the file is being read or transmitted. @event open Dispatched when a download operation starts. @event progress Dispatched periodically during the file download operation. @event select Dispatched when the user selects a file for download from the dialog box.]]> { testUpload : false, uploadDataFieldName : "Filedata" } Security. Note that because of new functionality added to the Flash Player, when publishing to Flash Player 10, you can have only one of the following operations active at one time: `FileReference.browse()`, `FileReference.upload()`, `FileReference.download()`, `FileReference.load()`, `FileReference.save()`. Otherwise, Flash Player throws a runtime error (code 2174). Use `FileReference.cancel()` to stop an operation in progress. This restriction applies only to Flash Player 10. Previous versions of Flash Player are unaffected by this restriction on simultaneous multiple operations. @param request The URLRequest object; the `url` property of the URLRequest object should contain the URL of the server script configured to handle upload through HTTP `POST` calls. On some browsers, URL strings are limited in length. Lengths greater than 256 characters may fail on some browsers or servers. If this parameter is `null`, an exception is thrown. The `requestHeaders` property of the URLRequest object is ignored; custom HTTP request headers are not supported in uploads or downloads. The URL can be HTTP or, for secure uploads, HTTPS. To use HTTPS, use an HTTPS url in the `url` parameter. If you do not specify a port number in the `url` parameter, port 80 is used for HTTP and port 443 us used for HTTPS, by default. To send `POST` or `GET` parameters to the server, set the `data` property of the URLRequest object to your parameters, and set the `method` property to either `URLRequestMethod.POST` or `URLRequestMethod.GET`. @param uploadDataFieldName The field name that precedes the file data in the upload `POST` operation. The `uploadDataFieldName` value must be non-null and a non-empty String. By default, the value of `uploadDataFieldName` is `"Filedata"`, as shown in the following sample `POST` request:
       Content-Type:
      								   multipart/form-data; boundary=AaB03x
      								   --AaB03x Content-Disposition: form-data;
      								   name="Filedata"; filename="example.jpg"
      								   Content-Type: application/octet-stream ...
      								   contents of example.jpg ... --AaB03x--
      								   
      @param testUpload A setting to request a test file upload. If `testUpload` is `true`, for files larger than 10 KB, Flash Player attempts a test file upload `POST` with a Content-Length of 0. The test upload checks whether the actual file upload will be successful and that server authentication, if required, will succeed. A test upload is only available for Windows players. @throws ArgumentError Thrown in the following situations: 1) The `uploadDataFieldName` parameter is an empty string. 2) `url.data` is of type ByteArray. For use with the `FileReference.upload()` and `FileReference.download()` methods, `url.data` may only be of type URLVariables or String. 3) In the AIR runtime (in the application security sandbox), the method of the URLRequest is not GET or POST (use `uploadEncoded()` instead). @throws IllegalOperationError Thrown in the following situations: 1) Another FileReference or FileReferenceList browse session is in progress; only one file browsing session may be performed at a time. 2) The URL parameter is not a valid path or protocol. File upload must use HTTP, and file download must use FTP or HTTP. 3) The `uploadDataFieldName` parameter is set to `null`. 4) A setting in the user's mms.cfg file prohibits this operation. @throws MemoryError This error can occur for the following reasons: 1) Flash Player cannot convert the `URLRequest.data` parameter from UTF8 to MBCS. This error is applicable if the URLRequest object passed to `FileReference.upload()` is set to perform a GET operation and if `System.useCodePage` is set to `true`. 2) Flash Player cannot allocate memory for the `POST` data. This error is applicable if the URLRequest object passed to `FileReference.upload()` is set to perform a `POST` operation. @throws SecurityError Local untrusted SWF files may not communicate with the Internet. To avoid this situation, reclassify this SWF file as local-with-networking or trusted. This exception is thrown with a message indicating the name of the local file and the URL that may not be accessed. @throws SecurityError You cannot connect to commonly reserved ports. For a complete list of blocked ports, see "Restricting Networking APIs" in the _ActionScript 3.0 Developer's Guide_. @event complete Dispatched when the file upload operation completes successfully. @event httpResponseStatus The upload operation completes successfully and the server returns a response URL and response headers. @event httpStatus Dispatched when an upload fails because of an HTTP error. @event ioError Invoked in any of the following situations: * The upload fails because of an input/output error while Flash Player or Adobe AIR is reading, writing, or transmitting the file. * The upload fails because an attempt to upload a file to a server that requires authentication (such as a user name and password). During upload, no mean is provided for users to enter passwords. * The upload fails because the `url` parameter contains an invalid protocol. `FileReference.upload()` must use HTTP or HTTPS. @event open Dispatched when an upload operation starts. @event progress Dispatched periodically during the file upload operation. @event securityError Dispatched when an upload fails because of a security violation. @event uploadCompleteData Dispatched when data has been received from the server after a successful file upload.]]>
      Creates a new FileReference object. When populated, a FileReference object represents a file on the user's local disk. ® Player browser plug-in, but uploading (on all players) and downloading (on the stand-alone or external player) fails. Listen for FileReference events to determine whether operations complete successfully and to handle errors. For content running in Flash Player or for content running in Adobe AIR outside of the application security sandbox, uploading and downloading operations can access files only within its own domain and within any domains that a URL policy file specifies. Put a policy file on the file server if the content initiating the upload or download doesn't come from the same domain as the file server. Note that because of new functionality added to the Flash Player, when publishing to Flash Player 10, you can have only one of the following operations active at one time: `FileReference.browse()`, `FileReference.upload()`, `FileReference.download()`, `FileReference.load()`, `FileReference.save()`. Otherwise, Flash Player throws a runtime error (code 2174). Use `FileReference.cancel()` to stop an operation in progress. This restriction applies only to Flash Player 10. Previous versions of Flash Player are unaffected by this restriction on simultaneous multiple operations. While calls to the `FileReference.browse()`, `FileReferenceList.browse()`, or `FileReference.download()` methods are executing, SWF file playback pauses in stand-alone and external versions of Flash Player and in AIR for Linux and Mac OS X 10.1 and earlier The following sample HTTP `POST` request is sent from Flash Player to a server-side script if no parameters are specified: ``` POST /handler.cfm HTTP/1.1 Accept: text/* Content-Type: multipart/form-data; boundary=----------Ij5ae0ae0KM7GI3KM7 User-Agent: Shockwave Flash Host: www.example.com Content-Length: 421 Connection: Keep-Alive Cache-Control: no-cache ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="Filename" MyFile.jpg ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="Filedata"; filename="MyFile.jpg" Content-Type: application/octet-stream FileDataHere ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="Upload" Submit Query ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7-- ``` Flash Player sends the following HTTP `POST` request if the user specifies the parameters `"api_sig"`, `"api_key"`, and `"auth_token"`: ``` POST /handler.cfm HTTP/1.1 Accept: text/* Content-Type: multipart/form-data; boundary=----------Ij5ae0ae0KM7GI3KM7 User-Agent: Shockwave Flash Host: www.example.com Content-Length: 421 Connection: Keep-Alive Cache-Control: no-cache ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="Filename" MyFile.jpg ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="api_sig" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="api_key" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="auth_token" XXXXXXXXXXXXXXXXXXXXXX ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="Filedata"; filename="MyFile.jpg" Content-Type: application/octet-stream FileDataHere ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="Upload" Submit Query ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7-- ``` @event cancel Dispatched when a file upload or download is canceled through the file-browsing dialog box by the user. Flash Player does not dispatch this event if the user cancels an upload or download through other means (closing the browser or stopping the current application). @event complete Dispatched when download is complete or when upload generates an HTTP status code of 200. For file download, this event is dispatched when Flash Player or Adobe AIR finishes downloading the entire file to disk. For file upload, this event is dispatched after the Flash Player or Adobe AIR receives an HTTP status code of 200 from the server receiving the transmission. @event httpResponseStatus Dispatched if a call to the `upload()` or `uploadUnencoded()` method attempts to access data over HTTP and Adobe AIR is able to detect and return the status code for the request. @event httpStatus Dispatched when an upload fails and an HTTP status code is available to describe the failure. The `httpStatus` event is dispatched, followed by an `ioError` event. The `httpStatus` event is dispatched only for upload failures. For content running in Flash Player this event is not applicable for download failures. If a download fails because of an HTTP error, the error is reported as an I/O error. @event ioError Dispatched when the upload or download fails. A file transfer can fail for one of the following reasons: * An input/output error occurs while the player is reading, writing, or transmitting the file. * The SWF file tries to upload a file to a server that requires authentication (such as a user name and password). During upload, Flash Player or Adobe AIR does not provide a means for users to enter passwords. If a SWF file tries to upload a file to a server that requires authentication, the upload fails. * The SWF file tries to download a file from a server that requires authentication, within the stand-alone or external player. During download, the stand-alone and external players do not provide a means for users to enter passwords. If a SWF file in these players tries to download a file from a server that requires authentication, the download fails. File download can succeed only in the ActiveX control, browser plug-in players, and the Adobe AIR runtime. * The value passed to the `url` parameter in the `upload()` method contains an invalid protocol. Valid protocols are HTTP and HTTPS. **Important:** Only applications running in a browser ?that is, using the browser plug-in or ActiveX control ?and content running in Adobe AIR can provide a dialog box to prompt the user to enter a user name and password for authentication, and then only for downloads. For uploads using the plug-in or ActiveX control version of Flash Player, or for upload or download using either the stand-alone or the external player, the file transfer fails. @event open Dispatched when an upload or download operation starts. @event progress Dispatched periodically during the file upload or download operation. The `progress` event is dispatched while Flash Player transmits bytes to a server, and it is periodically dispatched during the transmission, even if the transmission is ultimately not successful. To determine if and when the file transmission is actually successful and complete, listen for the `complete` event. In some cases, `progress` events are not received. For example, when the file being transmitted is very small or the upload or download happens very quickly a `progress` event might not be dispatched. File upload progress cannot be determined on Macintosh platforms earlier than OS X 10.3. The `progress` event is called during the upload operation, but the value of the `bytesLoaded` property of the progress event is -1, indicating that the progress cannot be determined. @event securityError Dispatched when a call to the `FileReference.upload()` or `FileReference.download()` method tries to upload a file to a server or get a file from a server that is outside the caller's security sandbox. The value of the text property that describes the specific error that occurred is normally `"securitySandboxError"`. The calling SWF file may have tried to access a SWF file outside its domain and does not have permission to do so. You can try to remedy this error by using a URL policy file. In Adobe AIR, these security restrictions do not apply to content in the application security sandbox. In Adobe AIR, these security restrictions do not apply to content in the application security sandbox. @event select Dispatched when the user selects a file for upload or download from the file-browsing dialog box. (This dialog box opens when you call the `FileReference.browse()`, `FileReferenceList.browse()`, or `FileReference.download()` method.) When the user selects a file and confirms the operation (for example, by clicking OK), the properties of the FileReference object are populated. For content running in Flash Player or outside of the application security sandbox in the Adobe AIR runtime, the `select` event acts slightly differently depending on what method invokes it. When the `select` event is dispatched after a `browse()` call, Flash Player or the AIR application can read all the FileReference object's properties, because the file selected by the user is on the local file system. When the `select` event occurs after a `download()` call, Flash Player or the AIR application can read only the `name` property, because the file hasn't yet been downloaded to the local file system at the moment the `select` event is dispatched. When the file is downloaded and the `complete` event dispatched, Flash Player or the AIR application can read all other properties of the FileReference object. @event uploadCompleteData Dispatched after data is received from the server after a successful upload. This event is not dispatched if data is not returned from the server.]]> "tags=\"haxe,release\""
      Adds a dynamic property to the binary output of a serialized object. When the object is subsequently read (using a method such as `readObject`), it contains the new property. You can use this method to exclude properties of dynamic objects from serialization; to write values to properties of dynamic objects; or to create new properties for dynamic objects. @param name The name of the property. You can use this parameter either to specify the name of an existing property of the dynamic object or to create a new property. @param value The value to write to the specified property. This interface controls the serialization of dynamic properties of dynamic objects. You use this interface with the `IDynamicPropertyWriter` interface and the `ObjectEncoding.dynamicPropertyWriter` property. Writes the name and value of an `IDynamicPropertyOutput` object to an object with dynamic properties. If `ObjectEncoding.dynamicPropertyWriter` is set, this method is invoked for each object with dynamic properties. @param obj The object to write to. @param output The `IDynamicPropertyOutput` object that contains the name and value to dynamically write to the object. This interface is used with the `IDynamicPropertyOutput` interface to control the serialization of dynamic properties of dynamic objects. To use this interface, assign an object that implements the `IDynamicPropertyWriter` interface to the `ObjectEncoding.dynamicPropertyWriter` property. "NetConnection.Connect.Success" "checkstyle:FieldDocComment" hide { p5 : null, p4 : null, p3 : null, p2 : null, p1 : null } Flash Remoting documentation. * Pass an "rtmp/e/s" URL to connect to a Flash Media Server application. * Pass an "rtmfp" URL to create a two-way network endpoint for RTMFP client-server, peer-to-peer, and IP multicast communication. * Pass the string "rtmfp:" to create a serverless two-way network endpoint for RTMFP IP multicast communication. Consider the following security model: * By default, Flash Player or AIR denies access between sandboxes. A website can enable access to a resource by using a URL policy file. * Your application can deny access to a resource on the server. In a Flash Media Server application, use Server-Side ActionScript code to deny access. See the Flash Media Server documentation. * You cannot call `NetConnection.connect()` if the calling file is in the local-with-file-system sandbox. * You cannot connect to commonly reserved ports. For a complete list of blocked ports, see "Restricting Networking APIs" in the _ActionScript 3.0 Developer's Guide_. * To prevent a SWF file from calling this method, set the `allowNetworking` parameter of the the `object` and `embed` tags in the HTML page that contains the SWF content. However, in Adobe AIR, content in the `application` security sandbox (content installed with the AIR application) are not restricted by these security limitations. For more information about security, see the Adobe Flash Player Developer Center: Security. @param command Use one of the following values for the `command` parameter: * To play video and mp3 files from a local file system or from a web server, pass `null`. * To connect to an application server running Flash Remoting, pass a URL that uses the `http` protocol. * (Flash Player 10.1 or AIR 2 or later) To create a serverless network endpoint for RTMFP IP multicast communication, pass the string `"rtmfp:"`. Use this connection type to receive an IP multicast stream from a publisher without using a server. You can also use this connection type to use IP multicast to discover peers on the same local area network (LAN). This connection type has the following limitations: Only peers on the same LAN can discover each other. Using IP multicast, Flash Player can receive streams, it cannot send them. Flash Player and AIR can send and receive streams in a peer-to-peer group, but the peers must be discovered on the same LAN using IP multicast. This technique cannot be used for one-to-one communication.

      * To connect to Flash Media Server, pass the URI of the application on the server. Use the following syntax (items in brackets are optional): `protocol:[//host][:port]/appname[/instanceName]` Use one of the following protocols: `rtmp`, `rtmpe`, `rtmps`, `rtmpt`, `rtmpte`, or `rtmfp`. If the connection is successful, a `netStatus` event with a `code` property of `NetConnection.Connect.Success` is returned. See the `NetStatusEvent.info` property for a list of all event codes returned in response to calling `connect()`. If the file is served from the same host where the server is installed, you can omit the `//host` parameter. If you omit the `/instanceName` parameter, Flash Player or AIR connects to the application's default instance. (Flash Player 10.1 or AIR 2 or later)To create peer-to-peer applications, use the `rtmfp` protocol. @throws ArgumentError The URI passed to the `command` parameter is improperly formatted. @throws IOError The connection failed. This can happen if you call `connect()` from within a `netStatus` event handler, which is not allowed. @throws SecurityError Local-with-filesystem SWF files cannot communicate with the Internet. You can avoid this problem by reclassifying the SWF file as local-with-networking or trusted. @throws SecurityError You cannot connect to commonly reserved ports. For a complete list of blocked ports, see "Restricting Networking APIs" in the _ActionScript 3.0 Developer's Guide_.]]> Creates a NetConnection object. Call the `connect()` method to make a connection. If an application needs to communicate with servers released prior to Flash Player 9, set the NetConnection object's `objectEncoding` property. The following code creates a NetConnection object: ```haxe var nc = new NetConnection(); ``` Adobe Stratus service. Call `NetConnection.connect()` to establish the connection. Use the NetStream class to send streams of media and data over the connection. For security information about loading content and data into Flash Player and AIR, see the following: * To load content and data into Flash Player from a web server or from a local location, see Flash Player Developer Center: Security. * To load content and data into Flash Player and AIR from Flash Media Server, see the Flash Media Server documentation. * To load content and data into AIR, see the Adobe AIR Developer Center. To write callback methods for this class, extend the class and define the callback methods in the subclass, or assign the `client` property to an object and define the callback methods on that object. @event asyncError Dispatched when an exception is thrown asynchronously נthat is, from native asynchronous code. @event ioError Dispatched when an input or output error occurs that causes a network operation to fail. @event netStatus Dispatched when a NetConnection object is reporting its status or error condition. The `netStatus` event contains an `info` property, which is an information object that contains specific information about the event, such as whether a connection attempt succeeded or failed. @event securityError Dispatched if a call to NetConnection.call() attempts to connect to a server outside the caller's security sandbox.]]> "tags=\"haxe,release\"" hide "checkstyle:FieldDocComment" The number of seconds of data currently in the buffer. You can use this property with the `bufferTime` property to estimate how close the buffer is to being full נfor example, to display feedback to a user who is waiting for data to be loaded into the buffer. http://www.adobe.com/go/learn_fms_smartpause_en. **Flash Media Server**. The buffer behavior depends on whether the buffer time is set on a publishing stream or a subscribing stream. For a publishing stream, `bufferTime` specifies how long the outgoing buffer can grow before the application starts dropping frames. On a high-speed connection, buffer time is not a concern; data is sent almost as quickly as the application can buffer it. On a slow connection, however, there can be a significant difference between how fast the application buffers the data and how fast it is sent to the client. For a subscribing stream, `bufferTime` specifies how long to buffer incoming data before starting to display the stream. When a recorded stream is played, if `bufferTime` is 0, Flash sets it to a small value (approximately 10 milliseconds). If live streams are later played (for example, from a playlist), this buffer time persists. That is, `bufferTime` remains nonzero for the stream.]]> The number of bytes of data that have been loaded into the application. You can use this property with the `bytesTotal` property to estimate how close the buffer is to being full נfor example, to display feedback to a user who is waiting for data to be loaded into the buffer. The total size in bytes of the file being loaded into the application. ` tags. If you set `checkPolicyFile` to `true`, the application waits until the policy file is verified before downloading the video. Wait to perform any pixel-level operations on the video data, such as calling `BitmapData.draw()`, until you receive `onMetaData` or `NetStatus` events from your NetStream object. If you set `checkPolicyFile` to `true` but no relevant policy file is found, you won't receive an error until you perform an operation that requires a policy file, and then the application throws a SecurityError exception. Be careful with `checkPolicyFile` if you are downloading a file from a URL that uses server-side HTTP redirects. The application tries to retrieve policy files that correspond to the initial URL that you specify in `NetStream.play()`. If the final file comes from a different URL because of HTTP redirects, the initially downloaded policy files might not be applicable to the file's final URL, which is the URL that matters in security decisions. For more information on policy files, see "Website controls (policy files)" in the _ActionScript 3.0 Developer's Guide_ and the Flash Player Developer Center Topic: Security.]]> Specifies the object on which callback methods are invoked to handle streaming or F4V/FLV file data. The default object is `this`, the NetStream object being created. If you set the `client` property to another object, callback methods are invoked on that other object. The `NetStream.client ` object can call the following functions and receive an associated data object: `onCuePoint()`, `onImageData()`, `onMetaData()`, `onPlayStatus()`, `onSeekPoint()`, `onTextData()`, and `onXMPData()`. **To associate the `client` property with an event handler:** 1. Create an object and assign it to the `client` property of the NetStream object: ```as3 var customClient = new Object(); my_netstream.client = customClient; ``` 2. Assign a handler function for the desired data event as a property of the client object: ```haxe customClient.onImageData = onImageDataHandler; ``` 3. Write the handler function to receive the data event object, such as: ```as3 public function onImageDataHandler(imageData:Object):void { trace("imageData length: " + imageData.data.length); } ``` When data is passed through the stream or during playback, the data event object (in this case the `imageData` object) is populated with the data. See the `onImageData` description, which includes a full example of an object assigned to the `client` property. **To associate the `client` property with a subclass:** 1. Create a subclass with a handler function to receive the data event object: ```as3 class CustomClient { public function onMetaData(info:Object):void { trace("metadata: duration=" + info.duration + " framerate=" + info.framerate); } ``` 2. Assign an instance of the subclass to the `client` property of the NetStream object: ```as3 my_netstream.client = new CustomClient(); ``` When data is passed through the stream or during playback, the data event object (in this case the `info` object) is populated with the data. See the class example at the end of the NetStream class, which shows the assignment of a subclass instance to the `client` property. @throws TypeError The `client` property must be set to a non-null object. The number of frames per second being displayed. If you are exporting video files to be played back on a number of systems, you can check this value during testing to help you determine how much compression to apply when exporting the file. hide "checkstyle:FieldDocComment" The number of seconds of data in the subscribing stream's buffer in live (unbuffered) mode. This property specifies the current network transmission delay (lag time). This property is intended primarily for use with a server such as Flash Media Server; for more information, see the class description. You can get the value of this property to roughly gauge the transmission quality of the stream and communicate it to the user. The object encoding (AMF version) for this NetStream object. The NetStream object inherits its `objectEncoding` value from the associated NetConnection object. It's important to understand this property if your ActionScript 3.0 SWF file needs to communicate with servers released prior to Flash Player 9. For more information, see the `objectEncoding` property description in the NetConnection class. The value of this property depends on whether the stream is local or remote. Local streams, where `null` was passed to the `NetConnection.connect()` method, return the value of `NetConnection.defaultObjectEncoding`. Remote streams, where you are connecting to a server, return the object encoding of the connection to the server. If you try to read this property when not connected, or if you try to change this property, the application throws an exception. Controls sound in this NetStream object. For more information, see the SoundTransform class. hide "checkstyle:FieldDocComment" <__closed> <__connection> <__soundTransform> <__timer> Stops playing all data on the stream, sets the `time` property to 0, and makes the stream available for another use. This method also deletes the local copy of a video file that was downloaded through HTTP. Although the application deletes the local copy of the file that it creates, a copy might persist in the cache directory. If you must completely prevent caching or local storage of the video file, use Flash Media Server. When using Flash Media Server, this method is invoked implicitly when you call `NetStream.play()` from a publishing stream or `NetStream.publish()` from a subscribing stream. Please note that: * If `close()` is called from a publishing stream, the stream stops publishing and the publisher can now use the stream for another purpose. Subscribers no longer receive anything that was being published on the stream, because the stream has stopped publishing. * If `close()` is called from a subscribing stream, the stream stops playing for the subscriber, and the subscriber can use the stream for another purpose. Other subscribers are not affected. * You can stop a subscribing stream from playing, without closing the stream or changing the stream type by using `openfl.net.NetStream.play(false)`. Releases all the resources held by the NetStream object. The `dispose()` method is similar to the `close` method. The main difference between the two methods is that `dispose()` releases the memory used to display the current video frame. If that frame is currently displayed on screen, the display will go blank. The `close()` method does not blank the display because it does not release this memory. Pauses playback of a video stream. Calling this method does nothing if the video is already paused. To resume play after pausing a video, call `resume()`. To toggle between pause and play (first pausing the video, then resuming), call `togglePause()`. Starting with Flash Player 9.0.115.0, Flash Player no longer clears the buffer when `NetStream.pause()` is called. This behavior is called "smart pause". Before Flash Player 9.0.115.0, Flash Player waited for the buffer to fill up before resuming playback, which often caused a delay. **Note:** For backwards compatibility, the `"NetStream.Buffer.Flush"` event (see the `NetStatusEvent.info` property) still fires, although the server does not flush the buffer. For a single pause, the `NetStream.bufferLength` property has a limit of either 60 seconds or twice the value of `NetStream.bufferTime`, whichever value is higher. For example, if `bufferTime` is 20 seconds, Flash Player buffers until `NetStream.bufferLength` is the higher value of either 20~~2 (40), or 60, so in this case it buffers until `bufferLength` is 60. If `bufferTime` is 40 seconds, Flash Player buffers until `bufferLength` is the higher value of 40~~2 (80), or 60, so in this case it buffers until `bufferLength` is 80 seconds. The `bufferLength` property also has an absolute limit. If any call to `pause()` causes `bufferLength` to increase more than 600 seconds or the value of `bufferTime` ~~ 2, whichever is higher, Flash Player flushes the buffer and resets `bufferLength` to 0. For example, if `bufferTime` is 120 seconds, Flash Player flushes the buffer if `bufferLength` reaches 600 seconds; if `bufferTime` is 360 seconds, Flash Player flushes the buffer if `bufferLength` reaches 720 seconds. **Tip**: You can use `NetStream.pause()` in code to buffer data while viewers are watching a commercial, for example, and then unpause when the main video starts. { p5 : null, p4 : null, p3 : null, p2 : null, p1 : null } Flash Media Server documentation * Exploring Flash Player support for high-definition H.264 video and AAC audio * FLV/F4V open specification documents **Workflow for playing a file or live stream** 1. Create a NetConnection object and call `NetConnection.connect()`. To play a file from a local directory or web server, pass null. To play a recorded file or live stream from Flash Media Server, pass the URI of a Flash Media Server application. 2. Call `NetConnection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler)` to listen for NetStatusEvent events. 3. On `"NetConnection.Connect.Success"`, create a NetStream object and pass the NetConnection object to the constructor. 4. Create a Video object and call `Video.attachNetStream()` and pass the NetStream object. 5. Call `NetStream.play()`. To play a live stream, pass the stream name passed to the `NetStream.publish()` method. To play a recorded file, pass the file name. 6. Call `addChild()` and pass the Video object to display the video. **Note:**To see sample code, scroll to the example at the bottom of this page. **Enable Data Generation Mode** Call `play(null)` to enable "Data Generation Mode". In this mode, call the `appendBytes()` method to deliver data to the NetStream. Use Data Generation Mode to stream content over HTTP from the Adobe HTTP Dynamic Streaming Origin Module on an Apache HTTP Server. HTTP Dynamic Streaming lets clients seek quickly to any point in a file. The Open Source Media Framework (OSMF) supports HTTP Dynamic Streaming for vod and live streams. For examples of how to use NetStream Data Generation Mode, download the OSMF source. For more information about HTTP Dynamic Streaming, see HTTP Dynamic Streaming. When you use this method without Flash Media Server, there are security considerations. A file in the local-trusted or local-with-networking sandbox can load and play a video file from the remote sandbox, but cannot access the remote file's data without explicit permission in the form of a URL policy file. Also, you can prevent a SWF file running in Flash Player from using this method by setting the `allowNetworking` parameter of the the `object` and `embed` tags in the HTML page that contains the SWF content. For more information related to security, see the Flash Player Developer Center Topic: Security. @throws ArgumentError At least one parameter must be specified. @throws Error The NetStream Object is invalid. This may be due to a failed NetConnection. @throws SecurityError Local untrusted SWF files cannot communicate with the Internet. You can work around this restriction by reclassifying this SWF file as local-with-networking or trusted. @event status Dispatched when attempting to play content encrypted with digital rights management (DRM). The value of the `code` property is `"DRM.encryptedFLV"`.]]> hide "checkstyle:FieldDocComment" Resumes playback of a video stream that is paused. If the video is already playing, calling this method does nothing. ` is set to `true` in the Application.xml configuration file (which it is by default), the server generates a keyframe at `offset`. * To return to the beginning of the stream, pass 0 for `offset`. * To seek forward from the beginning of the stream, pass the number of seconds to advance. For example, to position the playhead at 15 seconds from the beginning (or the keyframe before 15 seconds), use `myStream.seek(15)`. * To seek relative to the current position, pass `NetStream.time + n` or `NetStream.time - n` to seek `n` seconds forward or backward, respectively, from the current position. For example, to rewind 20 seconds from the current position, use `NetStream.seek(NetStream.time - 20).`]]> Pauses or resumes playback of a stream. The first time you call this method, it pauses play; the next time, it resumes play. You could use this method to let users pause or resume playback by pressing a single button. <__dispatchStatus set="method" line="2122"> <__playStatus set="method" line="2129"> { peerID : null } Creates a stream that you can use to play media files and send data over a NetConnection object. @param connection A NetConnection object. @param peerID This optional parameter is available in Flash Player 10 and later, for use with RTMFP connections. (If the value of the `NetConnection.protocol` property is not `"rtmfp"`, this parameter is ignored.) Use one of the following values: * To connect to Flash Media Server, specify `NetStream.CONNECT_TO_FMS`. * To publish directly to peers, specify `NetStream.DIRECT_CONNECTIONS`. * To play directly from a specific peer, specify that peer's identity (see `NetConnection.nearID` and `NetStream.farID`). * (Flash Player 10.1 or AIR 2 or later) To publish or play a stream in a peer-to-peer multicast group, specify a `groupspec` string (see the GroupSpecifier class). In most cases, a `groupspec` has the potential to use the network uplink on the local system. In this case, the user is asked for permission to use the computer's network resources. If the user allows this use, a `NetStream.Connect.Success` NetStatusEvent is sent to the NetConnection's event listener. If the user denies permission, a `NetStream.Connect.Rejected` event is sent. When specifying a `groupspec`, until a `NetStream.Connect.Success` event is received, it is an error to use any method of the NetStream object, and an exception is raised. If you include this parameter in your constructor statement but pass a value of `null`, the value is set to `"connectToFMS"`. @throws ArgumentError The NetConnection instance is not connected. Flash Media Server documentation * Exploring Flash Player support for high-definition H.264 video and AAC audio * FLV/F4V open specification documents **Receiving data from a Flash Media Server stream, progressive F4V file, or progressive FLV file** Flash Media Server, F4V files, and FLV files can send event objects containing data at specific data points during streaming or playback. You can handle data from a stream or FLV file during playback in two ways: * Associate a client property with an event handler to receive the data object. Use the `NetStream.client` property to assign an object to call specific data handling functions. The object assigned to the `NetStream.client` property can listen for the following data points: `onCuePoint()`, `onImageData()`, `onMetaData()`, `onPlayStatus()`, `onSeekPoint()`, `onTextData()`, and `onXMPData()`. Write procedures within those functions to handle the data object returned from the stream during playback. See the `NetStream.client` property for more information. * Associate a client property with a subclass of the NetStream class, then write an event handler to receive the data object. NetStream is a sealed class, which means that properties or methods cannot be added to a NetStream object at runtime. However, you can create a subclass of NetStream and define your event handler in the subclass. You can also make the subclass dynamic and add the event handler to an instance of the subclass. Wait to receive a `NetGroup.Neighbor.Connect` event before you use the object replication, direct routing, or posting APIs. **Note:** To send data through an audio file, like an mp3 file, use the Sound class to associate the audio file with a Sound object. Then, use the `Sound.id3` property to read metadata from the sound file. @event asyncError Dispatched when an exception is thrown asynchronously נthat is, from native asynchronous code. This event is dispatched when a server calls a method on the client that is not defined. @event drmAuthenticate Dispatched when a NetStream object tries to play a digital rights management (DRM) encrypted content that requires a user credential for authentication before playing. Use the ` setDRMAuthenticationCredentials()` method of the NetStream object to authenticate the user. If user authentication failed, the application retries authentication and dispatches a new DRMAuthenticateEvent event for the NetStream object. @event drmError Dispatched when a NetStream object, trying to play a digital rights management (DRM) encrypted file, encounters a DRM-related error. For example, a DRMErrorEvent object is dispatched when the user authorization fails. This may be because the user has not purchased the rights to view the content or because the content provider does not support the viewing application. @event drmStatus Dispatched when the digital rights management (DRM) encrypted content begins playing (when the user is authenticated and authorized to play the content). DRMStatusEvent object contains information related to the voucher, such as whether the content is available offline or when the voucher expires and users can no longer view the content. @event ioError Dispatched when an input or output error occurs that causes a network operation to fail. @event mediaTypeData Dispatched when playing video content and certain type of messages are processed. A NetDataEvent is dispatched for the following messages: * onCuePoint * onImageData * onMetaData * onPlayStatus (for code NetStream.Play.Complete) * onTextData * onXMPData **Note:** This event is not dispatched by content running in Flash Player in the browser on Android or Blackberry Tablet OS or by content running in AIR on iOS. @event netStatus Dispatched when a NetStream object is reporting its status or error condition. The `netStatus` event contains an `info` property, which is an information object that contains specific information about the event, such as if a connection attempt succeeded or failed. @event onCuePoint Establishes a listener to respond when an embedded cue point is reached while playing a video file. You can use the listener to trigger actions in your code when the video reaches a specific cue point, which lets you synchronize other actions in your application with video playback events. For information about video file formats supported by Flash Media Server, see the www.adobe.com/go/learn_fms_fileformats_en. `onCuePoint` is actually a property of the `NetStream.client` object. IThe property is listed in the Events section because it responds to a data event, either when streaming media using Flash Media Server or during FLV file playback. For more information, see the NetStream class description. You cannot use the `addEventListener()` method, or any other EventDispatcher methods, to listen for, or process `onCuePoint` as an event. Define a callback function and attach it to one of the following objects: * The object that the `client` property of a NetStream instance references. * An instance of a NetStream subclass. NetStream is a sealed class, which means that properties or methods cannot be added to a NetStream object at runtime. Create a subclass of NetStream and define your event handler in the subclass. You can also make the subclass dynamic and add the event handler function to an instance of the subclass. The associated event listener is triggered after a call to the `NetStream.play()` method, but before the video playhead has advanced. You can embed the following types of cue points in a video file: * A navigation cue point specifies a keyframe within the video file and the cue point's `time` property corresponds to that exact keyframe. Navigation cue points are often used as bookmarks or entry points to let users navigate through the video file. * An event cue point specifies a time. The time may or may not correspond to a specific keyframe. An event cue point usually represents a time in the video when something happens that could be used to trigger other application events. The `onCuePoint` event object has the following properties: | Property | Description | | --- | --- | | `name` | The name given to the cue point when it was embedded in the video file. | |`parameters` | An associative array of name and value pair strings specified for this cue point. Any valid string can be used for the parameter name or value. | |`time` | The time in seconds at which the cue point occurred in the video file during playback. | |`type` | The type of cue point that was reached, either navigation or event. | You can define cue points in a video file when you first encode the file, or when you import a video clip in the Flash authoring tool by using the Video Import wizard. The `onMetaData` event also retrieves information about the cue points in a video file. However the `onMetaData` event gets information about all of the cue points before the video begins playing. The `onCuePoint` event receives information about a single cue point at the time specified for that cue point during playback. Generally, to have your code respond to a specific cue point at the time it occurs, use the `onCuePoint` event to trigger some action in your code. You can use the list of cue points provided to the `onMetaData` event to let the user start playing the video at predefined points along the video stream. Pass the value of the cue point's `time` property to the `NetStream.seek()` method to play the video from that cue point. @event onDRMContentData Establishes a listener to respond when AIR extracts DRM content metadata embedded in a media file. A DRMContentData object contains the information needed to obtain a voucher required to play a DRM-protected media file. Use the DRMManager class to download the voucher with this information. `onDRMContentData` is a property of the `NetStream.client` object. This property is listed in the Events section because it responds to a data event when preloading embedded data from a local media file. For more information, see the NetStream class description. You cannot use the `addEventListener()` method, or any other EventDispatcher methods, to listen for, or process `onDRMContentData` as an event. Rather, you must define a single callback function and attach it directly to one of the following objects: * The object that the `client` property of a NetStream instance references. * An instance of a NetStream subclass. NetStream is a sealed class, which means that properties or methods cannot be added to a NetStream object at runtime. However, you can create a subclass of NetStream and define your event handler in the subclass or make the subclass dynamic and add the event handler function to an instance of the subclass. @event onImageData Establishes a listener to respond when Flash Player receives image data as a byte array embedded in a media file that is playing. The image data can produce either JPEG, PNG, or GIF content. Use the `openfl.display.Loader.loadBytes()` method to load the byte array into a display object. `onImageData` is actually a property of the `NetStream.client` object. The property is listed in the Events section because it responds to a data event, either when streaming media using Flash Media Server or during FLV file playback. For more information, see the NetStream class description. You cannot use the `addEventListener()` method, or any other EventDispatcher methods, to listen for, or process `onImageData` as an event. Define a single callback function and attach it to one of the following objects: * The object that the `client` property of a NetStream instance references. * An instance of a NetStream subclass. NetStream is a sealed class, which means that properties or methods cannot be added to a NetStream object at runtime. Create a subclass of NetStream and define your event handler in the subclass. You can also make the subclass dynamic and add the event handler function to an instance of the subclass. The associated event listener is triggered after a call to the `NetStream.play()` method, but before the video playhead has advanced. The onImageData event object contains the image data as a byte array sent through an AMF0 data channel. @event onMetaData Establishes a listener to respond when Flash Player receives descriptive information embedded in the video being played. For information about video file formats supported by Flash Media Server, see the www.adobe.com/go/learn_fms_fileformats_en. `onMetaData` is actually a property of the `NetStream.client` object. The property is listed in the Events section because it responds to a data event, either when streaming media using Flash Media Server or during FLV file playback. For more information, see the NetStream class description and the `NetStream.client` property. You cannot use the `addEventListener()` method, or any other EventDispatcher methods, to listen for or process `onMetaData` as an event. Define a single callback function and attach it to one of the following objects: * The object that the `client` property of a NetStream instance references. * An instance of a NetStream subclass. NetStream is a sealed class, which means that properties or methods cannot be added to a NetStream object at runtime. You can create a subclass of NetStream and define your event handler in the subclass. You can also make the subclass dynamic and add the event handler function to an instance of the subclass. The Flash Video Exporter utility (version 1.1 or later) embeds a video's duration, creation date, data rates, and other information into the video file itself. Different video encoders embed different sets of meta data. The associated event listener is triggered after a call to the `NetStream.play()` method, but before the video playhead has advanced. In many cases, the duration value embedded in stream metadata approximates the actual duration but is not exact. In other words, it does not always match the value of the `NetStream.time` property when the playhead is at the end of the video stream. The event object passed to the onMetaData event handler contains one property for each piece of data. @event onPlayStatus Establishes a listener to respond when a NetStream object has completely played a stream. The associated event object provides information in addition to what's returned by the `netStatus` event. You can use this property to trigger actions in your code when a NetStream object has switched from one stream to another stream in a playlist (as indicated by the information object `NetStream.Play.Switch`) or when a NetStream object has played to the end (as indicated by the information object `NetStream.Play.Complete`). `onPlayStaus` is actually a property of the `NetStream.client` object. The property is listed in the Events section because it responds to a data event, either when streaming media using Flash Media Server or during FLV file playback. For more information, see the NetStream class description. You cannot use the `addEventListener()` method, or any other EventDispatcher methods, to listen for, or process `onPlayStatus` as an event. Define a callback function and attach it to one of the following objects: * The object that the `client` property of a NetStream instance references. * An instance of a NetStream subclass. NetStream is a sealed class, which means that properties or methods cannot be added to a NetStream object at runtime. Create a subclass of NetStream and define your event handler in the subclass. You can also make the subclass dynamic and add the event handler function to an instance of the subclass. This event can return an information object with the following properties: | Code property | Level property | Meaning | | --- | --- | --- | | `NetStream.Play.Switch` | `"status"` | The subscriber is switching from one stream to another in a playlist. | | `NetStream.Play.Complete` | `"status"` | Playback has completed. | | `NetStream.Play.TransitionComplete` | `"status"` | The subscriber is switching to a new stream as a result of stream bit-rate switching | @event onSeekPoint Called synchronously from `appendBytes()` when the append bytes parser encounters a point that it believes is a seekable point (for example, a video key frame). Use this event to construct a seek point table. The `byteCount` corresponds to the `byteCount` at the first byte of the parseable message for that seek point, and is reset to zero as described above. To seek, at the event `NetStream.Seek.Notify`, find the bytes that start at a seekable point and call `appendBytes(bytes)`. If the `bytes` argument is a `ByteArray` consisting of bytes starting at the seekable point, the video plays at that seek point. **Note:** Calls to `appendBytes()` from within this callback are ignored. The `onSeekPoint` property is a property of the `NetStream.client` object. The property is listed in the Events section because it responds to data coming into the `appendBytes()` method. For more information, see the NetStream class description and the `NetStream.client` property. You cannot use the `addEventListener()` method, or any other EventDispatcher methods, to listen for or process `onSeekPoint` as an event. To use `onSeekPoint`, define a callback function and attach it to one of the following objects: * The object that the `client` property of a NetStream instance references. * An instance of a NetStream subclass. NetStream is a sealed class, which means that properties or methods cannot be added to a NetStream object at runtime. However, you can create a subclass of NetStream and define your event handler in the subclass. You can also make the subclass dynamic and add the event handler function to an instance of the subclass. @event onTextData Establishes a listener to respond when Flash Player receives text data embedded in a media file that is playing. The text data is in UTF-8 format and can contain information about formatting based on the 3GP timed text specification. `onTextData` is actually a property of the `NetStream.client` object. The property is listed in the Events section because it responds to a data event, either when streaming media using Flash Media Server or during FLV file playback. For more information, see the NetStream class description. You cannot use the `addEventListener()` method, or any other EventDispatcher methods, to listen for, or process `onTextData` as an event. Define a callback function and attach it to one of the following objects: * The object that the `client` property of a NetStream instance references. * An instance of a NetStream subclass. NetStream is a sealed class, which means that properties or methods cannot be added to a NetStream object at runtime. Create a subclass of NetStream and define your event handler in the subclass. You can also make the subclass dynamic and add the event handler function to an instance of the subclass. The associated event listener is triggered after a call to the `NetStream.play()` method, but before the video playhead has advanced. The onTextData event object contains one property for each piece of text data. @event onXMPData Establishes a listener to respond when Flash Player receives information specific to Adobe Extensible Metadata Platform (XMP) embedded in the video being played. For information about video file formats supported by Flash Media Server, see the www.adobe.com/go/learn_fms_fileformats_en. `onXMPData` is actually a property of the `NetStream.client` object. The property is listed in the Events section because it responds to a data event, either when streaming media using Flash Media Server or during FLV file playback. For more information, see the NetStream class description and the `NetStream.client` property. You cannot use the `addEventListener()` method, or any other EventDispatcher methods, to listen for or process `onMetaData` as an event. Define a callback function and attach it to one of the following objects: * The object that the `client` property of a NetStream instance references. * An instance of a NetStream subclass. NetStream is a sealed class, which means that properties or methods cannot be added to a NetStream object at runtime. However, you can create a subclass of NetStream and define your event handler in the subclass. You can also make the subclass dynamic and add the event handler function to an instance of the subclass. The associated event listener is triggered after a call to the `NetStream.play()` method, but before the video playhead has advanced. The object passed to the `onXMPData()` event handling function has one `data` property, which is a string. The string is generated from a top-level UUID box. (The 128-bit UUID of the top level box is `BE7ACFCB-97A9-42E8-9C71-999491E3AFAC`.) This top-level UUID box contains exactly one XML document represented as a null-terminated UTF-8 string. @event status Dispatched when the application attempts to play content encrypted with digital rights management (DRM), by invoking the `NetStream.play()` method. The value of the status code property will be `"DRM.encryptedFLV"`.]]> openfl.media.SoundMixer "tags=\"haxe,release\"" ` in an OpenFL project XML file._ Adobe AIR and Flash Player 9 can serialize in two different formats: AMF3 and AMF0. AMF3, the default serialization developed for ActionScript 3.0, provides various advantages over AMF0, which is used for ActionScript 1.0 and 2.0. AMF3 sends data over the network more efficiently than AMF0. AMF3 supports sending `int` and `uint` objects as integers and supports data types that are available only in ActionScript 3.0, such as ByteArray, XML, and IExternalizable. It is available only in ActionScript 3.0 and with servers that use AMF3 encoding, such as Flex 2. The ByteArray, FileStream, NetConnection, NetStream, SharedObject, Socket, and URLStream classes contain an `objectEncoding` property that is assigned a constant from the ObjectEncoding class. The behavior of the `objectEncoding` property differs depending on the object; each class's `objectEncoding` property description explains the behavior more thoroughly.]]> Allows greater control over the serialization of dynamic properties of dynamic objects. When this property is set to `null`, the default value, dynamic properties are serialized using native code, which writes all dynamic properties excluding those whose value is a function. This value is called only for properties of a dynamic object (objects declared within a dynamic class) or for objects declared using the `new` operator. You can use this property to exclude properties of dynamic objects from serialization; to write values to properties of dynamic objects; or to create new properties for dynamic objects. To do so, set this property to an object that implements the `IDynamicPropertyWriter` interface. For more information, see the `IDynamicPropertyWriter` interface. cast 0 Specifies that objects are serialized using the Action Message Format for ActionScript 1.0 and 2.0. cast 3 Specifies that objects are serialized using the Action Message Format for ActionScript 3.0. cast 10 Specifies that objects are serialized using the Haxe Serialization Format. cast 12 Specifies that objects are serialized using JavaScript Object Notation. cast 10 Specifies the default format for the current target and runtime. Currently, the default on the Flash and AIR targets is AMF3, and the default on other targets is HXSF. If, in the future, a newer version of OpenFL introduces support for a new object encoding format, this may change. You can use this constant only if you're not concerned about interoperability with previous versions. Allows greater control over the serialization of dynamic properties of dynamic objects. When this property is set to `null`, the default value, dynamic properties are serialized using native code, which writes all dynamic properties excluding those whose value is a function. This value is called only for properties of a dynamic object (objects declared within a dynamic class) or for objects declared using the `new` operator. You can use this property to exclude properties of dynamic objects from serialization; to write values to properties of dynamic objects; or to create new properties for dynamic objects. To do so, set this property to an object that implements the `IDynamicPropertyWriter` interface. For more information, see the `IDynamicPropertyWriter` interface. cast 0 Specifies that objects are serialized using the Action Message Format for ActionScript 1.0 and 2.0. cast 3 Specifies that objects are serialized using the Action Message Format for ActionScript 3.0. cast 10 Specifies that objects are serialized using the Haxe Serialization Format. cast 12 Specifies that objects are serialized using JavaScript Object Notation. cast 10 Specifies the default format for the current target and runtime. Currently, the default on the Flash and AIR targets is AMF3, and the default on other targets is HXSF. If, in the future, a newer version of OpenFL introduces support for a new object encoding format, this may change. You can use this constant only if you're not concerned about interoperability with previous versions. The SharedObjectFlushStatus class provides values for the code returned from a call to the `SharedObject.flush()` method. cast 0 Indicates that the flush completed successfully. cast 1 Indicates that the user is being prompted to increase disk space for the shared object before the flush can occur. cast 0 Indicates that the flush completed successfully. cast 1 Indicates that the user is being prompted to increase disk space for the shared object before the flush can occur. Indicates the number of bytes that have been loaded thus far during the load operation. Indicates the total number of bytes in the downloaded data. This property contains 0 while the load operation is in progress and is populated when the operation is complete. Also, a missing Content-Length header will result in bytesTotal being indeterminate. The data received from the load operation. This property is populated only when the load operation is complete. The format of the data depends on the setting of the `dataFormat` property: If the `dataFormat` property is `URLLoaderDataFormat.TEXT`, the received data is a string containing the text of the loaded file. If the `dataFormat` property is `URLLoaderDataFormat.BINARY`, the received data is a ByteArray object containing the raw binary data. If the `dataFormat` property is `URLLoaderDataFormat.VARIABLES`, the received data is a URLVariables object containing the URL-encoded variables. Controls whether the downloaded data is received as text (`URLLoaderDataFormat.TEXT`), raw binary data (`URLLoaderDataFormat.BINARY`), or URL-encoded variables (`URLLoaderDataFormat.VARIABLES`). If the value of the `dataFormat` property is `URLLoaderDataFormat.TEXT`, the received data is a string containing the text of the loaded file. If the value of the `dataFormat` property is `URLLoaderDataFormat.BINARY`, the received data is a ByteArray object containing the raw binary data. If the value of the `dataFormat` property is `URLLoaderDataFormat.VARIABLES`, the received data is a URLVariables object containing the URL-encoded variables. @default URLLoaderDataFormat.TEXT <__httpRequest> Closes the load operation in progress. Any load operation in progress is immediately terminated. If no URL is currently being streamed, an invalid stream error is thrown. Sends and loads data from the specified URL. The data can be received as text, raw binary data, or URL-encoded variables, depending on the value you set for the `dataFormat` property. Note that the default value of the `dataFormat` property is text. If you want to send data to the specified URL, you can set the `data` property in the URLRequest object. **Note:** If a file being loaded contains non-ASCII characters(as found in many non-English languages), it is recommended that you save the file with UTF-8 or UTF-16 encoding as opposed to a non-Unicode format like ASCII. A SWF file in the local-with-filesystem sandbox may not load data from, or provide data to, a resource that is in the network sandbox. By default, the calling SWF file and the URL you load must be in exactly the same domain. For example, a SWF file at www.adobe.com can load data only from sources that are also at www.adobe.com. To load data from a different domain, place a URL policy file on the server hosting the data. You cannot connect to commonly reserved ports. For a complete list of blocked ports, see "Restricting Networking APIs" in the _ActionScript 3.0 Developer's Guide_. In Flash Player 10 and later, if you use a multipart Content-Type(for example "multipart/form-data") that contains an upload(indicated by a "filename" parameter in a "content-disposition" header within the POST body), the POST operation is subject to the security rules applied to uploads: * The POST operation must be performed in response to a user-initiated action, such as a mouse click or key press. * If the POST operation is cross-domain(the POST target is not on the same server as the SWF file that is sending the POST request), the target server must provide a URL policy file that permits cross-domain access. Also, for any multipart Content-Type, the syntax must be valid (according to the RFC2046 standards). If the syntax appears to be invalid, the POST operation is subject to the security rules applied to uploads. For more information related to security, see the Flash Player Developer Center Topic: [Security](http://www.adobe.com/go/devnet_security_en). @param request A URLRequest object specifying the URL to download. @throws ArgumentError `URLRequest.requestHeader` objects may not contain certain prohibited HTTP request headers. For more information, see the URLRequestHeader class description. @throws MemoryError This error can occur for the following reasons: 1) Flash Player or AIR cannot convert the `URLRequest.data` parameter from UTF8 to MBCS. This error is applicable if the URLRequest object passed to `load()` is set to perform a `GET` operation and if `System.useCodePage` is set to `true`. 2) Flash Player or AIR cannot allocate memory for the `POST` data. This error is applicable if the URLRequest object passed to `load` is set to perform a `POST` operation. @throws SecurityError Local untrusted files may not communicate with the Internet. This may be worked around by reclassifying this file as local-with-networking or trusted. @throws SecurityError You are trying to connect to a commonly reserved port. For a complete list of blocked ports, see "Restricting Networking APIs" in the _ActionScript 3.0 Developer's Guide_. @throws TypeError The value of the request parameter or the `URLRequest.url` property of the URLRequest object passed are `null`. @event complete Dispatched after data has loaded successfully. @event httpResponseStatus Dispatched if a call to the `load()` method attempts to access data over HTTP and Adobe AIR is able to detect and return the status code for the request. @event httpStatus If access is over HTTP, and the current Flash Player environment supports obtaining status codes, you may receive these events in addition to any `complete` or `error` event. @event ioError The load operation could not be completed. @event open Dispatched when a load operation commences. @event progress Dispatched when data is received as the download operation progresses. @event securityError A load operation attempted to retrieve data from a server outside the caller's security sandbox. This may be worked around using a policy file on the server. @event securityError A load operation attempted to load a SWZ file(a Adobe platform component), but the certificate is invalid or the digest does not match the component. <__dispatchStatus set="method" line="329"> <__prepareRequest set="method" line="351"> { request : null } Creates a URLLoader object. @param request A URLRequest object specifying the URL to download. If this parameter is omitted, no load operation begins. If specified, the load operation begins immediately(see the `load` entry for more information). The URLLoader class downloads data from a URL as text, binary data, or URL-encoded variables. It is useful for downloading text files, XML, or other information to be used in a dynamic, data-driven application. A URLLoader object downloads all of the data from a URL before making it available to code in the applications. It sends out notifications about the progress of the download, which you can monitor through the `bytesLoaded` and `bytesTotal` properties, as well as through dispatched events. When loading very large video files, such as FLV's, out-of-memory errors may occur. When you use this class in Flash Player and in AIR application content in security sandboxes other than then application security sandbox, consider the following security model: * A SWF file in the local-with-filesystem sandbox may not load data from, or provide data to, a resource that is in the network sandbox. * By default, the calling SWF file and the URL you load must be in exactly the same domain. For example, a SWF file at www.adobe.com can load data only from sources that are also at www.adobe.com. To load data from a different domain, place a URL policy file on the server hosting the data. For more information related to security, see the Flash Player Developer Center Topic: [Security](http://www.adobe.com/go/devnet_security_en). @event complete Dispatched after all the received data is decoded and placed in the data property of the URLLoader object. The received data may be accessed once this event has been dispatched. @event httpResponseStatus Dispatched if a call to the load() method attempts to access data over HTTP, and Adobe AIR is able to detect and return the status code for the request. @event httpStatus Dispatched if a call to URLLoader.load() attempts to access data over HTTP. For content running in Flash Player, this event is only dispatched if the current Flash Player environment is able to detect and return the status code for the request.(Some browser environments may not be able to provide this information.) Note that the `httpStatus` event(if any) is sent before(and in addition to) any `complete` or `error` event. @event ioError Dispatched if a call to URLLoader.load() results in a fatal error that terminates the download. @event open Dispatched when the download operation commences following a call to the `URLLoader.load()` method. @event progress Dispatched when data is received as the download operation progresses. Note that with a URLLoader object, it is not possible to access the data until it has been received completely. So, the progress event only serves as a notification of how far the download has progressed. To access the data before it's entirely downloaded, use a URLStream object. @event securityError Dispatched if a call to URLLoader.load() attempts to load data from a server outside the security sandbox. Also dispatched if a call to `URLLoader.load()` attempts to load a SWZ file and the certificate is invalid or the digest string does not match the component. "tags=\"haxe,release\"" The URLLoaderDataFormat class provides values that specify how downloaded data is received. cast 0 Specifies that downloaded data is received as raw binary data. cast 1 Specifies that downloaded data is received as text. cast 2 Specifies that downloaded data is received as URL-encoded variables. cast 0 Specifies that downloaded data is received as raw binary data. cast 1 Specifies that downloaded data is received as text. cast 2 Specifies that downloaded data is received as URL-encoded variables. The MIME content type of the content in the the `data` property. The default value is `application/x-www-form-urlencoded`. **Note**:The `FileReference.upload()`, `FileReference.download()`, and `HTMLLoader.load()` methods do not support the `URLRequest.contentType` property. When sending a POST request, the values of the `contentType` and `data` properties must correspond properly. The value of the `contentType` property instructs servers on how to interpret the value of the `data` property. * If the value of the `data` property is a URLVariables object, the value of `contentType` must be `application/x-www-form-urlencoded`. * If the value of the `data` property is any other type, the value of `contentType` should indicate the type of the POST data that will be sent(which is the binary or string data contained in the value of the `data` property). * For `FileReference.upload()`, the Content-Type of the request is set automatically to `multipart/form-data`, and the value of the `contentType` property is ignored. In Flash Player 10 and later, if you use a multipart Content-Type(for example "multipart/form-data") that contains an upload(indicated by a "filename" parameter in a "content-disposition" header within the POST body), the POST operation is subject to the security rules applied to uploads: * The POST operation must be performed in response to a user-initiated action, such as a mouse click or key press. * If the POST operation is cross-domain(the POST target is not on the same server as the SWF file that is sending the POST request), the target server must provide a URL policy file that permits cross-domain access. Also, for any multipart Content-Type, the syntax must be valid (according to the RFC2046 standards). If the syntax appears to be invalid, the POST operation is subject to the security rules applied to uploads. An object containing data to be transmitted with the URL request. This property is used in conjunction with the `method` property. When the value of `method` is `GET`, the value of `data` is appended to the value of `URLRequest.url`, using HTTP query-string syntax. When the `method` value is `POST`(or any value other than `GET`), the value of `data` is transmitted in the body of the HTTP request. The URLRequest API offers binary `POST` support and support for URL-encoded variables, as well as support for strings. The data object can be a ByteArray, URLVariables, or String object. The way in which the data is used depends on the type of object used: * If the object is a ByteArray object, the binary data of the ByteArray object is used as `POST` data. For `GET`, data of ByteArray type is not supported. Also, data of ByteArray type is not supported for `FileReference.upload()` and `FileReference.download()`. * If the object is a URLVariables object and the method is `POST`, the variables are encoded using _x-www-form-urlencoded_ format and the resulting string is used as `POST` data. An exception is a call to `FileReference.upload()`, in which the variables are sent as separate fields in a `multipart/form-data` post. * If the object is a URLVariables object and the method is `GET`, the URLVariables object defines variables to be sent with the URLRequest object. * Otherwise, the object is converted to a string, and the string is used as the `POST` or `GET` data. This data is not sent until a method, such as `navigateToURL()` or `FileReference.upload()`, uses the URLRequest object. **Note**: The value of `contentType` must correspond to the type of data in the `data` property. See the note in the description of the `contentType` property. Specifies whether redirects are to be followed (`true`) or not (`false`). **Note:** The `FileReference.upload()`, `FileReference.download()`, and `HTMLLoader.load()` methods do not support the `URLRequest.followRedirects` property. The default value is `true`. Specifies the idle timeout value (in milliseconds) for this request. The idle timeout is the amount of time the client waits for a response from the server, after the connection is established, before abandoning the request. **Note:** The `HTMLLoader.load()` method does not support the `URLRequest.idleTimeout` property. The HTMLLoader class defines its own `idleTimeout` property. The default value is initialized from the `URLRequestDefaults.idleTimeout` property. Preferences, and click the Security panel. 3. Click the Show Cookies button. 4. Click the Reomove All button. To clear cookies on Windows: 1. Open the Internet Properties control panel, and click the General tab. 2. Click the Delete Cookies button. The default value is `true`.]]> Controls the HTTP form submission method. For SWF content running in Flash Player(in the browser), this property is limited to GET or POST operations, and valid values are `URLRequestMethod.GET` or `URLRequestMethod.POST`. For content running in Adobe AIR, you can use any string value if the content is in the application security sandbox. Otherwise, as with content running in Flash Player, you are restricted to using GET or POST operations. For content running in Adobe AIR, when using the `navigateToURL()` function, the runtime treats a URLRequest that uses the POST method(one that has its `method` property set to `URLRequestMethod.POST`) as using the GET method. **Note:** If running in Flash Player and the referenced form has no body, Flash Player automatically uses a GET operation, even if the method is set to `URLRequestMethod.POST`. For this reason, it is recommended to always include a "dummy" body to ensure that the correct method is used. @default URLRequestMethod.GET @throws ArgumentError If the `value` parameter is not `URLRequestMethod.GET` or `URLRequestMethod.POST`. The array of HTTP request headers to be appended to the HTTP request. The array is composed of URLRequestHeader objects. Each object in the array must be a URLRequestHeader object that contains a name string and a value string, as follows: Flash Player and the AIR runtime impose certain restrictions on request headers; for more information, see the URLRequestHeader class description. Not all methods that accept URLRequest parameters support the `requestHeaders` property, consult the documentation for the method you are calling. For example, the `FileReference.upload()` and `FileReference.download()` methods do not support the `URLRequest.requestHeaders` property. Due to browser limitations, custom HTTP request headers are only supported for `POST` requests, not for `GET` requests. Specifies the user-agent string to be used in the HTTP request. The default value is the same user agent string that is used by OpenFL on native targets, by the web browser or by Flash Player (depending upon the target). **Note:** This property does not affect the user agent string when the URLRequest object is used with the `load()` method of an HTMLLoader object. To set the user agent string for an HTMLLoader object, set the `userAgent` property of the HTMLLoader object or set the static `URLRequestDefaults.userAgent` property. { url : null } Creates a URLRequest object. If `System.useCodePage` is `true`, the request is encoded using the system code page, rather than Unicode. If `System.useCodePage` is `false`, the request is encoded using Unicode, rather than the system code page. @param url The URL to be requested. You can set the URL later by using the `url` property. The URLRequest class captures all of the information in a single HTTP request. URLRequest objects are passed to the `load()` methods of the Loader, URLStream, and URLLoader classes, and to other loading operations, to initiate URL downloads. They are also passed to the `upload()` and `download()` methods of the FileReference class. A SWF file in the local-with-filesystem sandbox may not load data from, or provide data to, a resource that is in the network sandbox. By default, the calling SWF file and the URL you load must be in the same domain. For example, a SWF file at www.adobe.com can load data only from sources that are also at www.adobe.com. To load data from a different domain, place a URL policy file on the server hosting the data. However, in Adobe AIR, content in the application security sandbox (content installed with the AIR application) is not restricted by these security limitations. For content running in Adobe AIR, files in the application security sandbox can access URLs using any of the following URL schemes: * `http` and `https` * `file` * `app-storage` * `app` Content running in Adobe AIR that is not in the application security sandbox observes the same restrictions as content running in the browser (in Flash Player), and loading is governed by the content's domain and any permissions granted in URL policy files. For more information related to security, see the Flash Player Developer Center Topic: [Security](http://www.adobe.com/go/devnet_security_en). "tags=\"haxe,release\"" true The default setting for the `followRedirects` property of URLRequest objects. Setting the `followRedirects` property in a URLRequest object overrides this default setting. This setting does not apply to URLRequest objects used in file upload or RTMP requests. The default value is `true`. 0 The default setting for the `idleTimeout` property of URLRequest objects and HTMLLoader objects. The idle timeout is the amount of time (in milliseconds) that the client waits for a response from the server, after the connection is established, before abandoning the request. This defines the default idle timeout used by the URLRequest or HTMLLoader object. Setting the `idleTimeout` property in a URLRequest object or an HTMLLoader object overrides this default setting. When this property is set to 0 (the default), the runtime uses the default idle timeout value defined by the operating system. The default idle timeout value varies between operating systems (such as Mac OS, Linux, or Windows) and between operating system versions. This setting does not apply to URLRequest objects used in file upload or RTMP requests. The default value is 0. true The default setting for the manageCookies property of URLRequest objects. Setting the manageCookies property in a URLRequest object overrides this default setting. **Note:** This setting does not apply to URLRequest objects used in file upload or RTMP requests. The default value is `true`. The default setting for the `userAgent` property of URLRequest objects. Setting the `userAgent` property in a URLRequest object overrides this default setting. This is also the default user agent string for all HTMLLoader objects (used when you call the `load()` method of the HTMLLoader object). Setting the `userAgent` property of the HTMLLoader object overrides the `URLRequestDefaults.userAgent` setting. This default value varies depending on the runtime operating system (such as Mac OS, Linux or Windows), the runtime language, and the runtime version, as in the following examples: * `"Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en) AppleWebKit/526.9+ (KHTML, like Gecko) AdobeAIR/1.5"` * `"Mozilla/5.0 (Windows; U; en) AppleWebKit/526.9+ (KHTML, like Gecko) AdobeAIR/1.5"` * `"Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/526.9+ (KHTML, like Gecko) AdobeAIR/1.5"` The URLRequestDefaults class includes static properties that you can set to define default values for the properties of the URLRequest class. It also includes a static method, `URLRequestDefaults.setLoginCredentialsForHost()`, which lets you define default authentication credentials for requests. The URLRequest class defines the information to use in an HTTP request. Any properties set in a URLRequest object override those static properties set for the URLRequestDefaults class. URLRequestDefault settings only apply to content in the caller's application domain, with one exception: settings made by calling `URLRequestDefaults.setLoginCredentialsForHost()` apply to all application domains in the currently running application. Only Adobe® AIR® content running in the application security sandbox can use the URLRequestDefaults class. Other content will result in a SecurityError being thrown when accessing the members or properties of this class. "tags=\"haxe,release\"" An HTTP request header name(such as `Content-Type` or `SOAPAction`). The value associated with the `name` property(such as `text/plain`). { value : "", name : "" } Creates a new URLRequestHeader object that encapsulates a single HTTP request header. URLRequestHeader objects are used in the `requestHeaders` property of the URLRequest class. @param name An HTTP request header name(such as `Content-Type` or `SOAPAction`). @param value The value associated with the `name` property (such as `text/plain`). ® AIR®, content in the application security sandbox(such as content installed with the AIR application) can use any request headers, without error. However, for content running in Adobe AIR that is in a different security sandbox, or for content running in Flash® Player, using following request headers cause a runtime error to be thrown, and the restricted terms are not case-sensitive (for example, `Get`, `get`, and `GET` are each not allowed): In Flash Player and in Adobe AIR content outside of the application security sandbox, the following request headers cannot be used, and the restricted terms are not case-sensitive(for example, `Get`, `get`, and `GET` are all not allowed). Also, hyphenated terms apply if an underscore character is used(for example, both `Content-Length` and `Content_Length` are not allowed): `Accept-Charset`, `Accept-Encoding`, `Accept-Ranges`, `Age`, `Allow`, `Allowed`, `Authorization`, `Charge-To`, `Connect`, `Connection`, `Content-Length`, `Content-Location`, `Content-Range`, `Cookie`, `Date`, `Delete`, `ETag`, `Expect`, `Get`, `Head`, `Host`, `If-Modified-Since`, `Keep-Alive`, `Last-Modified`, `Location`, `Max-Forwards`, `Options`, `Origin`, `Post`, `Proxy-Authenticate`, `Proxy-Authorization`, `Proxy-Connection`, `Public`, `Put`, `Range`, `Referer`, `Request-Range`, `Retry-After`, `Server`, `TE`, `Trace`, `Trailer`, `Transfer-Encoding`, `Upgrade`, `URI`, `User-Agent`, `Vary`, `Via`, `Warning`, `WWW-Authenticate`, `x-flash-version`. URLRequestHeader objects are restricted in length. If the cumulative length of a URLRequestHeader object(the length of the `name` property plus the `value` property) or an array of URLRequestHeader objects used in the `URLRequest.requestHeaders` property exceeds the acceptable length, an exception is thrown. Content running in Adobe AIR sets the `ACCEPT` header to the following, unless you specify a setting for the `ACCEPT` header in the `requestHeaders` property of the URLRequest class: ``` text/xml, application/xml, application/xhtml+xml, text/html;q=0.9, text/plain;q=0.8, image/png, application/x-shockwave-flash, video/mp4;q=0.9, flv-application/octet-stream;q=0.8, video/x-flv;q=0.7, audio/mp4, * /*;q=0.5 ``` Not all methods that accept URLRequest parameters support the `requestHeaders` property, consult the documentation for the method you are calling. For example, the `FileReference.upload()` and `FileReference.download()` methods do not support the `URLRequest.requestHeaders` property. Due to browser limitations, custom HTTP request headers are only supported for `POST` requests, not for `GET` requests.]]> "tags=\"haxe,release\"" The URLRequestMethod class provides values that specify whether the URLRequest object should use the `POST` method or the `GET` method when sending data to a server. cast "DELETE" Specifies that the URLRequest object is a `DELETE`. cast "GET" Specifies that the URLRequest object is a `GET`. cast "HEAD" Specifies that the URLRequest object is a `HEAD`. cast "OPTIONS" Specifies that the URLRequest object is `OPTIONS`. cast "POST" Specifies that the URLRequest object is a `POST`. _Note:_ For content running in Adobe AIR, when using the `navigateToURL()` function, the runtime treats a URLRequest that uses the POST method(one that has its `method` property set to `URLRequestMethod.POST`) as using the GET method. cast "PUT" Specifies that the URLRequest object is a `PUT`. cast "DELETE" Specifies that the URLRequest object is a `DELETE`. cast "GET" Specifies that the URLRequest object is a `GET`. cast "HEAD" Specifies that the URLRequest object is a `HEAD`. cast "OPTIONS" Specifies that the URLRequest object is `OPTIONS`. cast "POST" Specifies that the URLRequest object is a `POST`. _Note:_ For content running in Adobe AIR, when using the `navigateToURL()` function, the runtime treats a URLRequest that uses the POST method(one that has its `method` property set to `URLRequestMethod.POST`) as using the GET method. cast "PUT" Specifies that the URLRequest object is a `PUT`. new ApplicationDomain(null) Gets the current application domain in which your code is executing. Gets the parent domain of this application domain. Gets a public definition from the specified application domain. The definition can be that of a class, a namespace, or a function. @param name The name of the definition. @return The object associated with the definition. @throws ReferenceError No public definition exists with the specified name. Checks to see if a public definition exists within the specified application domain. The definition can be that of a class, a namespace, or a function. @param name The name of the definition. @return A value of `true` if the specified definition exists; otherwise, `false`. { parentDomain : null } Creates a new application domain. @param parentDomain If no parent domain is passed in, this application domain takes the system domain as its parent. The ApplicationDomain class is a container for discrete groups of class definitions. Application domains are used to partition classes that are in the same security domain. They allow multiple definitions of the same class to exist and allow children to reuse parent definitions. Application domains are used when an external SWF file is loaded through the Loader class. All ActionScript 3.0 definitions in the loaded SWF file are stored in the application domain, which is specified by the `applicationDomain` property of the LoaderContext object that you pass as a `context` parameter of the Loader object's `load()` or `loadBytes()` method. The LoaderInfo object also contains an `applicationDomain` property, which is read-only. All code in a SWF file is defined to exist in an application domain. The current application domain is where your main application runs. The system domain contains all application domains, including the current domain, which means that it contains all Flash Player classes. Every application domain, except the system domain, has an associated parent domain. The parent domain of your main application's application domain is the system domain. Loaded classes are defined only when their parent doesn't already define them. You cannot override a loaded class definition with a newer definition. For usage examples of application domains, see the _ActionScript 3.0 Developer's Guide_. The `ApplicationDomain()` constructor function allows you to create an ApplicationDomain object. "tags=\"haxe,release\"" true Specifies whether access to the user's camera and microphone has been administratively prohibited(`true`) or allowed (`false`). The server string is `AVD`. For content in Adobe AIR™, this property applies only to content in security sandboxes other than the application security sandbox. Content in the application security sandbox can always access the user's camera and microphone. Specifies the current CPU architecture. The `cpuArchitecture` property can return the following strings: "`PowerPC`", "`x86`", "`SPARC`", and "`ARM`". The server string is `ARCH`. false Specifies whether the system supports(`true`) or does not support(`false`) communication with accessibility aids. The server string is `ACC`. true Specifies whether the system has audio capabilities. This property is always `true`. The server string is `A`. false Specifies whether the system can(`true`) or cannot (`false`) encode an audio stream, such as that coming from a microphone. The server string is `AE`. false Specifies whether the system supports(`true`) or does not support(`false`) embedded video. The server string is `EV`. false Specifies whether the system does(`true`) or does not (`false`) have an input method editor(IME) installed. The server string is `IME`. false Specifies whether the system does(`true`) or does not (`false`) have an MP3 decoder. The server string is `MP3`. false Specifies whether the system does(`true`) or does not (`false`) support printing. The server string is `PR`. false Specifies whether the system does(`true`) or does not (`false`) support the development of screen broadcast applications to be run through Flash Media Server. The server string is `SB`. false Specifies whether the system does(`true`) or does not (`false`) support the playback of screen broadcast applications that are being run through Flash Media Server. The server string is `SP`. false Specifies whether the system can(`true`) or cannot (`false`) play streaming audio. The server string is `SA`. false Specifies whether the system can(`true`) or cannot (`false`) play streaming video. The server string is `SV`. true Specifies whether the system supports native SSL sockets through NetConnection(`true`) or does not(`false`). The server string is `TLS`. false Specifies whether the system can(`true`) or cannot (`false`) encode a video stream, such as that coming from a web camera. The server string is `VE`. false Specifies whether the system is a special debugging version (`true`) or an officially released version (`false`). The server string is `DEB`. This property is set to `true` when running in the debug version of Flash Player or the AIR Debug Launcher(ADL). false Specifies whether the Flash runtime is embedded in a PDF file that is open in Acrobat 9.0 or higher(`true`) or not(`false`). Specifies the language code of the system on which the content is running. The language is specified as a lowercase two-letter language code from ISO 639-1. For Chinese, an additional uppercase two-letter country code from ISO 3166 distinguishes between Simplified and Traditional Chinese. The languages codes are based on the English names of the language: for example, `hu` specifies Hungarian. On English systems, this property returns only the language code (`en`), not the country code. On Microsoft Windows systems, this property returns the user interface (UI) language, which refers to the language used for all menus, dialog boxes, error messages, and help files. The following table lists the possible values: | Language | Value | | --- | --- | | Czech | `cs` | | Danish | `da` | | Dutch | `nl` | | English | `en` | | Finnish | `fi` | | French | `fr` | | German | `de` | | Hungarian | `hu` | | Italian | `it` | | Japanese | `ja` | | Korean | `ko` | | Norwegian | `no` | | Other/unknown | `xu` | | Polish | `pl` | | Portuguese | `pt` | | Russian | `ru` | | Simplified Chinese | `zh-CN` | | Spanish | `es` | | Swedish | `sv` | | Traditional Chinese | `zh-TW` | | Turkish | `tr` | _Note:_ The value of `Capabilities.language` property is limited to the possible values on this list. Because of this limitation, Adobe AIR applications should use the first element in the `Capabilities.languages` array to determine the primary user interface language for the system. The server string is `L`. false Specifies whether read access to the user's hard disk has been administratively prohibited(`true`) or allowed (`false`). For content in Adobe AIR, this property applies only to content in security sandboxes other than the application security sandbox.(Content in the application security sandbox can always read from the file system.) If this property is `true`, Flash Player cannot read files(including the first file that Flash Player launches with) from the user's hard disk. If this property is `true`, AIR content outside of the application security sandbox cannot read files from the user's hard disk. For example, attempts to read a file on the user's hard disk using load methods will fail if this property is set to `true`. Reading runtime shared libraries is also blocked if this property is set to `true`, but reading local shared objects is allowed without regard to the value of this property. The server string is `LFD`. Specifies the manufacturer of the running version of Flash Player or the AIR runtime, in the format `"Adobe` `_OSName_"`. The value for `_OSName_` could be `"Windows"`, `"Macintosh"`, `"Linux"`, or another operating system name. The server string is `M`. Do _not_ use `Capabilities.manufacturer` to determine a capability based on the operating system if a more specific capability property exists. Basing a capability on the operating system is a bad idea, since it can lead to problems if an application does not consider all potential target operating systems. Instead, use the property corresponding to the capability for which you are testing. For more information, see the Capabilities class description. 0 Retrieves the highest H.264 Level IDC that the client hardware supports. Media run at this level are guaranteed to run; however, media run at the highest level might not run with the highest quality. This property is useful for servers trying to target a client's capabilities. Using this property, a server can determine the level of video to send to the client. The server string is `ML`. Specifies the current operating system. The `os` property can return the following strings: |Operating system | Value | | --- | --- | | Windows 7 | `"Windows 7"` | | Windows Vista | `"Windows Vista"` | | Windows Server 2008 R2 | `"Windows Server 2008 R2"` | | Windows Server 2008 | `"Windows Server 2008"` | | Windows Home Server | `"Windows Home Server"` | | Windows Server 2003 R2 | `"Windows Server 2003 R2"` | | Windows Server 2003 | `"Windows Server 2003"` | | Windows XP 64 | `"Windows Server XP 64"` | | Windows XP | `"Windows XP"` | | Windows 98 | `"Windows 98"` | | Windows 95 | `"Windows 95"` | | Windows NT | `"Windows NT"` | | Windows 2000 | `"Windows 2000"` | | Windows ME | `"Windows ME"` | | Windows CE | `"Windows CE"` | | Windows SmartPhone | `"Windows SmartPhone"` | | Windows PocketPC | `"Windows PocketPC"` | | Windows CEPC | `"Windows CEPC"` | | Windows Mobile | `"Windows Mobile"` | | Mac OS | `"Mac OS X.Y.Z"` (where X.Y.Z is the version number, for example: `"Mac OS 10.5.2"`) | | Linux | `"Linux"` (Flash Player attaches the Linux version, such as `"Linux 2.6.15-1.2054_FC5smp"` | | iPhone OS 4.1 | `"iPhone3,1"` | The server string is `OS`. Do _not_ use `Capabilities.os` to determine a capability based on the operating system if a more specific capability property exists. Basing a capability on the operating system is a bad idea, since it can lead to problems if an application does not consider all potential target operating systems. Instead, use the property corresponding to the capability for which you are testing. For more information, see the Capabilities class description. Specifies the pixel aspect ratio of the screen. The server string is `AR`. "StandAlone" or in test mode * `"PlugIn"` for the Flash Player browser plug-in(and for SWF content loaded by an HTML page in an AIR application) * `"StandAlone"` for the stand-alone Flash Player The server string is `PT`.]]> "color" Specifies the screen color. This property can have the value `"color"`, `"gray"`(for grayscale), or `"bw"`(for black and white). The server string is `COL`. Specifies the dots-per-inch(dpi) resolution of the screen, in pixels. The server string is `DP`. Specifies the maximum horizontal resolution of the screen. The server string is `R`(which returns both the width and height of the screen). This property does not update with a user's screen resolution and instead only indicates the resolution at the time Flash Player or an Adobe AIR application started. Also, the value only specifies the primary screen. Specifies the maximum vertical resolution of the screen. The server string is `R`(which returns both the width and height of the screen). This property does not update with a user's screen resolution and instead only indicates the resolution at the time Flash Player or an Adobe AIR application started. Also, the value only specifies the primary screen. "" true Specifies whether the system supports running 32-bit processes. The server string is `PR32`. true Specifies whether the system supports running 64-bit processes. The server string is `PR64`. TouchscreenType.FINGER Specifies the type of touchscreen supported, if any. Values are defined in the openfl.system.TouchscreenType class. ® AIR® platform and version information. The format of the version number is: _platform majorVersion,minorVersion,buildNumber,internalBuildNumber_. Possible values for _platform_ are `"WIN"`, ` `"MAC"`, `"LNX"`, and `"AND"`. Here are some examples of version information: `WIN 9,0,0,0 // Flash Player 9 for Windows MAC 7,0,25,0 // Flash Player 7 for Macintosh LNX 9,0,115,0 // Flash Player 9 for Linux AND 10,2,150,0 // Flash Player 10 for Android` Do _not_ use `Capabilities.version` to determine a capability based on the operating system if a more specific capability property exists. Basing a capability on the operating system is a bad idea, since it can lead to problems if an application does not consider all potential target operating systems. Instead, use the property corresponding to the capability for which you are testing. For more information, see the Capabilities class description. The server string is `V`.]]> <__standardDensities expr="[120, 160, 240, 320, 480, 640, 800, 960]" line="476" static="1"> [120, 160, 240, 320, 480, 640, 800, 960] Specifies whether the system supports multichannel audio of a specific type. The class flash.media.AudioDecoder enumerates the possible types. _AIR profile support:_ Multichannel audio is supported only on AIR for TV devices. On all other devices, this method always returns `false`. See AIR Profile Support for more information regarding API support across multiple profiles. **Note:** When using one of the DTS audio codecs, scenarios exist in which `hasMultiChannelAudio()` returns `true` but the DTS audio is not played. For example, consider a Blu-ray player with an S/PDIF output, connected to an old amplifier. The old amplifier does not support DTS, but S/PDIF has no protocol to notify the Blu-ray player. If the Blu-ray player sends the DTS stream to the old amplifier, the user hears nothing. Therefore, as a best practice when using DTS, provide a user interface so that the user can indicate if no sound is playing. Then, your application can revert to a different codec. The following table shows the server string for each multichannel audio type: | Multichannel audio type | Server string | | --- | --- | | AudioDecoder.DOLBY_DIGITAL | DD | | AudioDecoder.DOLBY_DIGITAL_PLUS | DDP | | AudioDecoder.DTS | DTS | | AudioDecoder.DTS_EXPRESS | DTE | | AudioDecoder.DTS_HD_HIGH_RESOLUTION_AUDIO | DTH | | AudioDecoder.DTS_HD_MASTER_AUDIO | DTM | @param type A String value representing a multichannel audio type. The valid values are the constants defined in flash.media.AudioDecoder. @returns The Boolean value `true` if the system supports the multichannel audio type passed in the `type` parameter. Otherwise, the return value is `false`. A=t&SA=t&SV=t&EV=t&MP3=t&AE=t&VE=t&ACC=f&PR=t&SP=t& SB=f&DEB=t&V=WIN%209%2C0%2C0%2C0&M=Adobe%20Windows& R=1600x1200&DP=72&COL=color&AR=1.0&OS=Windows%20XP& L=en&PT=External&AVD=f&LFD=f&WD=f&IME=t The following table lists the properties of the Capabilities class and corresponding server strings: Capabilities class propertyServer string | |`avHardwareDisable` | `AVD` | |`hasAccessibility` | `ACC` | |`hasAudio` | `A` | |`hasAudioEncoder` | `AE` | |`hasEmbeddedVideo` | `EV` | |`hasIME` | `IME` | |`hasMP3` | `MP3` | |`hasPrinting` | `PR` | |`hasScreenBroadcast` | `SB` | |`hasScreenPlayback` | `SP` | |`hasStreamingAudio` | `SA` | |`hasStreamingVideo` | `SV` | |`hasTLS` | `TLS` | |`hasVideoEncoder` | `VE` | |`isDebugger` | `DEB` | |`language` | `L` | |`localFileReadDisable` | `LFD` | |`manufacturer` | `M` | |`maxLevelIDC` | `ML` | |`os` | `OS` | |`pixelAspectRatio` | `AR` | |`playerType` | `PT` | |`screenColor` | `COL` | |`screenDPI` | `DP` | |`screenResolutionX` | `R` | |`screenResolutionY` | `R` | |`version` | `V` | There is also a `WD` server string that specifies whether windowless mode is disabled. Windowless mode can be disabled in Flash Player due to incompatibility with the web browser or to a user setting in the mms.cfg file. There is no corresponding Capabilities property. All properties of the Capabilities class are read-only.]]> "tags=\"haxe,release\"" Specifies whether you can use a `Loader` object to import content with executable code, such as a SWF file, into the caller's security sandbox. There are two affected importing operations: the `Loader.loadBytes()` method, and the `Loader.load()` method with `LoaderContext.securityDomain = SecurityDomain.currentDomain`. (The latter operation is not supported in the AIR application sandbox.) With the `allowCodeImport` property set to `false`, these importing operations are restricted to safe operations, such as loading images. Normal, non-importing SWF file loading with the `Loader.load()` method is not affected by the value of this property. This property is useful when you want to import image content into your sandbox - for example, when you want to replicate or process an image from a different domain - but you don't want to take the security risk of receiving a SWF file when you expected only an image file. Since SWF files may contain ActionScript code, importing a SWF file is a much riskier operation than importing an image file. In AIR content in the application sandbox, the default value is `false`. In non-application content (which includes all content in Flash Player), the default value is `true`. The `allowCodeImport` property was added in Flash Player 10.1 and AIR 2.0. However, this property is made available to SWF files and AIR applications of all versions when the Flash Runtime supports it. Legacy property, replaced by `allowCodeImport`, but still supported for compatibility. Previously, the only operation affected by `allowLoadBytesCodeExecution` was the `Loader.loadBytes()` method, but as of Flash Player 10.1 and AIR 2.0, the import-loading operation of `Loader.load()` with `LoaderContext.securityDomain = SecurityDomain.currentDomain` is affected as well. (The latter operation is not supported in the AIR application sandbox.) This dual effect made the property name `allowLoadBytesCodeExecution` overly specific, so now `allowCodeImport` is the preferred property name. Setting either of `allowCodeImport` or `allowLoadBytesCodeExecution` will affect the value of both. Specifies whether you can use a `Loader` object to import content with executable code, such as a SWF file, into the caller's security sandbox. With this property set to `false`, these importing operations are restricted to safe operations, such as loading images. In AIR content in the application sandbox, the default value is `false`. In non-application content, the default value is `true`. Specifies the application domain to use for the `Loader.load()` or `Loader.loadBytes()` method. Use this property only when loading a SWF file written in ActionScript 3.0 (not an image or a SWF file written in ActionScript 1.0 or ActionScript 2.0). Every security domain is divided into one or more application domains, represented by ApplicationDomain objects. Application domains are not for security purposes; they are for managing cooperating units of ActionScript code. If you are loading a SWF file from another domain, and allowing it to be placed in a separate security domain, then you cannot control the choice of application domain into which the loaded SWF file is placed; and if you have specified a choice of application domain, it will be ignored. However, if you are loading a SWF file into your own security domain � either because the SWF file comes from your own domain, or because you are importing it into your security domain � then you can control the choice of application domain for the loaded SWF file. You can pass an application domain only from your own security domain in `LoaderContext.applicationDomain`. Attempting to pass an application domain from any other security domain results in a `SecurityError` exception. You have four choices for what kind of `ApplicationDomain` property to use: * **Child of loader's ApplicationDomain.** The default. You can explicitly represent this choice with the syntax `new ApplicationDomain(ApplicationDomain.currentDomain)`. This allows the loaded SWF file to use the parent's classes directly, for example by writing `new MyClassDefinedInParent()`. The parent, however, cannot use this syntax; if the parent wishes to use the child's classes, it must call `ApplicationDomain.getDefinition()` to retrieve them. The advantage of this choice is that, if the child defines a class with the same name as a class already defined by the parent, no error results; the child simply inherits the parent's definition of that class, and the child's conflicting definition goes unused unless either child or parent calls the `ApplicationDomain.getDefinition()` method to retrieve it. * **Loader's own ApplicationDomain.** You use this application domain when using `ApplicationDomain.currentDomain`. When the load is complete, parent and child can use each other's classes directly. If the child attempts to define a class with the same name as a class already defined by the parent, the parent class is used and the child class is ignored. * **Child of the system ApplicationDomain.** You use this application domain when using `new ApplicationDomain(null)`. This separates loader and loadee entirely, allowing them to define separate versions of classes with the same name without conflict or overshadowing. The only way either side sees the other's classes is by calling the `ApplicationDomain.getDefinition()` method. * **Child of some other ApplicationDomain.** Occasionally you may have a more complex ApplicationDomain hierarchy. You can load a SWF file into any ApplicationDomain from your own SecurityDomain. For example, `new ApplicationDomain(ApplicationDomain.currentDomain.parentDomain.parentDomain)` loads a SWF file into a new child of the current domain's parent's parent. When a load is complete, either side (loading or loaded) may need to find its own ApplicationDomain, or the other side's ApplicationDomain, for the purpose of calling `ApplicationDomain.getDefinition()`. Either side can retrieve a reference to its own application domain by using `ApplicationDomain.currentDomain`. The loading SWF file can retrieve a reference to the loaded SWF file's ApplicationDomain via `Loader.contentLoaderInfo.applicationDomain`. If the loaded SWF file knows how it was loaded, it can find its way to the loading SWF file's ApplicationDomain object. For example, if the child was loaded in the default way, it can find the loading SWF file's application domain by using `ApplicationDomain.currentDomain.parentDomain`. For more information, see the "ApplicationDomain class" section of the "Client System Environment" chapter of the _ActionScript 3.0 Developer's Guide_. ` tags. If you set `checkPolicyFile` to `true`, the main download that specified in the `Loader.load()` method does not load until the policy file has been completely processed. Therefore, as long as the policy file that you need exists, as soon as you have received any `ProgressEvent.PROGRESS` or `Event.COMPLETE` events from the `contentLoaderInfo` property of your Loader object, the policy file download is complete, and you can safely begin performing operations that require the policy file. If you set `checkPolicyFile` to `true`, and no relevant policy file is found, you will not receive any error indication until you attempt an operation that throws a `SecurityError` exception. However, once the LoaderInfo object dispatches a `ProgressEvent.PROGRESS` or `Event.COMPLETE` event, you can test whether a relevant policy file was found by checking the value of the `LoaderInfo.childAllowsParent` property. If you will not need pixel-level access to the image that you are loading, you should not set the `checkPolicyFile` property to `true`. Checking for a policy file in this case is wasteful, because it may delay the start of your download, and it may consume network bandwidth unnecessarily. Also try to avoid setting `checkPolicyFile` to `true` if you are using the `Loader.load()` method to download a SWF file. This is because SWF-to-SWF permissions are not controlled by policy files, but rather by the `Security.allowDomain()` method, and thus `checkPolicyFile` has no effect when you load a SWF file. Checking for a policy file in this case is wasteful, because it may delay the download of the SWF file, and it may consume network bandwidth unnecessarily. (Flash Player or AIR cannot tell whether your main download will be a SWF file or an image, because the policy file download occurs before the main download.) Be careful with `checkPolicyFile` if you are downloading an object from a URL that may use server-side HTTP redirects. Policy files are always retrieved from the corresponding initial URL that you specify in `URLRequest.url`. If the final object comes from a different URL because of HTTP redirects, then the initially downloaded policy files might not be applicable to the object's final URL, which is the URL that matters in security decisions. If you find yourself in this situation, you can examine the value of `LoaderInfo.url` after you have received a `ProgressEvent.PROGRESS` or `Event.COMPLETE` event, which tells you the object's final URL. Then call the `Security.loadPolicyFile()` method with a policy file URL based on the object's final URL. Then poll the value of `LoaderInfo.childAllowsParent` until it becomes `true`. You do not need to set this property for AIR content running in the application sandbox. Content in the AIR application sandbox can call the `BitmapData.draw()` method using any loaded image content as the source.]]> Specifies the security domain to use for a `Loader.load()` operation. Use this property only when loading a SWF file (not an image). The choice of security domain is meaningful only if you are loading a SWF file that might come from a different domain (a different server) than the loading SWF file. When you load a SWF file from your own domain, it is always placed into your security domain. But when you load a SWF file from a different domain, you have two options. You can allow the loaded SWF file to be placed in its "natural" security domain, which is different from that of the loading SWF file; this is the default. The other option is to specify that you want to place the loaded SWF file placed into the same security domain as the loading SWF file, by setting `myLoaderContext.securityDomain` to be equal to `SecurityDomain.currentDomain`. This is called _import loading_, and it is equivalent, for security purposes, to copying the loaded SWF file to your own server and loading it from there. In order for import loading to succeed, the loaded SWF file's server must have a policy file trusting the domain of the loading SWF file. You can pass your own security domain only in `LoaderContext.securityDomain`. Attempting to pass any other security domain results in a `SecurityError` exception. Content in the AIR application security sandbox cannot load content from other sandboxes into its SecurityDomain. For more information, see the "Security" chapter in the _ActionScript 3.0 Developer's Guide_. { securityDomain : null, applicationDomain : null, checkPolicyFile : false } Creates a new LoaderContext object, with the specified settings. For complete details on these settings, see the descriptions of the properties of this class. @param checkPolicyFile Specifies whether a check should be made for the existence of a URL policy file before loading the object. @param applicationDomain Specifies the ApplicationDomain object to use for a Loader object. @param securityDomain Specifies the SecurityDomain object to use for a Loader object. _Note:_ Content in the air application security sandbox cannot load content from other sandboxes into its SecurityDomain. The LoaderContext class provides options for loading SWF files and other media by using the Loader class. The LoaderContext class is used as the `context` parameter in the `load()` and `loadBytes()` methods of the Loader class. When loading SWF files with the `Loader.load()` method, you have two decisions to make: into which security domain the loaded SWF file should be placed, and into which application domain within that security domain? For more details on these choices, see the `applicationDomain` and `securityDomain` properties. When loading a SWF file with the `Loader.loadBytes()` method, you have the same application domain choice to make as for `Loader.load()`, but it's not necessary to specify a security domain, because `Loader.loadBytes()` always places its loaded SWF file into the security domain of the loading SWF file. When loading images (JPEG, GIF, or PNG) instead of SWF files, there is no need to specify a SecurityDomain or an application domain, because those concepts are meaningful only for SWF files. Instead, you have only one decision to make: do you need programmatic access to the pixels of the loaded image? If so, see the `checkPolicyFile` property. If you want to apply deblocking when loading an image, use the JPEGLoaderContext class instead of the LoaderContext class. "tags=\"haxe,release\"" new SecurityDomain() Gets the current security domain. The SecurityDomain class represents the current security "sandbox," also known as a security domain. By passing an instance of this class to `Loader.load()`, you can request that loaded media be placed in a particular sandbox. "tags=\"haxe,release\"" "checkstyle:UnnecessaryConstructor" The amount of memory(in bytes) currently in use that has been directly allocated by Flash Player or AIR. This property does not return _all_ memory used by an Adobe AIR application or by the application(such as a browser) containing Flash Player content. The browser or operating system may consume other memory. The `System.privateMemory` property reflects _all_ memory used by an application. If the amount of memory allocated is greater than the maximum value for a uint object(`uint.MAX_VALUE`, or 4,294,967,295), then this property is set to 0. The `System.totalMemoryNumber` property allows larger values. false A Boolean value that determines which code page to use to interpret external text files. When the property is set to `false`, external text files are interpretted as Unicode.(These files must be encoded as Unicode when you save them.) When the property is set to `true`, external text files are interpretted using the traditional code page of the operating system running the application. The default value of `useCodePage` is `false`. Text that you load as an external file(using `Loader.load()`, the URLLoader class or URLStream) must have been saved as Unicode in order for the application to recognize it as Unicode. To encode external files as Unicode, save the files in an application that supports Unicode, such as Notepad on Windows. If you load external text files that are not Unicode-encoded, set `useCodePage` to `true`. Add the following as the first line of code of the file that is loading the data(for Flash Professional, add it to the first frame): `System.useCodePage = true;` When this code is present, the application interprets external text using the traditional code page of the operating system. For example, this is generally CP1252 for an English Windows operating system and Shift-JIS for a Japanese operating system. If you set `useCodePage` to `true`, Flash Player 6 and later treat text as Flash Player 5 does.(Flash Player 5 treated all text as if it were in the traditional code page of the operating system running the player.) If you set `useCodePage` to `true`, remember that the traditional code page of the operating system running the application must include the characters used in your external text file in order to display your text. For example, if you load an external text file that contains Chinese characters, those characters cannot display on a system that uses the CP1252 code page because that code page does not include Chinese characters. To ensure that users on all platforms can view external text files used in your application, you should encode all external text files as Unicode and leave `useCodePage` set to `false`. This way, the application(Flash Player 6 and later, or AIR) interprets the text as Unicode. hide Undocumented property hide Makes the specified XML object immediately available for garbage collection. This method will remove parent and child connections between all the nodes for the specified XML node. @param node XML reference that should be made available for garbage collection. Closes Flash Player. _For the standalone Flash Player debugger version only._ AIR applications should call the `NativeApplication.exit()` method to exit the application. @param code A value to pass to the operating system. Typically, if the process exits normally, the value is 0. Forces the garbage collection process. _For the Flash Player debugger version and AIR applications only._ In an AIR application, the `System.gc()` method is only enabled in content running in the AIR Debug Launcher(ADL) or, in an installed application, in content in the application security sandbox. Pauses Flash Player or the AIR Debug Launcher(ADL). After calling this method, nothing in the application continues except the delivery of Socket events. _For the Flash Player debugger version or the AIR Debug Launcher (ADL) only._ Resumes the application after calling `System.pause()`. _For the Flash Player debugger version or the AIR Debug Launcher (ADL) only._ Replaces the contents of the Clipboard with a specified text string. This method works from any security context when called as a result of a user event(such as a keyboard or input device event handler). This method is provided for SWF content running in Flash Player 9. It allows only adding String content to the Clipboard. Flash Player 10 content and content in the application security sandbox in an AIR application can call the `Clipboard.setData()` method. @param string A plain-text string of characters to put on the system Clipboard, replacing its current contents(if any). The System class contains properties related to local settings and operations. Among these are settings for camers and microphones, operations with shared objects and the use of the Clipboard. Additional properties and methods are in other classes within the openfl.system package: the Capabilities class, the IME class, and the Security class. This class contains only static methods and properties. You cannot create new instances of the System class. "tags=\"haxe,release\"" The TouchscreenType class is an enumeration class that provides values for the different types of touch screens. Use the values defined by the TouchscreenType class with the `Capabilities.touchscreenType` property. cast 0 A touchscreen designed to respond to finger touches. cast 1 The computer or device does not have a supported touchscreen. cast 2 A touchscreen designed for use with a stylus. cast 0 A touchscreen designed to respond to finger touches. cast 1 The computer or device does not have a supported touchscreen. cast 2 A touchscreen designed for use with a stylus. The AntiAliasType class provides values for anti-aliasing in the openfl.text.TextField class. cast 0 Sets anti-aliasing to advanced anti-aliasing. Advanced anti-aliasing allows font faces to be rendered at very high quality at small sizes. It is best used with applications that have a lot of small text. Advanced anti-aliasing is not recommended for very large fonts(larger than 48 points). This constant is used for the `antiAliasType` property in the TextField class. Use the syntax `AntiAliasType.ADVANCED`. cast 1 Sets anti-aliasing to the anti-aliasing that is used in Flash Player 7 and earlier. This setting is recommended for applications that do not have a lot of text. This constant is used for the `antiAliasType` property in the TextField class. Use the syntax `AntiAliasType.NORMAL`. cast 0 Sets anti-aliasing to advanced anti-aliasing. Advanced anti-aliasing allows font faces to be rendered at very high quality at small sizes. It is best used with applications that have a lot of small text. Advanced anti-aliasing is not recommended for very large fonts(larger than 48 points). This constant is used for the `antiAliasType` property in the TextField class. Use the syntax `AntiAliasType.ADVANCED`. cast 1 Sets anti-aliasing to the anti-aliasing that is used in Flash Player 7 and earlier. This setting is recommended for applications that do not have a lot of text. This constant is used for the `antiAliasType` property in the TextField class. Use the syntax `AntiAliasType.NORMAL`. The FontStyle class provides values for the TextRenderer class. cast 0 Defines the bold style of a font for the `fontStyle` parameter in the `setAdvancedAntiAliasingTable()` method. Use the syntax `FontStyle.BOLD`. cast 1 Defines the italic style of a font for the `fontStyle` parameter in the `setAdvancedAntiAliasingTable()` method. Use the syntax `FontStyle.ITALIC`. cast 2 Defines the italic style of a font for the `fontStyle` parameter in the `setAdvancedAntiAliasingTable()` method. Use the syntax `FontStyle.ITALIC`. cast 3 Defines the plain style of a font for the `fontStyle` parameter in the `setAdvancedAntiAliasingTable()` method. Use the syntax `FontStyle.REGULAR`. cast 0 Defines the bold style of a font for the `fontStyle` parameter in the `setAdvancedAntiAliasingTable()` method. Use the syntax `FontStyle.BOLD`. cast 1 Defines the italic style of a font for the `fontStyle` parameter in the `setAdvancedAntiAliasingTable()` method. Use the syntax `FontStyle.ITALIC`. cast 2 Defines the italic style of a font for the `fontStyle` parameter in the `setAdvancedAntiAliasingTable()` method. Use the syntax `FontStyle.ITALIC`. cast 3 Defines the plain style of a font for the `fontStyle` parameter in the `setAdvancedAntiAliasingTable()` method. Use the syntax `FontStyle.REGULAR`. The FontType class contains the enumerated constants `"embedded"` and `"device"` for the `fontType` property of the Font class. cast 0 Indicates that this is a device font. The SWF file renders fonts with those installed on the system. Using device fonts results in a smaller movie size, because font data is not included in the file. Device fonts are often a good choice for displaying text at small point sizes, because anti-aliased text can be blurry at small sizes. Device fonts are also a good choice for large blocks of text, such as scrolling text. Text fields that use device fonts may not be displayed the same across different systems and platforms, because they are rendered with fonts installed on the system. For the same reason, device fonts are not anti-aliased and may appear jagged at large point sizes. cast 1 Indicates that this is an embedded font. Font outlines are embedded in the published SWF file. Text fields that use embedded fonts are always displayed in the chosen font, whether or not that font is installed on the playback system. Also, text fields that use embedded fonts are always anti-aliased(smoothed). You can select the amount of anti-aliasing you want by using the `TextField.antiAliasType property`. One drawback to embedded fonts is that they increase the size of the SWF file. Fonts of type `EMBEDDED` can only be used by TextField. If flash.text.engine classes are directed to use such a font they will fall back to device fonts. cast 2 Indicates that this is an embedded CFF font. Font outlines and a subset of OpenType tables are embedded in the published SWF file. Text that uses embedded CFF fonts is always displayed in the chosen font, whether or not that font is installed on the playback system. Also, text that uses embedded CFF fonts is always anti-aliased (smoothed) by Flash Player. You can select the rendering mode and hinting for an embedded CFF font using the `flash.text.engine.FontDescription.renderingMode` and `flash.text.engine.FontDescription.cffHinting` properties. One drawback to embedded CFF fonts is that they increase the size of the SWF file. However, embedded CFF fonts are typically 20% to 30% smaller than regular embedded fonts. Fonts of type EMBEDDED_CFF can only be used by the `flash.text.engine` classes. A TextField directed to use such a font will fail to render. cast 0 Indicates that this is a device font. The SWF file renders fonts with those installed on the system. Using device fonts results in a smaller movie size, because font data is not included in the file. Device fonts are often a good choice for displaying text at small point sizes, because anti-aliased text can be blurry at small sizes. Device fonts are also a good choice for large blocks of text, such as scrolling text. Text fields that use device fonts may not be displayed the same across different systems and platforms, because they are rendered with fonts installed on the system. For the same reason, device fonts are not anti-aliased and may appear jagged at large point sizes. cast 1 Indicates that this is an embedded font. Font outlines are embedded in the published SWF file. Text fields that use embedded fonts are always displayed in the chosen font, whether or not that font is installed on the playback system. Also, text fields that use embedded fonts are always anti-aliased(smoothed). You can select the amount of anti-aliasing you want by using the `TextField.antiAliasType property`. One drawback to embedded fonts is that they increase the size of the SWF file. Fonts of type `EMBEDDED` can only be used by TextField. If flash.text.engine classes are directed to use such a font they will fall back to device fonts. cast 2 Indicates that this is an embedded CFF font. Font outlines and a subset of OpenType tables are embedded in the published SWF file. Text that uses embedded CFF fonts is always displayed in the chosen font, whether or not that font is installed on the playback system. Also, text that uses embedded CFF fonts is always anti-aliased (smoothed) by Flash Player. You can select the rendering mode and hinting for an embedded CFF font using the `flash.text.engine.FontDescription.renderingMode` and `flash.text.engine.FontDescription.cffHinting` properties. One drawback to embedded CFF fonts is that they increase the size of the SWF file. However, embedded CFF fonts are typically 20% to 30% smaller than regular embedded fonts. Fonts of type EMBEDDED_CFF can only be used by the `flash.text.engine` classes. A TextField directed to use such a font will fail to render. The GridFitType class defines values for grid fitting in the TextField class. cast 0 Doesn't set grid fitting. Horizontal and vertical lines in the glyphs are not forced to the pixel grid. This constant is used in setting the `gridFitType` property of the TextField class. This is often a good setting for animation or for large font sizes. Use the syntax `GridFitType.NONE`. cast 1 Fits strong horizontal and vertical lines to the pixel grid. This constant is used in setting the `gridFitType` property of the TextField class. This setting only works for left-justified text fields and acts like the `GridFitType.SUBPIXEL` constant in static text. This setting generally provides the best readability for left-aligned text. Use the syntax `GridFitType.PIXEL`. cast 2 Fits strong horizontal and vertical lines to the sub-pixel grid on LCD monitors. (Red, green, and blue are actual pixels on an LCD screen.) This is often a good setting for right-aligned or center-aligned dynamic text, and it is sometimes a useful tradeoff for animation vs. text quality. This constant is used in setting the `gridFitType` property of the TextField class. Use the syntax `GridFitType.SUBPIXEL`. cast 0 Doesn't set grid fitting. Horizontal and vertical lines in the glyphs are not forced to the pixel grid. This constant is used in setting the `gridFitType` property of the TextField class. This is often a good setting for animation or for large font sizes. Use the syntax `GridFitType.NONE`. cast 1 Fits strong horizontal and vertical lines to the pixel grid. This constant is used in setting the `gridFitType` property of the TextField class. This setting only works for left-justified text fields and acts like the `GridFitType.SUBPIXEL` constant in static text. This setting generally provides the best readability for left-aligned text. Use the syntax `GridFitType.PIXEL`. cast 2 Fits strong horizontal and vertical lines to the sub-pixel grid on LCD monitors. (Red, green, and blue are actual pixels on an LCD screen.) This is often a good setting for right-aligned or center-aligned dynamic text, and it is sometimes a useful tradeoff for animation vs. text quality. This constant is used in setting the `gridFitType` property of the TextField class. Use the syntax `GridFitType.SUBPIXEL`. <__supportedStyles expr="["color", "display", "font-family", "font-size", "font-style", "font-weight", "kerning", "leading", "letter-spacing", "margin-left", "margin-right", "text-align", "text-decoration", "text-indent"]" line="54" static="1"> ["color", "display", "font-family", "font-size", "font-style", "font-weight", "kerning", "leading", "letter-spacing", "margin-left", "margin-right", "text-align", "text-decoration", "text-indent"] An array that contains the names (as strings) of all of the styles registered in this style sheet. <__styleNames> <__styleNamesDirty> <__styles> Removes all styles from the style sheet object. Returns a copy of the style object associated with the style named `styleName`. If there is no style object associated with `styleName`, `null` is returned. @param styleName A string that specifies the name of the style to retrieve. @return An object. Parses the CSS in `CSSText` and loads the style sheet with it. If a style in `CSSText` is already in `styleSheet`, the properties in `styleSheet` are retained, and only the ones in `CSSText` are added or changed in `styleSheet`. To extend the native CSS parsing capability, you can override this method by creating a subclass of the StyleSheet class. @param CSSText The CSS text to parse (a string). Adds a new style with the specified name to the style sheet object. If the named style does not already exist in the style sheet, it is added. If the named style already exists in the style sheet, it is replaced. If the styleObject parameter is null, the named style is removed. Flash Player creates a copy of the style object that you pass to this method. For a list of supported styles, see the table in the description for the StyleSheet class. @param styleName A string that specifies the name of the style to add to the style sheet. @param styleObject An object that describes the style, or `null`. Extends the CSS parsing capability. Advanced developers can override this method by extending the StyleSheet class. @param formatObject An object that describes the style, containing style rules as properties of the object, or `null`. @return A TextFormat object containing the result of the mapping of CSS rules to text format properties. <__applyStyle set="method" line="222"> <__applyStyleObject set="method" line="232"> <__parseFont set="method" line="334"> Creates a new StyleSheet object. The StyleSheet class lets you create a StyleSheet object that contains text formatting rules for font size, color, and other styles. You can then apply styles defined by a style sheet to a TextField object that contains HTML- or XML-formatted text. The text in the TextField object is automatically formatted according to the tag styles defined by the StyleSheet object. You can use text styles to define new formatting tags, redefine built-in HTML tags, or create style classes that you can apply to certain HTML tags. To apply styles to a TextField object, assign the StyleSheet object to a TextField object's `styleSheet` property. *Note:* A text field with a style sheet is not editable. In other words, a text field with the type property set to TextFieldType.INPUT applies the StyleSheet to the default text for the text field, but the content will no longer be editable by the user. Consider using the TextFormat class to assign styles to input text fields. Flash Player supports a subset of properties in the original CSS1 specification ([https://www.w3.org/TR/REC-CSS1](www.w3.org/TR/REC-CSS1)). The following table shows the supported Cascading Style Sheet (CSS) properties and values, as well as their corresponding Haxe property names. (Each Haxe property name is derived from the corresponding CSS property name; if the name contains a hyphen, the hyphen is omitted and the subsequent character is capitalized.) | CSS property | Haxe property | Usage and supported values | | --- | --- | --- | | `color` | `color` | Only hexadecimal color values are supported. Named colors (such as blue) are not supported. Colors are written in the following format: `#FF0000`. | | `display` | `display` | Supported values are `inline`, `block`, and `none`. | | `font-family` | `fontFamily` | A comma-separated list of fonts to use, in descending order of desirability. Any font family name can be used. If you specify a generic font name, it is converted to an appropriate device font. The following font conversions are available: `mono` is converted to `_typewriter`, `sans-serif` is converted to `_sans`, and `serif` is converted to `_serif`. | | `font-size` | `fontSize` | Only the numeric part of the value is used. Units (px, pt) are not parsed; pixels and points are equivalent. | | `font-style` | `fontStyle` | Recognized values are `normal` and `italic`. | | `font-weight` | `fontWeight` | Recognized values are `normal` and `bold`. | | `kerning` | `kerning` | Recognized values are `true` and `false`. Kerning is supported for embedded fonts only. Certain fonts, such as Courier New, do not support kerning. The kerning property is only supported in SWF files created in Windows, not in SWF files created on the Macintosh. However, these SWF files can be played in non-Windows versions of Flash Player and the kerning still applies. | | `leading` | `leading` | The amount of space that is uniformly distributed between lines. The value specifies the number of pixels that are added after each line. A negative value condenses the space between lines. Only the numeric part of the value is used. Units (px, pt) are not parsed; pixels and points are equivalent. | | `letter-spacing` | `letterSpacing` | The amount of space that is uniformly distributed between characters. The value specifies the number of pixels that are added after each character. A negative value condenses the space between characters. Only the numeric part of the value is used. Units (px, pt) are not parsed; pixels and points are equivalent. | | `margin-left` | `marginLeft` | Only the numeric part of the value is used. Units (px, pt) are not parsed; pixels and points are equivalent. | | `text-align` | `textAlign` | Recognized values are `left`, `center`, `right`, and `justify`. | | `text-decoration` | `textDecoration` | Recognized values are `none` and `underline`. | | `text-indent` | `textIndent` | Only the numeric part of the value is used. Units (px, pt) are not parsed; pixels and points are equivalent. | The TextFieldAutoSize class is an enumeration of constant values used in setting the `autoSize` property of the TextField class.

      cast 0 Specifies that the text is to be treated as center-justified text. Any resizing of a single line of a text field is equally distributed to both the right and left sides.
      cast 1 Specifies that the text is to be treated as left-justified text, meaning that the left side of the text field remains fixed and any resizing of a single line is on the right side. cast 2 Specifies that no resizing is to occur. cast 3 Specifies that the text is to be treated as right-justified text, meaning that the right side of the text field remains fixed and any resizing of a single line is on the left side.
      cast 0 Specifies that the text is to be treated as center-justified text. Any resizing of a single line of a text field is equally distributed to both the right and left sides.
      cast 1 Specifies that the text is to be treated as left-justified text, meaning that the left side of the text field remains fixed and any resizing of a single line is on the right side. cast 2 Specifies that no resizing is to occur. cast 3 Specifies that the text is to be treated as right-justified text, meaning that the right side of the text field remains fixed and any resizing of a single line is on the left side.
      The TextFieldType class is an enumeration of constant values used in setting the `type` property of the TextField class. cast 0 Used to specify a `dynamic` TextField. cast 1 Used to specify an `input` TextField. cast 0 Used to specify a `dynamic` TextField. cast 1 Used to specify an `input` TextField. Indicates the alignment of the paragraph. Valid values are TextFormatAlign constants. @default TextFormatAlign.LEFT @throws ArgumentError The `align` specified is not a member of openfl.text.TextFormatAlign. Indicates the block indentation in pixels. Block indentation is applied to an entire block of text; that is, to all lines of the text. In contrast, normal indentation(`TextFormat.indent`) affects only the first line of each paragraph. If this property is `null`, the TextFormat object does not specify block indentation(block indentation is 0). Specifies whether the text is boldface. The default value is `null`, which means no boldface is used. If the value is `true`, then the text is boldface. Indicates that the text is part of a bulleted list. In a bulleted list, each paragraph of text is indented. To the left of the first line of each paragraph, a bullet symbol is displayed. The default value is `null`, which means no bulleted list is used. Indicates the color of the text. A number containing three 8-bit RGB components; for example, 0xFF0000 is red, and 0x00FF00 is green. The default value is `null`, which means that Flash Player uses the color black(0x000000). The name of the font for text in this text format, as a string. The default value is `null`, which means that Flash Player uses Times New Roman font for the text. Indicates the indentation from the left margin to the first character in the paragraph. The default value is `null`, which indicates that no indentation is used. Indicates whether text in this text format is italicized. The default value is `null`, which means no italics are used. A Boolean value that indicates whether kerning is enabled (`true`) or disabled(`false`). Kerning adjusts the pixels between certain character pairs to improve readability, and should be used only when necessary, such as with headings in large fonts. Kerning is supported for embedded fonts only. Certain fonts such as Verdana and monospaced fonts, such as Courier New, do not support kerning. The default value is `null`, which means that kerning is not enabled. An integer representing the amount of vertical space(called _leading_) between lines. The default value is `null`, which indicates that the amount of leading used is 0. The left margin of the paragraph, in pixels. The default value is `null`, which indicates that the left margin is 0 pixels. A number representing the amount of space that is uniformly distributed between all characters. The value specifies the number of pixels that are added to the advance after each character. The default value is `null`, which means that 0 pixels of letter spacing is used. You can use decimal values such as `1.75`. The right margin of the paragraph, in pixels. The default value is `null`, which indicates that the right margin is 0 pixels. The size in pixels of text in this text format. The default value is `null`, which means that a size of 12 is used. Specifies custom tab stops as an array of non-negative integers. Each tab stop is specified in pixels. If custom tab stops are not specified (`null`), the default tab stop is 4(average character width). Indicates the target window where the hyperlink is displayed. If the target window is an empty string, the text is displayed in the default target window `_self`. You can choose a custom name or one of the following four names: `_self` specifies the current frame in the current window, `_blank` specifies a new window, `_parent` specifies the parent of the current frame, and `_top` specifies the top-level frame in the current window. If the `TextFormat.url` property is an empty string or `null`, you can get or set this property, but the property will have no effect. ` tag, but the latter is not true underlining, because it does not skip descenders correctly. The default value is `null`, which indicates that underlining is not used.]]> Indicates the target URL for the text in this text format. If the `url` property is an empty string, the text does not have a hyperlink. The default value is `null`, which indicates that the text does not have a hyperlink. **Note:** The text with the assigned text format must be set with the `htmlText` property for the hyperlink to work. <__ascent> <__descent> <__cacheKey> "checkstyle:FieldDocComment" hide <__merge set="method" line="300"> <__toCacheKey set="method" line="327"> { leading : null, indent : null, rightMargin : null, leftMargin : null, align : null, target : null, url : null, underline : null, italic : null, bold : null, color : null, size : null, font : null } Creates a TextFormat object with the specified properties. You can then change the properties of the TextFormat object to change the formatting of text fields. Any parameter may be set to `null` to indicate that it is not defined. All of the parameters are optional; any omitted parameters are treated as `null`. @param font The name of a font for text as a string. @param size An integer that indicates the size in pixels. @param color The color of text using this text format. A number containing three 8-bit RGB components; for example, 0xFF0000 is red, and 0x00FF00 is green. @param bold A Boolean value that indicates whether the text is boldface. @param italic A Boolean value that indicates whether the text is italicized. @param underline A Boolean value that indicates whether the text is underlined. @param url The URL to which the text in this text format hyperlinks. If `url` is an empty string, the text does not have a hyperlink. @param target The target window where the hyperlink is displayed. If the target window is an empty string, the text is displayed in the default target window `_self`. If the `url` parameter is set to an empty string or to the value `null`, you can get or set this property, but the property will have no effect. @param align The alignment of the paragraph, as a TextFormatAlign value. @param leftMargin Indicates the left margin of the paragraph, in pixels. @param rightMargin Indicates the right margin of the paragraph, in pixels. @param indent An integer that indicates the indentation from the left margin to the first character in the paragraph. @param leading A number that indicates the amount of leading vertical space between lines. The TextFormat class represents character formatting information. Use the TextFormat class to create specific text formatting for text fields. You can apply text formatting to both static and dynamic text fields. The properties of the TextFormat class apply to device and embedded fonts. However, for embedded fonts, bold and italic text actually require specific fonts. If you want to display bold or italic text with an embedded font, you need to embed the bold and italic variations of that font. You must use the constructor `new TextFormat()` to create a TextFormat object before setting its properties. When you apply a TextFormat object to a text field using the `TextField.defaultTextFormat` property or the `TextField.setTextFormat()` method, only its defined properties are applied. Use the `TextField.defaultTextFormat` property to apply formatting BEFORE you add text to the `TextField`, and the `setTextFormat()` method to add formatting AFTER you add text to the `TextField`. The TextFormat properties are `null` by default because if you don't provide values for the properties, Flash Player uses its own default formatting. The default formatting that Flash Player uses for each property (if property's value is `null`) is as follows: | | | | --- | --- | | align = "left" | | | blockIndent = 0 | | | bold = false | | | bullet = false | | | color = 0x000000 | | | font = "Times New Roman" (default font is Times on Mac OS X) | | | indent = 0 | | | italic = false | | | kerning = false | | | leading = 0 | | | leftMargin = 0 | | | letterSpacing = 0 | | | rightMargin = 0 | | | size = 12 | | | tabStops = [] (empty array) | | | target = "" (empty string) | | | underline = false | | | url = "" (empty string) | | The default formatting for each property is also described in each property description. "tags=\"haxe,release\"" The TextFormatAlign class provides values for text alignment in the TextFormat class.
      cast 0 Constant; centers the text in the text field. Use the syntax `TextFormatAlign.CENTER`.
      cast 1 Constant; aligns text to the end edge of a line. Same as right for left-to-right languages and same as left for right-to-left languages. The `END` constant may only be used with the StageText class. cast 2 Constant; justifies text within the text field. Use the syntax `TextFormatAlign.JUSTIFY`. cast 3 Constant; aligns text to the left within the text field. Use the syntax `TextFormatAlign.LEFT`. cast 4 Constant; aligns text to the right within the text field. Use the syntax `TextFormatAlign.RIGHT`. cast 5 Constant; aligns text to the start edge of a line. Same as left for left-to-right languages and same as right for right-to-left languages. The `START` constant may only be used with the StageText class.
      cast 0 Constant; centers the text in the text field. Use the syntax `TextFormatAlign.CENTER`.
      cast 1 Constant; aligns text to the end edge of a line. Same as right for left-to-right languages and same as left for right-to-left languages. The `END` constant may only be used with the StageText class. cast 2 Constant; justifies text within the text field. Use the syntax `TextFormatAlign.JUSTIFY`. cast 3 Constant; aligns text to the left within the text field. Use the syntax `TextFormatAlign.LEFT`. cast 4 Constant; aligns text to the right within the text field. Use the syntax `TextFormatAlign.RIGHT`. cast 5 Constant; aligns text to the start edge of a line. Same as left for left-to-right languages and same as right for right-to-left languages. The `START` constant may only be used with the StageText class.
      The ascent value of the text is the length from the baseline to the top of the line height in pixels. See the "Ascent" measurement in the overview diagram for this class. The descent value of the text is the length from the baseline to the bottom depth of the line in pixels. See the "Descent" measurement in the overview diagram for this class. The height value of the text of the selected lines (not necessarily the complete text) in pixels. The height of the text line does not include the gutter height. See the "Line height" measurement in the overview diagram for this class. The leading value is the measurement of the vertical distance between the lines of text. See the "Leading" measurement in the overview diagram for this class. The width value is the width of the text of the selected lines (not necessarily the complete text) in pixels. The width of the text line is not the same as the width of the text field. The width of the text line is relative to the text field width, minus the gutter width of 4 pixels (2 pixels on each side). See the "Text Line width" measurement in the overview diagram for this class. The x value is the left position of the first character in pixels. This value includes the margin, indent (if any), and gutter widths. See the "Text Line x-position" in the overview diagram for this class. Creates a TextLineMetrics object. The TextLineMetrics object contains information about the text metrics of a line of text in a text field. Objects of this class are returned by the openfl.text.TextField.getLineMetrics() method. @param x The left position of the first character in pixels. @param width The width of the text of the selected lines (not necessarily the complete text) in pixels. @param height The height of the text of the selected lines (not necessarily the complete text) in pixels. @param ascent The length from the baseline to the top of the line height in pixels. @param descent The length from the baseline to the bottom depth of the line in pixels. @param leading The measurement of the vertical distance between the lines of text. The TextLineMetrics class contains information about the text position and measurements of a _line of text_ within a text field. All measurements are in pixels. Objects of this class are returned by the `openfl.text.TextField.getLineMetrics()` method. For measurements related to the text field containing the line of text (for example, the "Text Field height" measurement in the diagram), see openfl.text.TextField. The following diagram indicates the points and measurements of a text field and the line of text the field contains: ![An image illustrating text metrics](/images/text-metrics.jpg) "tags=\"haxe,release\"" [] [] new EReg("([\\s\\S]*?){([\\s\\S]*?)*}", "ig") "((@media [\\s\\S]*?){([\\s\\S]*?}\\s*?)})" "((@.*?keyframes [\\s\\S]*?){([\\s\\S]*?}\\s*?)})" "((\\s*?(?:\\/\\*[\\s\\S]*?\\*\\/)?\\s*?@media[\\s\\S]*?){([\\s\\S]*?)}\\s*?})|(([\\s\\S]*?){([\\s\\S]*?)*?})" "(\\/\\*[\\s\\S]*?\\*\\/)" new EReg("@import .*?;", "ig") { value : null } { contains : false } { reverse : false } { reverse : false } * Get Imports * { index : 0 } * ... * @author Damilare Akinlaja <__collisions> <__wordMap> <__addCollision set="method" line="42"> "tags=\"haxe,release\"" "checkstyle:FieldDocComment" { offset : null } "tags=\"haxe,release\"" ["checkstyle:FieldDocComment", "checkstyle:Dynamic"] <__regexAlign expr="~/align\s?=\s?("([^"]+)"|'([^']+)')/" line="16" static="1"> ~/align\s?=\s?("([^"]+)"|'([^']+)')/ <__regexBreakTag expr="~/<br\s*/?>/" line="17" static="1"> /]]> <__regexBlockIndent expr="~/blockindent\s?=\s?("([^"]+)"|'([^']+)')/" line="18" static="1"> ~/blockindent\s?=\s?("([^"]+)"|'([^']+)')/ <__regexClass expr="~/class\s?=\s?("([^"]+)"|'([^']+)')/" line="19" static="1"> ~/class\s?=\s?("([^"]+)"|'([^']+)')/ <__regexColor expr="~/color\s?=\s?("#([^"]+)"|'#([^']+)')/" line="20" static="1"> ~/color\s?=\s?("#([^"]+)"|'#([^']+)')/ <__regexEntities expr="[~/&quot;/, ~/&apos;/, ~/&amp;/, ~/&lt;/, ~/&gt;/, ~/&nbsp;/]" line="21" static="1"> <__regexCharEntity expr="~/&#(?:([0-9]+)|(x[0-9a-fA-F]+));/" line="22" static="1"> <__regexFace expr="~/face\s?=\s?("([^"]+)"|'([^']+)')/" line="23" static="1"> ~/face\s?=\s?("([^"]+)"|'([^']+)')/ <__regexHTMLTag expr="~/<.*?>/" line="24" static="1"> /]]> <__regexHref expr="~/href\s?=\s?("([^"]+)"|'([^']+)')/" line="25" static="1"> ~/href\s?=\s?("([^"]+)"|'([^']+)')/ <__regexIndent expr="~/ indent\s?=\s?("([^"]+)"|'([^']+)')/" line="26" static="1"> ~/ indent\s?=\s?("([^"]+)"|'([^']+)')/ <__regexLeading expr="~/leading\s?=\s?("([^"]+)"|'([^']+)')/" line="27" static="1"> ~/leading\s?=\s?("([^"]+)"|'([^']+)')/ <__regexLeftMargin expr="~/leftmargin\s?=\s?("([^"]+)"|'([^']+)')/" line="28" static="1"> ~/leftmargin\s?=\s?("([^"]+)"|'([^']+)')/ <__regexRightMargin expr="~/rightmargin\s?=\s?("([^"]+)"|'([^']+)')/" line="29" static="1"> ~/rightmargin\s?=\s?("([^"]+)"|'([^']+)')/ <__regexSize expr="~/size\s?=\s?("([^"]+)"|'([^']+)')/" line="30" static="1"> ~/size\s?=\s?("([^"]+)"|'([^']+)')/ <__regexTabStops expr="~/tabstops\s?=\s?("([^"]+)"|'([^']+)')/" line="31" static="1"> ~/tabstops\s?=\s?("([^"]+)"|'([^']+)')/ <__getAttributeMatch set="method" line="308" static="1"> "tags=\"haxe,release\"" openfl.text.StyleSheet "checkstyle:FieldDocComment" <__shortWordMap> <__longWordMap> <__cacheShortWord set="method" line="53"> <__cacheLongWord set="method" line="76"> "tags=\"haxe,release\"" openfl.text.TextFormat "checkstyle:FieldDocComment" 2 9 10 32 0x2D <__defaultFonts static="1"> <__cursorTimer> <__hasFocus> <__isKeyDown> <__measuredHeight> <__measuredWidth> <__restrictRegexp> <__selectionStart> <__shapeCache> <__showCursor> <__textFormat> <__textLayout> <__texture> <__useIntAdvances> <__cairoFont public="1"> "checkstyle:Dynamic" hide <__font public="1"> hide { startIndex : 0 } "tags=\"haxe,release\"" openfl.text.Font openfl.text.TextField openfl.text.TextFormat "checkstyle:FieldDocComment" { boldItalic : null, italic : null, bold : null } "tags=\"haxe,release\"" 0 1 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768 65536 "checkstyle:Dynamic" 0 <__buffer> <__direction> <__dirty> <__handle> "checkstyle:Dynamic" <__language> <__script> <__font> <__hbBuffer> "checkstyle:Dynamic" <__hbFont> "checkstyle:Dynamic" <__create set="method" line="89"> <__position set="method" line="101"> "checkstyle:Dynamic" { language : "en", script : COMMON, direction : LEFT_TO_RIGHT, size : 12, font : null, text : "" } "tags=\"haxe,release\"" "checkstyle:FieldDocComment" "checkstyle:FieldDocComment" cast 0 cast 4 cast 5 cast 6 cast 7 cast 0 cast 4 cast 5 cast 6 cast 7 "checkstyle:FieldDocComment" cast "Zyyy" cast "Zinh" cast "Zzzz" cast "Arab" cast "Armn" cast "Beng" cast "Cyrl" cast "Deva" cast "Geor" cast "Grek" cast "Gujr" cast "Guru" cast "Hang" cast "Hani" cast "Hebr" cast "Hira" cast "Knda" cast "Kana" cast "Laoo" cast "Latn" cast "Mlym" cast "Orya" cast "Taml" cast "Telu" cast "Thai" cast "Tibt" cast "Bopo" cast "Brai" cast "Cans" cast "Cher" cast "Ethi" cast "Khmr" cast "Mong" cast "Mymr" cast "Ogam" cast "Runr" cast "Sinh" cast "Syrc" cast "Thaa" cast "Yiii" cast "Dsrt" cast "Goth" cast "Ital" cast "Buhd" cast "Hano" cast "Tglg" cast "Tagb" cast "Cprt" cast "Limb" cast "Linb" cast "Osma" cast "Shaw" cast "Tale" cast "Ugar" cast "Bugi" cast "Copt" cast "Glag" cast "Khar" cast "Talu" cast "Xpeo" cast "Sylo" cast "Tfng" cast "Bali" cast "Xsux" cast "Nkoo" cast "Phag" cast "Phnx" cast "Cari" cast "Cham" cast "Kali" cast "Lepc" cast "Lyci" cast "Lydi" cast "Olck" cast "Rjng" cast "Saur" cast "Sund" cast "Vaii" cast "Avst" cast "Bamu" cast "Egyp" cast "Armi" cast "Phli" cast "Prti" cast "Java" cast "Kthi" cast "Lisu" cast "Mtei" cast "Sarb" cast "Orkh" cast "Samr" cast "Lana" cast "Tavt" cast "Batk" cast "Brah" cast "Mand" cast "Cakm" cast "Merc" cast "Mero" cast "Plrd" cast "Shrd" cast "Sora" cast "Takr" cast "Bass" cast "Aghb" cast "Dupl" cast "Elba" cast "Gran" cast "Khoj" cast "Sind" cast "Lina" cast "Mahj" cast "Mani" cast "Mend" cast "Modi" cast "Mroo" cast "Nbat" cast "Narb" cast "Perm" cast "Hmng" cast "Palm" cast "Pauc" cast "Phlp" cast "Sidd" cast "Tirh" cast "Wara" cast "Zyyy" cast "Zinh" cast "Zzzz" cast "Arab" cast "Armn" cast "Beng" cast "Cyrl" cast "Deva" cast "Geor" cast "Grek" cast "Gujr" cast "Guru" cast "Hang" cast "Hani" cast "Hebr" cast "Hira" cast "Knda" cast "Kana" cast "Laoo" cast "Latn" cast "Mlym" cast "Orya" cast "Taml" cast "Telu" cast "Thai" cast "Tibt" cast "Bopo" cast "Brai" cast "Cans" cast "Cher" cast "Ethi" cast "Khmr" cast "Mong" cast "Mymr" cast "Ogam" cast "Runr" cast "Sinh" cast "Syrc" cast "Thaa" cast "Yiii" cast "Dsrt" cast "Goth" cast "Ital" cast "Buhd" cast "Hano" cast "Tglg" cast "Tagb" cast "Cprt" cast "Limb" cast "Linb" cast "Osma" cast "Shaw" cast "Tale" cast "Ugar" cast "Bugi" cast "Copt" cast "Glag" cast "Khar" cast "Talu" cast "Xpeo" cast "Sylo" cast "Tfng" cast "Bali" cast "Xsux" cast "Nkoo" cast "Phag" cast "Phnx" cast "Cari" cast "Cham" cast "Kali" cast "Lepc" cast "Lyci" cast "Lydi" cast "Olck" cast "Rjng" cast "Saur" cast "Sund" cast "Vaii" cast "Avst" cast "Bamu" cast "Egyp" cast "Armi" cast "Phli" cast "Prti" cast "Java" cast "Kthi" cast "Lisu" cast "Mtei" cast "Sarb" cast "Orkh" cast "Samr" cast "Lana" cast "Tavt" cast "Batk" cast "Brah" cast "Mand" cast "Cakm" cast "Merc" cast "Mero" cast "Plrd" cast "Shrd" cast "Sora" cast "Takr" cast "Bass" cast "Aghb" cast "Dupl" cast "Elba" cast "Gran" cast "Khoj" cast "Sind" cast "Lina" cast "Mahj" cast "Mani" cast "Mend" cast "Modi" cast "Mroo" cast "Nbat" cast "Narb" cast "Perm" cast "Hmng" cast "Palm" cast "Pauc" cast "Phlp" cast "Sidd" cast "Tirh" cast "Wara" "tags=\"haxe,release\"" "checkstyle:FieldDocComment" Returns the GameInputDevice object that contains this control. Returns the id of this control. Returns the maximum value for this control. Returns the minimum value for this control. Returns the value for this control. { value : 0 } "tags=\"haxe,release\"" 32000 Specifies the maximum size for the buffer used to cache sampled control values. If `startCachingSamples` returns samples that require more memory than you specify, it throws a memory error. Enables or disables this device. Returns the ID of this device. Returns the name of this device. Returns the number of controls on this device. Specifies the rate (in milliseconds) at which to retrieve control values. <__axis expr="new Map()"> new Map() <__button expr="new Map()"> new Map() <__controls expr="new Array()"> new Array() <__gamepad> { append : false } Writes cached sample values to the ByteArray. @param data @param append @return Retrieves a specific control from a device. @param i @return Requests this device to start keeping a cache of sampled values. @param numSamples @param controls Stops sample caching. "tags=\"haxe,release\"" openfl.ui.GameInputControl The KeyLocation class contains constants that indicate the location of a key pressed on the keyboard or keyboard-like input device. The KeyLocation constants are used in the `KeyboardEvent.keyLocation` property. cast 1 Indicates the key activated is in the left key location (there is more than one possible location for this key). Example: The left Shift key on a PC 101 Key US keyboard. cast 3 Indicates the key activation originated on the numeric keypad or with a virtual key corresponding to the numeric keypad. Example: The 1 key on a PC 101 Key US keyboard located on the numeric pad. cast 2 Indicates the key activated is in the right key location (there is more than one possible location for this key). Example: The right Shift key on a PC 101 Key US keyboard. cast 0 Indicates the key activation is not distinguished as the left or right version of the key, and did not originate on the numeric keypad (or did not originate with a virtual key corresponding to the numeric keypad). Example: The Q key on a PC 101 Key US keyboard. cast 1 Indicates the key activated is in the left key location (there is more than one possible location for this key). Example: The left Shift key on a PC 101 Key US keyboard. cast 3 Indicates the key activation originated on the numeric keypad or with a virtual key corresponding to the numeric keypad. Example: The 1 key on a PC 101 Key US keyboard located on the numeric pad. cast 2 Indicates the key activated is in the right key location (there is more than one possible location for this key). Example: The right Shift key on a PC 101 Key US keyboard. cast 0 Indicates the key activation is not distinguished as the left or right version of the key, and did not originate on the numeric keypad (or did not originate with a virtual key corresponding to the numeric keypad). Example: The Q key on a PC 101 Key US keyboard. 48 Constant associated with the key code value for the 0 key(48). 49 Constant associated with the key code value for the 1 key(49). 50 Constant associated with the key code value for the 2 key(50). 51 Constant associated with the key code value for the 3 key(51). 52 Constant associated with the key code value for the 4 key(52). 53 Constant associated with the key code value for the 5 key(53). 54 Constant associated with the key code value for the 6 key(54). 55 Constant associated with the key code value for the 7 key(55). 56 Constant associated with the key code value for the 8 key(56). 57 Constant associated with the key code value for the 9 key(57). 65 Constant associated with the key code value for the A key(65). 66 Constant associated with the key code value for the B key(66). 67 Constant associated with the key code value for the C key(67). 68 Constant associated with the key code value for the D key(68). 69 Constant associated with the key code value for the E key(69). 70 Constant associated with the key code value for the F key(70). 71 Constant associated with the key code value for the G key(71). 72 Constant associated with the key code value for the H key(72). 73 Constant associated with the key code value for the I key(73). 74 Constant associated with the key code value for the J key(74). 75 Constant associated with the key code value for the K key(75). 76 Constant associated with the key code value for the L key(76). 77 Constant associated with the key code value for the M key(77). 78 Constant associated with the key code value for the N key(78). 79 Constant associated with the key code value for the O key(79).

      80 Constant associated with the key code value for the P key(80).

      81 Constant associated with the key code value for the Q key(81). 82 Constant associated with the key code value for the R key(82). 83 Constant associated with the key code value for the S key(83). 84 Constant associated with the key code value for the T key(84). 85 Constant associated with the key code value for the U key(85). 86 Constant associated with the key code value for the V key(85). 87 Constant associated with the key code value for the W key(87). 88 Constant associated with the key code value for the X key(88). 89 Constant associated with the key code value for the Y key(89). 90 Constant associated with the key code value for the Z key(90). 96 Constant associated with the key code value for the number 0 key on the number pad(96). 97 Constant associated with the key code value for the number 1 key on the number pad(97). 98 Constant associated with the key code value for the number 2 key on the number pad(98). 99 Constant associated with the key code value for the number 3 key on the number pad(99). 100 Constant associated with the key code value for the number 4 key on the number pad(100). 101 Constant associated with the key code value for the number 5 key on the number pad(101). 102 Constant associated with the key code value for the number 6 key on the number pad(102). 103 Constant associated with the key code value for the number 7 key on the number pad(103). 104 Constant associated with the key code value for the number 8 key on the number pad(104). 105 Constant associated with the key code value for the number 9 key on the number pad(105). 106 Constant associated with the key code value for the multiplication key on the number pad(106). 107 Constant associated with the key code value for the addition key on the number pad(107). 108 Constant associated with the key code value for the Enter key on the number pad(108). 109 Constant associated with the key code value for the subtraction key on the number pad(109). 110 Constant associated with the key code value for the decimal key on the number pad(110). 111 Constant associated with the key code value for the division key on the number pad(111). 112 Constant associated with the key code value for the F1 key(112). 113 Constant associated with the key code value for the F2 key(113). 114 Constant associated with the key code value for the F3 key(114). 115 Constant associated with the key code value for the F4 key(115). 116 Constant associated with the key code value for the F5 key(116). 117 Constant associated with the key code value for the F6 key(117). 118 Constant associated with the key code value for the F7 key(118). 119 Constant associated with the key code value for the F8 key(119). 120 Constant associated with the key code value for the F9 key(120). 121 Constant associated with the key code value for the F10 key(121). 122 Constant associated with the key code value for the F11 key(122). 123 Constant associated with the key code value for the F12 key(123). 124 Constant associated with the key code value for the F13 key(124). 125 Constant associated with the key code value for the F14 key(125). 126 Constant associated with the key code value for the F15 key(126). 8 Constant associated with the key code value for the Backspace key(8). 9 Constant associated with the key code value for the Tab key(9). 18 Constant associated with the key code value for the Alternate(Option) key (18). 13 Constant associated with the key code value for the Enter key(13). 15 Constant associated with the Mac command key(15). This constant is currently only used for setting menu key equivalents. 16 Constant associated with the key code value for the Shift key(16). 17 Constant associated with the key code value for the Control key(17). 19 "checkstyle:FieldDocComment" hide 20 Constant associated with the key code value for the Caps Lock key(20). 21 Constant associated with the pseudo-key code for the the number pad(21). Use to set numpad modifier on key equivalents 27 Constant associated with the key code value for the Escape key(27). 32 Constant associated with the key code value for the Spacebar(32). 33 Constant associated with the key code value for the Page Up key(33). 34 Constant associated with the key code value for the Page Down key(34). 35 Constant associated with the key code value for the End key(35). 36 Constant associated with the key code value for the Home key(36). 37 Constant associated with the key code value for the Left Arrow key(37). 39 Constant associated with the key code value for the Right Arrow key(39). 38 Constant associated with the key code value for the Up Arrow key(38). 40 Constant associated with the key code value for the Down Arrow key(40). 45 Constant associated with the key code value for the Insert key(45). 46 Constant associated with the key code value for the Delete key(46). 144 "checkstyle:FieldDocComment" hide 186 Constant associated with the key code value for the ; key(186). 187 Constant associated with the key code value for the:Int = key(187). 188 Constant associated with the key code value for the , key(188). 189 Constant associated with the key code value for the - key(189). 190 Constant associated with the key code value for the . key(190). 191 Constant associated with the key code value for the / key(191). 192 Constant associated with the key code value for the ` key(192). 219 Constant associated with the key code value for the [ key(219). 220 Constant associated with the key code value for the \ key(220). 221 Constant associated with the key code value for the ] key(221). 222 Constant associated with the key code value for the ' key(222). Specifies whether the Caps Lock key is activated(`true`) or not(`false`). Specifies whether the Num Lock key is activated(`true`) or not (`false`). Specifies whether the last key pressed is accessible by other SWF files. By default, security restrictions prevent code from a SWF file in one domain from accessing a keystroke generated from a SWF file in another domain. @return The value `true` if the last key pressed can be accessed. If access is not permitted, this method returns `false`. <__convertKeyCode get="inline" set="null" line="571" static="1"> <__getCharCode set="method" line="815" static="1"> { shift : false } <__getKeyLocation get="inline" set="null" line="948" static="1"> The Keyboard class is used to build an interface that can be controlled by a user with a standard keyboard. You can use the methods and properties of the Keyboard class without using a constructor. The properties of the Keyboard class are constants representing the keys that are most commonly used to control games. "tags=\"haxe,release\""
      Sets or returns the type of cursor, or, for a native cursor, the cursor name. The default value is `openfl.ui.MouseCursor.AUTO`. To set values for this property, use the following string values: | String value | Description | | --- | --- | | `openfl.ui.MouseCursor.AUTO` | Mouse cursor will change automatically based on the object under the mouse. | | `openfl.ui.MouseCursor.ARROW` | Mouse cursor will be an arrow. | | `openfl.ui.MouseCursor.BUTTON` | Mouse cursor will be a button clicking hand. | | `openfl.ui.MouseCursor.HAND` | Mouse cursor will be a dragging hand. | | `openfl.ui.MouseCursor.IBEAM` | Mouse cursor will be an I-beam. | **Note:** For Flash Player 10.2 or AIR 2.6 and later versions, this property sets or gets the cursor name when you are using a native cursor. A native cursor name defined using `Mouse.registerCursor()` overwrites currently predefined cursor types (such as `openfl.ui.MouseCursor.IBEAM`). @throws ArgumentError If set to any value which is not a member of `openfl.ui.MouseCursor`, or is not a string specified using the `Mouse.registerCursor()` method. true Indicates whether the computer or device displays a persistent cursor. The `supportsCursor` property is `true` on most desktop computers and `false` on most mobile devices. **Note:** Mouse events can be dispatched whether or not this property is `true`. However, mouse events may behave differently depending on the physical characteristics of the pointing device. true Indicates whether the current configuration supports native cursors. <__cursor expr="MouseCursor.AUTO" line="68" static="1"> MouseCursor.AUTO <__hidden static="1"> Hides the pointer. The pointer is visible by default. **Note:** You need to call `Mouse.hide()` only once, regardless of the number of previous calls to `Mouse.show()`. Displays the pointer. The pointer is visible by default. **Note:** You need to call `Mouse.show()` only once, regardless of the number of previous calls to `Mouse.hide()`. The pointer is visible by default, but you can hide it and implement a custom pointer.]]> "tags=\"haxe,release\"" openfl.display.Stage The MouseCursor class is an enumeration of constant values used in setting the `cursor` property of the Mouse class. cast "arrow" Used to specify that the arrow cursor should be used. cast "auto" Used to specify that the cursor should be selected automatically based on the object under the mouse. cast "hand" Used to specify that the dragging hand cursor should be used. cast "ibeam" Used to specify that the I-beam cursor should be used. <__CROSSHAIR get="inline" set="null" expr="cast "crosshair"" line="40" static="1"> cast "crosshair" <__CUSTOM get="inline" set="null" expr="cast "custom"" line="41" static="1"> cast "custom" <__MOVE get="inline" set="null" expr="cast "move"" line="42" static="1"> cast "move" <__RESIZE_NESW get="inline" set="null" expr="cast "resize_nesw"" line="43" static="1"> cast "resize_nesw" <__RESIZE_NS get="inline" set="null" expr="cast "resize_ns"" line="44" static="1"> cast "resize_ns" <__RESIZE_NWSE get="inline" set="null" expr="cast "resize_nwse"" line="45" static="1"> cast "resize_nwse" <__RESIZE_WE get="inline" set="null" expr="cast "resize_we"" line="46" static="1"> cast "resize_we" <__WAIT get="inline" set="null" expr="cast "wait"" line="47" static="1"> cast "wait" <__WAIT_ARROW get="inline" set="null" expr="cast "waitarrow"" line="48" static="1"> cast "waitarrow" cast "arrow" Used to specify that the arrow cursor should be used. cast "auto" Used to specify that the cursor should be selected automatically based on the object under the mouse. cast "hand" Used to specify that the dragging hand cursor should be used. cast "ibeam" Used to specify that the I-beam cursor should be used. <__CROSSHAIR get="inline" set="null" expr="cast "crosshair"" line="40" static="1"> cast "crosshair" <__CUSTOM get="inline" set="null" expr="cast "custom"" line="41" static="1"> cast "custom" <__MOVE get="inline" set="null" expr="cast "move"" line="42" static="1"> cast "move" <__RESIZE_NESW get="inline" set="null" expr="cast "resize_nesw"" line="43" static="1"> cast "resize_nesw" <__RESIZE_NS get="inline" set="null" expr="cast "resize_ns"" line="44" static="1"> cast "resize_ns" <__RESIZE_NWSE get="inline" set="null" expr="cast "resize_nwse"" line="45" static="1"> cast "resize_nwse" <__RESIZE_WE get="inline" set="null" expr="cast "resize_we"" line="46" static="1"> cast "resize_we" <__WAIT get="inline" set="null" expr="cast "wait"" line="47" static="1"> cast "wait" <__WAIT_ARROW get="inline" set="null" expr="cast "waitarrow"" line="48" static="1"> cast "waitarrow" Identifies the multi-touch mode for touch and gesture event handling. Use this property to manage whether or not events are dispatched as touch events with multiple points of contact and specific events for different gestures(such as rotation and pan), or only a single point of contact (such as tap), or none at all(contact is handled as a mouse event). To set this property, use values from the openfl.ui.MultitouchInputMode class. @default gesture The maximum number of concurrent touch points supported by the current environment. A Vector array(a typed array of string values) of multi-touch contact types supported in the current environment. The array of strings can be used as event types to register event listeners. Possible values are constants from the GestureEvent, PressAndTapGestureEvent, and TransformGestureEvent classes(such as `GESTURE_PAN`). If the Flash runtime is in an environment that does not support any multi-touch gestures, the value is `null`. **Note:** For Mac OS 10.5.3 and later, `Multitouch.supportedGestures` returns non-null values (possibly indicating incorrectly that gesture events are supported) even if the current hardware does not support gesture input. Use this property to test for multi-touch gesture support. Then, use event handlers for the available multi-touch gestures. For those gestures that are not supported in the current evironment, you'll need to create alternative event handling. Indicates whether the current environment supports gesture input, such as rotating two fingers around a touch screen. Gesture events are listed in the TransformGestureEvent, PressAndTapGestureEvent, and GestureEvent classes. **Note:** For Mac OS 10.5.3 and later, this value is always `true`. `Multitouch.supportsGestureEvent` returns `true` even if the hardware does not support gesture events. Indicates whether the current environment supports basic touch input, such as a single finger tap. Touch events are listed in the TouchEvent class. The Multitouch class manages and provides information about the current environment's support for handling contact from user input devices, including contact that has two or more touch points(such as a user's fingers on a touch screen). When a user interacts with a device such as a mobile phone or tablet with a touch screen, the user typically touches the screen with his or her fingers or a pointing device. While there is a broad range of pointing devices, such as a mouse or a stylus, many of these devices only have a single point of contact with an application. For pointing devices with a single point of contact, user interaction events can be handled as a mouse event, or using a basic set of touch events (called "touch point" events). However, for pointing devices that have several points of contact and perform complex movement, such as the human hand, Flash runtimes support an additional set of event handling API called gesture events. The API for handling user interaction with these gesture events includes the following classes: * openfl.events.TouchEvent * openfl.events.GestureEvent * openfl.events.GesturePhase * openfl.events.TransformGestureEvent * openfl.events.PressAndTapGestureEvent Use the listed classes to write code that handles touch events. Use the Multitouch class to determine the current environment's support for touch interaction, and to manage the support of touch interaction if the current environment supports touch input. You cannot create a Multitouch object directly from ActionScript code. If you call `new Multitouch()`, an exception is thrown. **Note:** The Multitouch feature is not supported for SWF files embedded in HTML running on Mac OS. "tags=\"haxe,release\"" The MultitouchInputMode class provides values for the `inputMode` property in the openfl.ui.Multitouch class. These values set the type of touch events the Flash runtime dispatches when the user interacts with a touch-enabled device. cast 0 Specifies that TransformGestureEvent, PressAndTapGestureEvent, and GestureEvent events are dispatched for the related user interaction supported by the current environment, and other touch events(such as a simple tap) are interpreted as mouse events. cast 1 Specifies that all user contact with a touch-enabled device is interpreted as a type of mouse event. cast 2 Specifies that all user contact with a touch-enabled device is interpreted as a type of mouse event. cast 0 Specifies that TransformGestureEvent, PressAndTapGestureEvent, and GestureEvent events are dispatched for the related user interaction supported by the current environment, and other touch events(such as a simple tap) are interpreted as mouse events. cast 1 Specifies that all user contact with a touch-enabled device is interpreted as a type of mouse event. cast 2 Specifies that all user contact with a touch-enabled device is interpreted as a type of mouse event. new Map() new Map() new Map() 4 4096 "fragment" "vertex" 8 12 16 20 24 28 0x1 0x2 0x20 0x40 0x1 0x8 0x10 0x20 0x40 0x80 0x100 0x200 0x400 "mov" "add" "sub" "mul"
      "div"
      "rcp" "min" "max" "frc" "sqt" "rsq" "pow" "log" "exp" "nrm" "sin" "cos" "crs" "dp3" "dp4" "abs" "neg" "sat" "m33" "m44" "m34" "ddx" "ddy" "ife" "ine" "ifg" "ifl" "ieg" "iel" "els" "eif" "ted" "kil" "tex" "sge" "slt" "sgn" "seq" "sne" "va" "vc" "vt" "vo" "vi" "fc" "ft" "fs" "fo" "fd" "iid" "2d" "3d" "cube" "mipnearest" "miplinear" "mipnone" "nomip" "nearest" "linear" "anisotropic2x" "anisotropic4x" "anisotropic8x" "anisotropic16x" "centroid" "single" "ignoresampler" "repeat" "wrap" "clamp" "repeat_u_clamp_v" "clamp_u_repeat_v" "rgba" "compressed" "compressedalpha" "dxt1" "dxt5" false false { ignoreLimits : false, version : 1 } { debugging : false } "tags=\"haxe,release\"" ["checkstyle:ConstantName", "checkstyle:FieldDocComment"]
      "tags=\"haxe,release\"" "checkstyle:FieldDocComment" "tags=\"haxe,release\"" "checkstyle:FieldDocComment" "tags=\"haxe,release\"" "checkstyle:FieldDocComment" { rootPath : null } { rootPath : null } { rootPath : null } { rootPath : null } <__proxy> { instance : null } "tags=\"haxe,release\"" { rootPath : null } { rootPath : null } { rootPath : null } { rootPath : null } { rootPath : null } <__fromLimeManifest set="method" line="131" static="1"> { id : null } { id : null } { id : null } { id : null } { id : null } "tags=\"haxe,release\"" The AssetType enum lists the core set of available asset types from the OpenFL command-line tools. cast "BINARY" Binary assets (data that is not readable as text) cast "FONT" Font assets, such as *.ttf or *.otf files cast "IMAGE" Image assets, such as *.png or *.jpg files cast "MOVIE_CLIP" MovieClip assets, such as from a *.swf file cast "MUSIC" Audio assets, such as *.ogg or *.wav files In previous versions of OpenFL, `AssetType.MUSIC` was recommended for long background music, but in current versions, both `AssetType.MUSIC` and `AssetType.SOUND` behave similarly. A future version may implement optimizations specific to each audio type again. cast "SOUND" Audio assets, such as *.ogg or *.wav files In previous versions of OpenFL, `AssetType.SOUND` was recommended for short or repetitively used sounds, but in current versions, both `AssetType.MUSIC` and `AssetType.SOUND` behave similarly. A future version may implement optimizations specific to each audio type again. cast "TEXT" Text assets cast "BINARY" Binary assets (data that is not readable as text) cast "FONT" Font assets, such as *.ttf or *.otf files cast "IMAGE" Image assets, such as *.png or *.jpg files cast "MOVIE_CLIP" MovieClip assets, such as from a *.swf file cast "MUSIC" Audio assets, such as *.ogg or *.wav files In previous versions of OpenFL, `AssetType.MUSIC` was recommended for long background music, but in current versions, both `AssetType.MUSIC` and `AssetType.SOUND` behave similarly. A future version may implement optimizations specific to each audio type again. cast "SOUND" Audio assets, such as *.ogg or *.wav files In previous versions of OpenFL, `AssetType.SOUND` was recommended for short or repetitively used sounds, but in current versions, both `AssetType.MUSIC` and `AssetType.SOUND` behave similarly. A future version may implement optimizations specific to each audio type again. cast "TEXT" Text assets new AssetCache() new EventDispatcher() new Map() { useWeakReference : false, priority : 0, useCapture : false } { type : null } Returns whether a specific asset exists @param id The ID or asset path for the asset @param type The asset type to match, or null to match any type @return Whether the requested asset ID and type exists { useCache : true } Gets an instance of an embedded bitmap @usage var bitmap = new Bitmap (Assets.getBitmapData ("image.png")); @param id The ID or asset path for the bitmap @param useCache (Optional) Whether to allow use of the asset cache (Default: true) @return A new BitmapData object Gets an instance of an embedded binary asset @usage var bytes = Assets.getBytes ("file.zip"); @param id The ID or asset path for the asset @return A new ByteArray object { useCache : true } Gets an instance of an embedded font @usage var fontName = Assets.getFont ("font.ttf").fontName; @param id The ID or asset path for the font @param useCache (Optional) Whether to allow use of the asset cache (Default: true) @return A new Font object Gets an instance of an included MovieClip @usage var movieClip = Assets.getMovieClip ("library:BouncingBall"); @param id The ID for the MovieClip @return A new MovieClip object { useCache : true } Gets the file path (if available) for an asset @usage var path = Assets.getPath ("file.txt"); @param id The ID or asset path for the asset @return The path to the asset, or null if it does not exist { useCache : true } Gets an instance of an embedded sound @usage var sound = Assets.getSound ("sound.wav"); @param id The ID or asset path for the sound @param useCache (Optional) Whether to allow use of the asset cache (Default: true) @return A new Sound object Gets an instance of an embedded text asset @usage var text = Assets.getText ("text.txt"); @param id The ID or asset path for the asset @return A new String object { instance : null } Connects a user-defined class to a related asset class. This method call is added to the beginning of user-defined class constructors when the `@:bind` meta-data is used. This allows insertion of related asset resources in compatible super classes, such as `openfl.display.MovieClip`. @param className The registered class name of the asset constructor @param instance The current class instance to be bound (default is null) @return Whether asset binding was successful { useCache : true, type : null } Returns whether an asset is "local", and therefore can be loaded synchronously @param id The ID or asset path for the asset @param type The asset type to match, or null to match any type @param useCache (Optional) Whether to allow use of the asset cache (Default: true) @return Whether the asset is local ignore { type : null } Returns a list of all embedded assets (by type) @param type The asset type to match, or null to match any type @return An array of asset ID values { useCache : true } ]]> ]]> { useCache : true } ]]> ]]> { useCache : true } ]]> ]]> { useCache : true } ]]> ]]> Registers an AssetLibrary binding for use with @:bind or Assets.bind @param className The class name to use for the binding @param method The AssetLibrary responsible for the binding Registers a new AssetLibrary with the Assets class @param name The name (prefix) to use for the library @param library An AssetLibrary instance to register { capture : false } Unregisters an AssetLibrary binding for use with @:bind or Assets.bind @param className The class name to use for the binding @param method The AssetLibrary responsible for the binding in the project file.]]> "tags=\"haxe,release\"" openfl.display.BitmapData openfl.display.Sprite openfl.text.Font openfl.utils.AssetLibrary The ByteArray class provides methods and properties to optimize reading, writing, and working with binary data. _Note:_ The ByteArray class is for advanced developers who need to access data on the byte level. In-memory data is a packed array (the most compact representation for the data type) of bytes, but an instance of the ByteArray class can be manipulated with the standard `[]`(array access) operators. It also can be read and written to as an in-memory file, using methods similar to those in the URLStream and Socket classes. On the Flash and AIR targets, the ByteArray type is a real class, but on other platforms, ByteArray is a Haxe abstract over a hidden `ByteArrayData` type. To check if an object is a ByteArray at runtime, import the ByteArray type, then compare with ByteArrayData, such as `Std.is (ba, ByteArrayData)`. In addition, all platforms support zlib compression and decompression, as well as additional formats for object serialization. Possible uses of the ByteArray class include the following: * Creating a custom protocol to connect to a server. * Writing your own URLEncoder/URLDecoder. * Writing your own AMF/Remoting packet. * Optimizing the size of your data by using data types. * Working with binary data loaded from a local file. * Supporting new binary file formats. haxe.io.Bytes openfl.utils.ByteArrayData endian objectEncoding Denotes the default endianness for the ByteArray class to use for a new ByteArray instance. When you create a new ByteArray instance, the endian value on that instance starts with the value of `defaultEndian`. The `defaultEndian` property is initialized to the default system endianness. This will most likely be `Endian.LITTLE_ENDIAN` on the majority platforms except for the Flash runtime. On Flash and AIR targets, this property cannot be changed and will always be set to `Endian.BIG_ENDIAN`. Denotes the default object encoding for the ByteArray class to use for a new ByteArray instance. When you create a new ByteArray instance, the encoding on that instance starts with the value of `defaultObjectEncoding`. The `defaultObjectEncoding` property is initialized to `ObjectEncoding.DEFAULT`. This value varies between platforms. When an object is written to or read from binary data, the `objectEncoding` value is used to determine whether the Haxe, JavaScript, ActionScript 3.0, ActionScript 2.0 or ActionScript 1.0 format should be used. The value is a constant from the ObjectEncoding class. <__bytePointer expr="new BytePointer()" line="103" static="1"> new BytePointer() The number of bytes of data available for reading from the current position in the byte array to the end of the array. Use the `bytesAvailable` property in conjunction with the read methods each time you access a ByteArray object to ensure that you are reading valid data. The length of the ByteArray object, in bytes. If the length is set to a value that is larger than the current length, the right side of the byte array is filled with zeros. If the length is set to a value that is smaller than the current length, the byte array is truncated. Moves, or returns the current position, in bytes, of the file pointer into the ByteArray object. This is the point at which the next call to a read method starts reading or a write method starts writing. <_new public="1" get="inline" set="null" line="170" static="1"> { length : 0 } Creates a ByteArray instance representing a packed array of bytes, so that you can use the methods and properties in this class to optimize your data storage and stream. Clears the contents of the byte array and resets the `length` and `position` properties to 0. Calling this method explicitly frees up the memory used by the ByteArray instance. { algorithm : null } air.CompressionAlgorithm.DEFLATE)` on the original ByteArray. However, the result from `compress(air.CompressionAlgorithm.ZLIB)` includes the extra metadata, while the `compress(CompressionAlgorithm.DEFLATE)` result includes only the compressed version of the original ByteArray data and nothing else. In order to use the deflate format to compress a ByteArray instance's data in a specific format such as gzip or zip, you cannot simply call `compress(CompressionAlgorithm.DEFLATE)`. You must create a ByteArray structured according to the compression format's specification, including the appropriate metadata as well as the compressed data obtained using the deflate format. Likewise, in order to decode data compressed in a format such as gzip or zip, you can't simply call `uncompress(CompressionAlgorithm.DEFLATE)` on that data. First, you must separate the metadata from the compressed data, and you can then use the deflate format to decompress the compressed data.]]> Compresses the byte array using the deflate compression algorithm. The entire byte array is compressed. After the call, the `length` property of the ByteArray is set to the new length. The `position` property is set to the end of the byte array. The deflate compression algorithm is described at [http://www.ietf.org/rfc/rfc1951.txt](http://www.ietf.org/rfc/rfc1951.txt). In order to use the deflate format to compress a ByteArray instance's data in a specific format such as gzip or zip, you cannot simply call `deflate()`. You must create a ByteArray structured according to the compression format's specification, including the appropriate metadata as well as the compressed data obtained using the deflate format. Likewise, in order to decode data compressed in a format such as gzip or zip, you can't simply call `inflate()` on that data. First, you must separate the metadata from the compressed data, and you can then use the deflate format to decompress the compressed data. Converts an ArrayBuffer into a ByteArray. @param buffer An ArrayBuffer instance @returns A new ByteArray Converts a Bytes object into a ByteArray. @param buffer A Bytes instance @returns A new ByteArray Converts a BytesData object into a ByteArray. @param buffer A BytesData instance @returns A new ByteArray Creates a new ByteArray from a file path synchronously. This means that the ByteArray will be returned immediately (if supported). HTML5 and Flash do not support loading files synchronously, so these targets always return `null`. In order to load files from a remote web address, use the `loadFromFile` method, which supports asynchronous loading. @param path A local file path @returns A new ByteArray if successful, or `null` if unsuccessful Converts a Lime Bytes object into a ByteArray. @param buffer A Lime Bytes instance @returns A new ByteArray Decompresses the byte array using the deflate compression algorithm. The byte array must have been compressed using the same algorithm. After the call, the `length` property of the ByteArray is set to the new length. The `position` property is set to 0. The deflate compression algorithm is described at [http://www.ietf.org/rfc/rfc1951.txt](http://www.ietf.org/rfc/rfc1951.txt). In order to decode data compressed in a format that uses the deflate compression algorithm, such as data in gzip or zip format, it will not work to simply call `inflate()` on a ByteArray containing the compression formation data. First, you must separate the metadata that is included as part of the compressed data format from the actual compressed data. For more information, see the `compress()` method description. @throws IOError The data is not valid compressed data; it was not compressed with the same compression algorithm used to compress. Creates a new ByteArray from haxe.io.Bytes. Progress, completion and error callbacks will be dispatched using callbacks attached to a returned Future object. @param bytes A haxe.io.Bytes instance @returns A Future ByteArray Creates a new ByteArray from a file path or web address asynchronously. The file load will occur in the background. Progress, completion and error callbacks will be dispatched in the current thread using callbacks attached to a returned Future object. @param path A local file path or web address @returns A Future ByteArray Reads a Boolean value from the byte stream. A single byte is read, and `true` is returned if the byte is nonzero, `false` otherwise. @return Returns `true` if the byte is nonzero, `false` otherwise. @throws EOFError There is not sufficient data available to read. Reads a signed byte from the byte stream. The returned value is in the range -128 to 127. @return An integer between -128 and 127. @throws EOFError There is not sufficient data available to read. { length : 0, offset : 0 } Reads the number of data bytes, specified by the `length` parameter, from the byte stream. The bytes are read into the ByteArray object specified by the `bytes` parameter, and the bytes are written into the destination ByteArray starting at the position specified by `offset`. @param bytes The ByteArray object to read data into. @param offset The offset(position) in `bytes` at which the read data should be written. @param length The number of bytes to read. The default value of 0 causes all available data to be read. @throws EOFError There is not sufficient data available to read. @throws RangeError The value of the supplied offset and length, combined, is greater than the maximum for a uint. Reads an IEEE 754 double-precision(64-bit) floating-point number from the byte stream. @return A double-precision(64-bit) floating-point number. @throws EOFError There is not sufficient data available to read. Reads an IEEE 754 single-precision(32-bit) floating-point number from the byte stream. @return A single-precision(32-bit) floating-point number. @throws EOFError There is not sufficient data available to read. Reads a signed 32-bit integer from the byte stream. The returned value is in the range -2147483648 to 2147483647. @return A 32-bit signed integer between -2147483648 and 2147483647. @throws EOFError There is not sufficient data available to read. Supported Character Sets. **Note:** If the value for the `charSet` parameter is not recognized by the current system, the application uses the system's default code page as the character set. For example, a value for the `charSet` parameter, as in `myTest.readMultiByte(22, "iso-8859-01")` that uses `01` instead of `1` might work on your development system, but not on another system. On the other system, the application will use the system's default code page. @return UTF-8 encoded string. @throws EOFError There is not sufficient data available to read.]]> Reads an object from the byte array, encoded in AMF serialized format. @return The deserialized object. @throws EOFError There is not sufficient data available to read. Reads a signed 16-bit integer from the byte stream. The returned value is in the range -32768 to 32767. @return A 16-bit signed integer between -32768 and 32767. @throws EOFError There is not sufficient data available to read. Reads a UTF-8 string from the byte stream. The string is assumed to be prefixed with an unsigned short indicating the length in bytes. @return UTF-8 encoded string. @throws EOFError There is not sufficient data available to read. Reads a sequence of UTF-8 bytes specified by the `length` parameter from the byte stream and returns a string. @param length An unsigned short indicating the length of the UTF-8 bytes. @return A string composed of the UTF-8 bytes of the specified length. @throws EOFError There is not sufficient data available to read. Reads an unsigned byte from the byte stream. The returned value is in the range 0 to 255. @return A 32-bit unsigned integer between 0 and 255. @throws EOFError There is not sufficient data available to read. Reads an unsigned 32-bit integer from the byte stream. The returned value is in the range 0 to 4294967295. @return A 32-bit unsigned integer between 0 and 4294967295. @throws EOFError There is not sufficient data available to read. Reads an unsigned 16-bit integer from the byte stream. The returned value is in the range 0 to 65535. @return A 16-bit unsigned integer between 0 and 65535. @throws EOFError There is not sufficient data available to read. Converts a ByteArray into an ArrayBuffer. @param buffer A ByteArray instance @returns A new ArrayBuffer Converts the byte array to a string. If the data in the array begins with a Unicode byte order mark, the application will honor that mark when converting to a string. If `System.useCodePage` is set to `true`, the application will treat the data in the array as being in the current system code page when converting. @return The string representation of the byte array. { algorithm : null } Decompresses the byte array. For content running in Adobe AIR, you can specify a compression algorithm by passing a value(defined in the CompressionAlgorithm class) as the `algorithm` parameter. The byte array must have been compressed using the same algorithm. Flash Player supports only the default algorithm, zlib. After the call, the `length` property of the ByteArray is set to the new length. The `position` property is set to 0. The zlib compressed data format is described at [http://www.ietf.org/rfc/rfc1950.txt](http://www.ietf.org/rfc/rfc1950.txt). The deflate compression algorithm is described at [http://www.ietf.org/rfc/rfc1951.txt](http://www.ietf.org/rfc/rfc1951.txt). In order to decode data compressed in a format that uses the deflate compression algorithm, such as data in gzip or zip format, it will not work to call `uncompress(CompressionAlgorithm.DEFLATE)` on a ByteArray containing the compression formation data. First, you must separate the metadata that is included as part of the compressed data format from the actual compressed data. For more information, see the `compress()` method description. @throws IOError The data is not valid compressed data; it was not compressed with the same compression algorithm used to compress. Writes a Boolean value. A single byte is written according to the `value` parameter, either 1 if `true` or 0 if `false`. @param value A Boolean value determining which byte is written. If the parameter is `true`, the method writes a 1; if `false`, the method writes a 0. Writes a byte to the byte stream. The low 8 bits of the parameter are used. The high 24 bits are ignored. @param value A 32-bit integer. The low 8 bits are written to the byte stream. { length : 0, offset : 0 } Writes a sequence of `length` bytes from the specified byte array, `bytes`, starting `offset`(zero-based index) bytes into the byte stream. If the `length` parameter is omitted, the default length of 0 is used; the method writes the entire buffer starting at `offset`. If the `offset` parameter is also omitted, the entire buffer is written. If `offset` or `length` is out of range, they are clamped to the beginning and end of the `bytes` array. @param bytes The ByteArray object. @param offset A zero-based index indicating the position into the array to begin writing. @param length An unsigned integer indicating how far into the buffer to write. Writes an IEEE 754 double-precision(64-bit) floating-point number to the byte stream. @param value A double-precision(64-bit) floating-point number. Writes an IEEE 754 single-precision(32-bit) floating-point number to the byte stream. @param value A single-precision(32-bit) floating-point number. Writes a 32-bit signed integer to the byte stream. @param value An integer to write to the byte stream. Supported Character Sets.]]> Writes an object into the byte array in AMF serialized format. @param object The object to serialize. Writes a 16-bit integer to the byte stream. The low 16 bits of the parameter are used. The high 16 bits are ignored. @param value 32-bit integer, whose low 16 bits are written to the byte stream. Writes a UTF-8 string to the byte stream. The length of the UTF-8 string in bytes is written first, as a 16-bit integer, followed by the bytes representing the characters of the string. @param value The string value to be written. @throws RangeError If the length is larger than 65535. Writes a UTF-8 string to the byte stream. Similar to the `writeUTF()` method, but `writeUTFBytes()` does not prefix the string with a 16-bit length word. @param value The string value to be written. Writes a 32-bit unsigned integer to the byte stream. @param value An unsigned integer to write to the byte stream. openfl.utils.ByteArrayData haxe.io.Bytes Denotes the default endianness for the ByteArray class to use for a new ByteArray instance. When you create a new ByteArray instance, the endian value on that instance starts with the value of `defaultEndian`. The `defaultEndian` property is initialized to the default system endianness. This will most likely be `Endian.LITTLE_ENDIAN` on the majority platforms except for the Flash runtime. On Flash and AIR targets, this property cannot be changed and will always be set to `Endian.BIG_ENDIAN`. Denotes the default object encoding for the ByteArray class to use for a new ByteArray instance. When you create a new ByteArray instance, the encoding on that instance starts with the value of `defaultObjectEncoding`. The `defaultObjectEncoding` property is initialized to `ObjectEncoding.DEFAULT`. This value varies between platforms. When an object is written to or read from binary data, the `objectEncoding` value is used to determine whether the Haxe, JavaScript, ActionScript 3.0, ActionScript 2.0 or ActionScript 1.0 format should be used. The value is a constant from the ObjectEncoding class. <__bytePointer expr="new BytePointer()" line="103" static="1"> new BytePointer() The number of bytes of data available for reading from the current position in the byte array to the end of the array. Use the `bytesAvailable` property in conjunction with the read methods each time you access a ByteArray object to ensure that you are reading valid data. The length of the ByteArray object, in bytes. If the length is set to a value that is larger than the current length, the right side of the byte array is filled with zeros. If the length is set to a value that is smaller than the current length, the byte array is truncated. Moves, or returns the current position, in bytes, of the file pointer into the ByteArray object. This is the point at which the next call to a read method starts reading or a write method starts writing. <_new public="1" get="inline" set="null" line="170" static="1"> { length : 0 } Creates a ByteArray instance representing a packed array of bytes, so that you can use the methods and properties in this class to optimize your data storage and stream. Clears the contents of the byte array and resets the `length` and `position` properties to 0. Calling this method explicitly frees up the memory used by the ByteArray instance. { algorithm : null } air.CompressionAlgorithm.DEFLATE)` on the original ByteArray. However, the result from `compress(air.CompressionAlgorithm.ZLIB)` includes the extra metadata, while the `compress(CompressionAlgorithm.DEFLATE)` result includes only the compressed version of the original ByteArray data and nothing else. In order to use the deflate format to compress a ByteArray instance's data in a specific format such as gzip or zip, you cannot simply call `compress(CompressionAlgorithm.DEFLATE)`. You must create a ByteArray structured according to the compression format's specification, including the appropriate metadata as well as the compressed data obtained using the deflate format. Likewise, in order to decode data compressed in a format such as gzip or zip, you can't simply call `uncompress(CompressionAlgorithm.DEFLATE)` on that data. First, you must separate the metadata from the compressed data, and you can then use the deflate format to decompress the compressed data.]]> Compresses the byte array using the deflate compression algorithm. The entire byte array is compressed. After the call, the `length` property of the ByteArray is set to the new length. The `position` property is set to the end of the byte array. The deflate compression algorithm is described at [http://www.ietf.org/rfc/rfc1951.txt](http://www.ietf.org/rfc/rfc1951.txt). In order to use the deflate format to compress a ByteArray instance's data in a specific format such as gzip or zip, you cannot simply call `deflate()`. You must create a ByteArray structured according to the compression format's specification, including the appropriate metadata as well as the compressed data obtained using the deflate format. Likewise, in order to decode data compressed in a format such as gzip or zip, you can't simply call `inflate()` on that data. First, you must separate the metadata from the compressed data, and you can then use the deflate format to decompress the compressed data. Converts an ArrayBuffer into a ByteArray. @param buffer An ArrayBuffer instance @returns A new ByteArray Converts a Bytes object into a ByteArray. @param buffer A Bytes instance @returns A new ByteArray Converts a BytesData object into a ByteArray. @param buffer A BytesData instance @returns A new ByteArray Creates a new ByteArray from a file path synchronously. This means that the ByteArray will be returned immediately (if supported). HTML5 and Flash do not support loading files synchronously, so these targets always return `null`. In order to load files from a remote web address, use the `loadFromFile` method, which supports asynchronous loading. @param path A local file path @returns A new ByteArray if successful, or `null` if unsuccessful Converts a Lime Bytes object into a ByteArray. @param buffer A Lime Bytes instance @returns A new ByteArray Decompresses the byte array using the deflate compression algorithm. The byte array must have been compressed using the same algorithm. After the call, the `length` property of the ByteArray is set to the new length. The `position` property is set to 0. The deflate compression algorithm is described at [http://www.ietf.org/rfc/rfc1951.txt](http://www.ietf.org/rfc/rfc1951.txt). In order to decode data compressed in a format that uses the deflate compression algorithm, such as data in gzip or zip format, it will not work to simply call `inflate()` on a ByteArray containing the compression formation data. First, you must separate the metadata that is included as part of the compressed data format from the actual compressed data. For more information, see the `compress()` method description. @throws IOError The data is not valid compressed data; it was not compressed with the same compression algorithm used to compress. Creates a new ByteArray from haxe.io.Bytes. Progress, completion and error callbacks will be dispatched using callbacks attached to a returned Future object. @param bytes A haxe.io.Bytes instance @returns A Future ByteArray Creates a new ByteArray from a file path or web address asynchronously. The file load will occur in the background. Progress, completion and error callbacks will be dispatched in the current thread using callbacks attached to a returned Future object. @param path A local file path or web address @returns A Future ByteArray Reads a Boolean value from the byte stream. A single byte is read, and `true` is returned if the byte is nonzero, `false` otherwise. @return Returns `true` if the byte is nonzero, `false` otherwise. @throws EOFError There is not sufficient data available to read. Reads a signed byte from the byte stream. The returned value is in the range -128 to 127. @return An integer between -128 and 127. @throws EOFError There is not sufficient data available to read. { length : 0, offset : 0 } Reads the number of data bytes, specified by the `length` parameter, from the byte stream. The bytes are read into the ByteArray object specified by the `bytes` parameter, and the bytes are written into the destination ByteArray starting at the position specified by `offset`. @param bytes The ByteArray object to read data into. @param offset The offset(position) in `bytes` at which the read data should be written. @param length The number of bytes to read. The default value of 0 causes all available data to be read. @throws EOFError There is not sufficient data available to read. @throws RangeError The value of the supplied offset and length, combined, is greater than the maximum for a uint. Reads an IEEE 754 double-precision(64-bit) floating-point number from the byte stream. @return A double-precision(64-bit) floating-point number. @throws EOFError There is not sufficient data available to read. Reads an IEEE 754 single-precision(32-bit) floating-point number from the byte stream. @return A single-precision(32-bit) floating-point number. @throws EOFError There is not sufficient data available to read. Reads a signed 32-bit integer from the byte stream. The returned value is in the range -2147483648 to 2147483647. @return A 32-bit signed integer between -2147483648 and 2147483647. @throws EOFError There is not sufficient data available to read. Supported Character Sets. **Note:** If the value for the `charSet` parameter is not recognized by the current system, the application uses the system's default code page as the character set. For example, a value for the `charSet` parameter, as in `myTest.readMultiByte(22, "iso-8859-01")` that uses `01` instead of `1` might work on your development system, but not on another system. On the other system, the application will use the system's default code page. @return UTF-8 encoded string. @throws EOFError There is not sufficient data available to read.]]> Reads an object from the byte array, encoded in AMF serialized format. @return The deserialized object. @throws EOFError There is not sufficient data available to read. Reads a signed 16-bit integer from the byte stream. The returned value is in the range -32768 to 32767. @return A 16-bit signed integer between -32768 and 32767. @throws EOFError There is not sufficient data available to read. Reads a UTF-8 string from the byte stream. The string is assumed to be prefixed with an unsigned short indicating the length in bytes. @return UTF-8 encoded string. @throws EOFError There is not sufficient data available to read. Reads a sequence of UTF-8 bytes specified by the `length` parameter from the byte stream and returns a string. @param length An unsigned short indicating the length of the UTF-8 bytes. @return A string composed of the UTF-8 bytes of the specified length. @throws EOFError There is not sufficient data available to read. Reads an unsigned byte from the byte stream. The returned value is in the range 0 to 255. @return A 32-bit unsigned integer between 0 and 255. @throws EOFError There is not sufficient data available to read. Reads an unsigned 32-bit integer from the byte stream. The returned value is in the range 0 to 4294967295. @return A 32-bit unsigned integer between 0 and 4294967295. @throws EOFError There is not sufficient data available to read. Reads an unsigned 16-bit integer from the byte stream. The returned value is in the range 0 to 65535. @return A 16-bit unsigned integer between 0 and 65535. @throws EOFError There is not sufficient data available to read. Converts a ByteArray into an ArrayBuffer. @param buffer A ByteArray instance @returns A new ArrayBuffer Converts the byte array to a string. If the data in the array begins with a Unicode byte order mark, the application will honor that mark when converting to a string. If `System.useCodePage` is set to `true`, the application will treat the data in the array as being in the current system code page when converting. @return The string representation of the byte array. { algorithm : null } Decompresses the byte array. For content running in Adobe AIR, you can specify a compression algorithm by passing a value(defined in the CompressionAlgorithm class) as the `algorithm` parameter. The byte array must have been compressed using the same algorithm. Flash Player supports only the default algorithm, zlib. After the call, the `length` property of the ByteArray is set to the new length. The `position` property is set to 0. The zlib compressed data format is described at [http://www.ietf.org/rfc/rfc1950.txt](http://www.ietf.org/rfc/rfc1950.txt). The deflate compression algorithm is described at [http://www.ietf.org/rfc/rfc1951.txt](http://www.ietf.org/rfc/rfc1951.txt). In order to decode data compressed in a format that uses the deflate compression algorithm, such as data in gzip or zip format, it will not work to call `uncompress(CompressionAlgorithm.DEFLATE)` on a ByteArray containing the compression formation data. First, you must separate the metadata that is included as part of the compressed data format from the actual compressed data. For more information, see the `compress()` method description. @throws IOError The data is not valid compressed data; it was not compressed with the same compression algorithm used to compress. Writes a Boolean value. A single byte is written according to the `value` parameter, either 1 if `true` or 0 if `false`. @param value A Boolean value determining which byte is written. If the parameter is `true`, the method writes a 1; if `false`, the method writes a 0. Writes a byte to the byte stream. The low 8 bits of the parameter are used. The high 24 bits are ignored. @param value A 32-bit integer. The low 8 bits are written to the byte stream. { length : 0, offset : 0 } Writes a sequence of `length` bytes from the specified byte array, `bytes`, starting `offset`(zero-based index) bytes into the byte stream. If the `length` parameter is omitted, the default length of 0 is used; the method writes the entire buffer starting at `offset`. If the `offset` parameter is also omitted, the entire buffer is written. If `offset` or `length` is out of range, they are clamped to the beginning and end of the `bytes` array. @param bytes The ByteArray object. @param offset A zero-based index indicating the position into the array to begin writing. @param length An unsigned integer indicating how far into the buffer to write. Writes an IEEE 754 double-precision(64-bit) floating-point number to the byte stream. @param value A double-precision(64-bit) floating-point number. Writes an IEEE 754 single-precision(32-bit) floating-point number to the byte stream. @param value A single-precision(32-bit) floating-point number. Writes a 32-bit signed integer to the byte stream. @param value An integer to write to the byte stream. Supported Character Sets.]]> Writes an object into the byte array in AMF serialized format. @param object The object to serialize. Writes a 16-bit integer to the byte stream. The low 16 bits of the parameter are used. The high 16 bits are ignored. @param value 32-bit integer, whose low 16 bits are written to the byte stream. Writes a UTF-8 string to the byte stream. The length of the UTF-8 string in bytes is written first, as a 16-bit integer, followed by the bytes representing the characters of the string. @param value The string value to be written. @throws RangeError If the length is larger than 65535. Writes a UTF-8 string to the byte stream. Similar to the `writeUTF()` method, but `writeUTFBytes()` does not prefix the string with a 16-bit length word. @param value The string value to be written. Writes a 32-bit unsigned integer to the byte stream. @param value An unsigned integer to write to the byte stream. openfl.utils.ByteArrayData haxe.io.Bytes The CompressionAlgorithm class defines string constants for the names of compress and uncompress options. These constants are used as values of the `algorithm` parameter of the `ByteArray.compress()` and `ByteArray.uncompress()` methods. cast 0 Defines the string to use for the deflate compression algorithm. cast 1 cast 2 Defines the string to use for the zlib compression algorithm. cast 0 Defines the string to use for the deflate compression algorithm. cast 1 cast 2 Defines the string to use for the zlib compression algorithm. The Dictionary class lets you create a dynamic collection of properties, which uses strict equality (`===`) for key comparison. When an object is used as a key, the object's identity is used to look up the object, and not the value returned from calling `toString()` on it. The following statements show the relationship between a Dictionary object and a key object: ```as3 var dict = new Dictionary(); var obj = new Object(); var key:Object = new Object(); key.toString = function() { return "key" } dict[key] = "Letters"; obj["key"] = "Letters"; dict[key] == "Letters"; // true obj["key"] == "Letters"; // true obj[key] == "Letters"; // true because key == "key" is true b/c key.toString == "key" dict["key"] == "Letters"; // false because "key" === key is false delete dict[key]; //removes the key ``` K Returns `true` if `key` has a mapping, `false` otherwise. If key is `null`, the result is unspecified. Returns the current mapping of `key`. If no such mapping exists, `null` is returned. Note that a check like `dict.get(key) == null` can hold for two reasons: 1. The Dictionary has no mapping for `key` 2. The Dictionary has a mapping with a value of `null` If it is important to distinguish these cases, `exists()` should be used. If `key` is null, the result is unspecified. Returns an Iterator over the keys and values of this Dictionary. The order of values is undefined. Removes the mapping of `key` and returns `true` if such a mapping existed, `false` otherwise. If `key` is `null`, the result is unspecified. Maps `key` to `value`. If `key` already has a mapping, the previous value disappears. If `key` is `null`, the result is unspecified. Returns an Iterator over the keys of this Dictionary. The order of values is undefined. Returns an Iterator over each of the values of this Dictionary. The order of values is undefined. Returns `true` if `key` has a mapping, `false` otherwise. If key is `null`, the result is unspecified. Returns the current mapping of `key`. If no such mapping exists, `null` is returned. Note that a check like `dict.get(key) == null` can hold for two reasons: 1. The Dictionary has no mapping for `key` 2. The Dictionary has a mapping with a value of `null` If it is important to distinguish these cases, `exists()` should be used. If `key` is null, the result is unspecified. Returns an Iterator over the keys and values of this Dictionary. The order of values is undefined. Removes the mapping of `key` and returns `true` if such a mapping existed, `false` otherwise. If `key` is `null`, the result is unspecified. Maps `key` to `value`. If `key` already has a mapping, the previous value disappears. If `key` is `null`, the result is unspecified. Returns an Iterator over the keys of this Dictionary. The order of values is undefined. Returns an Iterator over each of the values of this Dictionary. The order of values is undefined. "tags=\"haxe,release\"" "checkstyle:FieldDocComment" hide Binary search through floatKeys array, which is sorted, to find an index of a given key. If the array doesn't contain such key -1 is returned. Insert the key at a proper index in the array and return the index. The array must will remain sorted. The keys are unique so if the key already existis in the array it isn't added but it's index is returned. "tags=\"haxe,release\"" "checkstyle:FieldDocComment" hide "tags=\"haxe,release\"" "checkstyle:FieldDocComment" hide The Endian class contains values that denote the byte order used to represent multibyte numbers. The byte order is either bigEndian (most significant byte first) or littleEndian (least significant byte first). OpenFL content can interface with a server by using the binary protocol of that server, directly. Some servers use the bigEndian byte order and some servers use the littleEndian byte order. Most servers on the Internet use the bigEndian byte order because "network byte order" is bigEndian. The littleEndian byte order is popular because the Intel x86 architecture uses it. Use the endian byte order that matches the protocol of the server that is sending or receiving data. cast 0 Indicates the most significant byte of the multibyte number appears first in the sequence of bytes. The hexadecimal number 0x12345678 has 4 bytes (2 hexadecimal digits per byte). The most significant byte is 0x12. The least significant byte is 0x78. (For the equivalent decimal number, 305419896, the most significant digit is 3, and the least significant digit is 6). A stream using the bigEndian byte order (the most significant byte first) writes: ``` 12 34 56 78 ``` cast 1 Indicates the least significant byte of the multibyte number appears first in the sequence of bytes. The hexadecimal number 0x12345678 has 4 bytes (2 hexadecimal digits per byte). The most significant byte is 0x12. The least significant byte is 0x78. (For the equivalent decimal number, 305419896, the most significant digit is 3, and the least significant digit is 6). A stream using the littleEndian byte order (the most significant byte first) writes: ``` 78 56 34 12 ``` cast 0 Indicates the most significant byte of the multibyte number appears first in the sequence of bytes. The hexadecimal number 0x12345678 has 4 bytes (2 hexadecimal digits per byte). The most significant byte is 0x12. The least significant byte is 0x78. (For the equivalent decimal number, 305419896, the most significant digit is 3, and the least significant digit is 6). A stream using the bigEndian byte order (the most significant byte first) writes: ``` 12 34 56 78 ``` cast 1 Indicates the least significant byte of the multibyte number appears first in the sequence of bytes. The hexadecimal number 0x12345678 has 4 bytes (2 hexadecimal digits per byte). The most significant byte is 0x12. The least significant byte is 0x78. (For the equivalent decimal number, 305419896, the most significant digit is 3, and the least significant digit is 6). A stream using the littleEndian byte order (the most significant byte first) writes: ``` 78 56 34 12 ``` <_new public="1" get="inline" set="null" line="13" static="1"> "checkstyle:FieldDocComment" hide <__fieldRead get="inline" set="null" line="92" static="1"> a.b <__fieldWrite get="inline" set="null" line="99" static="1"> a.b <__get public="1" set="method" line="106" static="1"> "checkstyle:FieldDocComment" hide <__set public="1" get="inline" set="null" line="124" static="1"> "checkstyle:FieldDocComment" hide <__getArray public="1" set="method" line="135" static="1"> "checkstyle:FieldDocComment" hide <__setArray public="1" set="method" line="143" static="1"> "checkstyle:FieldDocComment" hide <__negate get="inline" set="null" line="189" static="1"> -A <__preIncrement get="inline" set="null" line="195" static="1"> ++A <__postIncrement get="inline" set="null" line="201" static="1"> A++ <__preDecrement get="inline" set="null" line="207" static="1"> --A <__postDecrement get="inline" set="null" line="213" static="1"> A-- <__add get="inline" set="null" line="219" static="1"> A + B <__addString get="inline" set="null" line="234" static="1"> A + B <__addInt get="inline" set="null" line="240" static="1"> A + B <__addFloat set="method" line="246" static="1"> A + B <__sub get="inline" set="null" line="252" static="1"> A - B <__subInt get="inline" set="null" line="259" static="1"> A - B <__intSub get="inline" set="null" line="265" static="1"> A - B <__subFloat set="method" line="271" static="1"> A - B <__floatSub set="method" line="277" static="1"> A - B <__mul set="method" line="283" static="1"> A * B <__mulInt get="inline" set="null" line="290" static="1"> A * B <__mulFloat set="method" line="296" static="1"> A * B <__div set="method" line="302" static="1"> A / B <__divInt set="method" line="309" static="1"> A / B <__intDiv set="method" line="315" static="1"> A / B <__divFloat set="method" line="321" static="1"> A / B <__floatDiv set="method" line="327" static="1"> A / B <__mod set="method" line="333" static="1"> A % B <__modInt set="method" line="340" static="1"> A % B <__intMod set="method" line="346" static="1"> A % B <__modFloat set="method" line="352" static="1"> A % B <__floatMod set="method" line="358" static="1"> A % B <__eq set="method" line="364" static="1"> A == B <__eqDynamic set="method" line="371" static="1"> A == B <__neq set="method" line="377" static="1"> A != B <__neqDynamic set="method" line="384" static="1"> A != B <__lt set="method" line="390" static="1"> <__ltInt set="method" line="397" static="1"> <__intLt set="method" line="403" static="1"> <__ltFloat set="method" line="409" static="1"> <__floatLt set="method" line="415" static="1"> <__lte set="method" line="421" static="1"> <__lteInt set="method" line="428" static="1"> <__intLte set="method" line="434" static="1"> <__lteFloat set="method" line="440" static="1"> <__floatLte set="method" line="446" static="1"> <__gt set="method" line="452" static="1"> B]]> <__gtInt set="method" line="459" static="1"> B]]> <__intGt set="method" line="465" static="1"> B]]> <__gtFloat set="method" line="471" static="1"> B]]> <__floatGt set="method" line="477" static="1"> B]]> <__gte set="method" line="483" static="1"> = B]]> <__gteInt set="method" line="490" static="1"> = B]]> <__intGte set="method" line="496" static="1"> = B]]> <__gteFloat set="method" line="502" static="1"> = B]]> <__floatGte set="method" line="508" static="1"> = B]]> <__complement set="method" line="514" static="1"> ~A <__and set="method" line="520" static="1"> <__andInt set="method" line="527" static="1"> <__or set="method" line="533" static="1"> A | B <__orInt set="method" line="540" static="1"> A | B <__xor set="method" line="546" static="1"> A ^ B <__xorInt set="method" line="553" static="1"> A ^ B <__shr set="method" line="559" static="1"> > B]]> <__shrInt set="method" line="566" static="1"> > B]]> <__intShr set="method" line="572" static="1"> > B]]> <__ushr set="method" line="578" static="1"> >> B]]> <__ushrInt set="method" line="585" static="1"> >> B]]> <__intUshr set="method" line="591" static="1"> >> B]]> <__shl set="method" line="597" static="1"> <__shlInt set="method" line="604" static="1"> <__intShl set="method" line="610" static="1"> <_new public="1" get="inline" set="null" line="13" static="1"> "checkstyle:FieldDocComment" hide <__fieldRead get="inline" set="null" line="92" static="1"> a.b <__fieldWrite get="inline" set="null" line="99" static="1"> a.b <__get public="1" set="method" line="106" static="1"> "checkstyle:FieldDocComment" hide <__set public="1" get="inline" set="null" line="124" static="1"> "checkstyle:FieldDocComment" hide <__getArray public="1" set="method" line="135" static="1"> "checkstyle:FieldDocComment" hide <__setArray public="1" set="method" line="143" static="1"> "checkstyle:FieldDocComment" hide <__negate get="inline" set="null" line="189" static="1"> -A <__preIncrement get="inline" set="null" line="195" static="1"> ++A <__postIncrement get="inline" set="null" line="201" static="1"> A++ <__preDecrement get="inline" set="null" line="207" static="1"> --A <__postDecrement get="inline" set="null" line="213" static="1"> A-- <__add get="inline" set="null" line="219" static="1"> A + B <__addString get="inline" set="null" line="234" static="1"> A + B <__addInt get="inline" set="null" line="240" static="1"> A + B <__addFloat set="method" line="246" static="1"> A + B <__sub get="inline" set="null" line="252" static="1"> A - B <__subInt get="inline" set="null" line="259" static="1"> A - B <__intSub get="inline" set="null" line="265" static="1"> A - B <__subFloat set="method" line="271" static="1"> A - B <__floatSub set="method" line="277" static="1"> A - B <__mul set="method" line="283" static="1"> A * B <__mulInt get="inline" set="null" line="290" static="1"> A * B <__mulFloat set="method" line="296" static="1"> A * B <__div set="method" line="302" static="1"> A / B <__divInt set="method" line="309" static="1"> A / B <__intDiv set="method" line="315" static="1"> A / B <__divFloat set="method" line="321" static="1"> A / B <__floatDiv set="method" line="327" static="1"> A / B <__mod set="method" line="333" static="1"> A % B <__modInt set="method" line="340" static="1"> A % B <__intMod set="method" line="346" static="1"> A % B <__modFloat set="method" line="352" static="1"> A % B <__floatMod set="method" line="358" static="1"> A % B <__eq set="method" line="364" static="1"> A == B <__eqDynamic set="method" line="371" static="1"> A == B <__neq set="method" line="377" static="1"> A != B <__neqDynamic set="method" line="384" static="1"> A != B <__lt set="method" line="390" static="1"> <__ltInt set="method" line="397" static="1"> <__intLt set="method" line="403" static="1"> <__ltFloat set="method" line="409" static="1"> <__floatLt set="method" line="415" static="1"> <__lte set="method" line="421" static="1"> <__lteInt set="method" line="428" static="1"> <__intLte set="method" line="434" static="1"> <__lteFloat set="method" line="440" static="1"> <__floatLte set="method" line="446" static="1"> <__gt set="method" line="452" static="1"> B]]> <__gtInt set="method" line="459" static="1"> B]]> <__intGt set="method" line="465" static="1"> B]]> <__gtFloat set="method" line="471" static="1"> B]]> <__floatGt set="method" line="477" static="1"> B]]> <__gte set="method" line="483" static="1"> = B]]> <__gteInt set="method" line="490" static="1"> = B]]> <__intGte set="method" line="496" static="1"> = B]]> <__gteFloat set="method" line="502" static="1"> = B]]> <__floatGte set="method" line="508" static="1"> = B]]> <__complement set="method" line="514" static="1"> ~A <__and set="method" line="520" static="1"> <__andInt set="method" line="527" static="1"> <__or set="method" line="533" static="1"> A | B <__orInt set="method" line="540" static="1"> A | B <__xor set="method" line="546" static="1"> A ^ B <__xorInt set="method" line="553" static="1"> A ^ B <__shr set="method" line="559" static="1"> > B]]> <__shrInt set="method" line="566" static="1"> > B]]> <__intShr set="method" line="572" static="1"> > B]]> <__ushr set="method" line="578" static="1"> >> B]]> <__ushrInt set="method" line="585" static="1"> >> B]]> <__intUshr set="method" line="591" static="1"> >> B]]> <__shl set="method" line="597" static="1"> <__shlInt set="method" line="604" static="1"> <__intShl set="method" line="610" static="1"> "checkstyle:FieldDocComment" "haxe.lang.Iterator" "checkstyle:FieldDocComment" "haxe.lang.Iterable" hide The total number of times the timer has fired since it started at zero. If the timer has been reset, only the fires since the reset are counted. The delay, in milliseconds, between timer events. If you set the delay interval while the timer is running, the timer will restart at the same `repeatCount` iteration. **Note:** A `delay` lower than 20 milliseconds is not recommended. Timer frequency is limited to 60 frames per second, meaning a delay lower than 16.6 milliseconds causes runtime problems. @throws Error Throws an exception if the delay specified is negative or not a finite number. The total number of times the timer is set to run. If the repeat count is set to 0, the timer continues forever or until the `stop()` method is invoked or the program stops. If the repeat count is nonzero, the timer runs the specified number of times. If `repeatCount` is set to a total that is the same or less then `currentCount` the timer stops and will not fire again. The timer's current state; `true` if the timer is running, otherwise `false`. <__delay> <__repeatCount> <__timer> <__timerID> Stops the timer, if it is running, and sets the `currentCount` property back to 0, like the reset button of a stopwatch. Then, when `start()` is called, the timer instance runs for the specified number of repetitions, as set by the `repeatCount` value. Starts the timer, if it is not already running. Stops the timer. When `start()` is called after `stop()`, the timer instance runs for the _remaining_ number of repetitions, as set by the `repeatCount` property. { repeatCount : 0 } Constructs a new Timer object with the specified `delay` and `repeatCount` states. The timer does not start automatically; you must call the `start()` method to start it. @param delay The delay between timer events, in milliseconds. A `delay` lower than 20 milliseconds is not recommended. Timer frequency is limited to 60 frames per second, meaning a delay lower than 16.6 milliseconds causes runtime problems. @param repeatCount Specifies the number of repetitions. If zero, the timer repeats infinitely. If nonzero, the timer runs the specified number of times and then stops. @throws Error if the delay specified is negative or not a finite number The Timer class is the interface to timers, which let you run code on a specified time sequence. Use the `start()` method to start a timer. Add an event listener for the `timer` event to set up code to be run on the timer interval. You can create Timer objects to run once or repeat at specified intervals to execute code on a schedule. Depending on the SWF file's framerate or the runtime environment(available memory and other factors), the runtime may dispatch events at slightly offset intervals. For example, if a SWF file is set to play at 10 frames per second(fps), which is 100 millisecond intervals, but your timer is set to fire an event at 80 milliseconds, the event will be dispatched close to the 100 millisecond interval. Memory-intensive scripts may also offset the events. @event timer Dispatched whenever a Timer object reaches an interval specified according to the `Timer.delay` property. @event timerComplete Dispatched whenever it has completed the number of requests set by `Timer.repeatCount`. "tags=\"haxe,release\"" <__sentWarnings expr="new Map()" line="19" static="1"> new Map() "checkstyle:NullableParameter" "tags=\"haxe,release\"" "checkstyle:FieldDocComment" <__pool public="1" expr="new ObjectPool<TouchData>(function() return new TouchData(), function(data) data.reset())" line="16" static="1"> (function() return new TouchData(), function(data) data.reset())]]> "checkstyle:Dynamic" "tags=\"haxe,release\"" "checkstyle:FieldDocComment" * Triggered after the characters XML has been loaded. * Triggered after the character has been entirely loaded. * Triggered every frame. * Triggered everytime the character will dance (play its idle animation). * Triggered every beat * Triggered every step * Triggered everytime the game tries to play an animation on your character. * Triggered everytime the game tries to get your player's camera position. * This event cannot be cancelled. * Triggered everytime the game tries to play a sing, alt sing or miss animation. * Contains all callbacks you can add in a Character script. * * To add a Character script, create a file here: `data/characters/my-char.hx` * Called whenever the game gains focus. * Called whenever the game loses focus. * Called whenever the game loses focus. * @param width Width of the game * @param height Height of the game * Called after the screen has been drawn. * Called after the game has been reset. * Called after the game has been started. * Called after the state has been switched. * Called after the game has been updated. * * Aliases: `postUpdate` * * @param elapsed Time elapsed since last frame * Called before the game draws on screen. * Called before the game resets. * Called before the game starts. * Called before the state creates. * Called before the state switches. * Called before the game updates. * * Aliases: `preUpdate` * A global script is a special kind of script that runs on everywhere on your mod: menus, game, etc... * * To create one, go to data and create a script named "global", then press F5 in game to hot reload. * * All flixel signals are automatically binded, as shown below. * Triggered after the characters has been created, during PlayState's creation. * Triggered at the very end of PlayState's creation * Triggered every frame. * @param elapsed Time elapsed since last frame. * Triggered at the end of every frame. * @param elapsed Time elapsed since last frame. * Triggered every step * @param curStep Current step. * Triggered every beat. * @param curBeat Current beat. * Triggered every countdown. * @param event Countdown event. * Triggered after every countdown. * @param event Countdown event. * Triggered whenever the player hits a note. * @param note Event object with the note being pressed, the character who pressed it, and functions to alter or cancel the default behaviour. * Triggered whenever the opponent hits a note. * @param note Event object with the note being pressed, the character who pressed it, and functions to alter or cancel the default behaviour. * Triggered whenever the input system updates. * @param note Event object with the pressed notes, which allows you to alter which notes are being pressed during this frame, or simply cancel the input update. * Triggered after the input system updates. * @param note Event object with the pressed, justPressed and justReleased notes. * Triggered on each note creation * @param event Event object containing information about the note. * Triggered on each strum creation * @param event Event object containing information about the strum. * Triggered on substate open. * @param event Event object containing the substate, which is cancellable. * Triggered on substate close. * @param event Event object containing the substate, which is cancellable. * Contains all callbacks you can add in modcharts and stage scripts. * * * * NOTE: In case you're scripting a stage, all sprites of that stage are directly accessible via their name. * * Ex: If you added a `superCoolBG` element in your stage XML, you'll be able to access it via scripts by using `superCoolBG`. The user id for the file owner. The size of the file, in bytes. The device type on which stat resides (special files only). The number of hard links to stat. The last modification time for the file. The permission bits of stat. The meaning of the bits is platform dependent. The inode number for stat. The user group id for the file owner. The device on which stat resides. The creation time for the file (not all file systems support this). The last access time for the file (when enabled by the file system). File information, as given by `sys.FileSystem.stat`. Returns `true` if the file or directory specified by `path` exists. Renames/moves the file or directory specified by `path` to `newPath`. If `path` is not a valid file system entry, or if it is not accessible, or if `newPath` is not accessible, an exception is thrown. Returns `FileStat` information for the file or directory specified by `path`. Returns the full path of the file or directory specified by `relPath`, which is relative to the current working directory. Symlinks will be followed and the path will be normalized. Returns the full path of the file or directory specified by `relPath`, which is relative to the current working directory. The path doesn't have to exist. Returns `true` if the file or directory specified by `path` is a directory. If `path` is not a valid file system entry or if its destination is not accessible, an exception is thrown. Creates a directory specified by `path`. This method is recursive: The parent directories don't have to exist. If the directory cannot be created, an exception is thrown. Deletes the file specified by `path`. If `path` does not denote a valid file, or if that file cannot be deleted, an exception is thrown. Deletes the directory specified by `path`. Only empty directories can be deleted. If `path` does not denote a valid directory, or if that directory cannot be deleted, an exception is thrown. Returns the names of all files and directories in the directory specified by `path`. `"."` and `".."` are not included in the output. If `path` does not denote a valid directory, an exception is thrown. This class provides information about files and directories. If `null` is passed as a file path to any function in this class, the result is unspecified, and may differ from target to target. See `sys.io.File` for the complementary file API. "]]> null Makes a synchronous request to `url`. This creates a new Http instance and makes a GET request by calling its `request(false)` method. If `url` is null, the result is unspecified. { mimeType : "application/octet-stream" } "Use fileTransfer instead" { mimeType : "application/octet-stream" } Get amount of rows left in this set. Depending on a database management system accessing this field may cause all rows to be fetched internally. However, it does not affect `next` calls. Amount of columns in a row. Depending on a database management system may return `0` if the query did not match any rows. Tells whether there is a row to be fetched. Fetch next row. Fetch all the rows not fetched yet. Get the value of `n`-th column of the current row. Throws an exception if the re Get the value of `n`-th column of the current row as an integer value. Get the value of `n`-th column of the current row as a float value. Get the list of column names. Depending on a database management system may return `null` if there's no more rows to fetch. <__r> <__use_date expr="Date" line="197" static="1"> Date <__c> "]]> Opens a new SQLite connection on the specified path. (cs) You will need a SQLite ADO.NET Provider (see http://www.mono-project.com/docs/database-access/providers/sqlite/). Also note that this will try to open an assembly named `Mono.Data.Sqlite` if it wasn't loaded yet. (java) You will need a SQLite JDBC driver (e.g. https://github.com/xerial/sqlite-jdbc/releases). "]]> Retrieves the content of the file specified by `path` as a String. If the file does not exist or can not be read, an exception is thrown. `sys.FileSystem.exists` can be used to check for existence. If `path` is null, the result is unspecified. Retrieves the binary content of the file specified by `path`. If the file does not exist or can not be read, an exception is thrown. `sys.FileSystem.exists` can be used to check for existence. If `path` is null, the result is unspecified. Stores `content` in the file specified by `path`. If the file cannot be written to, an exception is thrown. If `path` or `content` are null, the result is unspecified. Stores `bytes` in the file specified by `path` in binary mode. If the file cannot be written to, an exception is thrown. If `path` or `bytes` are null, the result is unspecified. { binary : true } Returns an `FileInput` handle to the file specified by `path`. If `binary` is true, the file is opened in binary mode. Otherwise it is opened in non-binary mode. If the file does not exist or can not be read, an exception is thrown. Operations on the returned `FileInput` handle read on the opened file. File handles should be closed via `FileInput.close` once the operation is complete. If `path` is null, the result is unspecified. { binary : true } Returns an `FileOutput` handle to the file specified by `path`. If `binary` is true, the file is opened in binary mode. Otherwise it is opened in non-binary mode. If the file cannot be written to, an exception is thrown. Operations on the returned `FileOutput` handle write to the opened file. If the file existed, its previous content is overwritten. File handles should be closed via `FileOutput.close` once the operation is complete. If `path` is null, the result is unspecified. { binary : true } Similar to `sys.io.File.write`, but appends to the file if it exists instead of overwriting its contents. { binary : true } Similar to `sys.io.File.append`. While `append` can only seek or write starting from the end of the file's previous contents, `update` can seek to any position, so the file's previous contents can be selectively overwritten. Copies the contents of the file specified by `srcPath` to the file specified by `dstPath`. If the `srcPath` does not exist or cannot be read, or if the `dstPath` file cannot be written to, an exception is thrown. If the file at `dstPath` exists, its contents are overwritten. If `srcPath` or `dstPath` are null, the result is unspecified. API for reading and writing files. See `sys.FileSystem` for the complementary file system API. <__f> Use `sys.io.File.read` to create a `FileInput`. <__f> Use `sys.io.File.write` to create a `FileOutput`.

      Standard output. The output stream where a process writes its output data. Standard error. The output stream to output error messages or diagnostics. Standard input. The stream data going into a process. Return the process ID. { block : true } Query the exit code of the process. If `block` is true or not specified, it will block until the process terminates. If `block` is false, it will return either the process exit code if it's already terminated or null if it's still running. If the process has already exited, return the exit code immediately. Close the process handle and release the associated resources. All `Process` fields should not be used after `close()` is called. Kill the process. Construct a `Process` object, which run the given command immediately. Command arguments can be passed in two ways: 1. using `args`, 2. appending to `cmd` and leaving `args` as `null`. 1. When using `args` to pass command arguments, each argument will be automatically quoted, and shell meta-characters will be escaped if needed. `cmd` should be an executable name that can be located in the `PATH` environment variable, or a path to an executable. 2. When `args` is not given or is `null`, command arguments can be appended to `cmd`. No automatic quoting/escaping will be performed. `cmd` should be formatted exactly as it would be when typed at the command line. It can run executables, as well as shell commands that are not executables (e.g. on Windows: `dir`, `cd`, `echo` etc). `detached` allows the created process to be standalone. You cannot communicate with it but you can look at its exit code. Not supported on php. `close()` should be called when the `Process` is no longer used.
      An address is used to represent a port on a given host ip. It is used by `sys.net.UdpSocket`. Returns the local computer host name The provided host string. The actual IP corresponding to the host. Returns the IP representation of the host Perform a reverse-DNS query to resolve a host name from an IP. Creates a new Host : the name can be an IP in the form "127.0.0.1" or an host name such as "google.com", in which case the corresponding IP address is resolved using DNS. An exception occur if the host name could not be found. A given IP host name. <__s> <__s> <__s> <__timeout expr="0.0"> 0.0 <__blocking expr="true"> true <__fastSend expr="false"> false The stream on which you can read available data. By default the stream is blocking until the requested data is available, use `setBlocking(false)` or `setTimeout` to prevent infinite waiting. The stream on which you can send data. Please note that in case the output buffer you will block while writing the data, use `setBlocking(false)` or `setTimeout` to prevent that. A custom value that can be associated with the socket. Can be used to retrieve your custom infos after a `select`. * Closes the socket : make sure to properly close all your sockets or you will crash when you run out of file descriptors. Read the whole data available on the socket. *Note*: this is **not** meant to be used together with `setBlocking(false)`, as it will always throw `haxe.io.Error.Blocked`. `input` methods should be used directly instead. Write the whole data to the socket output. *Note*: this is **not** meant to be used together with `setBlocking(false)`, as `haxe.io.Error.Blocked` may be thrown mid-write with no indication of how many bytes have been written. `output.writeBytes()` should be used instead as it returns this information. Connect to the given server host/port. Throw an exception in case we couldn't successfully connect. Allow the socket to listen for incoming questions. The parameter tells how many pending connections we can have until they get refused. Use `accept()` to accept incoming connections. Shutdown the socket, either for reading or writing. Bind the socket to the given host/port so it can afterwards listen for connections there. Accept a new connected client. This will return a connected socket on which you can read/write some data. Return the information about the other side of a connected socket. Return the information about our side of a connected socket. Gives a timeout (in seconds) after which blocking socket operations (such as reading and writing) will abort and throw an exception. Block until some data is available for read on the socket. Change the blocking mode of the socket. A blocking socket is the default behavior. A non-blocking socket will abort blocking operations immediately by throwing a haxe.io.Error.Blocked value. Allows the socket to immediately send the data when written to its output : this will cause less ping but might increase the number of packets / data size, especially when doing a lot of small writes. Creates a new unconnected socket. A TCP socket class : allow you to both connect to a given server and exchange messages or start your own server and wait for connections. Sends data to the specified target host/port address. Reads data from any incoming address and store the receiver address into the address parameter. Allows the socket to send to broadcast addresses. A UDP socket class <__h> <__x> sys.ssl.Socket cast "MD5" cast "SHA1" cast "SHA224" cast "SHA256" cast "SHA384" cast "SHA512" cast "RIPEMD160" cast "MD5" cast "SHA1" cast "SHA224" cast "SHA256" cast "SHA384" cast "SHA512" cast "RIPEMD160" <__k> <__s> sys.ssl.Socket <__s> sys.ssl.Socket true Define if peer certificate is verified during SSL handshake. Perform the SSL handshake. Configure the certificate chain for peer certificate verification. Configure the hostname for Server Name Indication TLS extension. Configure own certificate and private key. Configure additionals certificates and private keys for Server Name Indication extension. The callback may be called during handshake to determine the certificate to use. Return the certificate received from the other side of a connection. A TLS socket class : allow you to both connect to a given server and exchange messages or start your own server and wait for connections. Adds an element at the end of `this` Deque. (Java,Jvm): throws `java.lang.NullPointerException` if `i` is `null`. Adds an element at the front of `this` Deque. (Java,Jvm): throws `java.lang.NullPointerException` if `i` is `null`. Tries to retrieve an element from the front of `this` Deque. If an element is available, it is removed from the queue and returned. If no element is available and `block` is `false`, `null` is returned. Otherwise, execution blocks until an element is available and returns it. Create a new Deque instance which is initially empty. A Deque is a double-ended queue with a `pop` method that can block until an element is available. It is commonly used to synchronize threads. Amount of alive threads in this pool. Indicates if `shutdown` method of this pool has been called. Submit a task to run in a thread. Throws an exception if the pool is shut down. Initiates a shutdown. All previousely submitted tasks will be executed, but no new tasks will be accepted. Multiple calls to this method have no effect. A thread pool interface. Indicates if `shutdown` method of this pool has been called. <_isShutdown expr="false"> false [] Void>()]]> new Mutex() Submit a task to run in a thread. Throws an exception if the pool is shut down. Initiates a shutdown. All previousely submitted tasks will be executed, but no new tasks will be accepted. Multiple calls to this method have no effect. { threadTimeout : 60 } Create a new thread pool with `threadsCount` threads. If a worker thread does not receive a task for `threadTimeout` seconds it is terminated. Thread pool with a varying amount of threads. A new thread is spawned every time a task is submitted while all existing threads are busy. false new Mutex() new Lock() false There's already an event waiting to be executed No new events are expected. An event is expected to arrive at any time. If `time` is specified, then the event will be ready at that time for sure. An event is expected to be ready for execution at `time`. When an event loop has an available event to execute. false Indicates if `shutdown` method of this pool has been called. <_isShutdown expr="false"> false new Mutex() Void>()]]> Submit a task to run in a thread. Throws an exception if the pool is shut down. Initiates a shutdown. All previousely submitted tasks will be executed, but no new tasks will be accepted. Multiple calls to this method have no effect. Create a new thread pool with `threadsCount` threads. Thread pool with a constant amount of threads. Threads in the pool will exist until the pool is explicitly shut down. { timeout : -1 } Waits for the lock to be released, or `timeout` (in seconds) to expire. Returns `true` if the lock is released and `false` if a time-out occurs. Releases the lock once. The thread does not need to own the lock in order to release it. Each call to `release` allows exactly one call to `wait` to execute. Creates a new Lock which is initially locked. A Lock allows blocking execution until it has been unlocked. It keeps track of how often `release` has been called, and blocks exactly as many `wait` calls. The order of the `release` and `wait` calls is irrelevant. That is, a Lock can be released before anyone waits for it. In that case, the `wait` call will execute immediately. Usage example: ```haxe var lock = new Lock(); var elements = [1, 2, 3]; for (element in elements) { // Create one thread per element new Thread(function() { trace(element); Sys.sleep(1); // Release once per thread = 3 times lock.release(); }); } for (_ in elements) { // Wait 3 times lock.wait(); } trace("All threads finished"); ``` { msg : "Event loop is not available. Refer to sys.thread.Thread.runWithEventLoop." } 0 Creates thread local storage. This is placeholder that can store a value that will be different depending on the local thread. Set the tls value to `null` before exiting the thread or the memory will never be collected. Creates thread local storage. (hl) Warning: At the moment `Tls` does not protect the value from being garbage collected. Keep the value reachable to avoid crashes. 0 1 false <_width> <_height> { autoScale : true, height : 240, width : 320 } * ... * @author Tommy S "#include \"LibVLC.cpp\"" "LibVLC::create" "setPath" "openMedia" "play" "play" "playInWindow" "playInWindow" "stop" "pause" "resume" "togglePause" "fullscreen" "showMainWindow" "getLength" "getDuration" "getWidth" "getHeight" "getMeta" "isPlaying" "isSeekable" "setVolume" "getVolume" "getTime" "setTime" "getPosition" "setPosition" "useHWacceleration" "getLastError" "getRepeat" { repeat : 1 } "setRepeat" "getPixelData" "getFPS" "flags" * ... * @author Tommy S "]]> "LibVLC.h" "LibVLC*"