### Class

# Clutter Stage

#### Description [src]

    class Clutter.Stage : Clutter.Actor {
      /* No available fields */
    }

Top level visual element to which actors are placed.

`ClutterStage` is a top level ‘window’ on which child actors are placed and manipulated.

`ClutterStage` is a proxy actor, wrapping the backend-specific implementation (a `StageWindow`) of the windowing system. It is possible to subclass `ClutterStage`, as long as every overridden virtual function chains up to the parent class corresponding function.

#### Ancestors

- ClutterActor
- GInitiallyUnowned
- GObject

#### Implements

- AtkImplementorIface
- ClutterAnimatable
- ClutterContainer
- ClutterScriptable

#### Instance methods

###### clutter_stage_capture_view_into

No description available.

###### clutter_stage_clear_stage_views

No description available.

###### clutter_stage_ensure_viewport

Ensures that the GL viewport is updated with the current stage window size.

###### clutter_stage_get_actor_at_pos

Checks the scene at the coordinates `x` and `y` and returns a pointer to the `ClutterActor` at those coordinates. The result is the actor which would be at the specified location on the next redraw, and is not necessarily that which was there on the previous redraw. This allows the function to perform chronologically correctly after any queued changes to the scene, and even if nothing has been drawn.

###### clutter_stage_get_capture_final_size

Get the size of the framebuffer one must pass to `clutter_stage_paint_to_buffer()` or `clutter_stage_paint_to_framebuffer()` would be used with the same `rect`.

###### clutter_stage_get_device_actor

Retrieves the `ClutterActor` underneath the pointer or touch point of `device` and `sequence`.

###### clutter_stage_get_device_coords

No description available.

###### clutter_stage_get_event_actor

Retrieves the current focus actor for an event. This is the key focus for key events and other events directed to the key focus, or the actor directly under the coordinates of a device or touch sequence.

###### clutter_stage_get_frame_counter

No description available.

###### clutter_stage_get_grab_actor

Gets the actor that currently holds a grab.

###### clutter_stage_get_key_focus

Retrieves the actor that is currently under key focus.

###### clutter_stage_get_perspective

Retrieves the stage perspective.

###### clutter_stage_get_title

Gets the stage title.

###### clutter_stage_get_view_at

No description available.

###### clutter_stage_grab

Grabs input onto a certain actor. Events will be propagated as usual inside its hierarchy.

###### clutter_stage_is_redraw_queued_on_view

No description available.

###### clutter_stage_paint_to_buffer

Take a snapshot of the stage to a provided buffer.

###### clutter_stage_paint_to_content

Take a snapshot of the stage to a `ClutterContent`.

###### clutter_stage_paint_to_framebuffer

No description available.

###### clutter_stage_peek_stage_views

No description available.

###### clutter_stage_pointing_input_foreach

Iterates over active input.

###### clutter_stage_read_pixels

Makes a screenshot of the stage in RGBA 8bit data, returns a linear buffer with `width` * 4 as rowstride.

###### clutter_stage_repick_device

No description available.

###### clutter_stage_schedule_update

Schedules a redraw of the `ClutterStage` at the next optimal timestamp.

###### clutter_stage_set_key_focus

Sets the key focus on `actor`. An actor with key focus will receive all the key events. If `actor` is `NULL`, the stage will receive focus.

###### clutter_stage_set_minimum_size

No description available.

###### clutter_stage_set_title

Sets the stage title.

###### clutter_stage_update_device

No description available.

##### Methods inherited from ClutterActor (216)

Please see ClutterActor for a full list of methods.

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

##### Methods inherited from ClutterAnimatable (5)

###### clutter_animatable_find_property

Finds the `GParamSpec` for `property_name`.

###### clutter_animatable_get_actor

Get animated actor.

###### clutter_animatable_get_initial_state

Retrieves the current state of `property_name` and sets `value` with it.

###### clutter_animatable_interpolate_value

Asks a `ClutterAnimatable` implementation to interpolate a a named property between the initial and final values of a `ClutterInterval`, using `progress` as the interpolation value, and store the result inside `value`.

###### clutter_animatable_set_final_state

Sets the current state of `property_name` to `value`.

