mirror of
https://github.com/20kdc/OC-KittenOS.git
synced 2024-11-30 14:18:06 +11:00
899a3b2521
Also, the logo is now stored as a BMP. Turnaround time on that thing is one click, we're nowhere near done reaping the benefits of indexed colour, etc.
68 lines
1.9 KiB
Plaintext
68 lines
1.9 KiB
Plaintext
The "braille" library, contrary to
|
|
its name, in fact a library for the
|
|
drawing of graphics using the...
|
|
"repurposed" Braille characters in
|
|
OC's font. This library is meant to
|
|
be usable easily from applications,
|
|
including those that mix text and
|
|
graphics in a normal UI.
|
|
|
|
Upon requiring, you get a wrapMeta'd
|
|
table, which consists of two
|
|
functions at this time:
|
|
|
|
calcLine(x, y, w, span, get
|
|
[, colour]) -> calc:
|
|
Given an X/Y character position,
|
|
and a given width in characters,
|
|
along with the get function:
|
|
get(xp, yp) -> r, g, b
|
|
(NOTE: These coords are 0-based!)
|
|
and colour (a number, the amount of
|
|
difference required to cause an
|
|
FG/BG change - not giving this
|
|
disables colour output),
|
|
output spans to the span function:
|
|
span(x, y, str, bg, fg)
|
|
|
|
new(x, y, w, h, cbs, colour) -> nux:
|
|
Creates a NeoUX component for an
|
|
embedded braille image.
|
|
X, Y, W and H are in characters,
|
|
each character offering 2x4 pixels.
|
|
cbs is a table that may have the
|
|
following fields:
|
|
|
|
selectable : The selectable flag.
|
|
key/clipboard :
|
|
Identical to NeoUX's.
|
|
touch/drag/drop/scroll: See NeoUX
|
|
for full details, but the xI and
|
|
yI parameters are gone, and the
|
|
X/Y coordinates are in Braille
|
|
pixels. The button/direction value
|
|
if any remains unchanged, but in
|
|
an earlier position.
|
|
|
|
and must have a "get" function:
|
|
get(window, x, y) -> r, g, b
|
|
Gets the R/G/B of a pixel on the
|
|
image, with a 1-based pixel X/Y.
|
|
Details of conversion are hidden
|
|
from the user of this library for
|
|
future improvement by the end-user
|
|
or another party, but in no-colour
|
|
mode, 255, 255, 255 will always
|
|
show white and 0, 0, 0 will always
|
|
show black.
|
|
colour enables colour (see above),
|
|
though if displayed on a screen
|
|
without colour, this option is
|
|
ignored for that time.
|
|
|
|
-- This is released into
|
|
the public domain.
|
|
-- No warranty is provided,
|
|
implied or otherwise.
|
|
|