gtk-0.12.0: Binding to the Gtk+ graphical user interface library.

Portability | portable (depends on GHC)
Stability | provisional
Maintainer | gtk2hs-users@lists.sourceforge.net

Graphics.UI.Gtk.Layout.AspectFrame

Contents

- Detail
- Class Hierarchy
- Types
- Constructors
- Methods
- Attributes

Description

A frame that constrains its child to a particular aspect ratio

Synopsis

- data AspectFrame
- class FrameClass o => AspectFrameClass o
- castToAspectFrame :: GObjectClass obj => obj -> AspectFrame
- gTypeAspectFrame :: GType
- toAspectFrame :: AspectFrameClass o => o -> AspectFrame
- aspectFrameNew :: Float -> Float -> Maybe Float -> IO AspectFrame
- aspectFrameSet :: AspectFrameClass self => self -> Float -> Float -> Maybe Float -> IO ()
- aspectFrameXAlign :: AspectFrameClass self => Attr self Float
- aspectFrameYAlign :: AspectFrameClass self => Attr self Float
- aspectFrameRatio :: AspectFrameClass self => Attr self Float
- aspectFrameObeyChild :: AspectFrameClass self => Attr self Bool

# Detail

The `AspectFrame` is useful when you want pack a widget so that it can resize but always retains the same aspect ratio. For instance, one might be drawing a small preview of a larger image. `AspectFrame` derives from `Frame`, so it can draw a label and a frame around the child. The frame will be "shrink-wrapped" to the size of the child.

# Class Hierarchy

     | GObject
     | +----Object
     | +----Widget
     | +----Container
     | +----Bin
     | +----Frame
     | +----AspectFrame

# Types

data AspectFrame

Instances

Eq AspectFrame |
Ord AspectFrame |
GObjectClass AspectFrame |
AspectFrameClass AspectFrame |
FrameClass AspectFrame |
BinClass AspectFrame |
ContainerClass AspectFrame |
WidgetClass AspectFrame |
ObjectClass AspectFrame |

class FrameClass o => AspectFrameClass o

Instances

AspectFrameClass AspectFrame |

castToAspectFrame :: GObjectClass obj => obj -> AspectFrame

gTypeAspectFrame :: GType

toAspectFrame :: AspectFrameClass o => o -> AspectFrame

# Constructors

aspectFrameNew

Arguments

:: Float | `xalign` - Horizontal alignment of the child within the allocation of the `AspectFrame`. This ranges from 0.0 (left aligned) to 1.0 (right aligned)
-> Float | `yalign` - Vertical alignment of the child within the allocation of the `AspectFrame`. This ranges from 0.0 (left aligned) to 1.0 (right aligned)
-> Maybe Float | `ratio` - The desired aspect ratio. If `Nothing` the aspect ratio is taken from the requistion of the child.
-> IO AspectFrame |

Create a new `AspectFrame`.

The frame may be augmented with a label which can be set by `frameSetLabel`.

# Methods

aspectFrameSet

Arguments

:: AspectFrameClass self |
=> self |
-> Float | `xalign` - Horizontal alignment of the child within the allocation of the `AspectFrame`. This ranges from 0.0 (left aligned) to 1.0 (right aligned)
-> Float | `yalign` - Vertical alignment of the child within the allocation of the `AspectFrame`. This ranges from 0.0 (left aligned) to 1.0 (right aligned)
-> Maybe Float | `ratio` - The desired aspect ratio. If `Nothing` the aspect ratio is taken from the requistion of the child.
-> IO () |

Set parameters for an existing `AspectFrame`.

# Attributes

aspectFrameXAlign :: AspectFrameClass self => Attr self Float

X alignment of the child.

Allowed values: [0,1]

Default value: 0.5

aspectFrameYAlign :: AspectFrameClass self => Attr self Float

Y alignment of the child.

Allowed values: [0,1]

Default value: 0.5

aspectFrameRatio :: AspectFrameClass self => Attr self Float

Aspect ratio if obey_child is `False`.

Allowed values: [1e-04,10000]

Default value: 0.5

aspectFrameObeyChild :: AspectFrameClass self => Attr self Bool

Force aspect ratio to match that of the frame's child.

Default value: `True`