62 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
import Scrollbox from './scrollbox.js'
 | 
						|
 | 
						|
/**
 | 
						|
 * Class that represents a PixiJS Scrollview.
 | 
						|
 *
 | 
						|
 * @example
 | 
						|
 * // Create the app
 | 
						|
 * const app = new PIXIApp({
 | 
						|
 *     view: canvas,
 | 
						|
 *     width: 600,
 | 
						|
 *     height: 400
 | 
						|
 * }).setup().run()
 | 
						|
 *
 | 
						|
 * // Create the Scrollview
 | 
						|
 * app.loader
 | 
						|
 *     .add('elephant', './assets/elephant-1.jpg')
 | 
						|
 *     .load((loader, resources) => {
 | 
						|
 *         const sprite = new PIXI.Sprite(resources.elephant.texture)
 | 
						|
 *         const scrollview = new Scrollview({boxWidth: 400, boxHeight: 300})
 | 
						|
 *         scrollview.content.addChild(sprite)
 | 
						|
 *         app.scene.addChild(scrollview)
 | 
						|
 *
 | 
						|
 * @class
 | 
						|
 * @extends PIXI.extras.Scrollbox
 | 
						|
 * @see {@link https://davidfig.github.io/pixi-scrollbox/jsdoc/Scrollbox.html|Scrollbox}
 | 
						|
 * @see {@link https://davidfig.github.io/pixi-viewport/jsdoc/Viewport.html|Viewport}
 | 
						|
 */
 | 
						|
export default class Scrollview extends Scrollbox {
 | 
						|
    /**
 | 
						|
     * Creates an instance of a Scrollview.
 | 
						|
     *
 | 
						|
     * @constructor
 | 
						|
     * @see https://davidfig.github.io/pixi-scrollbox/jsdoc/Scrollbox.html
 | 
						|
     */
 | 
						|
    constructor(opts = {}) {
 | 
						|
        super(opts)
 | 
						|
 | 
						|
        this.opts = opts
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * Creates children and instantiates everything.
 | 
						|
     *
 | 
						|
     * @private
 | 
						|
     * @return {Scrollview} A reference to the Scrollview for chaining.
 | 
						|
     */
 | 
						|
    setup() {
 | 
						|
        return this
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * Should be called to refresh the layout of the Scrollview. Can be used after resizing.
 | 
						|
     *
 | 
						|
     * @return {Scrollview} A reference to the Scrollview for chaining.
 | 
						|
     */
 | 
						|
    layout() {
 | 
						|
        this.update()
 | 
						|
 | 
						|
        return this
 | 
						|
    }
 | 
						|
}
 |