##### Methods inherited from ClutterContainer (13)

###### clutter_container_add

Adds a list of `ClutterActor`s to `container`. Each time and actor is added, the “actor-added” signal is emitted. Each actor should be parented to `container`, which takes a reference on the actor. You cannot add a `ClutterActor` to more than one `ClutterContainer`.

deprecated: 1.10

###### clutter_container_add_actor

Adds a `ClutterActor` to `container`. This function will emit the “actor-added” signal. The actor should be parented to `container`. You cannot add a `ClutterActor` to more than one `ClutterContainer`.

deprecated: 1.10

###### clutter_container_child_get

Gets `container` specific properties of an actor.

###### clutter_container_child_get_property

Gets a container specific property of a child of `container`, In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling g_value_unset().

###### clutter_container_child_notify

Calls the `ClutterContainerIface`.child_notify() virtual function of `ClutterContainer`. The default implementation will emit the `ClutterContainer::child-notify` signal.

###### clutter_container_child_set

Sets container specific properties on the child of a container.

###### clutter_container_child_set_property

Sets a container-specific property on a child of `container`.

###### clutter_container_create_child_meta

Creates the `ClutterChildMeta` wrapping `actor` inside the `container`, if the `ClutterContainerIface::child_meta_type` class member is not set to `G_TYPE_INVALID`.

###### clutter_container_destroy_child_meta

Destroys the `ClutterChildMeta` wrapping `actor` inside the `container`, if any.

###### clutter_container_find_child_by_name

Finds a child actor of a container by its name. Search recurses into any child container.

###### clutter_container_get_child_meta

Retrieves the `ClutterChildMeta` which contains the data about the `container` specific state for `actor`.

###### clutter_container_remove

Removes a `NULL` terminated list of `ClutterActor`s from `container`. Each actor should be unparented, so if you want to keep it around you must hold a reference to it yourself, using g_object_ref(). Each time an actor is removed, the “actor-removed” signal is emitted by `container`.

deprecated: 1.10

###### clutter_container_remove_actor

Removes `actor` from `container`. The actor should be unparented, so if you want to keep it around you must hold a reference to it yourself, using g_object_ref(). When the actor has been removed, the “actor-removed” signal is emitted by `container`.

deprecated: 1.10

##### Methods inherited from ClutterScriptable (4)

###### clutter_scriptable_get_id

Retrieves the id of `scriptable` set using `clutter_scriptable_set_id()`.

###### clutter_scriptable_parse_custom_node

Parses the passed JSON node. The implementation must set the type of the passed `GValue` pointer using g_value_init().

###### clutter_scriptable_set_custom_property

Overrides the common properties setting. The underlying virtual function should be used when implementing custom properties.

###### clutter_scriptable_set_id

Sets `id_` as the unique Clutter script it for this instance of `ClutterScriptableIface`.

#### Properties

###### Clutter.Stage:is-grabbed

`TRUE` if there is currently an active grab on the stage.

###### Clutter.Stage:key-focus

The `ClutterActor` that will receive key events from the underlying windowing system.

###### Clutter.Stage:perspective

The parameters used for the perspective projection from 3D coordinates to 2D.

###### Clutter.Stage:title

The stage’s title - usually displayed in stage windows title decorations.

##### Properties inherited from ClutterActor (71)

###### Clutter.Actor:actions

Adds a `ClutterAction` to the actor.

###### Clutter.Actor:allocation

The allocation for the actor, in pixels.

###### Clutter.Actor:background-color

Paints a solid fill of the actor’s allocation using the specified color.

###### Clutter.Actor:background-color-set

Whether the `ClutterActor:background-color` property has been set.

###### Clutter.Actor:child-transform

Applies a transformation matrix on each child of an actor.

###### Clutter.Actor:child-transform-set

Whether the `ClutterActor:child-transform` property is set.

###### Clutter.Actor:clip-rect

The visible region of the actor, in actor-relative coordinates, expressed as a #graphene_rect_t.

###### Clutter.Actor:clip-to-allocation

Whether the clip region should track the allocated area of the actor.

###### Clutter.Actor:color-state

The `ClutterColorState` contains the properties like colorspace for each actors.

