package raygui

  1. Overview
  2. Docs
OCaml bindings for raygui

Install

Dune Dependency

Authors

Maintainers

Sources

raylib-0.3.2.tbz
sha256=96912086fb0a10de9cc6618b631665885f3d4e4add75fea1b8a284bbcf79b395
sha512=77cab807ce4a3841191fb9188acff3e53b6aedf98b89d656b5ea975189009577ed03225521748fdadf11245a615803dc4747a37e0d394a252f5fc3c1b2409915

doc/src/raygui/functions.ml.html

Source file functions.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
include Raygui_generated_constants
include Raygui_functions.Description (Raygui_c.C_generated_gui)

let to_struct a = (a : 'a Raylib.ctyp :> 'a Ctypes.structure)

(* coercion with the ptr type did not work :( *)
let to_struct_ptr a = Ctypes.( !@ ) a |> to_struct |> Ctypes.addr
(* let to_struct_ptr a =
 *   (a : 'a Raylib.ctyp Raylib.ptr :> 'a Ctypes.structure Raylib.ptr) *)

let set_font fnt = _set_font @@ to_struct fnt

let get_font () = Raylib.to_ctyp @@ _get_font ()

let window_box bx = _window_box @@ to_struct bx

let group_box bx = _group_box @@ to_struct bx

let line bx = _line @@ to_struct bx

let panel bx = _panel @@ to_struct bx

let scroll_panel a b c =
  _scroll_panel (to_struct a) (to_struct b) (to_struct_ptr c) |> Raylib.to_ctyp

let label bx = _label @@ to_struct bx

let button bx = _button @@ to_struct bx

let label_button bx = _label_button @@ to_struct bx

let image_button a b c = _image_button (to_struct a) b (to_struct c)

let image_button_ex a b c d =
  _image_button_ex (to_struct a) b (to_struct c) (to_struct d)

let toggle rct = _toggle @@ to_struct rct

let toggle_group rct = _toggle_group @@ to_struct rct

let check_box rct = _check_box @@ to_struct rct

let combo_box rct = _combo_box @@ to_struct rct

let dropdown_box rct labels vl edit =
  let vl_ptr = Raylib.ptr_of_int vl in
  let rt = _dropdown_box (to_struct rct) labels vl_ptr edit in
  (Ctypes.(!@vl_ptr), rt)

let spinner rct label vl ~min ~max edit =
  let vl_ptr = Raylib.ptr_of_int vl in
  let rt = _spinner (to_struct rct) label vl_ptr min max edit in
  (Ctypes.(!@vl_ptr), rt)

let value_box rct label vl ~min ~max edit =
  let vl_ptr = Raylib.ptr_of_int vl in
  let rt = _value_box (to_struct rct) label vl_ptr min max edit in
  (Ctypes.(!@vl_ptr), rt)

let text_box rct txt state =
  let open Ctypes in
  let str_arr = CArray.of_string txt in
  let rt =
    _text_box (to_struct rct) (CArray.start str_arr)
      (CArray.length str_arr + 1)
      state
  in
  (String.init (CArray.length str_arr) (CArray.unsafe_get str_arr), rt)

let text_box_multi rct txt state =
  let open Ctypes in
  let str_arr = CArray.of_string txt in
  let rt =
    _text_box_multi (to_struct rct) (CArray.start str_arr)
      (CArray.length str_arr + 1)
      state
  in
  (String.init (CArray.length str_arr) (CArray.unsafe_get str_arr), rt)

let slider rct label txt value ~min ~max =
  _slider (to_struct rct) label txt value min max

let slider_bar rct label txt value ~min ~max =
  _slider_bar (to_struct rct) label txt value min max

let progress_bar rct label txt value ~min ~max =
  _progress_bar (to_struct rct) label txt value min max

let status_bar rct = _status_bar @@ to_struct rct

let dummy_rec rct = _dummy_rec @@ to_struct rct

let scroll_bar rct value ~min ~max = _scroll_bar (to_struct rct) value min max

let grid rct b c = _grid (to_struct rct) b c |> Raylib.to_ctyp

let list_view rct label index active =
  let vl_ptr = Raylib.ptr_of_int index in
  let rt = _list_view (to_struct rct) label vl_ptr active in
  (rt, Ctypes.(!@vl_ptr))

let list_view_ex rct strings focus index active =
  let open Ctypes in
  let str_arr = CArray.of_list Ctypes.string strings in
  let focus_ptr = Raylib.ptr_of_int focus in
  let index_ptr = Raylib.ptr_of_int index in
  let active =
    _list_view_ex (to_struct rct) (CArray.start str_arr) (List.length strings)
      focus_ptr index_ptr active
  in
  (active, !@focus_ptr, !@index_ptr)

let message_box rct = _message_box @@ to_struct rct

let text_input_box rct title message buttons text =
  let open Ctypes in
  let str_arr = CArray.of_string text in
  let rt =
    _text_input_box (to_struct rct) title message buttons (CArray.start str_arr)
  in
  (String.init (CArray.length str_arr) (CArray.unsafe_get str_arr), rt)

let color_picker rct col =
  _color_picker (to_struct rct) (to_struct col) |> Raylib.to_ctyp

let color_panel rct col =
  _color_panel (to_struct rct) (to_struct col) |> Raylib.to_ctyp

let color_bar_alpha rct = _color_bar_alpha @@ to_struct rct

let color_bar_hue rct = _color_bar_hue @@ to_struct rct
OCaml

Innovation. Community. Security.