Module: Hokusai
- Defined in:
- ui/src/hokusai.rb,
ui/src/hokusai/ast.rb,
ui/src/hokusai/diff.rb,
ui/src/hokusai/font.rb,
ui/src/hokusai/meta.rb,
ui/src/hokusai/node.rb,
ui/src/hokusai/block.rb,
ui/src/hokusai/error.rb,
ui/src/hokusai/event.rb,
ui/src/hokusai/style.rb,
ui/src/hokusai/types.rb,
ui/src/hokusai/painter.rb,
ui/src/hokusai/commands.rb,
ui/src/hokusai/publisher.rb,
ui/src/hokusai/events/mouse.rb,
ui/src/hokusai/node_mounter.rb,
ui/src/hokusai/commands/rect.rb,
ui/src/hokusai/commands/text.rb,
ui/src/hokusai/commands/image.rb,
ui/src/hokusai/commands/circle.rb,
ui/src/hokusai/events/keyboard.rb,
ui/src/hokusai/commands/scissor.rb,
ui/src/hokusai/automation/client.rb,
ui/src/hokusai/automation/driver.rb,
ui/src/hokusai/automation/server.rb,
ui/src/hokusai/mounting/loop_entry.rb,
ui/src/hokusai/backends/raylib/font.rb,
ui/src/hokusai/mounting/mount_entry.rb,
ui/src/hokusai/mounting/update_entry.rb
Overview
A backend agnostic library for authoring desktop applications
Defined Under Namespace
Modules: Automation, Backends, Blocks, Mounting, Util Classes: Ast, Block, Canvas, Clamping, ClickEvent, Color, Commands, CursorState, DeletePatch, Diff, Error, Event, Font, FontRegistry, HoverEvent, Input, InsertPatch, KeyPressEvent, KeyUpEvent, Keyboard, KeyboardEvent, Meta, Mouse, MouseDownEvent, MouseEvent, MouseMoveEvent, MouseOutEvent, MouseUpEvent, MovePatch, Node, NodeMounter, Outline, Padding, Painter, PainterEntry, Publisher, Rect, Style, UpdatePatch, WheelEvent
Constant Summary collapse
- ThreadPool =
Concurrent::ThreadPoolExecutor.new( min_threads: 5, max_threads: 5, max_queue: 20, fallback_policy: :caller_runs )
Class Method Summary collapse
-
.can_render(canvas) ⇒ Bool
Tells if a canvas is renderable Useful for pruning unneeded renders.
-
.close_window ⇒ void
Close the current window.
-
.fonts ⇒ Hokusai::FontRegistry
Access the font registry.
-
.maximize_window ⇒ void
Maxmizes the current window.
-
.minimize_window ⇒ void
Minimizes the current window.
-
.on_close_window(&block) ⇒ Object
Backend: Provides the window close callback.
-
.on_maximize_window(&block) ⇒ Object
Backend Provides the maximize window callback.
-
.on_minimize_window(&block) ⇒ Object
Backend Provides the minimize window callback.
- .on_renderable(&block) ⇒ Object
-
.on_restore_window(&block) ⇒ Object
Backend: Provides the window restore callback.
- .on_set_mouse_cursor(&block) ⇒ Object
-
.on_set_mouse_position(&block) ⇒ Object
Backend: Provides the mouse position callback.
-
.on_set_window_position(&block) ⇒ Object
Backend: Provides the window position callback.
-
.restore_window ⇒ void
Restores the current window.
- .set_mouse_cursor(type) ⇒ Object
-
.set_mouse_position(mouse) ⇒ void
Sets the window position on the screen.
-
.set_window_position(mouse) ⇒ void
Sets the window position on the screen.
Class Method Details
.can_render(canvas) ⇒ Bool
Tells if a canvas is renderable Useful for pruning unneeded renders
141 142 143 |
# File 'ui/src/hokusai.rb', line 141 def self.can_render(canvas) @on_renderable&.call(canvas) end |
.close_window ⇒ void
This method returns an undefined value.
Close the current window
61 62 63 |
# File 'ui/src/hokusai.rb', line 61 def self.close_window @on_close_window&.call end |
.fonts ⇒ Hokusai::FontRegistry
Access the font registry
54 55 56 |
# File 'ui/src/hokusai.rb', line 54 def self.fonts @fonts ||= FontRegistry.new end |
.maximize_window ⇒ void
This method returns an undefined value.
Maxmizes the current window
97 98 99 |
# File 'ui/src/hokusai.rb', line 97 def self.maximize_window @on_maximize_window&.call end |
.minimize_window ⇒ void
This method returns an undefined value.
Minimizes the current window
85 86 87 |
# File 'ui/src/hokusai.rb', line 85 def self.minimize_window @on_minimize_window&.call end |
.on_close_window(&block) ⇒ Object
Backend: Provides the window close callback
66 67 68 |
# File 'ui/src/hokusai.rb', line 66 def self.on_close_window(&block) @on_close_window = block end |
.on_maximize_window(&block) ⇒ Object
Backend Provides the maximize window callback
102 103 104 |
# File 'ui/src/hokusai.rb', line 102 def self.on_maximize_window(&block) @on_maximize_window = block end |
.on_minimize_window(&block) ⇒ Object
Backend Provides the minimize window callback
90 91 92 |
# File 'ui/src/hokusai.rb', line 90 def self.on_minimize_window(&block) @on_minimize_window = block end |
.on_renderable(&block) ⇒ Object
132 133 134 |
# File 'ui/src/hokusai.rb', line 132 def self.on_renderable(&block) @on_renderable = block end |
.on_restore_window(&block) ⇒ Object
Backend: Provides the window restore callback
71 72 73 |
# File 'ui/src/hokusai.rb', line 71 def self.on_restore_window(&block) @on_restore_window = block end |
.on_set_mouse_cursor(&block) ⇒ Object
145 146 147 |
# File 'ui/src/hokusai.rb', line 145 def self.on_set_mouse_cursor(&block) @on_set_mouse_cursor = block end |
.on_set_mouse_position(&block) ⇒ Object
Backend: Provides the mouse position callback
120 121 122 |
# File 'ui/src/hokusai.rb', line 120 def self.on_set_mouse_position(&block) @on_set_mouse_position = block end |
.on_set_window_position(&block) ⇒ Object
Backend: Provides the window position callback
115 116 117 |
# File 'ui/src/hokusai.rb', line 115 def self.on_set_window_position(&block) @on_set_window_position = block end |
.restore_window ⇒ void
This method returns an undefined value.
Restores the current window
78 79 80 |
# File 'ui/src/hokusai.rb', line 78 def self.restore_window @on_restore_window&.call end |
.set_mouse_cursor(type) ⇒ Object
149 150 151 |
# File 'ui/src/hokusai.rb', line 149 def self.set_mouse_cursor(type) @on_set_mouse_cursor&.call(type) end |
.set_mouse_position(mouse) ⇒ void
This method returns an undefined value.
Sets the window position on the screen
128 129 130 |
# File 'ui/src/hokusai.rb', line 128 def self.set_mouse_position(mouse) @on_set_mouse_position&.call(mouse) end |
.set_window_position(mouse) ⇒ void
This method returns an undefined value.
Sets the window position on the screen
110 111 112 |
# File 'ui/src/hokusai.rb', line 110 def self.set_window_position(mouse) @on_set_window_position&.call(mouse) end |