###### Clutter.Actor:constraints

Adds a `ClutterConstraint` to the actor.

###### Clutter.Actor:content

The `ClutterContent` implementation that controls the content of the actor.

###### Clutter.Actor:content-box

The bounding box for the `ClutterContent` used by the actor.

###### Clutter.Actor:content-gravity

The alignment that should be honoured by the `ClutterContent` set with the `ClutterActor:content` property.

###### Clutter.Actor:content-repeat

The repeat policy for the actor’s `ClutterActor:content`.

###### Clutter.Actor:effect

Adds `ClutterEffect` to the list of effects be applied on a `ClutterActor`.

###### Clutter.Actor:first-child

The actor’s first child.

###### Clutter.Actor:fixed-position-set

This flag controls whether the `ClutterActor:fixed-x` and `ClutterActor:fixed-y` properties are used.

###### Clutter.Actor:fixed-x

The fixed X position of the actor in pixels.

###### Clutter.Actor:fixed-y

The fixed Y position of the actor in pixels.

###### Clutter.Actor:has-clip

Whether the actor has the `ClutterActor:clip` property set or not.

###### Clutter.Actor:has-pointer

Whether the actor contains the pointer of a `ClutterInputDevice` or not.

###### Clutter.Actor:height

Height of the actor (in pixels). If written, forces the minimum and natural size request of the actor to the given height. If read, returns the allocated height if available, otherwise the height request.

###### Clutter.Actor:last-child

The actor’s last child.

###### Clutter.Actor:layout-manager

A delegate object for controlling the layout of the children of an actor.

###### Clutter.Actor:magnification-filter

No description available.

###### Clutter.Actor:mapped

Whether the actor is mapped (will be painted when the stage to which it belongs is mapped)

###### Clutter.Actor:margin-bottom

The margin (in pixels) from the bottom of the actor.

###### Clutter.Actor:margin-left

The margin (in pixels) from the left of the actor.

###### Clutter.Actor:margin-right

The margin (in pixels) from the right of the actor.

###### Clutter.Actor:margin-top

The margin (in pixels) from the top of the actor.

###### Clutter.Actor:min-height

A forced minimum height request for the actor, in pixels.

###### Clutter.Actor:min-height-set

This flag controls whether the `ClutterActor:min-height` property is used.

###### Clutter.Actor:min-width

A forced minimum width request for the actor, in pixels.

###### Clutter.Actor:min-width-set

This flag controls whether the `ClutterActor:min-width` property is used.

###### Clutter.Actor:minification-filter

No description available.

###### Clutter.Actor:name

The name of the actor.

###### Clutter.Actor:natural-height

A forced natural height request for the actor, in pixels.

###### Clutter.Actor:natural-height-set

This flag controls whether the `ClutterActor:natural-height` property is used.

###### Clutter.Actor:natural-width

A forced natural width request for the actor, in pixels.

###### Clutter.Actor:natural-width-set

This flag controls whether the `ClutterActor:natural-width` property is used.

###### Clutter.Actor:offscreen-redirect

Determines the conditions in which the actor will be redirected to an offscreen framebuffer while being painted. For example this can be used to cache an actor in a framebuffer or for improved handling of transparent actors. See `clutter_actor_set_offscreen_redirect()` for details.

###### Clutter.Actor:opacity

Opacity of an actor, between 0 (fully transparent) and 255 (fully opaque)

###### Clutter.Actor:pivot-point

The point around which the scaling and rotation transformations occur.

###### Clutter.Actor:pivot-point-z

The Z component of the `ClutterActor:pivot-point`, expressed as a value along the Z axis.

###### Clutter.Actor:position

The position of the origin of the actor.

###### Clutter.Actor:reactive

Whether the actor is reactive to events or not.

###### Clutter.Actor:realized

Whether the actor has been realized.

###### Clutter.Actor:request-mode

Request mode for the `ClutterActor`. The request mode determines the type of geometry management used by the actor, either height for width (the default) or width for height.

###### Clutter.Actor:rotation-angle-x

The rotation angle on the X axis.

###### Clutter.Actor:rotation-angle-y

The rotation angle on the Y axis.

###### Clutter.Actor:rotation-angle-z

