1. #41
    Sencha User
    Join Date
    Jul 2012
    Location
    New Jersey
    Posts
    116
    Vote Rating
    5
    Mike6679 is on a distinguished road

      0  

    Default


    Great component. Thanks! I had to disable carousel swipes when scrolling. Add this to initImage()

    Code:
     this.add(image);
                
                /*Disable carousel swipe if we are scrolling an image, Renable when scroll is complete */
                var scroller = null;
                scroller = image.up('container').getScrollable().getScroller(), 
                scroller.on("scrollstart",function(scrollerObject,offsetObject){
                       //debugger;
                        var carousel = this.up('carousel'),
                        element  = carousel.element;
    
    
                        element.un({
                            dragstart : 'onDragStart',
                            drag      : 'onDrag',
                            dragend   : 'onDragEnd',
                            scope     : carousel
                        });    
                });
                scroller.on("scrollend",function(scrollerObject,offsetObject){
                       var carousel = this.up('carousel'),
                        element  = carousel.element;
    
    
                        element.on({
                            dragstart : 'onDragStart',
                            drag      : 'onDrag',
                            dragend   : 'onDragEnd',
                            scope     : carousel
                        });  
                });

  2. #42
    Sencha User
    Join Date
    Aug 2010
    Location
    Huntsville, Alabama
    Posts
    13
    Vote Rating
    2
    jeffyt is on a distinguished road

      0  

    Default Trying to implement Pinch Zoom into a Sencha Architect project...I am so close.

    Trying to implement Pinch Zoom into a Sencha Architect project...I am so close.


    So I have tried to implement Post #1 into a Sencha Archtiect project, following is my generated code. I can fire a msgbox on Pinch and Double click but the image does not do anything.

    app.html
    Code:
    <!DOCTYPE html>
    
    
    <!-- Auto Generated with Sencha Architect -->
    <!-- Modifications to this file will be overwritten. -->
    <html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>pincher</title>
        <script src="http://extjs.cachefly.net/touch/sencha-touch-2.1.0/sencha-touch-all-debug.js"></script>
        <link rel="stylesheet" href="http://extjs.cachefly.net/touch/sencha-touch-2.1.0/resources/css/sencha-touch.css">
        <script type="text/javascript" src="app.js"></script>
        <script type="text/javascript">
            if (!Ext.browser.is.WebKit) {
                alert("The current browser is unsupported.\n\nSupported browsers:\n" +
                    "Google Chrome\n" +
                    "Apple Safari\n" +
                    "Mobile Safari (iOS)\n" +
                    "Android Browser\n" +
                    "BlackBerry Browser"
                );
            }
        </script>
    </head>
    <body></body>
    </html>
    app.js
    Code:
    *
     * File: app.js
     *
     * This file was generated by Sencha Architect version 2.1.0.
     * http://www.sencha.com/products/architect/
     *
     * This file requires use of the Sencha Touch 2.1.x library, under independent license.
     * License of Sencha Architect does not include license for Sencha Touch 2.1.x. For more
     * details see http://www.sencha.com/license or contact license@sencha.com.
     *
     * This file will be auto-generated each and everytime you save your project.
     *
     * Do NOT hand edit this file.
     */
    
    
    Ext.Loader.setConfig({
        enabled: true
    });
    
    
    Ext.application({
        views: [
            'PinchZoomImage',
            'container'
        ],
        name: 'MyApp',
    
    
        launch: function() {
    
    
            Ext.create('MyApp.view.container', {fullscreen: true});
        }
    
    
    });
    /app/view/MyView.js
    Code:
    /*
     * File: app/view/MyImage.js
     *
     * This file was generated by Sencha Architect version 2.1.0.
     * http://www.sencha.com/products/architect/
     *
     * This file requires use of the Sencha Touch 2.1.x library, under independent license.
     * License of Sencha Architect does not include license for Sencha Touch 2.1.x. For more
     * details see http://www.sencha.com/license or contact license@sencha.com.
     *
     * This file will be auto-generated each and everytime you save your project.
     *
     * Do NOT hand edit this file.
     */
    
    
    Ext.define('MyApp.view.MyImage', {
        extend: 'Ext.Panel',
    
    
        requires: [
            'MyApp.view.PinchZoomImage'
        ],
    
    
        config: {
            fullscreen: false,
            layout: {
                type: 'hbox'
            },
            items: [
                {
                    xtype: 'pinchzoomimage',
                    flex: 1,
                    src: 'http://upload.wikimedia.org/wikipedia/commons/5/5f/Super_Guppy_N941_NASA_landing.jpg'
                }
            ]
        }
    
    
    });
    /app/view/PinchZoomImage.js
    Code:
    /*
     * File: app/view/PinchZoomImage.js
     *
     * This file was generated by Sencha Architect version 2.1.0.
     * http://www.sencha.com/products/architect/
     *
     * This file requires use of the Sencha Touch 2.1.x library, under independent license.
     * License of Sencha Architect does not include license for Sencha Touch 2.1.x. For more
     * details see http://www.sencha.com/license or contact license@sencha.com.
     *
     * This file will be auto-generated each and everytime you save your project.
     *
     * Do NOT hand edit this file.
     */
    
    
    Ext.define('MyApp.view.PinchZoomImage', {
        extend: 'Ext.Container',
        alias: 'widget.pinchzoomimage',
    
    
        config: {
            src: '',
            height: 'n',
            width: 'n',
            scrollable: true
        },
    
    
        initImage: function(newImageSrc) {
            var height = this.getHeight() || this.element.getHeight(),
                width = this.getWidth() || this.element.getWidth(),
                src = this.getSrc() || newImageSrc,
                image = null;
    
    
            if (Ext.isString(src) && src !== '') {
                image = Ext.create('Ext.Img', {
                    // set mode auf empty to create a real image tag
                    mode: '',
                    height: height,
                    width: width,
                    src: src,
                    listeners: {
                        pinch: {
                            element: 'element',
                            fn: this.onImagePinch
    
    
    
    
                        },
                        doubletap: {
                            element: 'element',
                            fn: this.onImageDoubletap
                        }
                    }
                });
    
    
    
    
                this.add(image);
            }
    
    
            console.log('initImage');
        },
    
    
        onImagePinch: function(e) {
            var initialWidth  = this.getInitialConfig('width'),
                initialHeight = this.getInitialConfig('height'),
                newWidth      = initialWidth * e.scale,
                newHeight     = initialHeight * e.scale,
                container     = this,
                image         = this.element,
                scroller = this.up('container').getScrollable().getScroller(),
                pos = scroller.getMaxPosition();
    
    
            container.setWidth(newWidth);
            container.setHeight(newHeight);
            image.setWidth(newWidth);
            image.setHeight(newHeight);
            scroller.scrollTo(pos.x/2, pos.y/2);
        },
    
    
        onImageDoubletap: function(e) {
            var initialWidth  = this.getInitialConfig('width'),
                initialHeight = this.getInitialConfig('height'),
                container     = this,
                image         = this.element;
    
    
    
    
    
    
    
    
            container.setWidth(initialWidth);
            container.setHeight(initialHeight);
            image.setWidth(initialWidth);
            image.setHeight(initialHeight);
    
    
            Ext.Msg.alert('DoubleTap');
        },
    
    
        applySrc: function(newImageSrc) {
    
    
            var oldImage = this.down('img');
    
    
    
    
            if (Ext.isObject(oldImage)) {
                oldImage.destroy();
            }
    
    
    
    
            this.initImage(newImageSrc);
    
    
            console.log('applySrc');
        }
    
    
    });

  3. #43
    Sencha User
    Join Date
    Jul 2012
    Location
    New Jersey
    Posts
    116
    Vote Rating
    5
    Mike6679 is on a distinguished road

      0  

    Default


    Was anyone able to smooth the centering of the zoom??

  4. #44
    Sencha User evegraphic's Avatar
    Join Date
    Nov 2012
    Location
    France
    Posts
    22
    Vote Rating
    -1
    evegraphic is an unknown quantity at this point

      0  

    Default


    Hi everyone,

    I tried what there is in first post but I see no image.
    I've generated a new app in sencha touch 2.1 without changing anything.
    I add a new item in the tab panel (view Main.js) :

    Code:
    {     title: 'Pinch',
         items: [
              {
                   docked: 'top',
                   xtype: 'titlebar',
                   title: 'Test pinch zoom image'
              },
              {
                   flex: 1,
                   xtype: 'pinchzoomimage',
                   src: 'resources/images/apercu-annonces.jpg'
              }
         ]
    }
    The "pinchzoomimage" is in the DOM but i see nothing. Every element has "width: 0px !important" and "height: 0px !important".

    I must add a width and a height to see image like the second example in the first post.

    Code:
    {     flex: 1,
         xtype: 'pinchzoomimage2',
         src: 'resources/images/apercu-annonces.jpg',
         width: 800,
         height: 500
    }
    What I do wrong ?

  5. #45
    Sencha User
    Join Date
    Jun 2012
    Location
    United States
    Posts
    3
    Vote Rating
    0
    schaudhry123 is on a distinguished road

      0  

    Default Image won't appear unless double tapped

    Image won't appear unless double tapped


    Hey,

    This has worked beautifully for me except for that some of the images must be double tapped to appear. After that, they work as normal. Any way to fix this?

Turkiyenin en sevilen filmlerinin yer aldigi xnxx internet sitemiz olan ve porn sex tarzi bir site olan mobil porno izle sitemiz gercekten dillere destan bir durumda herkesin sevdigi bir site olarak tarihe gececege benziyor. Sitenin en belirgin ozelliklerinden birisi de Turkiyede gercekten kaliteli ve muntazam, duzenli porno izle siteleri olmamasidir. Bu yuzden iste. Ayrica en net goruntu kalitesine sahip adresinde yayinlanmaktadir. Mesela diğer sitelerimizden bahsedecek olursak, en iyi hd porno video arşivine sahip bir siteyiz. "The Best anal porn videos and slut anus, big asses movies set..." hd porno faketaxi