## MxFocusManager MxFocusManager |

## Synopsis

    struct              MxFocusManager;
    struct              MxFocusManagerClass;
    MxFocusManager *    mx_focus_manager_get_for_stage      (ClutterStage *stage);
    ClutterStage *      mx_focus_manager_get_stage          (MxFocusManager *manager);
    MxFocusable *       mx_focus_manager_get_focused        (MxFocusManager *manager);
    void                mx_focus_manager_push_focus         (MxFocusManager *manager,
                                                             MxFocusable *focusable);
    void                mx_focus_manager_push_focus_with_hint
                                                            (MxFocusManager *manager,
                                                             MxFocusable *focusable,
                                                             MxFocusHint hint);
    void                mx_focus_manager_move_focus         (MxFocusManager *manager,
                                                             MxFocusDirection direction);

## Object Hierarchy

      GObject
       +----MxFocusManager

## Properties

      "focused"                  ClutterActor*         : Read
      "stage"                    ClutterStage*         : Read

## Description

## Details

### struct MxFocusManager

    struct MxFocusManager;

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

### struct MxFocusManagerClass

    struct MxFocusManagerClass {
      GObjectClass 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_focus_manager_get_for_stage ()

    MxFocusManager *    mx_focus_manager_get_for_stage      (ClutterStage *stage);

Get the MxFocusManager associated with a stage, or create one if none exist for the specified stage.

`stage` : | A ClutterStage
Returns : | An MxFocusManager. [transfer none]

### mx_focus_manager_get_stage ()

    ClutterStage *      mx_focus_manager_get_stage          (MxFocusManager *manager);

Get the stage the MxFocusManager is associated with

`manager` : | A MxFocusManager
Returns : | A ClutterStage. [transfer none]

### mx_focus_manager_get_focused ()

    MxFocusable *       mx_focus_manager_get_focused        (MxFocusManager *manager);

Get the currently focused MxFocusable

`manager` : | A MxFocusManager
Returns : | MxFocusable. [transfer none]

### mx_focus_manager_push_focus ()

    void                mx_focus_manager_push_focus         (MxFocusManager *manager,
                                                             MxFocusable *focusable);

Sets the currently focused actor, with an MxFocusHint of `MX_FOCUS_HINT_PRIOR`.

Note: the final focused object may not be the same as `focusable` if `focusable` does not accept focus directly.

`manager` : | the focus manager
`focusable` : | the object to set focus on

### mx_focus_manager_push_focus_with_hint ()

    void                mx_focus_manager_push_focus_with_hint
                                                            (MxFocusManager *manager,
                                                             MxFocusable *focusable,
                                                             MxFocusHint hint);

Similar to mx_focus_manager_push_focus, but allows the hint to be specified.

Note: the final focused object may not be the same as `focusable` if `focusable` does not accept focus directly.

`manager` : | the focus manager
`focusable` : | the object to set focus on
`hint` : | an MxFocusHint

Since 1.2

### mx_focus_manager_move_focus ()

    void                mx_focus_manager_move_focus         (MxFocusManager *manager,
                                                             MxFocusDirection direction);

Moves the current focus in the given direction.

`manager` : | the focus manager
`direction` : | The direction to move focus in

## Property Details

### The `"focused"` property

      "focused"                  ClutterActor*         : Read

The object that currently has focus.

### The `"stage"` property

      "stage"                    ClutterStage*         : Read

Top level container for focusables.