The rotation angle on the Z axis.

###### Clutter.Actor:scale-x

The horizontal scale of the actor.

###### Clutter.Actor:scale-y

The vertical scale of the actor.

###### Clutter.Actor:scale-z

The scale factor of the actor along the Z axis.

###### Clutter.Actor:show-on-set-parent

If `TRUE`, the actor is automatically shown when parented.

###### Clutter.Actor:size

The size of the actor.

###### Clutter.Actor:text-direction

The direction of the text inside a `ClutterActor`.

###### Clutter.Actor:transform

Overrides the transformations of a `ClutterActor` with a custom matrix.

###### Clutter.Actor:transform-set

Whether the `ClutterActor:transform` property is set.

###### Clutter.Actor:translation-x

An additional translation applied along the X axis, relative to the actor’s `ClutterActor:pivot-point`.

###### Clutter.Actor:translation-y

An additional translation applied along the Y axis, relative to the actor’s `ClutterActor:pivot-point`.

###### Clutter.Actor:translation-z

An additional translation applied along the Z axis, relative to the actor’s `ClutterActor:pivot-point`.

###### Clutter.Actor:visible

Whether the actor is set to be visible or not.

###### Clutter.Actor:width

Width of the actor (in pixels). If written, forces the minimum and natural size request of the actor to the given width. If read, returns the allocated width if available, otherwise the width request.

###### Clutter.Actor:x

X coordinate of the actor in pixels. If written, forces a fixed position for the actor. If read, returns the fixed position if any, otherwise the allocation if available, otherwise 0.

###### Clutter.Actor:x-align

The alignment of an actor on the X axis, if the actor has been given extra space for its allocation. See also the `ClutterActor:x-expand` property.

###### Clutter.Actor:x-expand

Whether a layout manager should assign more space to the actor on the X axis.

###### Clutter.Actor:y

Y coordinate of the actor in pixels. If written, forces a fixed position for the actor. If read, returns the fixed position if any, otherwise the allocation if available, otherwise 0.

###### Clutter.Actor:y-align

The alignment of an actor on the Y axis, if the actor has been given extra space for its allocation.

###### Clutter.Actor:y-expand

Whether a layout manager should assign more space to the actor on the Y axis.

###### Clutter.Actor:z-position

The actor’s position on the Z axis, relative to the parent’s transformations.

#### Signals

###### Clutter.Stage::activate

The signal is emitted when the stage receives key focus from the underlying window system.

###### Clutter.Stage::after-paint

The signal is emitted after the stage is painted, but before the results are displayed on the screen.0

###### Clutter.Stage::after-update

No description available.

###### Clutter.Stage::before-paint

The signal is emitted before the stage is painted.

###### Clutter.Stage::before-update

No description available.

###### Clutter.Stage::deactivate

The signal is emitted when the stage loses key focus from the underlying window system.

###### Clutter.Stage::gl-video-memory-purged

Signals that the underlying GL driver has had its texture memory purged so anything presently held in texture memory is now invalidated, and likely corrupt. It needs redrawing.

###### Clutter.Stage::paint-view

The signal is emitted before a `ClutterStageView` is being painted.

###### Clutter.Stage::prepare-frame

The signal is emitted after the stage is updated, before the stage is painted, even if it will not be painted.

###### Clutter.Stage::presented

Signals that the `ClutterStage` was presented on the screen to the user.

##### Signals inherited from ClutterActor (25)

###### ClutterActor::button-press-event

The signal is emitted each time a mouse button is pressed on `actor`.

###### ClutterActor::button-release-event

The signal is emitted each time a mouse button is released on `actor`.

###### ClutterActor::captured-event

The signal is emitted when an event is captured by Clutter. This signal will be emitted starting from the top-level container (the `ClutterStage`) to the actor which received the event going down the hierarchy. This signal can be used to intercept every event before the specialized events (like ClutterActor::button-press-event or ::key-released-event) are emitted.

###### ClutterActor::destroy

The signal notifies that all references held on the actor which emitted it should be released.

###### ClutterActor::enter-event

The signal is emitted when the pointer enters the `actor`.

###### ClutterActor::event

