|
|
- // Copyright (c) 2016,17 Walter Bender
- //
- // This program is free software; you can redistribute it and/or
- // modify it under the terms of the The GNU Affero General Public
- // License as published by the Free Software Foundation; either
- // version 3 of the License, or (at your option) any later version.
- //
- // You should have received a copy of the GNU Affero General Public
- // License along with this library; if not, write to the Free Software
- // Foundation, 51 Franklin Street, Suite 500 Boston, MA 02110-1335 USA
-
- // The trashcan is an area at the bottom of the screen where stacks of
- // blocks can be dragged. Once in the trash area, they are marked as
- // trash and hidden. There is a menu button that can be used to
- // restore trash.
- requirejs(['activity/utils']);
-
- var BOUNDARYWIDTH = 1200;
- var BOUNDARYHEIGHT = 900;
-
- function Boundary () {
- this._stage = null;
- this._container = null;
-
- this.setStage = function (stage) {
- this._stage = stage;
- return this;
- };
-
- this.resizeEvent = function (scale) {
- };
-
- this.init = function () {
- this._container = new createjs.Container();
- this._stage.addChild(this._container);
- this._stage.setChildIndex(this._container, 0);
- };
-
- this.setScale = function (w, h, scale) {
- this.destroy();
- this.create(w, h, scale);
- };
-
- this.destroy = function () {
- if (this._container.children.length > 0) {
- this._container.removeChild(this._container.children[0]);
- }
- };
-
- this.offScreen = function (x, y) {
- return (x < this.x || x > this.x + this.dx || y < this.y || y > this.y + this.dy);
- };
-
- this.create = function (w, h, scale) {
- this.w = w / scale;
- this.x = 55 + 13;
- this.dx = this.w - (110 + 26);
-
- this.h = h / scale;
- this.y = 55 + 13;
- this.dy = this.h - (55 + 26);
-
- that = this;
-
- function __makeBoundary() {
- var img = new Image();
- img.onload = function () {
- bitmap = new createjs.Bitmap(img);
- that._container.addChild(bitmap);
- };
-
- img.src = 'data:image/svg+xml;base64,' + window.btoa(
- unescape(encodeURIComponent(BOUNDARY.replace('HEIGHT', that.h).replace('WIDTH', that.w).replace('Y', that.y).replace('X', that.x).replace('DY', that.dy).replace('DX', that.dx).replace('stroke_color', '#e08080'))));
- };
-
- __makeBoundary();
- };
-
- this.hide = function () {
- this._container.visible = false;
- };
-
- this.show = function () {
- this._container.visible = true;
- };
- };
|