Graphics.UI.Gtk.Layout.AspectFrame

gtk3-0.14.6: Binding to the Gtk+ 3 graphical user interface library

Maintainer | gtk2hs-users@lists.sourceforge.net
Stability | provisional
Portability | portable (depends on GHC)
Safe Haskell | None
Language | Haskell98

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 # |
Methods (==) :: AspectFrame -> AspectFrame -> Bool # (/=) :: AspectFrame -> AspectFrame -> Bool #
Ord AspectFrame # |
Methods compare :: AspectFrame -> AspectFrame -> Ordering # (<) :: AspectFrame -> AspectFrame -> Bool # (<=) :: AspectFrame -> AspectFrame -> Bool # (>) :: AspectFrame -> AspectFrame -> Bool # (>=) :: AspectFrame -> AspectFrame -> Bool # max :: AspectFrame -> AspectFrame -> AspectFrame # min :: AspectFrame -> AspectFrame -> AspectFrame #
GObjectClass AspectFrame # |
Methods toGObject :: AspectFrame -> GObject # unsafeCastGObject :: GObject -> AspectFrame #
AspectFrameClass AspectFrame # |
FrameClass AspectFrame # |
BinClass AspectFrame # |
ContainerClass AspectFrame # |
WidgetClass 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`