MCPcopy
hub / github.com/sarcadass/granim.js / setImagePosition

Function setImagePosition

lib/prepareImage.js:35–102  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

33 this.imageNode.src = this.image.source;
34
35 function setImagePosition() {
36 var i, currentAxis;
37
38 for (i = 0; i < 2; i++) {
39 currentAxis = !i ? 'x' : 'y';
40 setImageAxisPosition(currentAxis);
41 }
42
43 function setImageAxisPosition(axis) {
44 var canvasWidthOrHeight = _this[axis + '1'];
45 var imgOriginalWidthOrHeight = _this[axis === 'x' ? 'imgOriginalWidth' : 'imgOriginalHeight'];
46 var imageAlignIndex = axis === 'x' ? _this.image.position[0] : _this.image.position[1];
47 var imageAxisPosition;
48 switch(imageAlignIndex) {
49 case 'center':
50 imageAxisPosition = imgOriginalWidthOrHeight > canvasWidthOrHeight
51 ? -(imgOriginalWidthOrHeight - canvasWidthOrHeight) / 2
52 : (canvasWidthOrHeight - imgOriginalWidthOrHeight) / 2;
53 _this.imagePosition[axis] = imageAxisPosition;
54 _this.imagePosition[axis === 'x' ? 'width' : 'height'] = imgOriginalWidthOrHeight;
55 break;
56
57 case 'top':
58 _this.imagePosition['y'] = 0;
59 _this.imagePosition['height'] = imgOriginalWidthOrHeight;
60 break;
61
62 case 'bottom':
63 _this.imagePosition['y'] = canvasWidthOrHeight - imgOriginalWidthOrHeight;
64 _this.imagePosition['height'] = imgOriginalWidthOrHeight;
65 break;
66
67 case 'right':
68 _this.imagePosition['x'] = canvasWidthOrHeight - imgOriginalWidthOrHeight;
69 _this.imagePosition['width'] = imgOriginalWidthOrHeight;
70 break;
71
72 case 'left':
73 _this.imagePosition['x'] = 0;
74 _this.imagePosition['width'] = imgOriginalWidthOrHeight;
75 break;
76 }
77
78 if (_this.image.stretchMode) {
79 imageAlignIndex = axis === 'x' ? _this.image.stretchMode[0] : _this.image.stretchMode[1];
80 switch(imageAlignIndex) {
81 case 'none':
82 break;
83 case 'stretch':
84 _this.imagePosition[axis] = 0;
85 _this.imagePosition[axis === 'x' ? 'width' : 'height'] = canvasWidthOrHeight;
86 break;
87
88 case 'stretch-if-bigger':
89 if (imgOriginalWidthOrHeight < canvasWidthOrHeight) break;
90 _this.imagePosition[axis] = 0;
91 _this.imagePosition[axis === 'x' ? 'width' : 'height'] = canvasWidthOrHeight;
92 break;

Callers 1

prepareImage.jsFile · 0.85

Calls 1

setImageAxisPositionFunction · 0.85

Tested by

no test coverage detected