blockly 8.0.5 → 9.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/blockly.min.js +2002 -2269
- package/blockly_compressed.js +1499 -1994
- package/blockly_compressed.js.map +1 -1
- package/blocks/blocks.js +3 -2
- package/blocks/colour.js +3 -1
- package/blocks/lists.js +94 -22
- package/blocks/logic.js +14 -6
- package/blocks/loops.js +5 -3
- package/blocks/math.js +3 -1
- package/blocks/procedures.js +3 -1
- package/blocks/text.js +14 -6
- package/blocks/variables.js +3 -1
- package/blocks/variables_dynamic.js +3 -1
- package/blocks.d.ts +0 -2
- package/blocks_compressed.js +189 -171
- package/blocks_compressed.js.map +1 -1
- package/closure/goog/base.d.ts +1 -0
- package/closure/goog/base_minimal.d.ts +18 -0
- package/closure/goog/goog.d.ts +25 -0
- package/core/any_aliases.d.ts +1 -0
- package/core/any_aliases.ts +1 -0
- package/core/block.d.ts +779 -0
- package/core/{block.js → block.ts} +610 -719
- package/core/block_animations.d.ts +33 -0
- package/core/{block_animations.js → block_animations.ts} +75 -79
- package/core/block_drag_surface.d.ts +111 -0
- package/core/{block_drag_surface.js → block_drag_surface.ts} +85 -117
- package/core/block_dragger.d.ts +143 -0
- package/core/{block_dragger.js → block_dragger.ts} +139 -176
- package/core/block_svg.d.ts +588 -0
- package/core/{block_svg.js → block_svg.ts} +494 -630
- package/core/blockly.d.ts +562 -0
- package/core/blockly.js +1 -1
- package/core/blockly.ts +749 -0
- package/core/blockly_options.d.ts +69 -0
- package/core/blockly_options.ts +81 -0
- package/core/blocks.d.ts +17 -0
- package/core/{blocks.js → blocks.ts} +4 -8
- package/core/browser_events.d.ts +85 -0
- package/core/{browser_events.js → browser_events.ts} +98 -93
- package/core/bubble.d.ts +279 -0
- package/core/{bubble.js → bubble.ts} +277 -370
- package/core/bubble_dragger.d.ts +73 -0
- package/core/bubble_dragger.ts +229 -0
- package/core/bump_objects.d.ts +34 -0
- package/core/{bump_objects.js → bump_objects.ts} +54 -52
- package/core/clipboard.d.ts +42 -0
- package/core/clipboard.ts +91 -0
- package/core/comment.d.ts +113 -0
- package/core/{comment.js → comment.ts} +135 -185
- package/core/common.d.ts +129 -0
- package/core/{common.js → common.ts} +105 -82
- package/core/component_manager.d.ts +91 -0
- package/core/component_manager.ts +211 -0
- package/core/config.d.ts +23 -0
- package/core/{config.js → config.ts} +12 -19
- package/core/connection.d.ts +232 -0
- package/core/{connection.js → connection.ts} +187 -237
- package/core/connection_checker.d.ts +78 -0
- package/core/{connection_checker.js → connection_checker.ts} +66 -77
- package/core/connection_db.d.ts +91 -0
- package/core/{connection_db.js → connection_db.ts} +62 -87
- package/core/connection_type.d.ts +15 -0
- package/core/{connection_type.js → connection_type.ts} +8 -12
- package/core/constants.d.ts +15 -0
- package/core/{constants.js → constants.ts} +4 -8
- package/core/contextmenu.d.ts +80 -0
- package/core/{contextmenu.js → contextmenu.ts} +118 -153
- package/core/contextmenu_items.d.ts +77 -0
- package/core/contextmenu_items.ts +576 -0
- package/core/contextmenu_registry.d.ts +105 -0
- package/core/contextmenu_registry.ts +179 -0
- package/core/css.d.ts +24 -0
- package/core/{css.js → css.ts} +16 -24
- package/core/delete_area.d.ts +47 -0
- package/core/delete_area.ts +82 -0
- package/core/dialog.d.ts +61 -0
- package/core/dialog.ts +127 -0
- package/core/drag_target.d.ts +63 -0
- package/core/drag_target.ts +94 -0
- package/core/dropdowndiv.d.ts +155 -0
- package/core/{dropdowndiv.js → dropdowndiv.ts} +262 -333
- package/core/events/events.d.ts +102 -0
- package/core/events/events.ts +123 -0
- package/core/events/events_abstract.d.ts +51 -0
- package/core/events/events_abstract.ts +112 -0
- package/core/events/events_block_base.d.ts +31 -0
- package/core/events/events_block_base.ts +65 -0
- package/core/events/events_block_change.d.ts +55 -0
- package/core/events/{events_block_change.js → events_block_change.ts} +45 -48
- package/core/events/events_block_create.d.ts +35 -0
- package/core/events/{events_block_create.js → events_block_create.ts} +30 -35
- package/core/events/events_block_delete.d.ts +36 -0
- package/core/events/{events_block_delete.js → events_block_delete.ts} +34 -39
- package/core/events/events_block_drag.d.ts +36 -0
- package/core/events/events_block_drag.ts +82 -0
- package/core/events/events_block_move.d.ts +51 -0
- package/core/events/{events_block_move.js → events_block_move.ts} +54 -50
- package/core/events/events_bubble_open.d.ts +35 -0
- package/core/events/events_bubble_open.ts +82 -0
- package/core/events/events_click.d.ts +36 -0
- package/core/events/{events_click.js → events_click.ts} +27 -30
- package/core/events/events_comment_base.d.ts +39 -0
- package/core/events/events_comment_base.ts +107 -0
- package/core/events/events_comment_change.d.ts +43 -0
- package/core/events/{events_comment_change.js → events_comment_change.ts} +31 -28
- package/core/events/events_comment_create.d.ts +35 -0
- package/core/events/{events_comment_create.js → events_comment_create.ts} +24 -26
- package/core/events/events_comment_delete.d.ts +35 -0
- package/core/events/{events_comment_delete.js → events_comment_delete.ts} +20 -24
- package/core/events/events_comment_move.d.ts +55 -0
- package/core/events/{events_comment_move.js → events_comment_move.ts} +39 -42
- package/core/events/events_marker_move.d.ts +40 -0
- package/core/events/events_marker_move.ts +99 -0
- package/core/events/events_selected.d.ts +34 -0
- package/core/events/events_selected.ts +78 -0
- package/core/events/events_theme_change.d.ts +30 -0
- package/core/events/{events_theme_change.js → events_theme_change.ts} +19 -24
- package/core/events/events_toolbox_item_select.d.ts +34 -0
- package/core/events/events_toolbox_item_select.ts +79 -0
- package/core/events/events_trashcan_open.d.ts +31 -0
- package/core/events/events_trashcan_open.ts +68 -0
- package/core/events/events_ui.d.ts +37 -0
- package/core/events/{events_ui.js → events_ui.ts} +27 -26
- package/core/events/events_ui_base.d.ts +26 -0
- package/core/events/{events_ui_base.js → events_ui_base.ts} +17 -26
- package/core/events/events_var_base.d.ts +31 -0
- package/core/events/events_var_base.ts +65 -0
- package/core/events/events_var_create.d.ts +35 -0
- package/core/events/{events_var_create.js → events_var_create.ts} +24 -25
- package/core/events/events_var_delete.d.ts +35 -0
- package/core/events/{events_var_delete.js → events_var_delete.ts} +24 -25
- package/core/events/events_var_rename.d.ts +36 -0
- package/core/events/{events_var_rename.js → events_var_rename.ts} +25 -26
- package/core/events/events_viewport.d.ts +39 -0
- package/core/events/events_viewport.ts +100 -0
- package/core/events/utils.d.ts +272 -0
- package/core/events/{utils.js → utils.ts} +148 -219
- package/core/events/workspace_events.d.ts +36 -0
- package/core/events/workspace_events.ts +86 -0
- package/core/extensions.d.ts +107 -0
- package/core/{extensions.js → extensions.ts} +153 -172
- package/core/field.d.ts +534 -0
- package/core/{field.js → field.ts} +413 -489
- package/core/field_angle.d.ts +176 -0
- package/core/field_angle.ts +563 -0
- package/core/field_checkbox.d.ts +124 -0
- package/core/field_checkbox.ts +243 -0
- package/core/field_colour.d.ts +200 -0
- package/core/field_colour.ts +632 -0
- package/core/field_dropdown.d.ts +222 -0
- package/core/{field_dropdown.js → field_dropdown.ts} +277 -299
- package/core/field_image.d.ts +134 -0
- package/core/field_image.ts +282 -0
- package/core/field_label.d.ts +71 -0
- package/core/field_label.ts +152 -0
- package/core/field_label_serializable.d.ts +42 -0
- package/core/field_label_serializable.ts +76 -0
- package/core/field_multilineinput.d.ts +146 -0
- package/core/{field_multilineinput.js → field_multilineinput.ts} +166 -163
- package/core/field_number.d.ts +156 -0
- package/core/{field_number.js → field_number.ts} +110 -123
- package/core/field_registry.d.ts +45 -0
- package/core/{field_registry.js → field_registry.ts} +37 -30
- package/core/field_textinput.d.ts +219 -0
- package/core/field_textinput.ts +591 -0
- package/core/field_variable.d.ts +217 -0
- package/core/{field_variable.js → field_variable.ts} +174 -187
- package/core/flyout_base.d.ts +459 -0
- package/core/{flyout_base.js → flyout_base.ts} +429 -518
- package/core/flyout_button.d.ts +81 -0
- package/core/flyout_button.ts +292 -0
- package/core/flyout_horizontal.d.ts +82 -0
- package/core/{flyout_horizontal.js → flyout_horizontal.ts} +97 -107
- package/core/flyout_metrics_manager.d.ts +40 -0
- package/core/{flyout_metrics_manager.js → flyout_metrics_manager.ts} +22 -34
- package/core/flyout_vertical.d.ts +83 -0
- package/core/{flyout_vertical.js → flyout_vertical.ts} +106 -117
- package/core/generator.d.ts +205 -0
- package/core/{generator.js → generator.ts} +168 -193
- package/core/gesture.d.ts +357 -0
- package/core/{gesture.js → gesture.ts} +289 -369
- package/core/grid.d.ts +83 -0
- package/core/grid.ts +192 -0
- package/core/icon.d.ts +78 -0
- package/core/icon.ts +189 -0
- package/core/inject.d.ts +15 -0
- package/core/{inject.js → inject.ts} +101 -100
- package/core/input.d.ts +128 -0
- package/core/input.ts +309 -0
- package/core/input_types.d.ts +14 -0
- package/core/{input_types.js → input_types.ts} +8 -12
- package/core/insertion_marker_manager.d.ts +212 -0
- package/core/{insertion_marker_manager.js → insertion_marker_manager.ts} +234 -236
- package/core/interfaces/i_ast_node_location.d.ts +11 -0
- package/core/interfaces/{i_ast_node_location.js → i_ast_node_location.ts} +4 -7
- package/core/interfaces/i_ast_node_location_svg.d.ts +22 -0
- package/core/interfaces/i_ast_node_location_svg.ts +37 -0
- package/core/interfaces/i_ast_node_location_with_block.d.ts +18 -0
- package/core/interfaces/i_ast_node_location_with_block.ts +38 -0
- package/core/interfaces/i_autohideable.d.ts +18 -0
- package/core/interfaces/i_autohideable.ts +34 -0
- package/core/interfaces/i_block_dragger.d.ts +43 -0
- package/core/interfaces/i_block_dragger.ts +67 -0
- package/core/interfaces/i_bounded_element.d.ts +24 -0
- package/core/interfaces/i_bounded_element.ts +42 -0
- package/core/interfaces/i_bubble.d.ts +59 -0
- package/core/interfaces/i_bubble.ts +88 -0
- package/core/interfaces/i_collapsible_toolbox_item.d.ts +26 -0
- package/core/interfaces/i_collapsible_toolbox_item.ts +47 -0
- package/core/interfaces/i_component.d.ts +17 -0
- package/core/interfaces/{i_component.js → i_component.ts} +9 -14
- package/core/interfaces/i_connection_checker.d.ts +69 -0
- package/core/interfaces/i_connection_checker.ts +102 -0
- package/core/interfaces/i_contextmenu.d.ts +13 -0
- package/core/interfaces/i_contextmenu.ts +26 -0
- package/core/interfaces/i_copyable.d.ts +24 -0
- package/core/interfaces/i_copyable.ts +40 -0
- package/core/interfaces/i_deletable.d.ts +16 -0
- package/core/interfaces/{i_deletable.js → i_deletable.ts} +9 -13
- package/core/interfaces/i_delete_area.d.ts +25 -0
- package/core/interfaces/i_delete_area.ts +46 -0
- package/core/interfaces/i_drag_target.d.ts +53 -0
- package/core/interfaces/i_drag_target.ts +84 -0
- package/core/interfaces/i_draggable.d.ts +12 -0
- package/core/interfaces/{i_draggable.js → i_draggable.ts} +4 -10
- package/core/interfaces/i_flyout.d.ts +134 -0
- package/core/interfaces/i_flyout.ts +186 -0
- package/core/interfaces/i_keyboard_accessible.d.ts +18 -0
- package/core/interfaces/i_keyboard_accessible.ts +35 -0
- package/core/interfaces/i_metrics_manager.d.ts +117 -0
- package/core/interfaces/i_metrics_manager.ts +151 -0
- package/core/interfaces/i_movable.d.ts +16 -0
- package/core/interfaces/{i_movable.js → i_movable.ts} +9 -13
- package/core/interfaces/i_positionable.d.ts +27 -0
- package/core/interfaces/i_positionable.ts +50 -0
- package/core/interfaces/i_registrable.d.ts +11 -0
- package/core/interfaces/{i_registrable.js → i_registrable.ts} +3 -7
- package/core/interfaces/i_registrable_field.d.ts +17 -0
- package/core/interfaces/{i_registrable_field.js → i_registrable_field.ts} +8 -16
- package/core/interfaces/i_selectable.d.ts +18 -0
- package/core/interfaces/i_selectable.ts +34 -0
- package/core/interfaces/i_selectable_toolbox_item.d.ts +42 -0
- package/core/interfaces/i_selectable_toolbox_item.ts +64 -0
- package/core/interfaces/i_serializer.d.ts +42 -0
- package/core/interfaces/i_serializer.ts +65 -0
- package/core/interfaces/i_styleable.d.ts +21 -0
- package/core/interfaces/i_styleable.ts +35 -0
- package/core/interfaces/i_toolbox.d.ts +85 -0
- package/core/interfaces/i_toolbox.ts +127 -0
- package/core/interfaces/i_toolbox_item.d.ts +62 -0
- package/core/interfaces/i_toolbox_item.ts +84 -0
- package/core/internal_constants.d.ts +40 -0
- package/core/{internal_constants.js → internal_constants.ts} +13 -18
- package/core/keyboard_nav/ast_node.d.ts +239 -0
- package/core/keyboard_nav/{ast_node.js → ast_node.ts} +207 -231
- package/core/keyboard_nav/basic_cursor.d.ts +88 -0
- package/core/keyboard_nav/{basic_cursor.js → basic_cursor.ts} +55 -66
- package/core/keyboard_nav/cursor.d.ts +41 -0
- package/core/keyboard_nav/{cursor.js → cursor.ts} +25 -35
- package/core/keyboard_nav/marker.d.ts +58 -0
- package/core/keyboard_nav/{marker.js → marker.ts} +36 -55
- package/core/keyboard_nav/tab_navigate_cursor.d.ts +19 -0
- package/core/keyboard_nav/{tab_navigate_cursor.js → tab_navigate_cursor.ts} +11 -15
- package/core/main.d.ts +11 -0
- package/core/main.js +303 -0
- package/core/marker_manager.d.ts +85 -0
- package/core/marker_manager.ts +181 -0
- package/core/menu.d.ts +149 -0
- package/core/{menu.js → menu.ts} +141 -174
- package/core/menuitem.d.ts +118 -0
- package/core/menuitem.ts +240 -0
- package/core/metrics_manager.d.ts +201 -0
- package/core/{metrics_manager.js → metrics_manager.ts} +117 -156
- package/core/msg.d.ts +9 -0
- package/core/{msg.js → msg.ts} +4 -8
- package/core/mutator.d.ts +128 -0
- package/core/{mutator.js → mutator.ts} +196 -211
- package/core/names.d.ts +124 -0
- package/core/names.ts +267 -0
- package/core/options.d.ts +137 -0
- package/core/{options.js → options.ts} +147 -173
- package/core/positionable_helpers.d.ts +88 -0
- package/core/{positionable_helpers.js → positionable_helpers.ts} +63 -70
- package/core/procedures.d.ts +108 -0
- package/core/{procedures.js → procedures.ts} +143 -152
- package/core/registry.d.ts +137 -0
- package/core/registry.ts +339 -0
- package/core/rendered_connection.d.ts +191 -0
- package/core/{rendered_connection.js → rendered_connection.ts} +164 -184
- package/core/renderers/common/block_rendering.d.ts +114 -0
- package/core/renderers/common/block_rendering.ts +164 -0
- package/core/renderers/common/constants.d.ts +458 -0
- package/core/renderers/common/constants.ts +1124 -0
- package/core/renderers/common/debug.d.ts +28 -0
- package/core/renderers/common/{debug.js → debug.ts} +14 -20
- package/core/renderers/common/debugger.d.ts +120 -0
- package/core/renderers/common/{debugger.js → debugger.ts} +100 -124
- package/core/renderers/common/drawer.d.ts +132 -0
- package/core/renderers/common/{drawer.js → drawer.ts} +112 -137
- package/core/renderers/common/i_path_object.d.ts +117 -0
- package/core/renderers/common/i_path_object.ts +161 -0
- package/core/renderers/common/info.d.ts +194 -0
- package/core/renderers/common/{info.js → info.ts} +165 -222
- package/core/renderers/common/marker_svg.d.ts +220 -0
- package/core/renderers/common/marker_svg.ts +680 -0
- package/core/renderers/common/path_object.d.ts +146 -0
- package/core/renderers/common/path_object.ts +272 -0
- package/core/renderers/common/renderer.d.ts +157 -0
- package/core/renderers/common/renderer.ts +271 -0
- package/core/renderers/geras/constants.d.ts +23 -0
- package/core/renderers/geras/constants.ts +61 -0
- package/core/renderers/geras/drawer.d.ts +43 -0
- package/core/renderers/geras/{drawer.js → drawer.ts} +40 -84
- package/core/renderers/geras/geras.d.ts +11 -0
- package/core/renderers/geras/geras.ts +37 -0
- package/core/renderers/geras/highlight_constants.d.ts +108 -0
- package/core/renderers/geras/{highlight_constants.js → highlight_constants.ts} +107 -69
- package/core/renderers/geras/highlighter.d.ts +98 -0
- package/core/renderers/geras/{highlighter.js → highlighter.ts} +81 -86
- package/core/renderers/geras/info.d.ts +45 -0
- package/core/renderers/geras/{info.js → info.ts} +61 -99
- package/core/renderers/geras/measurables/inline_input.d.ts +23 -0
- package/core/renderers/geras/measurables/inline_input.ts +51 -0
- package/core/renderers/geras/measurables/statement_input.d.ts +23 -0
- package/core/renderers/geras/measurables/statement_input.ts +50 -0
- package/core/renderers/geras/path_object.d.ts +47 -0
- package/core/renderers/geras/{path_object.js → path_object.ts} +46 -74
- package/core/renderers/geras/renderer.d.ts +69 -0
- package/core/renderers/geras/renderer.ts +126 -0
- package/core/renderers/measurables/base.d.ts +27 -0
- package/core/renderers/measurables/base.ts +53 -0
- package/core/renderers/measurables/bottom_row.d.ts +61 -0
- package/core/renderers/measurables/bottom_row.ts +120 -0
- package/core/renderers/measurables/connection.d.ts +25 -0
- package/core/renderers/measurables/connection.ts +52 -0
- package/core/renderers/measurables/external_value_input.d.ts +27 -0
- package/core/renderers/measurables/external_value_input.ts +65 -0
- package/core/renderers/measurables/field.d.ts +30 -0
- package/core/renderers/measurables/field.ts +63 -0
- package/core/renderers/measurables/hat.d.ts +21 -0
- package/core/renderers/measurables/{hat.js → hat.ts} +12 -14
- package/core/renderers/measurables/icon.d.ts +26 -0
- package/core/renderers/measurables/{icon.js → icon.ts} +14 -18
- package/core/renderers/measurables/in_row_spacer.d.ts +21 -0
- package/core/renderers/measurables/in_row_spacer.ts +44 -0
- package/core/renderers/measurables/inline_input.d.ts +24 -0
- package/core/renderers/measurables/{inline_input.js → inline_input.ts} +22 -26
- package/core/renderers/measurables/input_connection.d.ts +29 -0
- package/core/renderers/measurables/input_connection.ts +66 -0
- package/core/renderers/measurables/input_row.d.ts +30 -0
- package/core/renderers/measurables/{input_row.js → input_row.ts} +24 -31
- package/core/renderers/measurables/jagged_edge.d.ts +20 -0
- package/core/renderers/measurables/{jagged_edge.js → jagged_edge.ts} +10 -13
- package/core/renderers/measurables/next_connection.d.ts +23 -0
- package/core/renderers/measurables/next_connection.ts +47 -0
- package/core/renderers/measurables/output_connection.d.ts +26 -0
- package/core/renderers/measurables/output_connection.ts +56 -0
- package/core/renderers/measurables/previous_connection.d.ts +23 -0
- package/core/renderers/measurables/previous_connection.ts +47 -0
- package/core/renderers/measurables/round_corner.d.ts +21 -0
- package/core/renderers/measurables/round_corner.ts +49 -0
- package/core/renderers/measurables/row.d.ts +141 -0
- package/core/renderers/measurables/row.ts +225 -0
- package/core/renderers/measurables/spacer_row.d.ts +29 -0
- package/core/renderers/measurables/spacer_row.ts +55 -0
- package/core/renderers/measurables/square_corner.d.ts +21 -0
- package/core/renderers/measurables/square_corner.ts +47 -0
- package/core/renderers/measurables/statement_input.d.ts +22 -0
- package/core/renderers/measurables/{statement_input.js → statement_input.ts} +14 -18
- package/core/renderers/measurables/top_row.d.ts +56 -0
- package/core/renderers/measurables/top_row.ts +122 -0
- package/core/renderers/measurables/types.d.ts +235 -0
- package/core/renderers/measurables/types.ts +332 -0
- package/core/renderers/minimalist/constants.d.ts +14 -0
- package/core/renderers/minimalist/{constants.js → constants.ts} +5 -10
- package/core/renderers/minimalist/drawer.d.ts +21 -0
- package/core/renderers/minimalist/drawer.ts +38 -0
- package/core/renderers/minimalist/info.d.ts +30 -0
- package/core/renderers/minimalist/info.ts +52 -0
- package/core/renderers/minimalist/minimalist.d.ts +6 -0
- package/core/renderers/minimalist/minimalist.ts +22 -0
- package/core/renderers/minimalist/renderer.d.ts +41 -0
- package/core/renderers/minimalist/renderer.ts +71 -0
- package/core/renderers/thrasos/info.d.ts +40 -0
- package/core/renderers/thrasos/{info.js → info.ts} +66 -67
- package/core/renderers/thrasos/renderer.d.ts +25 -0
- package/core/renderers/thrasos/renderer.ts +48 -0
- package/core/renderers/thrasos/thrasos.d.ts +4 -0
- package/core/renderers/thrasos/thrasos.ts +20 -0
- package/core/renderers/zelos/constants.d.ts +186 -0
- package/core/renderers/zelos/{constants.js → constants.ts} +294 -441
- package/core/renderers/zelos/drawer.d.ts +47 -0
- package/core/renderers/zelos/{drawer.js → drawer.ts} +73 -95
- package/core/renderers/zelos/info.d.ts +88 -0
- package/core/renderers/zelos/{info.js → info.ts} +111 -142
- package/core/renderers/zelos/marker_svg.d.ts +46 -0
- package/core/renderers/zelos/marker_svg.ts +151 -0
- package/core/renderers/zelos/measurables/bottom_row.d.ts +27 -0
- package/core/renderers/zelos/measurables/bottom_row.ts +53 -0
- package/core/renderers/zelos/measurables/inputs.d.ts +23 -0
- package/core/renderers/zelos/measurables/{inputs.js → inputs.ts} +14 -15
- package/core/renderers/zelos/measurables/row_elements.d.ts +21 -0
- package/core/renderers/zelos/measurables/row_elements.ts +45 -0
- package/core/renderers/zelos/measurables/top_row.d.ts +29 -0
- package/core/renderers/zelos/measurables/{top_row.js → top_row.ts} +14 -27
- package/core/renderers/zelos/path_object.d.ts +77 -0
- package/core/renderers/zelos/path_object.ts +215 -0
- package/core/renderers/zelos/renderer.d.ts +74 -0
- package/core/renderers/zelos/renderer.ts +142 -0
- package/core/renderers/zelos/zelos.d.ts +12 -0
- package/core/renderers/zelos/zelos.ts +39 -0
- package/core/scrollbar.d.ts +277 -0
- package/core/{scrollbar.js → scrollbar.ts} +307 -328
- package/core/scrollbar_pair.d.ts +105 -0
- package/core/{scrollbar_pair.js → scrollbar_pair.ts} +71 -79
- package/core/serialization/blocks.d.ts +98 -0
- package/core/serialization/{blocks.js → blocks.ts} +229 -228
- package/core/serialization/exceptions.d.ts +73 -0
- package/core/serialization/exceptions.ts +98 -0
- package/core/serialization/priorities.d.ts +15 -0
- package/core/serialization/{priorities.js → priorities.ts} +4 -10
- package/core/serialization/registry.d.ts +20 -0
- package/core/serialization/{registry.js → registry.ts} +11 -13
- package/core/serialization/variables.d.ts +14 -0
- package/core/serialization/{variables.js → variables.ts} +30 -32
- package/core/serialization/workspaces.d.ts +28 -0
- package/core/serialization/{workspaces.js → workspaces.ts} +30 -27
- package/core/shortcut_items.d.ts +61 -0
- package/core/{shortcut_items.js → shortcut_items.ts} +121 -157
- package/core/shortcut_registry.d.ts +151 -0
- package/core/shortcut_registry.ts +355 -0
- package/core/sprites.d.ts +19 -0
- package/core/{sprites.js → sprites.ts} +4 -6
- package/core/theme/classic.d.ts +12 -0
- package/core/theme/{classic.js → classic.ts} +5 -7
- package/core/theme/themes.d.ts +8 -0
- package/core/theme/themes.ts +22 -0
- package/core/theme/zelos.d.ts +11 -0
- package/core/theme/{zelos.js → zelos.ts} +4 -7
- package/core/theme.d.ts +142 -0
- package/core/theme.ts +221 -0
- package/core/theme_manager.d.ts +81 -0
- package/core/theme_manager.ts +186 -0
- package/core/toolbox/category.d.ts +239 -0
- package/core/toolbox/category.ts +679 -0
- package/core/toolbox/collapsible_category.d.ts +91 -0
- package/core/toolbox/collapsible_category.ts +273 -0
- package/core/toolbox/separator.d.ts +39 -0
- package/core/toolbox/separator.ts +105 -0
- package/core/toolbox/toolbox.d.ts +352 -0
- package/core/toolbox/{toolbox.js → toolbox.ts} +316 -432
- package/core/toolbox/toolbox_item.d.ts +85 -0
- package/core/toolbox/toolbox_item.ts +147 -0
- package/core/tooltip.d.ts +126 -0
- package/core/{tooltip.js → tooltip.ts} +136 -214
- package/core/touch.d.ts +121 -0
- package/core/touch.ts +306 -0
- package/core/touch_gesture.d.ts +115 -0
- package/core/{touch_gesture.js → touch_gesture.ts} +87 -125
- package/core/trashcan.d.ts +195 -0
- package/core/{trashcan.js → trashcan.ts} +226 -312
- package/core/utils/aria.d.ts +67 -0
- package/core/utils/{aria.js → aria.ts} +47 -61
- package/core/utils/array.d.ts +14 -0
- package/core/utils/{array.js → array.ts} +10 -12
- package/core/utils/colour.d.ts +103 -0
- package/core/utils/{colour.js → colour.ts} +60 -72
- package/core/utils/coordinate.d.ts +72 -0
- package/core/utils/coordinate.ts +124 -0
- package/core/utils/deprecation.d.ts +17 -0
- package/core/utils/{deprecation.js → deprecation.ts} +11 -11
- package/core/utils/dom.d.ts +165 -0
- package/core/utils/{dom.js → dom.ts} +125 -147
- package/core/utils/idgenerator.d.ts +25 -0
- package/core/utils/{idgenerator.js → idgenerator.ts} +15 -18
- package/core/utils/keycodes.d.ts +137 -0
- package/core/utils/keycodes.ts +169 -0
- package/core/utils/math.d.ts +30 -0
- package/core/utils/{math.js → math.ts} +17 -19
- package/core/utils/metrics.d.ts +64 -0
- package/core/utils/metrics.ts +97 -0
- package/core/utils/object.d.ts +35 -0
- package/core/utils/{object.js → object.ts} +30 -26
- package/core/utils/parsing.d.ts +50 -0
- package/core/utils/{parsing.js → parsing.ts} +50 -50
- package/core/utils/rect.d.ts +38 -0
- package/core/utils/{rect.js → rect.ts} +18 -31
- package/core/utils/sentinel.d.ts +11 -0
- package/core/utils/{sentinel.js → sentinel.ts} +3 -5
- package/core/utils/size.d.ts +27 -0
- package/core/utils/{size.js → size.ts} +12 -26
- package/core/utils/string.d.ts +55 -0
- package/core/utils/{string.js → string.ts} +64 -61
- package/core/utils/style.d.ts +127 -0
- package/core/utils/{style.js → style.ts} +102 -92
- package/core/utils/svg.d.ts +68 -0
- package/core/utils/svg.ts +88 -0
- package/core/utils/svg_math.d.ts +70 -0
- package/core/utils/{svg_math.js → svg_math.ts} +72 -71
- package/core/utils/svg_paths.d.ts +101 -0
- package/core/utils/{svg_paths.js → svg_paths.ts} +56 -65
- package/core/utils/toolbox.d.ts +193 -0
- package/core/utils/toolbox.ts +433 -0
- package/core/utils/useragent.d.ts +33 -0
- package/core/utils/useragent.ts +135 -0
- package/core/utils/xml.d.ts +52 -0
- package/core/utils/{xml.js → xml.ts} +26 -36
- package/core/utils.d.ts +217 -0
- package/core/utils.ts +428 -0
- package/core/variable_map.d.ts +141 -0
- package/core/{variable_map.js → variable_map.ts} +131 -149
- package/core/variable_model.d.ts +40 -0
- package/core/variable_model.ts +82 -0
- package/core/variables.d.ts +181 -0
- package/core/{variables.js → variables.ts} +206 -188
- package/core/variables_dynamic.d.ts +38 -0
- package/core/{variables_dynamic.js → variables_dynamic.ts} +47 -43
- package/core/warning.d.ts +50 -0
- package/core/{warning.js → warning.ts} +52 -66
- package/core/widgetdiv.d.ts +69 -0
- package/core/widgetdiv.ts +257 -0
- package/core/workspace.d.ts +386 -0
- package/core/workspace.ts +801 -0
- package/core/workspace_audio.d.ts +47 -0
- package/core/{workspace_audio.js → workspace_audio.ts} +47 -60
- package/core/workspace_comment.d.ts +170 -0
- package/core/workspace_comment.ts +398 -0
- package/core/workspace_comment_svg.d.ts +329 -0
- package/core/{workspace_comment_svg.js → workspace_comment_svg.ts} +347 -444
- package/core/workspace_drag_surface_svg.d.ts +68 -0
- package/core/{workspace_drag_surface_svg.js → workspace_drag_surface_svg.ts} +75 -82
- package/core/workspace_dragger.d.ts +48 -0
- package/core/workspace_dragger.ts +104 -0
- package/core/workspace_svg.d.ts +920 -0
- package/core/{workspace_svg.js → workspace_svg.ts} +855 -935
- package/core/xml.d.ts +117 -0
- package/core/{xml.js → xml.ts} +306 -326
- package/core/zoom_controls.d.ts +130 -0
- package/core/{zoom_controls.js → zoom_controls.ts} +185 -251
- package/core.d.ts +1 -3
- package/core.js +1 -2
- package/dart.d.ts +0 -3
- package/dart_compressed.js +387 -99
- package/dart_compressed.js.map +1 -1
- package/generators/dart/all.js +2 -0
- package/generators/dart/colour.js +1 -1
- package/generators/dart/lists.js +1 -1
- package/generators/dart/logic.js +1 -1
- package/generators/dart/loops.js +1 -1
- package/generators/dart/math.js +1 -1
- package/generators/dart/procedures.js +1 -1
- package/generators/dart/text.js +1 -1
- package/generators/dart/variables.js +1 -1
- package/generators/dart/variables_dynamic.js +1 -1
- package/generators/dart.js +1 -2
- package/generators/javascript/all.js +2 -0
- package/generators/javascript/colour.js +1 -1
- package/generators/javascript/lists.js +1 -1
- package/generators/javascript/logic.js +1 -1
- package/generators/javascript/loops.js +1 -1
- package/generators/javascript/math.js +4 -4
- package/generators/javascript/procedures.js +1 -1
- package/generators/javascript/text.js +2 -2
- package/generators/javascript/variables.js +1 -1
- package/generators/javascript/variables_dynamic.js +1 -1
- package/generators/javascript.js +1 -3
- package/generators/lua/all.js +2 -0
- package/generators/lua/colour.js +1 -1
- package/generators/lua/lists.js +1 -1
- package/generators/lua/logic.js +1 -1
- package/generators/lua/loops.js +1 -1
- package/generators/lua/math.js +1 -1
- package/generators/lua/procedures.js +1 -1
- package/generators/lua/text.js +1 -1
- package/generators/lua/variables.js +1 -1
- package/generators/lua/variables_dynamic.js +1 -1
- package/generators/lua.js +1 -2
- package/generators/php/all.js +2 -0
- package/generators/php/colour.js +1 -1
- package/generators/php/lists.js +1 -2
- package/generators/php/logic.js +1 -1
- package/generators/php/loops.js +1 -1
- package/generators/php/math.js +1 -1
- package/generators/php/procedures.js +1 -1
- package/generators/php/text.js +1 -1
- package/generators/php/variables.js +1 -1
- package/generators/php/variables_dynamic.js +1 -1
- package/generators/php.js +1 -2
- package/generators/python/all.js +2 -0
- package/generators/python/colour.js +3 -3
- package/generators/python/lists.js +1 -1
- package/generators/python/logic.js +1 -1
- package/generators/python/loops.js +4 -7
- package/generators/python/math.js +1 -1
- package/generators/python/procedures.js +1 -1
- package/generators/python/text.js +1 -1
- package/generators/python/variables.js +1 -1
- package/generators/python/variables_dynamic.js +1 -1
- package/generators/python.js +1 -2
- package/index.d.ts +2 -8
- package/javascript.d.ts +0 -3
- package/javascript_compressed.js +314 -104
- package/javascript_compressed.js.map +1 -1
- package/lua.d.ts +0 -3
- package/lua_compressed.js +399 -81
- package/lua_compressed.js.map +1 -1
- package/package.json +5 -5
- package/php.d.ts +0 -3
- package/php_compressed.js +322 -93
- package/php_compressed.js.map +1 -1
- package/python.d.ts +0 -3
- package/python_compressed.js +237 -90
- package/python_compressed.js.map +1 -1
- package/blockly.d.ts +0 -26127
- package/core/blockly_options.js +0 -28
- package/core/bubble_dragger.js +0 -298
- package/core/clipboard.js +0 -80
- package/core/component_manager.js +0 -263
- package/core/contextmenu_items.js +0 -651
- package/core/contextmenu_registry.js +0 -178
- package/core/delete_area.js +0 -87
- package/core/dialog.js +0 -107
- package/core/drag_target.js +0 -98
- package/core/events/events.js +0 -147
- package/core/events/events_abstract.js +0 -133
- package/core/events/events_block_base.js +0 -70
- package/core/events/events_block_drag.js +0 -89
- package/core/events/events_bubble_open.js +0 -90
- package/core/events/events_comment_base.js +0 -121
- package/core/events/events_marker_move.js +0 -110
- package/core/events/events_selected.js +0 -83
- package/core/events/events_toolbox_item_select.js +0 -84
- package/core/events/events_trashcan_open.js +0 -73
- package/core/events/events_var_base.js +0 -70
- package/core/events/events_viewport.js +0 -107
- package/core/events/workspace_events.js +0 -93
- package/core/field_angle.js +0 -591
- package/core/field_checkbox.js +0 -255
- package/core/field_colour.js +0 -717
- package/core/field_image.js +0 -304
- package/core/field_label.js +0 -149
- package/core/field_label_serializable.js +0 -80
- package/core/field_textinput.js +0 -619
- package/core/flyout_button.js +0 -356
- package/core/grid.js +0 -226
- package/core/icon.js +0 -225
- package/core/input.js +0 -335
- package/core/interfaces/i_ast_node_location_svg.js +0 -45
- package/core/interfaces/i_ast_node_location_with_block.js +0 -41
- package/core/interfaces/i_autohideable.js +0 -40
- package/core/interfaces/i_block_dragger.js +0 -66
- package/core/interfaces/i_bounded_element.js +0 -45
- package/core/interfaces/i_bubble.js +0 -95
- package/core/interfaces/i_collapsible_toolbox_item.js +0 -53
- package/core/interfaces/i_connection_checker.js +0 -104
- package/core/interfaces/i_contextmenu.js +0 -32
- package/core/interfaces/i_copyable.js +0 -49
- package/core/interfaces/i_delete_area.js +0 -50
- package/core/interfaces/i_drag_target.js +0 -88
- package/core/interfaces/i_flyout.js +0 -201
- package/core/interfaces/i_keyboard_accessible.js +0 -38
- package/core/interfaces/i_metrics_manager.js +0 -154
- package/core/interfaces/i_positionable.js +0 -51
- package/core/interfaces/i_selectable.js +0 -51
- package/core/interfaces/i_selectable_toolbox_item.js +0 -73
- package/core/interfaces/i_serializer.js +0 -77
- package/core/interfaces/i_styleable.js +0 -39
- package/core/interfaces/i_toolbox.js +0 -142
- package/core/interfaces/i_toolbox_item.js +0 -85
- package/core/marker_manager.js +0 -213
- package/core/menuitem.js +0 -292
- package/core/names.js +0 -293
- package/core/registry.js +0 -384
- package/core/renderers/common/block_rendering.js +0 -170
- package/core/renderers/common/constants.js +0 -1250
- package/core/renderers/common/i_path_object.js +0 -162
- package/core/renderers/common/marker_svg.js +0 -721
- package/core/renderers/common/path_object.js +0 -283
- package/core/renderers/common/renderer.js +0 -305
- package/core/renderers/geras/constants.js +0 -73
- package/core/renderers/geras/geras.js +0 -36
- package/core/renderers/geras/measurables/inline_input.js +0 -58
- package/core/renderers/geras/measurables/statement_input.js +0 -57
- package/core/renderers/geras/renderer.js +0 -149
- package/core/renderers/measurables/base.js +0 -64
- package/core/renderers/measurables/bottom_row.js +0 -138
- package/core/renderers/measurables/connection.js +0 -56
- package/core/renderers/measurables/external_value_input.js +0 -70
- package/core/renderers/measurables/field.js +0 -71
- package/core/renderers/measurables/in_row_spacer.js +0 -47
- package/core/renderers/measurables/input_connection.js +0 -75
- package/core/renderers/measurables/next_connection.js +0 -50
- package/core/renderers/measurables/output_connection.js +0 -61
- package/core/renderers/measurables/previous_connection.js +0 -50
- package/core/renderers/measurables/round_corner.js +0 -52
- package/core/renderers/measurables/row.js +0 -247
- package/core/renderers/measurables/spacer_row.js +0 -69
- package/core/renderers/measurables/square_corner.js +0 -50
- package/core/renderers/measurables/top_row.js +0 -143
- package/core/renderers/measurables/types.js +0 -353
- package/core/renderers/minimalist/drawer.js +0 -42
- package/core/renderers/minimalist/info.js +0 -54
- package/core/renderers/minimalist/minimalist.js +0 -26
- package/core/renderers/minimalist/renderer.js +0 -80
- package/core/renderers/thrasos/renderer.js +0 -53
- package/core/renderers/thrasos/thrasos.js +0 -22
- package/core/renderers/zelos/marker_svg.js +0 -179
- package/core/renderers/zelos/measurables/bottom_row.js +0 -66
- package/core/renderers/zelos/measurables/row_elements.js +0 -46
- package/core/renderers/zelos/path_object.js +0 -247
- package/core/renderers/zelos/renderer.js +0 -147
- package/core/renderers/zelos/zelos.js +0 -38
- package/core/serialization/exceptions.js +0 -144
- package/core/shortcut_registry.js +0 -366
- package/core/theme/themes.js +0 -23
- package/core/theme.js +0 -228
- package/core/theme_manager.js +0 -211
- package/core/toolbox/category.js +0 -751
- package/core/toolbox/collapsible_category.js +0 -311
- package/core/toolbox/separator.js +0 -133
- package/core/toolbox/toolbox_item.js +0 -173
- package/core/touch.js +0 -285
- package/core/utils/coordinate.js +0 -138
- package/core/utils/global.js +0 -41
- package/core/utils/keycodes.js +0 -172
- package/core/utils/metrics.js +0 -154
- package/core/utils/svg.js +0 -186
- package/core/utils/toolbox.js +0 -459
- package/core/utils/useragent.js +0 -197
- package/core/utils.js +0 -383
- package/core/variable_model.js +0 -96
- package/core/widgetdiv.js +0 -290
- package/core/workspace.js +0 -836
- package/core/workspace_comment.js +0 -400
- package/core/workspace_dragger.js +0 -115
|
@@ -7,23 +7,22 @@
|
|
|
7
7
|
/**
|
|
8
8
|
* @fileoverview Utility methods for SVG math.
|
|
9
9
|
*/
|
|
10
|
-
'use strict';
|
|
11
10
|
|
|
12
11
|
/**
|
|
13
12
|
* Utility methods realted to figuring out positions of SVG elements.
|
|
14
13
|
* @namespace Blockly.utils.svgMath
|
|
15
14
|
*/
|
|
16
|
-
goog
|
|
15
|
+
import * as goog from '../../closure/goog/goog.js';
|
|
16
|
+
goog.declareModuleId('Blockly.utils.svgMath');
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
const {WorkspaceSvg} = goog.requireType('Blockly.WorkspaceSvg');
|
|
18
|
+
import type {WorkspaceSvg} from '../workspace_svg.js';
|
|
19
|
+
|
|
20
|
+
import {Coordinate} from './coordinate.js';
|
|
21
|
+
import * as deprecation from './deprecation.js';
|
|
22
|
+
import {Rect} from './rect.js';
|
|
23
|
+
import {Size} from './size.js';
|
|
24
|
+
import * as style from './style.js';
|
|
25
|
+
import * as userAgent from './useragent.js';
|
|
27
26
|
|
|
28
27
|
|
|
29
28
|
/**
|
|
@@ -32,35 +31,35 @@ const {WorkspaceSvg} = goog.requireType('Blockly.WorkspaceSvg');
|
|
|
32
31
|
* 'translate(12, 0)'.
|
|
33
32
|
* Note that IE (9,10) returns 'translate(16 8)' instead of 'translate(16, 8)'.
|
|
34
33
|
* Note that IE has been reported to return scientific notation (0.123456e-42).
|
|
35
|
-
* @type {!RegExp}
|
|
36
34
|
*/
|
|
37
|
-
const XY_REGEX = /translate\(\s*([-+\d.e]+)([ ,]\s*([-+\d.e]+)\s*)?/;
|
|
35
|
+
const XY_REGEX: RegExp = /translate\(\s*([-+\d.e]+)([ ,]\s*([-+\d.e]+)\s*)?/;
|
|
38
36
|
|
|
39
37
|
/**
|
|
40
38
|
* Static regex to pull the x,y values out of a translate() or translate3d()
|
|
41
39
|
* style property.
|
|
42
40
|
* Accounts for same exceptions as XY_REGEX.
|
|
43
|
-
* @type {!RegExp}
|
|
44
41
|
*/
|
|
45
|
-
const XY_STYLE_REGEX =
|
|
42
|
+
const XY_STYLE_REGEX: RegExp =
|
|
46
43
|
/transform:\s*translate(?:3d)?\(\s*([-+\d.e]+)\s*px([ ,]\s*([-+\d.e]+)\s*px)?/;
|
|
47
44
|
|
|
48
|
-
|
|
49
45
|
/**
|
|
50
46
|
* Return the coordinates of the top-left corner of this element relative to
|
|
51
47
|
* its parent. Only for SVG elements and children (e.g. rect, g, path).
|
|
52
|
-
* @param
|
|
53
|
-
* @return
|
|
48
|
+
* @param element SVG element to find the coordinates of.
|
|
49
|
+
* @return Object with .x and .y properties.
|
|
54
50
|
* @alias Blockly.utils.svgMath.getRelativeXY
|
|
55
51
|
*/
|
|
56
|
-
|
|
52
|
+
export function getRelativeXY(element: Element): Coordinate {
|
|
57
53
|
const xy = new Coordinate(0, 0);
|
|
58
54
|
// First, check for x and y attributes.
|
|
59
|
-
|
|
55
|
+
// Checking for the existence of x/y properties is faster than getAttribute.
|
|
56
|
+
// However, x/y contains an SVGAnimatedLength object, so rely on getAttribute
|
|
57
|
+
// to get the number.
|
|
58
|
+
const x = (element as any).x && element.getAttribute('x');
|
|
59
|
+
const y = (element as any).y && element.getAttribute('y');
|
|
60
60
|
if (x) {
|
|
61
61
|
xy.x = parseInt(x, 10);
|
|
62
62
|
}
|
|
63
|
-
const y = element.getAttribute('y');
|
|
64
63
|
if (y) {
|
|
65
64
|
xy.y = parseInt(y, 10);
|
|
66
65
|
}
|
|
@@ -86,19 +85,17 @@ const getRelativeXY = function(element) {
|
|
|
86
85
|
}
|
|
87
86
|
}
|
|
88
87
|
return xy;
|
|
89
|
-
}
|
|
90
|
-
exports.getRelativeXY = getRelativeXY;
|
|
88
|
+
}
|
|
91
89
|
|
|
92
90
|
/**
|
|
93
91
|
* Return the coordinates of the top-left corner of this element relative to
|
|
94
92
|
* the div Blockly was injected into.
|
|
95
|
-
* @param
|
|
96
|
-
*
|
|
97
|
-
*
|
|
98
|
-
* @return {!Coordinate} Object with .x and .y properties.
|
|
93
|
+
* @param element SVG element to find the coordinates of. If this is not a child
|
|
94
|
+
* of the div Blockly was injected into, the behaviour is undefined.
|
|
95
|
+
* @return Object with .x and .y properties.
|
|
99
96
|
* @alias Blockly.utils.svgMath.getInjectionDivXY
|
|
100
97
|
*/
|
|
101
|
-
|
|
98
|
+
export function getInjectionDivXY(element: Element): Coordinate {
|
|
102
99
|
let x = 0;
|
|
103
100
|
let y = 0;
|
|
104
101
|
while (element) {
|
|
@@ -109,25 +106,28 @@ const getInjectionDivXY = function(element) {
|
|
|
109
106
|
if ((' ' + classes + ' ').indexOf(' injectionDiv ') !== -1) {
|
|
110
107
|
break;
|
|
111
108
|
}
|
|
112
|
-
element =
|
|
109
|
+
element = element.parentNode as Element;
|
|
113
110
|
}
|
|
114
111
|
return new Coordinate(x, y);
|
|
115
|
-
}
|
|
116
|
-
exports.getInjectionDivXY = getInjectionDivXY;
|
|
112
|
+
}
|
|
117
113
|
|
|
118
114
|
/**
|
|
119
115
|
* Check if 3D transforms are supported by adding an element
|
|
120
116
|
* and attempting to set the property.
|
|
121
|
-
* @return
|
|
117
|
+
* @return True if 3D transforms are supported.
|
|
122
118
|
* @alias Blockly.utils.svgMath.is3dSupported
|
|
123
119
|
*/
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
120
|
+
export function is3dSupported(): boolean {
|
|
121
|
+
// AnyDuringMigration because: Property 'cached_' does not exist on type '()
|
|
122
|
+
// => boolean'.
|
|
123
|
+
if ((is3dSupported as AnyDuringMigration).cached_ !== undefined) {
|
|
124
|
+
// AnyDuringMigration because: Property 'cached_' does not exist on type
|
|
125
|
+
// '() => boolean'.
|
|
126
|
+
return (is3dSupported as AnyDuringMigration).cached_;
|
|
127
127
|
}
|
|
128
128
|
// CC-BY-SA Lorenzo Polidori
|
|
129
129
|
// stackoverflow.com/questions/5661671/detecting-transform-translate3d-support
|
|
130
|
-
if (!
|
|
130
|
+
if (!globalThis['getComputedStyle']) {
|
|
131
131
|
return false;
|
|
132
132
|
}
|
|
133
133
|
|
|
@@ -145,9 +145,9 @@ const is3dSupported = function() {
|
|
|
145
145
|
document.body.insertBefore(el, null);
|
|
146
146
|
|
|
147
147
|
for (const t in transforms) {
|
|
148
|
-
if (el.style[t] !== undefined) {
|
|
149
|
-
el.style[t] = 'translate3d(1px,1px,1px)';
|
|
150
|
-
const computedStyle =
|
|
148
|
+
if ((el.style as AnyDuringMigration)[t] !== undefined) {
|
|
149
|
+
(el.style as AnyDuringMigration)[t] = 'translate3d(1px,1px,1px)';
|
|
150
|
+
const computedStyle = globalThis['getComputedStyle'](el);
|
|
151
151
|
if (!computedStyle) {
|
|
152
152
|
// getComputedStyle in Firefox returns null when Blockly is loaded
|
|
153
153
|
// inside an iframe with display: none. Returning false and not
|
|
@@ -158,39 +158,42 @@ const is3dSupported = function() {
|
|
|
158
158
|
document.body.removeChild(el);
|
|
159
159
|
return false;
|
|
160
160
|
}
|
|
161
|
-
has3d =
|
|
161
|
+
has3d =
|
|
162
|
+
computedStyle.getPropertyValue((transforms as AnyDuringMigration)[t]);
|
|
162
163
|
}
|
|
163
164
|
}
|
|
164
165
|
document.body.removeChild(el);
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
166
|
+
// AnyDuringMigration because: Property 'cached_' does not exist on type '()
|
|
167
|
+
// => boolean'.
|
|
168
|
+
(is3dSupported as AnyDuringMigration).cached_ = has3d !== 'none';
|
|
169
|
+
// AnyDuringMigration because: Property 'cached_' does not exist on type '()
|
|
170
|
+
// => boolean'.
|
|
171
|
+
return (is3dSupported as AnyDuringMigration).cached_;
|
|
172
|
+
}
|
|
169
173
|
|
|
170
174
|
/**
|
|
171
175
|
* Get the position of the current viewport in window coordinates. This takes
|
|
172
176
|
* scroll into account.
|
|
173
|
-
* @return
|
|
174
|
-
*
|
|
177
|
+
* @return An object containing window width, height, and scroll position in
|
|
178
|
+
* window coordinates.
|
|
175
179
|
* @alias Blockly.utils.svgMath.getViewportBBox
|
|
176
|
-
* @
|
|
180
|
+
* @internal
|
|
177
181
|
*/
|
|
178
|
-
|
|
182
|
+
export function getViewportBBox(): Rect {
|
|
179
183
|
// Pixels, in window coordinates.
|
|
180
184
|
const scrollOffset = style.getViewportPageOffset();
|
|
181
185
|
return new Rect(
|
|
182
186
|
scrollOffset.y, document.documentElement.clientHeight + scrollOffset.y,
|
|
183
187
|
scrollOffset.x, document.documentElement.clientWidth + scrollOffset.x);
|
|
184
|
-
}
|
|
185
|
-
exports.getViewportBBox = getViewportBBox;
|
|
188
|
+
}
|
|
186
189
|
|
|
187
190
|
/**
|
|
188
191
|
* Gets the document scroll distance as a coordinate object.
|
|
189
192
|
* Copied from Closure's goog.dom.getDocumentScroll.
|
|
190
|
-
* @return
|
|
193
|
+
* @return Object with values 'x' and 'y'.
|
|
191
194
|
* @alias Blockly.utils.svgMath.getDocumentScroll
|
|
192
195
|
*/
|
|
193
|
-
|
|
196
|
+
export function getDocumentScroll(): Coordinate {
|
|
194
197
|
const el = document.documentElement;
|
|
195
198
|
const win = window;
|
|
196
199
|
if (userAgent.IE && win.pageYOffset !== el.scrollTop) {
|
|
@@ -201,18 +204,18 @@ const getDocumentScroll = function() {
|
|
|
201
204
|
}
|
|
202
205
|
return new Coordinate(
|
|
203
206
|
win.pageXOffset || el.scrollLeft, win.pageYOffset || el.scrollTop);
|
|
204
|
-
}
|
|
205
|
-
exports.getDocumentScroll = getDocumentScroll;
|
|
207
|
+
}
|
|
206
208
|
|
|
207
209
|
/**
|
|
208
210
|
* Converts screen coordinates to workspace coordinates.
|
|
209
|
-
* @param
|
|
210
|
-
* @param
|
|
211
|
-
*
|
|
212
|
-
* @return
|
|
211
|
+
* @param ws The workspace to find the coordinates on.
|
|
212
|
+
* @param screenCoordinates The screen coordinates to be converted to workspace
|
|
213
|
+
* coordinates
|
|
214
|
+
* @return The workspace coordinates.
|
|
213
215
|
* @alias Blockly.utils.svgMath.screenToWsCoordinates
|
|
214
216
|
*/
|
|
215
|
-
|
|
217
|
+
export function screenToWsCoordinates(
|
|
218
|
+
ws: WorkspaceSvg, screenCoordinates: Coordinate): Coordinate {
|
|
216
219
|
const screenX = screenCoordinates.x;
|
|
217
220
|
const screenY = screenCoordinates.y;
|
|
218
221
|
|
|
@@ -234,21 +237,19 @@ const screenToWsCoordinates = function(ws, screenCoordinates) {
|
|
|
234
237
|
// main workspace.
|
|
235
238
|
const finalOffsetPixels =
|
|
236
239
|
Coordinate.difference(clientOffsetPixels, mainOffsetPixels);
|
|
237
|
-
|
|
238
240
|
// The position in main workspace coordinates.
|
|
239
241
|
const finalOffsetMainWs = finalOffsetPixels.scale(1 / ws.scale);
|
|
240
242
|
return finalOffsetMainWs;
|
|
241
|
-
}
|
|
242
|
-
exports.screenToWsCoordinates = screenToWsCoordinates;
|
|
243
|
+
}
|
|
243
244
|
|
|
244
245
|
/**
|
|
245
246
|
* Returns the dimensions of the specified SVG image.
|
|
246
|
-
* @param
|
|
247
|
-
* @return
|
|
247
|
+
* @param svg SVG image.
|
|
248
|
+
* @return Contains width and height properties.
|
|
248
249
|
* @deprecated Use workspace.getCachedParentSvgSize. (2021 March 5)
|
|
249
250
|
* @alias Blockly.utils.svgMath.svgSize
|
|
250
251
|
*/
|
|
251
|
-
|
|
252
|
+
export function svgSize(svg: SVGElement): Size {
|
|
252
253
|
// When removing this function, remove svg.cachedWidth_ and svg.cachedHeight_
|
|
253
254
|
// from setCachedParentSvgSize.
|
|
254
255
|
// The deprecated name is `Blockly.svgSize` because this function used to be
|
|
@@ -256,13 +257,13 @@ const svgSize = function(svg) {
|
|
|
256
257
|
deprecation.warn(
|
|
257
258
|
'Blockly.svgSize', 'March 2021', 'March 2022',
|
|
258
259
|
'workspace.getCachedParentSvgSize');
|
|
259
|
-
svg =
|
|
260
|
-
return new Size(
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
260
|
+
svg = svg as AnyDuringMigration;
|
|
261
|
+
return new Size(
|
|
262
|
+
Number(svg.getAttribute('data-cached-width')),
|
|
263
|
+
Number(svg.getAttribute('data-cached-height')));
|
|
264
|
+
}
|
|
264
265
|
|
|
265
|
-
|
|
266
|
+
export const TEST_ONLY = {
|
|
266
267
|
XY_REGEX,
|
|
267
268
|
XY_STYLE_REGEX,
|
|
268
269
|
};
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Methods for creating parts of SVG path strings. See
|
|
3
|
+
* developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Create a string representing the given x, y pair. It does not matter whether
|
|
7
|
+
* the coordinate is relative or absolute. The result has leading
|
|
8
|
+
* and trailing spaces, and separates the x and y coordinates with a comma but
|
|
9
|
+
* no space.
|
|
10
|
+
* @param x The x coordinate.
|
|
11
|
+
* @param y The y coordinate.
|
|
12
|
+
* @return A string of the format ' x,y '
|
|
13
|
+
* @alias Blockly.utils.svgPaths.point
|
|
14
|
+
*/
|
|
15
|
+
export declare function point(x: number, y: number): string;
|
|
16
|
+
/**
|
|
17
|
+
* Draw a cubic or quadratic curve. See
|
|
18
|
+
* developer.mozilla.org/en-US/docs/Web/SVG/Attribute/d#Cubic_B%C3%A9zier_Curve
|
|
19
|
+
* These coordinates are unitless and hence in the user coordinate system.
|
|
20
|
+
* @param command The command to use.
|
|
21
|
+
* Should be one of: c, C, s, S, q, Q.
|
|
22
|
+
* @param points An array containing all of the points to pass to the curve
|
|
23
|
+
* command, in order. The points are represented as strings of the format '
|
|
24
|
+
* x, y '.
|
|
25
|
+
* @return A string defining one or more Bezier curves. See the MDN
|
|
26
|
+
* documentation for exact format.
|
|
27
|
+
* @alias Blockly.utils.svgPaths.curve
|
|
28
|
+
*/
|
|
29
|
+
export declare function curve(command: string, points: string[]): string;
|
|
30
|
+
/**
|
|
31
|
+
* Move the cursor to the given position without drawing a line.
|
|
32
|
+
* The coordinates are absolute.
|
|
33
|
+
* These coordinates are unitless and hence in the user coordinate system.
|
|
34
|
+
* See developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths#Line_commands
|
|
35
|
+
* @param x The absolute x coordinate.
|
|
36
|
+
* @param y The absolute y coordinate.
|
|
37
|
+
* @return A string of the format ' M x,y '
|
|
38
|
+
* @alias Blockly.utils.svgPaths.moveTo
|
|
39
|
+
*/
|
|
40
|
+
export declare function moveTo(x: number, y: number): string;
|
|
41
|
+
/**
|
|
42
|
+
* Move the cursor to the given position without drawing a line.
|
|
43
|
+
* Coordinates are relative.
|
|
44
|
+
* These coordinates are unitless and hence in the user coordinate system.
|
|
45
|
+
* See developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths#Line_commands
|
|
46
|
+
* @param dx The relative x coordinate.
|
|
47
|
+
* @param dy The relative y coordinate.
|
|
48
|
+
* @return A string of the format ' m dx,dy '
|
|
49
|
+
* @alias Blockly.utils.svgPaths.moveBy
|
|
50
|
+
*/
|
|
51
|
+
export declare function moveBy(dx: number, dy: number): string;
|
|
52
|
+
/**
|
|
53
|
+
* Draw a line from the current point to the end point, which is the current
|
|
54
|
+
* point shifted by dx along the x-axis and dy along the y-axis.
|
|
55
|
+
* These coordinates are unitless and hence in the user coordinate system.
|
|
56
|
+
* See developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths#Line_commands
|
|
57
|
+
* @param dx The relative x coordinate.
|
|
58
|
+
* @param dy The relative y coordinate.
|
|
59
|
+
* @return A string of the format ' l dx,dy '
|
|
60
|
+
* @alias Blockly.utils.svgPaths.lineTo
|
|
61
|
+
*/
|
|
62
|
+
export declare function lineTo(dx: number, dy: number): string;
|
|
63
|
+
/**
|
|
64
|
+
* Draw multiple lines connecting all of the given points in order. This is
|
|
65
|
+
* equivalent to a series of 'l' commands.
|
|
66
|
+
* These coordinates are unitless and hence in the user coordinate system.
|
|
67
|
+
* See developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths#Line_commands
|
|
68
|
+
* @param points An array containing all of the points to draw lines to, in
|
|
69
|
+
* order. The points are represented as strings of the format ' dx,dy '.
|
|
70
|
+
* @return A string of the format ' l (dx,dy)+ '
|
|
71
|
+
* @alias Blockly.utils.svgPaths.line
|
|
72
|
+
*/
|
|
73
|
+
export declare function line(points: string[]): string;
|
|
74
|
+
/**
|
|
75
|
+
* Draw a horizontal or vertical line.
|
|
76
|
+
* The first argument specifies the direction and whether the given position is
|
|
77
|
+
* relative or absolute.
|
|
78
|
+
* These coordinates are unitless and hence in the user coordinate system.
|
|
79
|
+
* See developer.mozilla.org/en-US/docs/Web/SVG/Attribute/d#LineTo_path_commands
|
|
80
|
+
* @param command The command to prepend to the coordinate. This should be one
|
|
81
|
+
* of: V, v, H, h.
|
|
82
|
+
* @param val The coordinate to pass to the command. It may be absolute or
|
|
83
|
+
* relative.
|
|
84
|
+
* @return A string of the format ' command val '
|
|
85
|
+
* @alias Blockly.utils.svgPaths.lineOnAxis
|
|
86
|
+
*/
|
|
87
|
+
export declare function lineOnAxis(command: string, val: number): string;
|
|
88
|
+
/**
|
|
89
|
+
* Draw an elliptical arc curve.
|
|
90
|
+
* These coordinates are unitless and hence in the user coordinate system.
|
|
91
|
+
* See developer.mozilla.org/en-US/docs/Web/SVG/Attribute/d#Elliptical_Arc_Curve
|
|
92
|
+
* @param command The command string. Either 'a' or 'A'.
|
|
93
|
+
* @param flags The flag string. See the MDN documentation for a description
|
|
94
|
+
* and examples.
|
|
95
|
+
* @param radius The radius of the arc to draw.
|
|
96
|
+
* @param point The point to move the cursor to after drawing the arc, specified
|
|
97
|
+
* either in absolute or relative coordinates depending on the command.
|
|
98
|
+
* @return A string of the format 'command radius radius flags point'
|
|
99
|
+
* @alias Blockly.utils.svgPaths.arc
|
|
100
|
+
*/
|
|
101
|
+
export declare function arc(command: string, flags: string, radius: number, point: string): string;
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @
|
|
3
|
-
*
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
2
|
+
* @fileoverview Methods for creating parts of SVG path strings. See
|
|
3
|
+
* developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths
|
|
5
4
|
*/
|
|
6
5
|
|
|
7
6
|
/**
|
|
8
|
-
* @
|
|
9
|
-
*
|
|
7
|
+
* @license
|
|
8
|
+
* Copyright 2019 Google LLC
|
|
9
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
10
10
|
*/
|
|
11
|
-
'use strict';
|
|
12
11
|
|
|
13
12
|
/**
|
|
14
13
|
* Methods for creating parts of SVG path strings. See
|
|
15
14
|
* @namespace Blockly.utils.svgPaths
|
|
16
15
|
*/
|
|
17
|
-
goog
|
|
16
|
+
import * as goog from '../../closure/goog/goog.js';
|
|
17
|
+
goog.declareModuleId('Blockly.utils.svgPaths');
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
/**
|
|
@@ -22,94 +22,87 @@ goog.module('Blockly.utils.svgPaths');
|
|
|
22
22
|
* the coordinate is relative or absolute. The result has leading
|
|
23
23
|
* and trailing spaces, and separates the x and y coordinates with a comma but
|
|
24
24
|
* no space.
|
|
25
|
-
* @param
|
|
26
|
-
* @param
|
|
27
|
-
* @return
|
|
25
|
+
* @param x The x coordinate.
|
|
26
|
+
* @param y The y coordinate.
|
|
27
|
+
* @return A string of the format ' x,y '
|
|
28
28
|
* @alias Blockly.utils.svgPaths.point
|
|
29
29
|
*/
|
|
30
|
-
|
|
30
|
+
export function point(x: number, y: number): string {
|
|
31
31
|
return ' ' + x + ',' + y + ' ';
|
|
32
|
-
}
|
|
33
|
-
exports.point = point;
|
|
32
|
+
}
|
|
34
33
|
|
|
35
34
|
/**
|
|
36
35
|
* Draw a cubic or quadratic curve. See
|
|
37
36
|
* developer.mozilla.org/en-US/docs/Web/SVG/Attribute/d#Cubic_B%C3%A9zier_Curve
|
|
38
37
|
* These coordinates are unitless and hence in the user coordinate system.
|
|
39
|
-
* @param
|
|
38
|
+
* @param command The command to use.
|
|
40
39
|
* Should be one of: c, C, s, S, q, Q.
|
|
41
|
-
* @param
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
* @return
|
|
40
|
+
* @param points An array containing all of the points to pass to the curve
|
|
41
|
+
* command, in order. The points are represented as strings of the format '
|
|
42
|
+
* x, y '.
|
|
43
|
+
* @return A string defining one or more Bezier curves. See the MDN
|
|
45
44
|
* documentation for exact format.
|
|
46
45
|
* @alias Blockly.utils.svgPaths.curve
|
|
47
46
|
*/
|
|
48
|
-
|
|
47
|
+
export function curve(command: string, points: string[]): string {
|
|
49
48
|
return ' ' + command + points.join('');
|
|
50
|
-
}
|
|
51
|
-
exports.curve = curve;
|
|
49
|
+
}
|
|
52
50
|
|
|
53
51
|
/**
|
|
54
52
|
* Move the cursor to the given position without drawing a line.
|
|
55
53
|
* The coordinates are absolute.
|
|
56
54
|
* These coordinates are unitless and hence in the user coordinate system.
|
|
57
55
|
* See developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths#Line_commands
|
|
58
|
-
* @param
|
|
59
|
-
* @param
|
|
60
|
-
* @return
|
|
56
|
+
* @param x The absolute x coordinate.
|
|
57
|
+
* @param y The absolute y coordinate.
|
|
58
|
+
* @return A string of the format ' M x,y '
|
|
61
59
|
* @alias Blockly.utils.svgPaths.moveTo
|
|
62
60
|
*/
|
|
63
|
-
|
|
61
|
+
export function moveTo(x: number, y: number): string {
|
|
64
62
|
return ' M ' + x + ',' + y + ' ';
|
|
65
|
-
}
|
|
66
|
-
exports.moveTo = moveTo;
|
|
63
|
+
}
|
|
67
64
|
|
|
68
65
|
/**
|
|
69
66
|
* Move the cursor to the given position without drawing a line.
|
|
70
67
|
* Coordinates are relative.
|
|
71
68
|
* These coordinates are unitless and hence in the user coordinate system.
|
|
72
69
|
* See developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths#Line_commands
|
|
73
|
-
* @param
|
|
74
|
-
* @param
|
|
75
|
-
* @return
|
|
70
|
+
* @param dx The relative x coordinate.
|
|
71
|
+
* @param dy The relative y coordinate.
|
|
72
|
+
* @return A string of the format ' m dx,dy '
|
|
76
73
|
* @alias Blockly.utils.svgPaths.moveBy
|
|
77
74
|
*/
|
|
78
|
-
|
|
75
|
+
export function moveBy(dx: number, dy: number): string {
|
|
79
76
|
return ' m ' + dx + ',' + dy + ' ';
|
|
80
|
-
}
|
|
81
|
-
exports.moveBy = moveBy;
|
|
77
|
+
}
|
|
82
78
|
|
|
83
79
|
/**
|
|
84
80
|
* Draw a line from the current point to the end point, which is the current
|
|
85
81
|
* point shifted by dx along the x-axis and dy along the y-axis.
|
|
86
82
|
* These coordinates are unitless and hence in the user coordinate system.
|
|
87
83
|
* See developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths#Line_commands
|
|
88
|
-
* @param
|
|
89
|
-
* @param
|
|
90
|
-
* @return
|
|
84
|
+
* @param dx The relative x coordinate.
|
|
85
|
+
* @param dy The relative y coordinate.
|
|
86
|
+
* @return A string of the format ' l dx,dy '
|
|
91
87
|
* @alias Blockly.utils.svgPaths.lineTo
|
|
92
88
|
*/
|
|
93
|
-
|
|
89
|
+
export function lineTo(dx: number, dy: number): string {
|
|
94
90
|
return ' l ' + dx + ',' + dy + ' ';
|
|
95
|
-
}
|
|
96
|
-
exports.lineTo = lineTo;
|
|
91
|
+
}
|
|
97
92
|
|
|
98
93
|
/**
|
|
99
94
|
* Draw multiple lines connecting all of the given points in order. This is
|
|
100
95
|
* equivalent to a series of 'l' commands.
|
|
101
96
|
* These coordinates are unitless and hence in the user coordinate system.
|
|
102
97
|
* See developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths#Line_commands
|
|
103
|
-
* @param
|
|
104
|
-
*
|
|
105
|
-
*
|
|
106
|
-
* @return {string} A string of the format ' l (dx,dy)+ '
|
|
98
|
+
* @param points An array containing all of the points to draw lines to, in
|
|
99
|
+
* order. The points are represented as strings of the format ' dx,dy '.
|
|
100
|
+
* @return A string of the format ' l (dx,dy)+ '
|
|
107
101
|
* @alias Blockly.utils.svgPaths.line
|
|
108
102
|
*/
|
|
109
|
-
|
|
103
|
+
export function line(points: string[]): string {
|
|
110
104
|
return ' l' + points.join('');
|
|
111
|
-
}
|
|
112
|
-
exports.line = line;
|
|
105
|
+
}
|
|
113
106
|
|
|
114
107
|
/**
|
|
115
108
|
* Draw a horizontal or vertical line.
|
|
@@ -117,33 +110,31 @@ exports.line = line;
|
|
|
117
110
|
* relative or absolute.
|
|
118
111
|
* These coordinates are unitless and hence in the user coordinate system.
|
|
119
112
|
* See developer.mozilla.org/en-US/docs/Web/SVG/Attribute/d#LineTo_path_commands
|
|
120
|
-
* @param
|
|
121
|
-
*
|
|
122
|
-
* @param
|
|
123
|
-
*
|
|
124
|
-
* @return
|
|
113
|
+
* @param command The command to prepend to the coordinate. This should be one
|
|
114
|
+
* of: V, v, H, h.
|
|
115
|
+
* @param val The coordinate to pass to the command. It may be absolute or
|
|
116
|
+
* relative.
|
|
117
|
+
* @return A string of the format ' command val '
|
|
125
118
|
* @alias Blockly.utils.svgPaths.lineOnAxis
|
|
126
119
|
*/
|
|
127
|
-
|
|
120
|
+
export function lineOnAxis(command: string, val: number): string {
|
|
128
121
|
return ' ' + command + ' ' + val + ' ';
|
|
129
|
-
}
|
|
130
|
-
exports.lineOnAxis = lineOnAxis;
|
|
122
|
+
}
|
|
131
123
|
|
|
132
124
|
/**
|
|
133
125
|
* Draw an elliptical arc curve.
|
|
134
126
|
* These coordinates are unitless and hence in the user coordinate system.
|
|
135
127
|
* See developer.mozilla.org/en-US/docs/Web/SVG/Attribute/d#Elliptical_Arc_Curve
|
|
136
|
-
* @param
|
|
137
|
-
* @param
|
|
138
|
-
*
|
|
139
|
-
* @param
|
|
140
|
-
* @param
|
|
141
|
-
*
|
|
142
|
-
*
|
|
143
|
-
* @return {string} A string of the format 'command radius radius flags point'
|
|
128
|
+
* @param command The command string. Either 'a' or 'A'.
|
|
129
|
+
* @param flags The flag string. See the MDN documentation for a description
|
|
130
|
+
* and examples.
|
|
131
|
+
* @param radius The radius of the arc to draw.
|
|
132
|
+
* @param point The point to move the cursor to after drawing the arc, specified
|
|
133
|
+
* either in absolute or relative coordinates depending on the command.
|
|
134
|
+
* @return A string of the format 'command radius radius flags point'
|
|
144
135
|
* @alias Blockly.utils.svgPaths.arc
|
|
145
136
|
*/
|
|
146
|
-
|
|
137
|
+
export function arc(
|
|
138
|
+
command: string, flags: string, radius: number, point: string): string {
|
|
147
139
|
return command + ' ' + radius + ' ' + radius + ' ' + flags + point;
|
|
148
|
-
}
|
|
149
|
-
exports.arc = arc;
|
|
140
|
+
}
|