package miaou-widgets-display-sdl
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
Miaou SDL widget implementations
Install
dune-project
Dependency
Authors
Maintainers
Sources
v0.5.2.tar.gz
md5=60a3b9f181f24572a06a9492532bfdda
sha512=fcc35a275066be2900e6201782faf47503076fa4640f08cf78067835a6f447b74613009e55b2ac799adb7ca46f1bffa261fc5971753f2cc3c6bef327511c7ef6
doc/src/miaou-widgets-display-sdl.widgets/qr_code_widget_sdl.ml.html
Source file qr_code_widget_sdl.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(** SDL renderer for QR code widget *) module QR = Miaou_widgets_display.Qr_code_widget let render renderer qr_widget ~x ~y ~module_size = let open Tsdl.Sdl in let size = fst (QR.get_dimensions qr_widget) in (* Quiet zone: 4 modules on each side for proper QR spec *) let quiet_zone = 4 in let total_size = (size + (quiet_zone * 2)) * module_size in (* Draw white background (quiet zone) *) let _ = set_render_draw_color renderer 255 255 255 255 in let bg_rect = Rect.create ~x ~y ~w:total_size ~h:total_size in let _ = render_fill_rect renderer (Some bg_rect) in (* Render QR code modules *) let _ = set_render_draw_color renderer 0 0 0 255 in for row = 0 to size - 1 do for col = 0 to size - 1 do let is_dark = QR.get_module qr_widget ~x:col ~y:row in if is_dark then let rect = Rect.create ~x:(x + ((quiet_zone + col) * module_size)) ~y:(y + ((quiet_zone + row) * module_size)) ~w:module_size ~h:module_size in let _ = render_fill_rect renderer (Some rect) in () done done
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>