{"size": 2925, "ext": "scrbl", "max_stars_repo_path": "gui-doc/scribblings/gui/scroll-event-class.scrbl", "max_stars_repo_name": "jjsimpso/gui", "max_stars_repo_stars_event_min_datetime": "2015-03-17T22:11:52.000Z", "max_stars_repo_stars_event_max_datetime": "2022-03-12T15:09:34.000Z", "max_issues_repo_path": "gui-doc/scribblings/gui/scroll-event-class.scrbl", "max_issues_repo_name": "jjsimpso/gui", "max_issues_repo_issues_event_min_datetime": "2015-01-09T15:53:25.000Z", "max_issues_repo_issues_event_max_datetime": "2022-03-31T16:21:29.000Z", "max_forks_repo_path": "gui-doc/scribblings/gui/scroll-event-class.scrbl", "max_forks_repo_name": "jjsimpso/gui", "max_forks_repo_forks_event_min_datetime": "2015-01-08T13:03:07.000Z", "max_forks_repo_forks_event_max_datetime": "2022-03-26T21:49:09.000Z"}
{"max_stars_count": 65, "max_issues_count": 231, "max_forks_count": 89, "avg_line_length": 31.4516129032, "max_line_length": 85, "alphanum_fraction": 0.6728205128}
#lang scribble/doc
@(require "common.rkt")

@defclass/title[scroll-event% event% ()]{

A @racket[scroll-event%] object contains information about a scroll
 event. An instance of @racket[scroll-event%] is always provided to
@method[canvas% on-scroll].

See
@method[scroll-event% get-event-type] for a list of the scroll event types.




@defconstructor[([event-type (or/c 'top 'bottom 'line-up 'line-down 
                                   'page-up 'page-down 'thumb)
                             'thumb]
                 [direction (or/c 'horizontal 'vertical) 'vertical]
                 [position dimension-integer? 0]
                 [time-stamp exact-integer? 0])]{

See the corresponding @racket[get-] and @racket[set-] methods for
 information about @racket[event-type], @racket[direction], @racket[position],
 and @racket[time-stamp].

}

@defmethod[(get-direction)
           (or/c 'horizontal 'vertical)]{

Gets the identity of the scrollbar that was modified by the event,
 either the horizontal scrollbar or the vertical scrollbar, as
 @racket['horizontal] or @racket['vertical], respectively. See also
 @method[scroll-event% set-direction].

}

@defmethod[(get-event-type)
           (or/c 'top 'bottom 'line-up 'line-down 
                 'page-up 'page-down 'thumb)]{

Returns the type of the event, one of the following:

@itemize[
@item{@racket['top] --- user clicked a scroll-to-top button}
@item{@racket['bottom] --- user clicked a scroll-to-bottom button}
@item{@racket['line-up]  --- user clicked an arrow to scroll up or left one step}
@item{@racket['line-down] --- user clicked an arrow to scroll down or right one step}
@item{@racket['page-up]  --- user clicked an arrow to scroll up or left one page}
@item{@racket['page-down] --- user clicked an arrow to scroll down or right one page}
@item{@racket['thumb] --- user dragged the scroll position indicator}
]

}

@defmethod[(get-position)
           dimension-integer?]{

Returns the position of the scrollbar after the action triggering the
 event. See also @method[scroll-event% set-position].

}

@defmethod[(set-direction [direction (or/c 'horizontal 'vertical)])
           void?]{

Sets the identity of the scrollbar that was modified by the event,
 either the horizontal scrollbar or the vertical scrollbar, as
 @racket['horizontal] or @racket['vertical], respectively. See also
 @method[scroll-event% get-direction].

}

@defmethod[(set-event-type [type (or/c 'top 'bottom 'line-up 'line-down 
                                       'page-up 'page-down 'thumb)])
           void?]{

Sets the type of the event. See @method[scroll-event% get-event-type]
for information about each event type.

}

@defmethod[(set-position [position dimension-integer?])
           void?]{

Records the position of the scrollbar after the action triggering the
 event. (The scrollbar itself is unaffected). See also
 @method[scroll-event% get-position].

}}

