package bogue
GUI library for ocaml, with animations, based on SDL2
Install
Dune Dependency
Authors
Maintainers
Sources
20250224.tar.gz
md5=9ed50817c2a03c311df5ae7d2475555b
sha512=35f2eb49cb8897507a7d740d3575b5b840f04e0aa6a7834a55cda0dbc476723d66bf2b4bd4b78b0ba29e9e2d9cab249bfb5a02d515c21f9d27653318079d1879
doc/CHANGELOG.html
Changelog
Warning: this changelog is not complete for changes before 2023
All notable changes to the Bogue project will be documented in this file.
The format is based on Keep a Changelog.
Unreleased
Developement
- Move
dune
dependeny tobuild
only.
20250219
Added
- New module:
File
for file selection dialogs and file monitoring. This is quite a complex layout, so we decided make it public now in a beta-testing phase. New features will be added later, and maybe small API changes. - Example #54 with a file dialog.
Popups
can now be closed by pressing ESCAPE.- additional functions in
Main
for dynamically updating global shortcuts.
Changed
Layout.set_size
now takes optional arguments for sizes (allows to reduce the number of calls toresize_content
)Theme.set_integer_scale
is renamed toTheme.set_int_scale
to conform with the env var INT_SCALE.
20241212
Added
- New theme variable NATURAL_SCROLLING.
- New functions
Mouse.wheel_y
,Mouse.set_wheel_speed
. Flat
andTower
have new resizing strategies.Selection
new functionsis_empty
,size
,range
,first
,last
,invert
.Table
layouts can now be resized dynamically.- Can now navigate
tabs
with TAB! ;) (preliminary) - Can now enable/disable a layout with
Layout.set_enabled
. New Examples #53, #53bis. - changing text color in
Text_display
is now possible, usingWidget.html
, see exemple 47. - underlining text in
Text_display
is now possible, usingWidget.html
(but spaces between words are not underlined at this point), see example 6. Theme.get_path
is now public.Theme.get_font_path_opt
Label.font_from_file
allows the use of arbitrary fonts in addition to the Theme fonts (which is not recommended anyways for good design).- font example 52.
Changed
- Scrolling direction is "natural" by default on Mac OS.
- Options for
Layout.flat*
andLayout.tower*
have changed. If you were using any ofscale_content
orkeep_resize
you should use the newresize
option instead. Layout.unload_textures
is renamedLayout.iter_unload_textures
Fixed
Table
layouts can now be resized dynamically.- Better resizing for
tabs
: menu height is fixed. - Better resizing for
flat
andtower
: margins are not scaled. Long_list
layouts can now be resized dynamically.Label
style
parameter is now usable (ocamldoc invocation was wrong fortsdl_ttf
), and can also be used forWidget.label
.
Developement
- New
Resize
module insideLayout
. - clarify that
dst
field ofblit
isNone
means NO RENDERING. - experimental
Detect
for detecting flat and tower layouts.
20240928
Added
Avar.reset
is now public.Layout.is_shown
.Layout.inside
is now public.Snapshot.to_cursor
(experimental).Main.get_monitors_refresh_rate
.- "NO_VSYNC" theme variable.
Changed
Main.run
andTime.adaptive_fps
have an optional argumentvsync
.- Enable adaptive vsync (through openGL) by default.
- There is now no difference between the types
sdl_event
andSdl.Event.enum
.
Developement
- New
Time.adaptive_fps
using swap interval. Main.get_window_refresh_rate
Draw.surface_from_texture
- We now use tsdl >= 1.0.0.
- We don't un/lock audio automatically anymore.
20240225
Warning: Last version compatible with tsdl < 0.9.9 (and >= 0.9.7)
Added
Text_input.activate
is now publicBox.get_style
andBox.set_style
are now public.
Fixed
- Take advantage of recent SDL version to (greatly!) reduce power saving with idle.
- Fix too large cursor position when using Text_input.set
Developement
mouse_at_rest
now usesTimeout
.- Switch from
directories
toxdg
to work on Windows. - Remove symlinks in doc.
- The
example.ml
file is now calledexamples.ml
, which is much more logical since it contains more than 50 examples. - Trying to enforce that all used submodules are aliased (to make it clear they are used) in the header of each file, example
module Time = B_time
.
20231209
Added
- Use
directories
to compute home and config paths, and add special care for Windows OS. - Deal with systems without audio device
Changed
Fixed
- fix flickering menus
- Workaround for Mac OS 13.0.1 cocoa bug when closing windows
etc.
20221112
older versions are not documented here yet...
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page