mms*_*sss 5 ocaml canvas js-of-ocaml
我在js_of_ocaml中创建一个画布,如下所示.
(* create document *)
let document = Dom_html.window##document
(* function to create canvas *)
let create_canvas () =
let canvas = Dom_html.createCanvas document in
canvas##width <- 500;
canvas##height <- 500;
canvas
(* create canvas *)
let canvas = create_canvas ()
let start _ =
let main = get_main () in
Dom.appendChild main canvas;
Js._false in
Dom_html.window##onload <- Dom_html.handler start
Run Code Online (Sandbox Code Playgroud)
我只能看到一个白色的屏幕.
现在,我想在画布上添加一个水平滚动条.
我想我必须制作一个带有水平滚动条的盒子,它比白色画布小,并且白色画布在盒子里.
我怎样才能做到这一点?
您可以将画布放入宽度小于画布宽度的div中。检查以下代码:
module Html = Dom_html
let doc = Html.window##document
let create_div () =
let div = Html.createDiv doc in
div##style##width <- Js.string "500px";
div##style##overflowX <- Js.string "scroll";
div
let create_canvas () =
let canvas = Dom_html.createCanvas document in
canvas##width <- 900;
canvas##height <- 900;
canvas
let start _ =
let main = get_main () in
let wrapper = create_div () in
let canvas = create_canvas () in
Dom.appendChild wrapper canvas;
Dom.appendChild main wrapper;
Js._false in
Dom_html.window##onload <- Dom_html.handler start
Run Code Online (Sandbox Code Playgroud)
此代码是以下 jsfiddle 的 js_of_ocaml 的翻译:https ://jsfiddle.net/pre1wacc/
| 归档时间: |
|
| 查看次数: |
338 次 |
| 最近记录: |