Spaces:
Runtime error
Runtime error
| import bindAll from 'lodash.bindall'; | |
| import PropTypes from 'prop-types'; | |
| import React from 'react'; | |
| import {defineMessages, injectIntl, intlShape} from 'react-intl'; | |
| import VM from 'scratch-vm'; | |
| import {getBackdropLibrary} from '../lib/libraries/tw-async-libraries'; | |
| import backdropTags from '../lib/libraries/backdrop-tags'; | |
| import LibraryComponent from '../components/library/library.jsx'; | |
| const messages = defineMessages({ | |
| libraryTitle: { | |
| defaultMessage: 'Choose a Backdrop', | |
| description: 'Heading for the backdrop library', | |
| id: 'gui.costumeLibrary.chooseABackdrop' | |
| } | |
| }); | |
| class BackdropLibrary extends React.Component { | |
| constructor (props) { | |
| super(props); | |
| bindAll(this, [ | |
| 'handleItemSelect' | |
| ]); | |
| } | |
| handleItemSelect (item) { | |
| const vmBackdrop = { | |
| name: item.name, | |
| rotationCenterX: item.rotationCenterX, | |
| rotationCenterY: item.rotationCenterY, | |
| bitmapResolution: item.bitmapResolution, | |
| skinId: null | |
| }; | |
| if (item.fromPenguinModLibrary) { | |
| vmBackdrop.fromPenguinModLibrary = true; | |
| vmBackdrop.libraryId = item.libraryFilePage; | |
| vmBackdrop.dataFormat = item.dataFormat; | |
| } | |
| // Do not switch to stage, just add the backdrop | |
| this.props.vm.addBackdrop(item.md5ext, vmBackdrop); | |
| } | |
| render () { | |
| return ( | |
| <LibraryComponent | |
| data={getBackdropLibrary()} | |
| id="backdropLibrary" | |
| actor="CostumeLibrary" | |
| header={"Backdrops"} | |
| tags={backdropTags} | |
| title={this.props.intl.formatMessage(messages.libraryTitle)} | |
| onItemSelected={this.handleItemSelect} | |
| onRequestClose={this.props.onRequestClose} | |
| /> | |
| ); | |
| } | |
| } | |
| BackdropLibrary.propTypes = { | |
| intl: intlShape.isRequired, | |
| onRequestClose: PropTypes.func, | |
| vm: PropTypes.instanceOf(VM).isRequired | |
| }; | |
| export default injectIntl(BackdropLibrary); | |