- - the PAINTBRUSH
  - |
    stroke(pattern) >> pattern
    
    sets the line brush
    
    nostroke() >> box
    
    turns off the line brush
    
    fill(pattern) >> pattern
    
    set the fill brush
    
    nofill() >> box
    
    disables the fill brush
    
    strokewidth(pixels) >> box
    
    set the thickness of the line brush

- - the TEXT BLOCKS
  - |
    para("string", [styles]) >> Shoes::Para
    
    banner, title, subtitle, tagline, caption, inscription

- - the TEXT FORMATS
  - |
    strong("string", [styles]) >> Shoes::Strong
    
    em, del, ins, link, span, sub, sup
    
    link("string", [styles]) { ... } >> Shoes::Link

- - the BOXEN
  - |
    stack([styles]) { ... } >> Shoes::Stack
    
    flow([styles]) { ... } >> Shoes::Flow
    
    background(pattern, [styles]) >> Shoes::Background
    
    border(pattern, [styles]) >> Shoes::Border

- - the IMAGES
  - |
    image(path, [styles]) { ... } >> Shoes::Image
    
    any jpg, png, or gif
    
    video(path, [styles]) { ... } >> Shoes::Video
    
    plays flv, mpeg, divx, xvid, web urls are ok.

- - the SHAPES
  - |
    star(x, y, [p], [r], [inner]) >> Shoes::Shape
    
    draws a star with [p] points of [r] radius
    
    arrow(x, y, size) >> Shoes::Shape
    
    draws an arrow with a [size] tip
    
    line(x1, y1, x2, y2) >> Shoes::Shape
    
    draws a line with the line brush
    
    oval(x, y, w, h) >> Shoes::Shape
    
    oval(styles) >> Shoes::Shape
    
    draws a circle or ellipse with the two brushes
    
    rect(x, y, w, h) >> Shoes::Shape
    
    rect(styles) >> Shoes::Shape
    
    draws a rectangle with the line & fill brushes
    
- - the CONTROLS
  - |
    button("string", [styles]) { ... } >> Shoes::Button
    
    edit_line([styles]) { ... } >> Shoes::EditLine
    
    edit_line :text => "string" >> Shoes::EditLine
    
    edit_box([styles]) { ... } >> Shoes::EditBox
    
    edit_box :text => "string" >> Shoes::EditBox
    
    list_box([styles]) { ... } >> Shoes::ListBox
    
    list_box :items => %w{shoes coat hat} >> Shoes::ListBox
    
    a drop-down select control of all :items
    
    progress([stles]) >> Shoes::Progress
    
    a progress bar displaying :text as a message
    
- - the COLORS
  - |
    rgb(r, g, b, [a]) >> Shoes::Color
    
    a color, a mix of red-green-and-blue (and perhaps alpha), use 0 to 255 for each color part. or 0.0 to 1.0, if you prefer.
    
    gray(b, [a]) >> Shoes::Color
    
    a color of gray with [b] brightness and [a] alpha
    
    white, black, red, yellow, blue, ...
    
    some color methods; see "Color List" on the Shoes wiki or http://en.wikipedia.org/wiki/X11_color_names for a full list.

- - the DIALOGS
  - |
    alert(msg) >> nil
    
    ask(msg) >> "string"
    
    confirm(msg) >> true or false
    
    ask_color(msg) >> Shoes::Color
    
    ask_open_file() >> "/path/filename.ext"
    
    ask_save_file() >> "/path/filename.ext"

- - EVENTS
  - |
    click { |button| ... } >> self
    
    motion { |x, y| ... } >> self
    
    release { |button| ... } >> self
    
    keypress { |key| ... } >> self
    
    animate([fps]) { ... } >> self
    
    easy animation: the block will run 10 (or [fps]) times per second

- - PATTERNS
  - |
    gradient(c1, c2) >> Shoes::Pattern
    
    a gradient from [c1] color to [c2] color

- - EXTRA
  - |
    self.mouse() >> [x, y]
    
    self.clipboard >> "string"
    
    self.clipboard=("string")
    
    visit "/url"
    
    exit

- - VISIBILITY
  - |
    hide(), show(), toggle() >> self
    
    for EVERYTHING (yes: SHAPES, TEXT, CONTROLS, BOXES and IMAGES)

- - ALTERATIONS
  - |
    move(x, y)
    
    size(w, h)
    
    remove()
    
    for EVERYTHING
    
    style([styles])
    
    adds or changes styles for any element

- - BOXES ONLY
  - |
    contents() >> Array
    
    clear() { ... } >> box
    
    after([ele]) { ... } >> box
    
    before, append, prepend

- - STYLES & PATTERNS
  - |
    a "pattern" may be a color, a range of colors, an image path, an Image object or a Pattern obj.
    
    ex.: "#DDFFAA", "#000".."#FFF"
    
    (a gradient of black to white)
    
    rgb(0.9, 1.0, 0.7)
    
    "/images/bg.png"
    
    Hash of various options.
    
    a "styles" argument is a Ruby
    
    :top => 40, :left => 40
    
    :font => "Arial 12px"
