oters_gui 0.1.8

Graphical library definitions for the oters programming language
Documentation
let button = fn f_id size content -> {
  let btn_id = create_button (f_id, size);
  let aux = fn (label << content) -> 
    draw_button (f_id, btn_id, label) << @(aux !@content);
  (btn_id, aux content)
}

let vgroup = fn f_id size elems alignment -> {
  let grp_id = create_vgroup (f_id, size, alignment);
  let aux = fn (es_now << es_later) -> 
    draw_vgroup (f_id, grp_id, es_now) << @(aux !@es_later);
  (grp_id, aux elems)
}

let hgroup = fn f_id size elems alignment -> {
  let grp_id = create_hgroup (f_id, size, alignment);
  let aux = fn (es_now << es_later) -> 
    draw_hgroup (f_id, grp_id, es_now) << @(aux !@es_later);
  (grp_id, aux elems)
}

let checkbox = fn f_id size -> {
  let cbx_id = create_checkbox (f_id, size);
  let aux = draw_checkbox (f_id, cbx_id) << @aux;
  (cbx_id, aux)
}

let label = fn f_id size content -> {
  let lab_id = create_label (f_id, size);
  let aux = fn (cnt_now << cnt_later)  -> 
     draw_label (f_id, lab_id, cnt_now) << @(aux !@cnt_later);
  (lab_id, aux content)
}

let separator = fn f_id -> {
  let sep_id = create_separator f_id;
  let aux = draw_separator (f_id, sep_id) << @aux;
  (sep_id, aux)
}

let textbox = fn f_id size -> {
  let tbx_id = create_textbox (f_id, size);
  let aux = draw_textbox (f_id, tbx_id) << @aux;
  (tbx_id, aux)
}

let image = fn f_id size img_stream -> {
  let img_id = create_guimage (f_id, size);
  let aux = fn (img_now << img_later) -> 
    draw_guimage (f_id, img_id, img_now) << @(aux !@img_later);
  (img_id, aux img_stream)
}