Fixed flippable scaling problem.
This commit is contained in:
		
							parent
							
								
									57d6e8b461
								
							
						
					
					
						commit
						13ea23186f
					
				@ -47,7 +47,6 @@
 | 
				
			|||||||
    width: 44px;
 | 
					    width: 44px;
 | 
				
			||||||
    height: 44px;
 | 
					    height: 44px;
 | 
				
			||||||
    padding: 4px;
 | 
					    padding: 4px;
 | 
				
			||||||
    border: 1px solid red;
 | 
					 | 
				
			||||||
    right: 0;
 | 
					    right: 0;
 | 
				
			||||||
    top: 0;
 | 
					    top: 0;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -58,7 +57,6 @@
 | 
				
			|||||||
    width: 44px;
 | 
					    width: 44px;
 | 
				
			||||||
    height: 44px;
 | 
					    height: 44px;
 | 
				
			||||||
    padding: 4px;
 | 
					    padding: 4px;
 | 
				
			||||||
    border: 1px solid red;
 | 
					 | 
				
			||||||
    right: 0;
 | 
					    right: 0;
 | 
				
			||||||
    bottom: 0;
 | 
					    bottom: 0;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -69,7 +67,6 @@
 | 
				
			|||||||
    width: 44px;
 | 
					    width: 44px;
 | 
				
			||||||
    height: 44px;
 | 
					    height: 44px;
 | 
				
			||||||
    padding: 4px;
 | 
					    padding: 4px;
 | 
				
			||||||
    border: 1px solid red;
 | 
					 | 
				
			||||||
    right: 0;
 | 
					    right: 0;
 | 
				
			||||||
    bottom: 0;
 | 
					    bottom: 0;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										24
									
								
								dist/iwmlib.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										24
									
								
								dist/iwmlib.js
									
									
									
									
										vendored
									
									
								
							@ -5504,6 +5504,7 @@
 | 
				
			|||||||
                x: x,
 | 
					                x: x,
 | 
				
			||||||
                y: y,
 | 
					                y: y,
 | 
				
			||||||
                onComplete: (e) => {
 | 
					                onComplete: (e) => {
 | 
				
			||||||
 | 
					                    console.log('onComplete', e);
 | 
				
			||||||
                    if (this.flipped) {
 | 
					                    if (this.flipped) {
 | 
				
			||||||
                        this.hide(this.front);
 | 
					                        this.hide(this.front);
 | 
				
			||||||
                        // this.hide(this.infoBtn)
 | 
					                        // this.hide(this.infoBtn)
 | 
				
			||||||
@ -5517,17 +5518,24 @@
 | 
				
			|||||||
            //uo: check for special case that the front image must be adapted to the back size
 | 
					            //uo: check for special case that the front image must be adapted to the back size
 | 
				
			||||||
            let frontImage = this.front.querySelector('img');
 | 
					            let frontImage = this.front.querySelector('img');
 | 
				
			||||||
            if (frontImage) {
 | 
					            if (frontImage) {
 | 
				
			||||||
                let scaleX = this.flipped ? w / this.scatterStartWidth : this.scatterStartWidth / w;
 | 
					                // Assumes that startWidth and startHeight are encoded in px
 | 
				
			||||||
                let scaleY = this.flipped ? h / this.scatterStartHeight : this.scatterStartHeight / h;
 | 
					                let sh = parseInt(this.startHeight);
 | 
				
			||||||
                let ratio = this.scatterStartWidth / this.scatterStartHeight;
 | 
					                let sw = parseInt(this.startWidth);
 | 
				
			||||||
                if (this.flipped) {
 | 
					                if (this.flipped) {
 | 
				
			||||||
 | 
					                    let scaleY = h / sh;
 | 
				
			||||||
 | 
					                    let scaleX = w / sw;
 | 
				
			||||||
                    TweenLite.to(frontImage, duration, {
 | 
					                    TweenLite.to(frontImage, duration, {
 | 
				
			||||||
                        ease: Power1.easeOut,
 | 
					                        ease: Power1.easeOut,
 | 
				
			||||||
                        scaleY: scaleY * targetScale * ratio,
 | 
					                        transformOrigin: '0% 0%',
 | 
				
			||||||
                        scaleX: scaleX * targetScale,
 | 
					                        scaleY,
 | 
				
			||||||
                        onComplete: (e) => {
 | 
					                        scaleX
 | 
				
			||||||
                            TweenLite.set(frontImage, { scale: 1.0 });
 | 
					                    });
 | 
				
			||||||
                        }
 | 
					                } else {
 | 
				
			||||||
 | 
					                    TweenLite.to(frontImage, duration, {
 | 
				
			||||||
 | 
					                        ease: Power1.easeOut,
 | 
				
			||||||
 | 
					                        transformOrigin: '0% 0%',
 | 
				
			||||||
 | 
					                        scaleY: 1.0,
 | 
				
			||||||
 | 
					                        scaleX: 1.0
 | 
				
			||||||
                    });
 | 
					                    });
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										24
									
								
								dist/iwmlib.pixi.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										24
									
								
								dist/iwmlib.pixi.js
									
									
									
									
										vendored
									
									
								
							@ -8745,6 +8745,7 @@
 | 
				
			|||||||
                x: x,
 | 
					                x: x,
 | 
				
			||||||
                y: y,
 | 
					                y: y,
 | 
				
			||||||
                onComplete: (e) => {
 | 
					                onComplete: (e) => {
 | 
				
			||||||
 | 
					                    console.log('onComplete', e);
 | 
				
			||||||
                    if (this.flipped) {
 | 
					                    if (this.flipped) {
 | 
				
			||||||
                        this.hide(this.front);
 | 
					                        this.hide(this.front);
 | 
				
			||||||
                        // this.hide(this.infoBtn)
 | 
					                        // this.hide(this.infoBtn)
 | 
				
			||||||
@ -8758,17 +8759,24 @@
 | 
				
			|||||||
            //uo: check for special case that the front image must be adapted to the back size
 | 
					            //uo: check for special case that the front image must be adapted to the back size
 | 
				
			||||||
            let frontImage = this.front.querySelector('img');
 | 
					            let frontImage = this.front.querySelector('img');
 | 
				
			||||||
            if (frontImage) {
 | 
					            if (frontImage) {
 | 
				
			||||||
                let scaleX = this.flipped ? w / this.scatterStartWidth : this.scatterStartWidth / w;
 | 
					                // Assumes that startWidth and startHeight are encoded in px
 | 
				
			||||||
                let scaleY = this.flipped ? h / this.scatterStartHeight : this.scatterStartHeight / h;
 | 
					                let sh = parseInt(this.startHeight);
 | 
				
			||||||
                let ratio = this.scatterStartWidth / this.scatterStartHeight;
 | 
					                let sw = parseInt(this.startWidth);
 | 
				
			||||||
                if (this.flipped) {
 | 
					                if (this.flipped) {
 | 
				
			||||||
 | 
					                    let scaleY = h / sh;
 | 
				
			||||||
 | 
					                    let scaleX = w / sw;
 | 
				
			||||||
                    TweenLite.to(frontImage, duration, {
 | 
					                    TweenLite.to(frontImage, duration, {
 | 
				
			||||||
                        ease: Power1.easeOut,
 | 
					                        ease: Power1.easeOut,
 | 
				
			||||||
                        scaleY: scaleY * targetScale * ratio,
 | 
					                        transformOrigin: '0% 0%',
 | 
				
			||||||
                        scaleX: scaleX * targetScale,
 | 
					                        scaleY,
 | 
				
			||||||
                        onComplete: (e) => {
 | 
					                        scaleX
 | 
				
			||||||
                            TweenLite.set(frontImage, { scale: 1.0 });
 | 
					                    });
 | 
				
			||||||
                        }
 | 
					                } else {
 | 
				
			||||||
 | 
					                    TweenLite.to(frontImage, duration, {
 | 
				
			||||||
 | 
					                        ease: Power1.easeOut,
 | 
				
			||||||
 | 
					                        transformOrigin: '0% 0%',
 | 
				
			||||||
 | 
					                        scaleY: 1.0,
 | 
				
			||||||
 | 
					                        scaleX: 1.0
 | 
				
			||||||
                    });
 | 
					                    });
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
				
			|||||||
@ -632,6 +632,7 @@ export class DOMFlippable {
 | 
				
			|||||||
            x: x,
 | 
					            x: x,
 | 
				
			||||||
            y: y,
 | 
					            y: y,
 | 
				
			||||||
            onComplete: (e) => {
 | 
					            onComplete: (e) => {
 | 
				
			||||||
 | 
					                console.log('onComplete', e)
 | 
				
			||||||
                if (this.flipped) {
 | 
					                if (this.flipped) {
 | 
				
			||||||
                    this.hide(this.front)
 | 
					                    this.hide(this.front)
 | 
				
			||||||
                    // this.hide(this.infoBtn)
 | 
					                    // this.hide(this.infoBtn)
 | 
				
			||||||
@ -645,17 +646,24 @@ export class DOMFlippable {
 | 
				
			|||||||
        //uo: check for special case that the front image must be adapted to the back size
 | 
					        //uo: check for special case that the front image must be adapted to the back size
 | 
				
			||||||
        let frontImage = this.front.querySelector('img')
 | 
					        let frontImage = this.front.querySelector('img')
 | 
				
			||||||
        if (frontImage) {
 | 
					        if (frontImage) {
 | 
				
			||||||
            let scaleX = this.flipped ? w / this.scatterStartWidth : this.scatterStartWidth / w
 | 
					            // Assumes that startWidth and startHeight are encoded in px
 | 
				
			||||||
            let scaleY = this.flipped ? h / this.scatterStartHeight : this.scatterStartHeight / h
 | 
					            let sh = parseInt(this.startHeight)
 | 
				
			||||||
            let ratio = this.scatterStartWidth / this.scatterStartHeight
 | 
					            let sw = parseInt(this.startWidth)
 | 
				
			||||||
            if (this.flipped) {
 | 
					            if (this.flipped) {
 | 
				
			||||||
 | 
					                let scaleY = h / sh
 | 
				
			||||||
 | 
					                let scaleX = w / sw
 | 
				
			||||||
                TweenLite.to(frontImage, duration, {
 | 
					                TweenLite.to(frontImage, duration, {
 | 
				
			||||||
                    ease: Power1.easeOut,
 | 
					                    ease: Power1.easeOut,
 | 
				
			||||||
                    scaleY: scaleY * targetScale * ratio,
 | 
					                    transformOrigin: '0% 0%',
 | 
				
			||||||
                    scaleX: scaleX * targetScale,
 | 
					                    scaleY,
 | 
				
			||||||
                    onComplete: (e) => {
 | 
					                    scaleX
 | 
				
			||||||
                        TweenLite.set(frontImage, { scale: 1.0 })
 | 
					                })
 | 
				
			||||||
                    }
 | 
					            } else {
 | 
				
			||||||
 | 
					                TweenLite.to(frontImage, duration, {
 | 
				
			||||||
 | 
					                    ease: Power1.easeOut,
 | 
				
			||||||
 | 
					                    transformOrigin: '0% 0%',
 | 
				
			||||||
 | 
					                    scaleY: 1.0,
 | 
				
			||||||
 | 
					                    scaleX: 1.0
 | 
				
			||||||
                })
 | 
					                })
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user