## MxScrollView MxScrollView — a container for scrollable children |

## Synopsis

    struct              MxScrollView;
    struct              MxScrollViewClass;
    ClutterActor *      mx_scroll_view_new                  (void);
    void                mx_scroll_view_set_enable_mouse_scrolling
                                                            (MxScrollView *scroll,
                                                             gboolean enabled);
    gboolean            mx_scroll_view_get_enable_mouse_scrolling
                                                            (MxScrollView *scroll);
    void                mx_scroll_view_set_enable_gestures  (MxScrollView *scroll,
                                                             gboolean enabled);
    gboolean            mx_scroll_view_get_enable_gestures  (MxScrollView *scroll);
    void                mx_scroll_view_set_scroll_policy    (MxScrollView *scroll,
                                                             MxScrollPolicy policy);
    MxScrollPolicy      mx_scroll_view_get_scroll_policy    (MxScrollView *scroll);
    void                mx_scroll_view_ensure_visible       (MxScrollView *scroll,
                                                             const ClutterGeometry *geometry);

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----ClutterActor
                   +----MxWidget
                         +----MxBin
                               +----MxScrollView

## Implemented Interfaces

MxScrollView implements ClutterScriptable, ClutterAnimatable, AtkImplementorIface, MxStylable, ClutterContainer and MxFocusable.

## Properties

      "enable-gestures"          gboolean              : Read / Write
      "enable-mouse-scrolling"   gboolean              : Read / Write
      "scroll-policy"            MxScrollPolicy        : Read / Write

## Description

MxScrollView is a single child container for actors that implement MxScrollable. It provides scrollbars around the edge of the child to allow the user to move around the scrollable area.

Figure 9. MxScrollView around an MxBoxLayout

An example of an MxScrollView wrapped around an MxBoxLayout actor (which implements MxScrollable). The MxBoxLayout contains nine ClutterRectangle instances, but the stage is too small for all of them to be visible. The MxScrollView adds the appropriate horizontal scroll, which makes it possible to scroll to the end of the row of rectangles.

## Details

### struct MxScrollView

    struct MxScrollView;

The contents of this structure are private and should only be accessed through the public API.

### struct MxScrollViewClass

    struct MxScrollViewClass {
      MxBinClass parent_class;

      /* padding for future expansion */
      void (*_padding_0) (void);
      void (*_padding_1) (void);
      void (*_padding_2) (void);
      void (*_padding_3) (void);
      void (*_padding_4) (void);
    };

### mx_scroll_view_new ()

    ClutterActor *      mx_scroll_view_new                  (void);

### mx_scroll_view_set_enable_mouse_scrolling ()

    void                mx_scroll_view_set_enable_mouse_scrolling
                                                            (MxScrollView *scroll,
                                                             gboolean enabled);

### mx_scroll_view_get_enable_mouse_scrolling ()

    gboolean            mx_scroll_view_get_enable_mouse_scrolling
                                                            (MxScrollView *scroll);

### mx_scroll_view_set_enable_gestures ()

    void                mx_scroll_view_set_enable_gestures  (MxScrollView *scroll,
                                                             gboolean enabled);

### mx_scroll_view_get_enable_gestures ()

    gboolean            mx_scroll_view_get_enable_gestures  (MxScrollView *scroll);

### mx_scroll_view_set_scroll_policy ()

    void                mx_scroll_view_set_scroll_policy    (MxScrollView *scroll,
                                                             MxScrollPolicy policy);

### mx_scroll_view_get_scroll_policy ()

    MxScrollPolicy      mx_scroll_view_get_scroll_policy    (MxScrollView *scroll);

### mx_scroll_view_ensure_visible ()

    void                mx_scroll_view_ensure_visible       (MxScrollView *scroll,
                                                             const ClutterGeometry *geometry);

Ensures that a given region is visible in the ScrollView, with the top-left taking precedence.

`scroll` : | A MxScrollView
`geometry` : | The region to make visible

## Property Details

### The `"enable-gestures"` property

      "enable-gestures"          gboolean              : Read / Write

Enable use of pointer gestures for scrolling.

Default value: FALSE

### The `"enable-mouse-scrolling"` property

      "enable-mouse-scrolling"   gboolean              : Read / Write

Enable automatic mouse wheel scrolling.

Default value: TRUE

### The `"scroll-policy"` property

      "scroll-policy"            MxScrollPolicy        : Read / Write

The scroll policy.

Default value: MX_SCROLL_POLICY_BOTH