The signal is emitted each time an event is received by the `actor`. This signal will be emitted on every actor, following the hierarchy chain, until it reaches the top-level container (the `ClutterStage`).

###### ClutterActor::hide

The signal is emitted when an actor is no longer rendered on the stage.

###### ClutterActor::key-focus-in

The signal is emitted when `actor` receives key focus.

###### ClutterActor::key-focus-out

The signal is emitted when `actor` loses key focus.

###### ClutterActor::key-press-event

The signal is emitted each time a keyboard button is pressed while `actor` has key focus (see clutter_stage_set_key_focus()).

###### ClutterActor::key-release-event

The signal is emitted each time a keyboard button is released while `actor` has key focus (see clutter_stage_set_key_focus()).

###### ClutterActor::leave-event

The signal is emitted when the pointer leaves the `actor`.

###### ClutterActor::motion-event

The signal is emitted each time the mouse pointer is moved over `actor`.

###### ClutterActor::parent-set

This signal is emitted when the parent of the actor changes.

###### ClutterActor::pick

The signal is emitted each time an actor is being painted in “pick mode”. The pick mode is used to identify the actor during the event handling phase, or by clutter_stage_get_actor_at_pos().

deprecated: 1.12

###### ClutterActor::queue-relayout

The signal is emitted when `clutter_actor_queue_relayout()` is called on an actor.

###### ClutterActor::realize

The signal is emitted each time an actor is being realized.

deprecated: 1.16

###### ClutterActor::resource-scale-changed

The signal is emitted when the resource scale value returned by `clutter_actor_get_resource_scale()` changes.

###### ClutterActor::scroll-event

The signal is emitted each time the mouse is scrolled on `actor`.

###### ClutterActor::show

The signal is emitted when an actor is visible and rendered on the stage.

###### ClutterActor::stage-views-changed

The signal is emitted when the position or size an actor is being painted at have changed so that it’s visible on different stage views.

###### ClutterActor::touch-event

The signal is emitted each time a touch begin/end/update/cancel event.

###### ClutterActor::transition-stopped

The signal is emitted once a transition is stopped; a transition is stopped once it reached its total duration (including eventual repeats), it has been stopped using clutter_timeline_stop(), or it has been removed from the transitions applied on `actor`, using clutter_actor_remove_transition().

###### ClutterActor::transitions-completed

The signal is emitted once all transitions involving `actor` are complete.

###### ClutterActor::unrealize

The signal is emitted each time an actor is being unrealized.

deprecated: 1.16

##### Signals inherited from GObject (1)

###### GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

##### Signals inherited from ClutterContainer (3)

###### ClutterContainer::actor-added

The signal is emitted each time an actor has been added to `container`.

###### ClutterContainer::actor-removed

The signal is emitted each time an actor is removed from `container`.

###### ClutterContainer::child-notify

The signal is emitted each time a property is being set through the `clutter_container_child_set()` and `clutter_container_child_set_property()` calls.

#### Class structure

    struct ClutterStageClass {
      void (* activate) (
        ClutterStage* stage
      );
      void (* deactivate) (
        ClutterStage* stage
      );
      void (* before_paint) (
        ClutterStage* stage,
        ClutterStageView* view,
        ClutterFrame* frame
      );
      void (* paint_view) (
        ClutterStage* stage,
        ClutterStageView* view,
        const cairo_region_t* redraw_clip,
        ClutterFrame* frame
      );

    }

The `ClutterStageClass` structure contains only private data.

###### Class members

`activate: void (* activate) ( ClutterStage* stage )`
  No description available.
`deactivate: void (* deactivate) ( ClutterStage* stage )`
  No description available.
`before_paint: void (* before_paint) ( ClutterStage* stage, ClutterStageView* view, ClutterFrame* frame )`
  No description available.
`paint_view: void (* paint_view) ( ClutterStage* stage, ClutterStageView* view, const cairo_region_t* redraw_clip, ClutterFrame* frame )`
  No description available.

#### Virtual methods

###### Clutter.StageClass.activate

No description available.

###### Clutter.StageClass.before_paint

No description available.

###### Clutter.StageClass.deactivate

No description available.

###### Clutter.StageClass.paint_view

No description available.