the best method for doing this is using a slide method.  if you start the slide
when the mouse goes down, the slide can be stopped if the mouse comes up before
it has finished sliding.

here's the code I knowckout out of the scrollpane:

    buttonListener.onmousedown=function(e) {
        var scroll=e.getTarget();
        scroll["scroll"+e.getSource().direction]();
        scroll.findDimensions();
    };
    buttonListener.onmouseup=function(e) {
        e.getTarget().cancelScroll();
    };

Here's the viewport code that it extends:
    ViewPort.prototype.scrollUp=function() {this.scrollSlide(null,0);};
    ViewPort.prototype.scrollDown=function()
{this.scrollSlide(null,-this.availableScrollY);};
    ViewPort.prototype.scrollLeft=function() {this.scrollSlide(0,null);};
    ViewPort.prototype.scrollRight=function()
{this.scrollSlide(-this.availableScrollX,null);};
    ViewPort.prototype.scrollSlide=function(x,y) {
        if (x!=null && this.enableHScroll) {
            this.invokeEvent("scrollstart");
            this.content.slideTo(x,this.content.y);
        } else if (y!=null && this.enableVScroll) {
            this.invokeEvent("scrollstart");
            this.content.slideTo(this.content.x,y);
        };
    };
    ViewPort.prototype.cancelScroll=function() {
        this.content.stopSlide();
        this.invokeEvent("scrollend");
    };

Hope this is of some use.

Doug Melvin wrote:

> And for my next trick: Continuous scroll on mousedown.

--
Michael Pemberton
[EMAIL PROTECTED]
ICQ: 12107010




_______________________________________________
Dynapi-Dev mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/dynapi-dev

Reply via email to