From 86dacb2352c09c53273aa22f05183082225ee100 Mon Sep 17 00:00:00 2001 From: tototomate123 Date: Fri, 24 Oct 2025 15:22:19 +0200 Subject: [PATCH] first commit --- .gitignore | 2 + build_kindle.sh | 41 + src/display.go | 73 ++ src/draw.go | 236 ++++++ src/fbink/fbink.h | 1804 ++++++++++++++++++++++++++++++++++++++++++ src/fbink/libfbink.a | Bin 0 -> 1478114 bytes src/fbinkutil.go | 76 ++ src/go.mod | 3 + src/main.go | 185 +++++ src/touch.go | 279 +++++++ src/ui.go | 708 +++++++++++++++++ 11 files changed, 3407 insertions(+) create mode 100644 .gitignore create mode 100755 build_kindle.sh create mode 100644 src/display.go create mode 100644 src/draw.go create mode 100644 src/fbink/fbink.h create mode 100644 src/fbink/libfbink.a create mode 100644 src/fbinkutil.go create mode 100644 src/go.mod create mode 100644 src/main.go create mode 100644 src/touch.go create mode 100644 src/ui.go diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..499820e --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +kindle_fbink_go +test-go \ No newline at end of file diff --git a/build_kindle.sh b/build_kindle.sh new file mode 100755 index 0000000..78f92d3 --- /dev/null +++ b/build_kindle.sh @@ -0,0 +1,41 @@ +#!/usr/bin/env bash +set -e + +CONTAINER_NAME=kindle_go_builder +WORKDIR=/src +OUTFILE=kindle_fbink_go + +if ! docker ps -a --format '{{.Names}}' | grep -q "^${CONTAINER_NAME}\$"; then + echo "[sh] Creating container" + docker run -dit --name ${CONTAINER_NAME} debian:bookworm sleep infinity +fi + +echo "[sh] Installing toolchain inside container" +docker exec ${CONTAINER_NAME} bash -c " + set -e + apt-get update + apt-get install -y golang-go curl xz-utils build-essential gcc-arm-linux-gnueabi g++-arm-linux-gnueabi + if [ ! -d /usr/local/arm-linux-musleabi-cross ]; then + echo '[sh] Downloading musl cross toolchain...' + cd /usr/local + curl -L https://musl.cc/arm-linux-musleabi-cross.tgz | tar xz + fi +" + +echo "[sh] Copying project into container" +docker exec ${CONTAINER_NAME} rm -rf ${WORKDIR} +docker cp ./go ${CONTAINER_NAME}:${WORKDIR} + +echo "[sh] Building for ARMv7 soft-float (musl static)" +docker exec ${CONTAINER_NAME} bash -c " + set -e + export PATH=/usr/local/arm-linux-musleabi-cross/bin:\$PATH + cd ${WORKDIR} + export GOOS=linux GOARCH=arm GOARM=5 CGO_ENABLED=1 CC=arm-linux-gnueabi-gcc + go build -ldflags '-linkmode external -extldflags "-static"' -o kindle_fbink_go . +" + +echo "[sh] Copying binary back to hsot" +docker cp ${CONTAINER_NAME}:${WORKDIR}/${OUTFILE} ./${OUTFILE} + +echo "[sh] Build complete: ${OUTFILE}" diff --git a/src/display.go b/src/display.go new file mode 100644 index 0000000..48758f5 --- /dev/null +++ b/src/display.go @@ -0,0 +1,73 @@ +package main + +import ( + "fmt" + "os" + "strconv" + "strings" +) + +type DisplayController struct { + brightness BrightnessInfo +} + +type BrightnessInfo struct { + maxBrightness int + currentBrightness int + brightnessPath string +} + +const BACKLIGHT_DIR = "/sys/class/backlight/" + +func (a *App) initBrightness() { + entries, err := os.ReadDir(BACKLIGHT_DIR) + if err != nil || len(entries) != 1 { + return + } + + entry := entries[0].Name() + brightnessPath := fmt.Sprintf("%s%s/brightness", BACKLIGHT_DIR, entry) + maxPath := fmt.Sprintf("%s%s/max_brightness", BACKLIGHT_DIR, entry) + + if err := os.WriteFile(brightnessPath, []byte("256\n"), 0644); err != nil { + return + } + + maxBytes, err := os.ReadFile(maxPath) + if err != nil { + return + } + + maxVal, err := strconv.Atoi(strings.TrimSpace(string(maxBytes))) + if err != nil { + return + } + + controller := DisplayController{ + brightness: BrightnessInfo{ + maxBrightness: maxVal, + currentBrightness: 256, + brightnessPath: brightnessPath, + }, + } + fmt.Println("display controller assembled") + a.dispCtrl = controller +} + +func (a *App) setBrightness(newBrightness int) { + filepath := a.dispCtrl.brightness.brightnessPath + if filepath == "" { + fmt.Println("no filepath to change brightness") + return + } + if newBrightness > a.dispCtrl.brightness.maxBrightness { + newBrightness = a.dispCtrl.brightness.maxBrightness + } + if newBrightness < 0 { + newBrightness = 0 + } + + os.WriteFile(filepath, []byte(strconv.Itoa(newBrightness)+"\n"), 0644) + a.dispCtrl.brightness.currentBrightness = newBrightness + +} diff --git a/src/draw.go b/src/draw.go new file mode 100644 index 0000000..d6bc68a --- /dev/null +++ b/src/draw.go @@ -0,0 +1,236 @@ +package main + +import "math" + +type Vec3 struct{ x, y, z float64 } + +func project(v Vec3, w, h int, scale float64) (int, int) { + return int(v.x*scale) + w/2, int(v.y*scale) + h/2 +} +func rotate(v Vec3, ax, ay, az float64) Vec3 { + cx, sx := math.Cos(ax), math.Sin(ax) + cy, sy := math.Cos(ay), math.Sin(ay) + cz, sz := math.Cos(az), math.Sin(az) + x := v.x*cy*cz + v.y*(sx*sy*cz-cx*sz) + v.z*(cx*sy*cz+sx*sz) + y := v.x*cy*sz + v.y*(sx*sy*sz+cx*cz) + v.z*(cx*sy*sz-sx*cz) + z := v.x*-sy + v.y*sx*cy + v.z*cx*cy + return Vec3{x, y, z} +} + +func setPixel(buf []byte, stride, x, y int, color byte) { + if x < 0 || y < 0 || x >= stride { + return + } + idx := y*stride + x + if idx < 0 || idx >= len(buf) { + return + } + buf[idx] = color +} + +func drawHSpan(buf []byte, stride, x0, x1, y int, color byte) { + if x0 > x1 { + return + } + if y < 0 || y*stride >= len(buf) { + return + } + if x0 < 0 { + x0 = 0 + } + if x1 >= stride { + x1 = stride - 1 + } + row := y * stride + if row < 0 || row >= len(buf) { + return + } + for x := x0; x <= x1; x++ { + idx := row + x + if idx >= 0 && idx < len(buf) { + buf[idx] = color + } + } +} + +func drawLine(buf []byte, stride, x0, y0, x1, y1 int, color byte) { + dx := int(math.Abs(float64(x1 - x0))) + sx := -1 + if x0 < x1 { + sx = 1 + } + dy := -int(math.Abs(float64(y1 - y0))) + sy := -1 + if y0 < y1 { + sy = 1 + } + e := dx + dy + for { + if x0 >= 0 && x0 < stride && y0 >= 0 && y0*stride+x0 < len(buf) { + buf[y0*stride+x0] = color + } + if x0 == x1 && y0 == y1 { + break + } + e2 := 2 * e + if e2 >= dy { + e += dy + x0 += sx + } + if e2 <= dx { + e += dx + y0 += sy + } + } +} + +func drawRect(buf []byte, stride, x, y, w, h int, color byte) { + for j := y; j < y+h; j++ { + if j < 0 || j*stride >= len(buf) { + continue + } + row := j * stride + for i := x; i < x+w; i++ { + if i >= 0 && i < stride && row+i < len(buf) { + buf[row+i] = color + } + } + } +} + +func strokeRect(buf []byte, stride, x, y, w, h, thickness int, color byte) { + if thickness <= 0 || w <= 0 || h <= 0 { + return + } + if thickness > w/2 { + thickness = w / 2 + } + if thickness > h/2 { + thickness = h / 2 + } + drawRect(buf, stride, x, y, w, thickness, color) + drawRect(buf, stride, x, y+h-thickness, w, thickness, color) + drawRect(buf, stride, x, y, thickness, h, color) + drawRect(buf, stride, x+w-thickness, y, thickness, h, color) +} + +func fillRoundedRect(buf []byte, stride, x, y, w, h, radius int, color byte) { + if w <= 0 || h <= 0 { + return + } + if radius <= 0 { + drawRect(buf, stride, x, y, w, h, color) + return + } + maxRadius := w + if h < maxRadius { + maxRadius = h + } + maxRadius /= 2 + if radius > maxRadius { + radius = maxRadius + } + if radius <= 0 { + drawRect(buf, stride, x, y, w, h, color) + return + } + innerHeight := h - 2*radius + if innerHeight > 0 { + drawRect(buf, stride, x, y+radius, w, innerHeight, color) + } + floatR := float64(radius) + for oy := 0; oy < radius; oy++ { + dy := floatR - (float64(oy) + 0.5) + delta := floatR*floatR - dy*dy + if delta < 0 { + continue + } + span := int(math.Sqrt(delta)) + left := x + radius - span + right := x + w - radius + span - 1 + drawHSpan(buf, stride, left, right, y+oy, color) + drawHSpan(buf, stride, left, right, y+h-1-oy, color) + } +} + +func strokeRoundedRect(buf []byte, stride, x, y, w, h, thickness, radius int, color byte) { + if thickness <= 0 || w <= 0 || h <= 0 { + return + } + if thickness > w/2 { + thickness = w / 2 + } + if thickness > h/2 { + thickness = h / 2 + } + if radius <= 0 { + strokeRect(buf, stride, x, y, w, h, thickness, color) + return + } + maxRadius := w + if h < maxRadius { + maxRadius = h + } + maxRadius /= 2 + if radius > maxRadius { + radius = maxRadius + } + if radius <= 0 { + strokeRect(buf, stride, x, y, w, h, thickness, color) + return + } + innerRadius := radius - thickness + if innerRadius < 0 { + innerRadius = 0 + } + topWidth := w - 2*radius + if topWidth < 0 { + topWidth = 0 + } + if topWidth > 0 { + drawRect(buf, stride, x+radius, y, topWidth, thickness, color) + drawRect(buf, stride, x+radius, y+h-thickness, topWidth, thickness, color) + } + sideHeight := h - 2*radius + if sideHeight < 0 { + sideHeight = 0 + } + if sideHeight > 0 { + drawRect(buf, stride, x, y+radius, thickness, sideHeight, color) + drawRect(buf, stride, x+w-thickness, y+radius, thickness, sideHeight, color) + } + floatOuter := float64(radius) + floatInner := float64(innerRadius) + outerSq := floatOuter * floatOuter + innerSq := floatInner * floatInner + for oy := 0; oy < radius; oy++ { + pyTop := y + oy + pyBottom := y + h - 1 - oy + dy := floatOuter - (float64(oy) + 0.5) + outerDelta := outerSq - dy*dy + if outerDelta < 0 { + continue + } + outerSpan := int(math.Sqrt(outerDelta)) + outerLeft := x + radius - outerSpan + outerRight := x + w - radius + outerSpan - 1 + if innerRadius <= 0 { + drawHSpan(buf, stride, outerLeft, outerRight, pyTop, color) + drawHSpan(buf, stride, outerLeft, outerRight, pyBottom, color) + continue + } + innerDelta := innerSq - dy*dy + if innerDelta <= 0 { + drawHSpan(buf, stride, outerLeft, outerRight, pyTop, color) + drawHSpan(buf, stride, outerLeft, outerRight, pyBottom, color) + continue + } + innerSpan := int(math.Sqrt(innerDelta)) + innerLeft := x + radius - innerSpan + innerRight := x + w - radius + innerSpan - 1 + drawHSpan(buf, stride, outerLeft, innerLeft-1, pyTop, color) + drawHSpan(buf, stride, innerRight+1, outerRight, pyTop, color) + drawHSpan(buf, stride, outerLeft, innerLeft-1, pyBottom, color) + drawHSpan(buf, stride, innerRight+1, outerRight, pyBottom, color) + } +} diff --git a/src/fbink/fbink.h b/src/fbink/fbink.h new file mode 100644 index 0000000..3fb3202 --- /dev/null +++ b/src/fbink/fbink.h @@ -0,0 +1,1804 @@ +/* + FBInk: FrameBuffer eInker, a library to print text & images to an eInk Linux framebuffer + Copyright (C) 2018-2024 NiLuJe + SPDX-License-Identifier: GPL-3.0-or-later + + ---- + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#ifndef __FBINK_H +#define __FBINK_H + +// Because we're pretty much Linux-bound ;). +#ifndef _GNU_SOURCE +# define _GNU_SOURCE +#endif + +#include +#include +#include +#include + +#include + +// Be friendly with C++ compilers (both GCC & Clang support __restrict__). +#ifdef __cplusplus +# define restrict __restrict__ +extern "C" { +#endif + +// Symbol visibility shenanigans... +// c.f., https://gcc.gnu.org/wiki/Visibility +#if __GNUC__ >= 4 +# define DLL_PUBLIC __attribute__((visibility("default"))) +# define DLL_LOCAL __attribute__((visibility("hidden"))) +#else +# define DLL_PUBLIC +# define DLL_LOCAL +#endif + +// Are we actually building the shared lib? +#ifdef FBINK_SHAREDLIB +# define FBINK_API DLL_PUBLIC +# define FBINK_LOCAL DLL_LOCAL +#else +# define FBINK_API +# define FBINK_LOCAL +#endif + +// +//// +// +// Magic number for automatic fbfd handling +#define FBFD_AUTO -1 +// As 0 is an invalid marker value, we can coopt it to try to retrieve our own last sent marker +#define LAST_MARKER 0U + +// NOTE: There's a dirty bit of trickery involved here to coerce enums into a specific data type (instead of an int): +// * The packed attribute, which does locally what GCC's -fshort-enums does globally, +// ensuring the enum's data type is only as wide as the actual values require. +// * A tail element with a value corresponding to the MAX of the target data type, +// mainly used to enforce an unsigned data type. +// BUT, while this "works" in C, this is essentially non-standard, and would break most automatic bindings, +// which happily assume we're not breaking the C standard, and as such expect an enum to be int-sized... +// So, in addition to that, instead of using the enum's typedef directly, we go through an explicit typedef. +// This obviously still works in C because enums are dumb, they're basically unscoped constants, +// and this makes bindings happy because they'll have an explicit typedef to rely on. +// Fun fact: this is essentially what the Go bindings were already doing ;). +// +// Supported targets +typedef enum +{ + FBINK_TARGET_LINUX = 0U, + FBINK_TARGET_KOBO, + FBINK_TARGET_KINDLE, + FBINK_TARGET_KINDLE_LEGACY, + FBINK_TARGET_CERVANTES, + FBINK_TARGET_REMARKABLE, + FBINK_TARGET_POCKETBOOK, + FBINK_TARGET_MAX = UINT8_MAX, +} __attribute__((packed)) FBINK_TARGET_E; +typedef uint8_t FBINK_TARGET_T; + +// Supported feature flags +#define FBINK_FEATURE_MINIMAL 0 +#define FBINK_FEATURE_DRAW (1 << 0) // Basic draw primitives +#define FBINK_FEATURE_BITMAP (1 << 1) // Fixed-cell font rendering, plus the base IBM font +#define FBINK_FEATURE_FONTS (1 << 2) // The full set of fixed-cell fonts +#define FBINK_FEATURE_UNIFONT (1 << 3) // Unifont for the fixed-cell font rendering +#define FBINK_FEATURE_OPENTYPE (1 << 4) // TrueType/OpenType font rendering +#define FBINK_FEATURE_IMAGE (1 << 5) // Image support +#define FBINK_FEATURE_BUTTON_SCAN (1 << 6) // Button scan support (Kobo only, deprecated) +#define FBINK_FEATURE_INPUT (1 << 7) // Input utilities (e.g., fbink_input_scan) +#define FBINK_FEATURE_FULL \ + (FBINK_FEATURE_DRAW | FBINK_FEATURE_BITMAP | FBINK_FEATURE_FONTS | FBINK_FEATURE_OPENTYPE | \ + FBINK_FEATURE_IMAGE | FBINK_FEATURE_INPUT) + +// List of available fonts +typedef enum +{ + IBM = 0U, // font8x8 + UNSCII, // unscii-8 + UNSCII_ALT, // unscii-8-alt + UNSCII_THIN, // unscii-8-thin + UNSCII_FANTASY, // unscii-8-fantasy + UNSCII_MCR, // unscii-8-mcr + UNSCII_TALL, // unscii-16 + BLOCK, // block + LEGGIE, // leggie (regular) + VEGGIE, // leggie EGA/VGA/FB + KATES, // kates (nexus) + FKP, // fkp + CTRLD, // ctrld + ORP, // orp (regular) + ORPB, // orp (bold) + ORPI, // orp (italic) + SCIENTIFICA, // scientifica (regular) + SCIENTIFICAB, // scientifica (bold) + SCIENTIFICAI, // scientifica (italic) + TERMINUS, // terminus (regular) + TERMINUSB, // terminus (bold) + FATTY, // fatty + SPLEEN, // spleen + TEWI, // tewi (medium) + TEWIB, // tewi (bold) + TOPAZ, // Topaz+ A1200 + MICROKNIGHT, // MicroKnight+ + VGA, // IBM VGA 8x16 + UNIFONT, // Unifont (single-wide glyphs only) + UNIFONTDW, // Unifont (double-wide glyphs only) + COZETTE, // Cozette + FONT_MAX = UINT8_MAX, // uint8_t +} __attribute__((packed)) FONT_INDEX_E; +typedef uint8_t FONT_INDEX_T; + +// List of supported font styles +typedef enum +{ + FNT_REGULAR = 0U, + FNT_ITALIC, + FNT_BOLD, + FNT_BOLD_ITALIC, +} FONT_STYLE_E; +// NOTE: This one is not packed to avoid breaking ABI w/ fbink_add_ot_font +typedef int FONT_STYLE_T; + +// List of available halign/valign values +typedef enum +{ + NONE = 0U, // i.e., LEFT for halign, TOP for valign + CENTER, // + EDGE, // i.e., RIGHT for halign, BOTTOM for valign + ALIGN_MAX = UINT8_MAX, // uint8_t +} __attribute__((packed)) ALIGN_INDEX_E; +typedef uint8_t ALIGN_INDEX_T; + +// List of available padding values +typedef enum +{ + NO_PADDING = 0U, + HORI_PADDING, + VERT_PADDING, + FULL_PADDING, + MAX_PADDING = UINT8_MAX, // uint8_t +} __attribute__((packed)) PADDING_INDEX_E; +typedef uint8_t PADDING_INDEX_T; + +// List of available colors in the eInk color map +// NOTE: This is split in FG & BG to ensure that the default values lead to a sane result (i.e., black on white) +typedef enum +{ + FG_BLACK = 0U, // 0x00 + FG_GRAY1, // 0x11 + FG_GRAY2, // 0x22 + FG_GRAY3, // 0x33 + FG_GRAY4, // 0x44 + FG_GRAY5, // 0x55 + FG_GRAY6, // 0x66 + FG_GRAY7, // 0x77 + FG_GRAY8, // 0x88 + FG_GRAY9, // 0x99 + FG_GRAYA, // 0xAA + FG_GRAYB, // 0xBB + FG_GRAYC, // 0xCC + FG_GRAYD, // 0xDD + FG_GRAYE, // 0xEE + FG_WHITE, // 0xFF + FG_MAX = UINT8_MAX, // uint8_t +} __attribute__((packed)) FG_COLOR_INDEX_E; +typedef uint8_t FG_COLOR_INDEX_T; + +typedef enum +{ + BG_WHITE = 0U, + BG_GRAYE, + BG_GRAYD, + BG_GRAYC, + BG_GRAYB, + BG_GRAYA, + BG_GRAY9, + BG_GRAY8, + BG_GRAY7, + BG_GRAY6, + BG_GRAY5, + BG_GRAY4, + BG_GRAY3, + BG_GRAY2, + BG_GRAY1, + BG_BLACK, + BG_MAX = UINT8_MAX, // uint8_t +} __attribute__((packed)) BG_COLOR_INDEX_E; +typedef uint8_t BG_COLOR_INDEX_T; + +// List of Cervantes device IDs (HWConfig PCB index) +typedef enum +{ + DEVICE_CERVANTES_TOUCH = 22U, + DEVICE_CERVANTES_TOUCHLIGHT = 23U, + DEVICE_CERVANTES_2013 = 33U, + DEVICE_CERVANTES_3 = 51U, + DEVICE_CERVANTES_4 = 68U, + DEVICE_CERVANTES_MAX = UINT16_MAX, // uint16_t +} __attribute__((packed)) CERVANTES_DEVICE_ID_E; + +// List of Kobo device IDs +typedef enum +{ + DEVICE_KOBO_TOUCH_A = 300U, // Not an actual Kobo ID, Nickel bundles it with the B + DEVICE_KOBO_TOUCH_B = 310U, + DEVICE_KOBO_TOUCH_C = 320U, + DEVICE_KOBO_MINI = 340U, + DEVICE_KOBO_GLO = 330U, + DEVICE_KOBO_GLO_HD = 371U, + DEVICE_TOLINO_SHINE_2HD = DEVICE_KOBO_GLO_HD + 300U, + DEVICE_KOBO_TOUCH_2 = 372U, + DEVICE_KOBO_AURA = 360U, + DEVICE_KOBO_AURA_HD = 350U, + DEVICE_KOBO_AURA_H2O = 370U, + DEVICE_KOBO_AURA_H2O_2 = 374U, + DEVICE_KOBO_AURA_H2O_2_R2 = 378U, + DEVICE_KOBO_AURA_ONE = 373U, + DEVICE_KOBO_AURA_ONE_LE = 381U, + DEVICE_KOBO_AURA_SE = 375U, + DEVICE_TOLINO_VISION = DEVICE_KOBO_AURA_SE + 300U, + DEVICE_KOBO_AURA_SE_R2 = 379U, + DEVICE_KOBO_CLARA_HD = 376U, + DEVICE_TOLINO_SHINE_3 = DEVICE_KOBO_CLARA_HD + 300U, + DEVICE_KOBO_FORMA = 377U, + DEVICE_TOLINO_EPOS_2 = DEVICE_KOBO_FORMA + 300U, + DEVICE_KOBO_FORMA_32GB = 380U, + DEVICE_KOBO_LIBRA_H2O = 384U, + DEVICE_TOLINO_VISION_5 = DEVICE_KOBO_LIBRA_H2O + 300U, + DEVICE_KOBO_NIA = 382U, + DEVICE_KOBO_ELIPSA = 387U, + DEVICE_KOBO_LIBRA_2 = 388U, + DEVICE_KOBO_SAGE = 383U, + DEVICE_TOLINO_EPOS_3 = DEVICE_KOBO_SAGE + 300U, + DEVICE_KOBO_CLARA_2E = 386U, + DEVICE_KOBO_ELIPSA_2E = 389U, + DEVICE_KOBO_LIBRA_COLOUR = 390U, + DEVICE_TOLINO_VISION_COLOR = DEVICE_KOBO_LIBRA_COLOUR + 300U, + DEVICE_KOBO_CLARA_BW = 391U, + DEVICE_TOLINO_SHINE_BW = DEVICE_KOBO_CLARA_BW + 300U, + DEVICE_KOBO_CLARA_COLOUR = 393U, + DEVICE_TOLINO_SHINE_COLOR = DEVICE_KOBO_CLARA_COLOUR + 300U, + DEVICE_KOBO_CLARA_BW_TPV = 395U, + DEVICE_KOBO_MAX = UINT16_MAX, // uint16_t +} __attribute__((packed)) KOBO_DEVICE_ID_E; + +// List of device IDs for mainline kernels +// c.f., https://github.com/NiLuJe/FBInk/issues/70#issuecomment-1242274710 for Tolinos +typedef enum +{ + DEVICE_MAINLINE_TOLINO_SHINE_2HD = ('T' << 8U) | ('o' << 8U) | ('l' << 8U) | DEVICE_KOBO_GLO_HD, + DEVICE_MAINLINE_TOLINO_SHINE_3 = ('T' << 8U) | ('o' << 8U) | ('l' << 8U) | DEVICE_KOBO_CLARA_HD, + DEVICE_MAINLINE_TOLINO_VISION = ('T' << 8U) | ('o' << 8U) | ('l' << 8U) | DEVICE_KOBO_AURA_SE, + DEVICE_MAINLINE_TOLINO_VISION_5 = ('T' << 8U) | ('o' << 8U) | ('l' << 8U) | DEVICE_KOBO_LIBRA_H2O, + DEVICE_MAINLINE_GENERIC_IMX5 = ('i' << 8U) | ('.' << 8U) | 'M' | 'X' | '5', + DEVICE_MAINLINE_GENERIC_IMX6 = ('i' << 8U) | ('.' << 8U) | 'M' | 'X' | '6', + DEVICE_MAINLINE_GENERIC_SUNXI_B300 = ('A' << 8U) | ('W' << 8U) | 'B' | '3' | '0' | '0', + DEVICE_MAINLINE_MAX = UINT16_MAX, // uint16_t +} __attribute__((packed)) MAINLINE_DEVICE_ID_E; + +// List of reMarkable device IDs +typedef enum +{ + DEVICE_REMARKABLE_1 = 1U, + DEVICE_REMARKABLE_2 = 2U, + DEVICE_REMARKABLE_MAX = UINT16_MAX, // uint16_t +} __attribute__((packed)) REMARKABLE_DEVICE_ID_E; + +// List of PocketBook device IDs +typedef enum +{ + DEVICE_POCKETBOOK_MINI = 515U, + DEVICE_POCKETBOOK_606 = 606U, + DEVICE_POCKETBOOK_611 = 611U, + DEVICE_POCKETBOOK_613 = 613U, + DEVICE_POCKETBOOK_614 = 614U, + DEVICE_POCKETBOOK_615 = 615U, + DEVICE_POCKETBOOK_616 = 616U, + DEVICE_POCKETBOOK_617 = 617U, + DEVICE_POCKETBOOK_618 = 618U, + DEVICE_POCKETBOOK_TOUCH = 622U, + DEVICE_POCKETBOOK_LUX = 623U, + DEVICE_POCKETBOOK_BASIC_TOUCH = 624U, + DEVICE_POCKETBOOK_BASIC_TOUCH_2 = 625U, + DEVICE_POCKETBOOK_LUX_3 = 626U, + DEVICE_POCKETBOOK_LUX_4 = 627U, + DEVICE_POCKETBOOK_LUX_5 = 628U, + DEVICE_POCKETBOOK_VERSE = 629U, + DEVICE_POCKETBOOK_SENSE = 630U, + DEVICE_POCKETBOOK_TOUCH_HD = 631U, + DEVICE_POCKETBOOK_TOUCH_HD_PLUS = 632U, + DEVICE_POCKETBOOK_COLOR = 633U, + DEVICE_POCKETBOOK_VERSE_PRO = 634U, + DEVICE_POCKETBOOK_VERSE_PRO_COLOR = 634U | 'K', + DEVICE_POCKETBOOK_AQUA = 640U, + DEVICE_POCKETBOOK_AQUA2 = 641U, + DEVICE_POCKETBOOK_ULTRA = 650U, + DEVICE_POCKETBOOK_ERA = 700U, + DEVICE_POCKETBOOK_ERA_COLOR = 700U | 'K', + DEVICE_POCKETBOOK_INKPAD_3 = 740U, + DEVICE_POCKETBOOK_INKPAD_3_PRO = 742U, + DEVICE_POCKETBOOK_INKPAD_COLOR = 741U, + DEVICE_POCKETBOOK_INKPAD_COLOR_2 = 743U | 'C', + DEVICE_POCKETBOOK_INKPAD_COLOR_3 = 743U | 'K', + DEVICE_POCKETBOOK_INKPAD = 840U, + DEVICE_POCKETBOOK_INKPAD_X = 1040U, + DEVICE_POCKETBOOK_INKPAD_4 = 743U | 'G', + DEVICE_POCKETBOOK_COLOR_LUX = + ('C' << 8U) | ('o' << 8U) | ('l' << 8U) | ('o' << 8U) | ('r' << 8U) | 'L' | 'u' | 'x', + DEVICE_POCKETBOOK_INKPAD_LITE = 970U, + DEVICE_POCKETBOOK_MAX = UINT16_MAX, // uint16_t +} __attribute__((packed)) POCKETBOOK_DEVICE_ID_E; + +// If device detection failed... +#define DEVICE_UNKNOWN 0U + +// NOTE: There's no enum for Kindles, because there are an insane number of device IDs per model, +// so it doesn't really fit into this model. Use the deviceName instead. +typedef uint16_t DEVICE_ID_T; + +// List of *potentially* available waveform modes. +// NOTE: On mxcfb EPDC v1 (as well as all Kindle) & most MTK devices, REAGL & REAGLD generally expect to *always* be flashing. +// The same is also true for Kaleido-specific modes (GCC16 & GLRC16). +// This is currently left at your own discretion, though. +// c.f., https://github.com/NiLuJe/FBInk/commit/32acece78f7cc92b06faa4a668feead260b8ce24 +// See also the comments around the relevant refresh_* functions in fbink.c +// NOTE: On very old devices (e.g., Kobo Mk. 3 & 4; possibly early PB), only AUTO, DU & GC16 may be relied on. +// GC4 will probably behave, but A2 & GL16 are not a given at all: +// e.g., GL16 is actively broken on Kobo <= Mk. 4: c.f., https://github.com/baskerville/plato/issues/158#issuecomment-787520759. +// If a waveform mode produces unexpected/broken results, and/or if you start to hit unexpected EPDC timeouts (or even an OOPS), +// that's usually a strong hint that you're trying to use something you shouldn't ;). +// NOTE: See the various mxcfb headers in the eink folder for more details about what's available on your platform. +// Platform-specific quirks, if any, are also commented upon in the relevant refresh_* functions in fbink.c +// NOTE: If you're curious about how to deal with all this stuff in practice for real world use-cases, +// I'd recommend looking at my various comments in the KOReader backends for some more context, +// c.f., https://github.com/koreader/koreader-base/blob/master/ffi/framebuffer_mxcfb.lua +typedef enum +{ + WFM_AUTO = 0U, // Let the EPDC choose, via histogram analysis of the refresh region. + // May *not* always (or ever) opt to use REAGL on devices where it is otherwise available. + // This is the default. + // If you request a flashing update w/ AUTO, FBInk automatically uses GC16 instead. + // NOTE: On sunxi SoCs, this analysis is done on CPU, instead of by the PxP. + // As such, it's going to be slower. Prefer explicitly choosing a mode instead. + // (When in doubt, GL16 is usually a good middle ground). + // Common + WFM_DU, // From any to B&W, fast (~260ms), some light ghosting. + // On-screen pixels will be left as-is for new content that is *not* B&W. + // Great for UI highlights, or tracing touch/pen input. + // Will never flash. + // DU stands for "Direct Update". + WFM_GC16, // From any to any, ~450ms, high fidelity (i.e., lowest risk of ghosting). + // Ideal for image content. + // If flashing, will flash and update the full region. + // If not, only changed pixels will update. + // GC stands for "Grayscale Clearing" + WFM_GC4, // From any to B/W/GRAYA/GRAY5, (~290ms), some ghosting. (may be implemented as DU4 on some devices). + // Will *probably* never flash, especially if the device doesn't implement any other 4 color modes. + // Limited use-cases in practice. + WFM_A2, // From B&W to B&W, fast (~120ms), some ghosting. + // On-screen pixels will be left as-is for new content that is *not* B&W. + // FBInk will ask the EPDC to enforce quantization to B&W to honor the "to" requirement, + // (via EPDC_FLAG_FORCE_MONOCHROME). + // Will never flash. + // Consider bracketing a series of A2 refreshes between white screens to transition in and out of A2, + // so as to honor the "from" requirement, + // (especially given that FORCE_MONOCHROME may not be reliably able to do so, c.f., refresh_kobo_mk7): + // non-flashing GC16 for the in transition, A2 or GC16 for the out transition. + // A stands for "Animation" + WFM_GL16, // From white to any, ~450ms, some ghosting. + // Typically optimized for text on a white background. + // Newer generation devices only + WFM_REAGL, // From white to any, ~450ms, with ghosting and flashing reduction. + // When available, best option for text (in place of GL16). + // May enforce timing constraints if in collision with another waveform mode, e.g., + // it may, to some extent, wait for completion of previous updates to have access to HW resources. + // Marketing term for the feature is "Regal". Technically called 5-bit waveform modes. + WFM_REAGLD, // From white to any, ~450ms, with more ghosting reduction, but less flashing reduction. + // Should only be used when flashing, which should yield a less noticeable flash than GC16. + // Rarely used in practice, because still optimized for text or lightly mixed content, + // not pure image content. + // (Mostly) Kindle only + WFM_GC16_FAST, // Better latency at the expense of lower fidelity than GC16. + WFM_GL16_FAST, // Better latency at the expense of lower fidelity than GL16. + WFM_DU4, // From any to B/W/GRAYA/GRAY5. (e.g., GC4. Will never flash. Also available on Kobo Mk. 9). + WFM_GL4, // From white to B/W/GRAYA/GRAY5. + WFM_GL16_INV, // From black to any. Optimized for text on a black background (e.g., nightmode). + // "Nightmode" waveform modes (dubbed "eclipse" in Kobo-land). + // Only available on some devices (Zelda on Kindle, Mk. 8+ on Kobo). + // If you need to check at runtime whether it's actually supported, on an i.MX board, + // check if /sys/class/graphics/fb0/waveform_mode_gck16 exists ;). + // Otherwise, refer to the hasEclipseWfm deviceQuirks. + WFM_GCK16, // From black to any. Goes hand-in-hand with GLKW16, should only be used when flashing. + WFM_GLKW16, // From black to any. Newer variant of GL16_INV. (On Kobo, Mk. 9, 11 & 12 only. It's GLK16 on sunxi). + // For documentation purposes + WFM_INIT, // May flash several times to end up with a white screen, slow (~2000ms). + WFM_UNKNOWN, + // reMarkable only + WFM_INIT2, + // PocketBook only + WFM_A2IN, + WFM_A2OUT, + WFM_GC16HQ, // Only available on i.MX SoCs. Alias for REAGL, or REAGLD when flashing. + WFM_GS16, // Only available on B288 SoCs. Fidelity supposedly somewhere between GL16 and GC16. + // Kobo Sunxi only + WFM_GU16, // GL16, but honoring the in-kernel DISP_EINK_SET_GC_CNT + //WFM_GCK16, // GC16, but for white-on-black. + WFM_GLK16, // GL16, but for white-on-black. + WFM_CLEAR, // GC16 local (NOTE: Appears to crash the EPDC... [Elipsa on FW 4.28.17826]) + WFM_GC4L, // GC4 local (NOTE: Appears to crash the EPDC... [Elipsa on FW 4.28.17826]) + // Kobo Sunxi; MTK only + WFM_GCC16, // GCC16, for color image content on Kaleido panels. + WFM_GLRC16, // GLRC16, for color highlights on text on Kaleido panels. + // Kindle MTK only + WFM_GC16_PARTIAL, // Internal use only, GC16 + PARTIAL + WFM_GCK16_PARTIAL, // Internal use only, GCK16 + PARTIAL + WFM_DUNM, // DU, but for white-on-black. + WFM_P2SW, // Internal use only, used by the swipe animation. + // Kindle MTK + CFA only + WFM_GCCK16, // Nightmode GCC16 + WFM_GLRCK16, // Nightmode GLRC16 + + WFM_MAX = UINT8_MAX, // uint8_t +} __attribute__((packed)) WFM_MODE_INDEX_E; +typedef uint8_t WFM_MODE_INDEX_T; + +// List of *potentially* available HW dithering modes +typedef enum +{ + HWD_PASSTHROUGH = 0U, + HWD_FLOYD_STEINBERG, + HWD_ATKINSON, + HWD_ORDERED, // Generally the only supported HW variant on EPDC v2 + HWD_QUANT_ONLY, + HWD_LEGACY = UINT8_MAX, // Use legacy EPDC v1 dithering instead (if available). + // Note that it is *not* offloaded to the PxP, it's purely software, in-kernel. + // Usually based on Atkinson's algo. The most useful one being the Y8->Y1 one, + // which we request with A2/DU refreshes. +} __attribute__((packed)) HW_DITHER_INDEX_E; +typedef uint8_t HW_DITHER_INDEX_T; + +// List of *potentially* available CFA post-process modes +typedef enum +{ + CFA_DEFAULT = 0U, + CFA_AIE_S4, + CFA_AIE_S7, + CFA_AIE_S9, + CFA_G0, + CFA_G1, + CFA_G2, + CFA_NTX, + CFA_NTX_SF, + CFA_SKIP, + CFA_MAX = UINT8_MAX, +} __attribute__((packed)) CFA_MODE_INDEX_E; +typedef uint8_t CFA_MODE_INDEX_T; + +// List of NTX rotation quirk types (c.f., mxc_epdc_fb_check_var @ drivers/video/fbdev/mxc/mxc_epdc_v2_fb.c)... +typedef enum +{ + NTX_ROTA_STRAIGHT = 0U, // No shenanigans (at least as far as ioctls are concerned) + NTX_ROTA_ALL_INVERTED, // Every rotation is inverted by the kernel + NTX_ROTA_ODD_INVERTED, // Only Landscape (odd) rotations are inverted by the kernel + // NOTE: Everything below this line should be considered mostly deprecated, as those were attempts to piggyback on this flag + // to handle input translations. That was a mistake, we've since switched to dedicated flags for touch input quirks. + // As the comment above implies, this is only meant to deal with the kernel screwing with us when setting the fb rotation. + NTX_ROTA_SANE, // NTX_ROTA_STRAIGHT, and ntxBootRota is the native Portrait orientation. + // Optionally, bonus points if that's actually UR, and the panel is natively mounted UR, + // like on the Kobo Libra. + // Triple whammy if the touch layer rotation matches! + NTX_ROTA_SUNXI, // The rotate flag is technically meaningless, but *may* be set by third-party code (we don't). + NTX_ROTA_CW_TOUCH, // No kernel shenanigans, and Touch panel mounted in the invert of the usual rotation. + NTX_ROTA_CCW_TOUCH, // No kernel shenanigans, and Touch panel mounted in the usual rotation. + NTX_ROTA_MAX = UINT8_MAX, // uint8_t +} __attribute__((packed)) NTX_ROTA_INDEX_E; +typedef uint8_t NTX_ROTA_INDEX_T; + +// Available states for fbink_sunxi_ntx_enforce_rota +typedef enum +{ + FORCE_ROTA_NOTSUP = INT8_MIN, // For FBInkState on non-sunxi platforms + FORCE_ROTA_CURRENT_ROTA = + -5, // Honor the gyro if it matches the working buffer's rotation; match the wb otherwise (NOTE: Requires fbdamage) + FORCE_ROTA_CURRENT_LAYOUT = + -4, // Honor the gyro if it matches the working buffer's layout; match the wb otherwise (NOTE: Requires fbdamage) + FORCE_ROTA_PORTRAIT = -3, // Honor the gyro if it matches a Portrait layout + FORCE_ROTA_LANDSCAPE = -2, // Honor the gyro if it matches a Landscape layout + FORCE_ROTA_GYRO = -1, // Honor the gyro (NOTE: default) + FORCE_ROTA_UR = 0, // FB_ROTATE_UR + FORCE_ROTA_CW = 1, // FB_ROTATE_CW + FORCE_ROTA_UD = 2, // FB_ROTATE_UD + FORCE_ROTA_CCW = 3, // FB_ROTATE_CCW + FORCE_ROTA_WORKBUF = 4, // Match the working buffer's rotation (NOTE: Requires fbdamage) + FORCE_ROTA_MAX = INT8_MAX, // int8_t +} __attribute__((packed)) SUNXI_FORCE_ROTA_INDEX_E; +typedef int8_t SUNXI_FORCE_ROTA_INDEX_T; + +// List of swipe directions for fbink_mtk_set_swipe_data +typedef enum +{ + MTK_SWIPE_DIR_DOWN = 0, + MTK_SWIPE_DIR_UP = 1, + MTK_SWIPE_DIR_LEFT = 2, + MTK_SWIPE_DIR_RIGHT = 3, + MTK_SWIPE_DIR_MAX = UINT8_MAX, // uint8_t +} __attribute__((packed)) MTK_SWIPE_DIRECTION_INDEX_E; +typedef uint8_t MTK_SWIPE_DIRECTION_INDEX_T; + +// List of halftone pattern modes for fbink_mtk_set_halftone +typedef enum +{ + MTK_HALFTONE_DISABLED = 0, + MTK_HALFTONE_DEFAULT_CHECKER_SIZE = 1, + MTK_HALFTONE_MAX_CHECKER_SIZE = INT32_MAX, // int +} __attribute__((packed)) MTK_HALFTONE_MODE_INDEX_E; +typedef int32_t MTK_HALFTONE_MODE_INDEX_T; + +// List of supported pixel formats +typedef enum +{ + FBINK_PXFMT_UNKNOWN = 0, + FBINK_PXFMT_Y4 = 4, + FBINK_PXFMT_Y8 = 8, + FBINK_PXFMT_BGR565 = 16, + FBINK_PXFMT_RGB565, + FBINK_PXFMT_BGR24 = 24, + FBINK_PXFMT_RGB24, + FBINK_PXFMT_BGRA = 32, + FBINK_PXFMT_RGBA, + FBINK_PXFMT_BGR32, + FBINK_PXFMT_RGB32, + FBINK_PXFMT_MAX = UINT8_MAX, // uint8_t +} __attribute__((packed)) FBINK_PXFMT_INDEX_E; +typedef uint8_t FBINK_PXFMT_INDEX_T; + +// +// A struct to dump FBInk's internal state into, like fbink_state_dump() would, but in C ;) +typedef struct +{ + long int user_hz; // USER_HZ (should pretty much always be 100) + const char* restrict font_name; // fbink_cfg->fontname (c.f., fontname_to_string()) + uint32_t view_width; // viewWidth (MAY be different than screen_width on devices with a viewport) + uint32_t view_height; // viewHeight (ditto) + uint32_t screen_width; // screenWidth (Effective width, c.f., is_ntx_quirky_landscape & initialize_fbink()) + uint32_t screen_height; // screenHeight (ditto) + uint32_t scanline_stride; // fInfo.line_length (scanline length in bytes, padding included) + uint32_t bpp; // vInfo.bits_per_pixel + bool inverted_grayscale; // true if vInfo.grayscale is set to GRAYSCALE_8BIT_INVERTED (@ 8bpp) + char device_name[32]; // deviceQuirks.deviceName (short common name, no brand) + char device_codename[32]; // deviceQuirks.deviceCodename + char device_platform[32]; // deviceQuirks.devicePlatform (often a codename, too) + DEVICE_ID_T device_id; // deviceQuirks.deviceId (decimal value, c.f., identify_device() on Kindle!) + uint8_t pen_fg_color; // penFGColor (Actual grayscale value, not FG_COLOR_INDEX_E) + uint8_t pen_bg_color; // penBGColor (ditto) + unsigned short int screen_dpi; // deviceQuirks.screenDPI + unsigned short int font_w; // FONTW (effective width of a glyph cell, i.e. scaled) + unsigned short int font_h; // FONTH (effective height of a glyph cell, i.e. scaled) + unsigned short int max_cols; // MAXCOLS (at current cell size) + unsigned short int max_rows; // MAXROWS (ditto) + uint8_t view_hori_origin; // viewHoriOrigin (would be non-zero on devices with a horizontal viewport) + uint8_t view_vert_origin; // viewVertOrigin (origin in px of row 0, includes viewport + viewVertOffset) + uint8_t view_vert_offset; // viewVertOffset (shift in px needed to vertically balance rows over viewHeight) + uint8_t fontsize_mult; // FONTSIZE_MULT (current cell scaling multiplier) + uint8_t glyph_width; // glyphWidth (native width of a glyph cell, i.e. unscaled) + uint8_t glyph_height; // glyphHeight (native height of a glyph cell, i.e. unscaled) + bool is_perfect_fit; // deviceQuirks.isPerfectFit (horizontal column balance is perfect over viewWidth) + bool is_mtk; // deviceQuirks.isMTK (device is running on a MediaTek SoC) + bool is_sunxi; // deviceQuirks.isSunxi (device is running on an AllWinner SoC) + bool sunxi_has_fbdamage; // sunxiCtx.has_fbdamage (true when fbdamage module is loaded) + SUNXI_FORCE_ROTA_INDEX_T sunxi_force_rota; // sunxiCtx.force_rota (current effective value) + bool is_kindle_legacy; // deviceQuirks.isKindleLegacy (device is a Kindle using the original einkfb EPDC API) + bool is_kobo_non_mt; // deviceQuirks.isKoboNonMT (device is a Kobo with no MultiTouch input support) + bool unreliable_wait_for; // deviceQuirks.unreliableWaitFor (MXCFB_WAIT_FOR_UPDATE_COMPLETE may timeout) + bool can_wake_epdc; // deviceQuirks.canWakeEPDC (i.e., fbink_wakeup_epdc is *NOT* a NOP) + uint8_t ntx_boot_rota; // deviceQuirks.ntxBootRota (Native rotation at boot) + NTX_ROTA_INDEX_T ntx_rota_quirk; // deviceQuirks.ntxRotaQuirk (c.f., tools/rota_map.c) + uint8_t rotation_map[4]; // deviceQuirks.rotationMap (index is native, value is canonical) + bool touch_swap_axes; // deviceQuirks.touchSwapAxes (panel reports swapped coordinates axes; handle this first) + bool touch_mirror_x; // deviceQuirks.touchMirrorX (post-swap, panel reports inverted x coordinates) + bool touch_mirror_y; // deviceQuirks.touchMirrorY (post-swap, panel reports inverted y coordinates) + bool is_ntx_quirky_landscape; // deviceQuirks.isNTX16bLandscape (rotation compensation is in effect) + uint8_t current_rota; // vInfo.rotate (current native rotation, ; Device rotation, not buffer!) + bool can_rotate; // deviceQuirks.canRotate (device has a gyro) + bool can_hw_invert; // deviceQuirks.canHWInvert (device can use EPDC inversion) + bool has_eclipse_wfm; // deviceQuirks.hasEclipseWfm (device can use nightmode waveform modes) + bool has_color_panel; // deviceQuirks.hasColorPanel (device features a Kaleido/CFA color panel) + FBINK_PXFMT_INDEX_T pixel_format; // deviceQuirks.pixelFormat + bool can_wait_for_submission; // deviceQuirks.canWaitForSubmission (devices supports fbink_wait_for_submission) +} FBInkState; + +// What a FBInk config should look like. Perfectly sane when fully zero-initialized. +typedef struct +{ + short int row; // y axis (i.e., line), counts down from the bottom of the screen if negative + short int col; // x axis (i.e., column), counts down from the right edge of the screen if negative + uint8_t fontmult; // Font scaling multiplier (i.e., 4 -> x4), 0 means automatic. + FONT_INDEX_T fontname; // Request a specific bundled font + bool is_inverted; // Invert colors when *drawing* stuff (e.g., text, clear & images). + // This is *NOT* mutually exclusive with is_nightmode, and is *always* supported. + bool is_flashing; // Request a black flash on refresh (e.g., UPDATE_MODE_FULL instead of PARTIAL) + bool is_cleared; // Clear the full screen beforehand (honors bg_color & is_inverted) + bool is_centered; // Center the text (horizontally) + short int hoffset; // Horizontal offset (in pixels) for text position + short int voffset; // Vertical offset (in pixels) for text position + bool is_halfway; // Vertically center the text, honoring row offsets + bool is_padded; // Pad the text with blanks (on the left, or on both sides if is_centered) + bool is_rpadded; // Right pad the text with blanks + FG_COLOR_INDEX_T fg_color; // Requested foreground color for text (palette index) + BG_COLOR_INDEX_T bg_color; // Requested background color for text (palette index) + bool is_overlay; // Don't draw bg and use inverse of fb's underlying pixel as pen fg color + bool is_bgless; // Don't draw bg (mutually exclusive with is_overlay, which will take precedence) + bool is_fgless; // Don't draw fg (takes precendence over is_overlay/is_bgless) + bool no_viewport; // Ignore viewport corrections, whether hardware-related on Kobo, or to center rows + bool is_verbose; // Print verbose diagnostic informations on stdout + bool is_quiet; // Hide fbink_init()'s hardware setup info (sent to stderr) + bool ignore_alpha; // Ignore any potential alpha channel in source image (i.e., flatten the image) + ALIGN_INDEX_T halign; // Horizontal alignment of images/dumps + ALIGN_INDEX_T valign; // Vertical alignment of images/dumps + short int scaled_width; // Output width of images/dumps (0 for no scaling, -1 for viewport width) + short int scaled_height; // Output height of images/dumps (0 for no scaling, -1 for viewport height) + // If only *one* of them is left at 0, the image's aspect ratio will be honored. + // If *either* of them is set to < -1, fit to screen while respecting AR. + // NOTE: Scaling is inherently costly. I highly recommend not relying on it, + // preferring instead proper preprocessing of your input images, + // c.f., https://www.mobileread.com/forums/showpost.php?p=3728291&postcount=17 + WFM_MODE_INDEX_T wfm_mode; // Request a specific waveform mode (defaults to AUTO) + HW_DITHER_INDEX_T dithering_mode; // Request a specific dithering mode (defaults to PASSTHROUGH) + bool sw_dithering; // Request (ordered) *software* dithering when printing an image. + // This is *NOT* mutually exclusive with dithering_mode! + CFA_MODE_INDEX_T cfa_mode; // Request a specific CFA post-process mode (defaults to NONE, relevant wfm only). + bool is_nightmode; // Request hardware inversion (via EPDC_FLAG_ENABLE_INVERSION, if supported/safe). + // This is *NOT* mutually exclusive with is_inverted! + // NOTE: If the HW doesn't support inversion, a warning is printed during init. + // If you're convinced this is in error (i.e., up to date kernel), + // you can bypass that check by setting FBINK_ALLOW_HW_INVERT in your env. + bool no_refresh; // Skip actually refreshing the eInk screen (useful when drawing in batches) + bool no_merge; // Set the EINK_NO_MERGE flag (Kobo sunxi only) + bool is_animated; // Enable refresh animation, following fbink_mtk_set_swipe_data (Kindle MTK only) + uint8_t saturation_boost; // Boost image saturation, in %. Useful on Kaleido panels. Only affects 32bpp. + bool to_syslog; // Send messages & errors to the syslog instead of stdout/stderr +} FBInkConfig; + +// Same, but for OT/TTF specific stuff. MUST be zero-initialized. +typedef struct +{ + void* font; // NOTE: This is essentially a pointer to a local FBInkOTFonts instance, + // in order to use a set of fonts specific to an FBInkOTConfig, + // via fbink_add_ot_font_v2() & fbink_free_ot_fonts_v2(). + // Consider it *private*: it needs to be NULL on init to be sane, but after that, + // it's only used & memory managed by FBInk itself (via the aforemented _v2 API), not the user. + struct + { + short int top; // Top margin in pixels (if negative, counts backwards from the bottom edge) + short int bottom; // Bottom margin in pixels (supports negative values, too) + short int left; // Left margin in pixels (if negative, counts backwards from the right edge) + short int right; // Right margin in pixels (supports negative values, too) + } margins; // Margins are to the top-left edge of the bounding box, e.g., assuming no alignment/centering, + // zero margins will lead to a bounding box flush with the top-left corner of the screen. + FONT_STYLE_T style; // Default font style to use when !is_formatted (defaults to Regular) + float size_pt; // Size of text in points. If not set (0.0f), defaults to 12pt + unsigned short int size_px; // Size of text in pixels. Optional, but takes precedence over size_pt. + bool is_centered; // Horizontal centering + PADDING_INDEX_T padding; // Pad the drawing area (i.e., paint it in the background color). + // Unlike in the fixed-cell codepath, this always applies to both sides (L&R/T&B), + // no matter the chosen axis. + // e.g., HORI_PADDING is useful to prevent overlaps when drawing + // consecutive strings on the same line(s). + bool is_formatted; // Is string "formatted"? Bold/Italic support only, markdown like syntax + bool compute_only; // Abort early after the line-break computation pass (no actual rendering). + // NOTE: This is early enough that it will *NOT* be able to predict *every* + // potential case of truncation. + // In particular, broken metrics may yield a late truncation at rendering time. + bool no_truncation; // Abort as early as possible (but not necessarily before the rendering pass), + // if the string cannot fit in the available area at the current font size. +} FBInkOTConfig; + +// Optionally used with fbink_print_ot, if you need more details about the line-breaking computations, +// for instance if you want to dynamically compute a best-fit font size for n lines in a specific area. +typedef struct +{ + unsigned short int computed_lines; // Expected amount of lines needed, according to font metrics. + unsigned short int rendered_lines; // Actually rendered amount of lines. + // Will stay 0 in case of an early abort (or a compute_only run), + // or < computed_lines in case of an unexpected truncation due to broken metrics. + struct + { + unsigned short int width; + unsigned short int height; + } bbox; // Bounding box of the string (at computation time, padding excluded). + bool truncated; // true if the string was truncated (at computation or rendering time). +} FBInkOTFit; + +// This maps to an mxcfb rectangle, used for fbink_get_last_rect, as well as in FBInkDump +// NOTE: Unlike an mxcfb rectangle, left (x) comes *before* top (y)! +typedef struct +{ + unsigned short int left; // x + unsigned short int top; // y + unsigned short int width; + unsigned short int height; +} FBInkRect; + +// For use with fbink_dump & fbink_restore +typedef struct +{ + unsigned char* restrict data; + size_t stride; + size_t size; + FBInkRect area; + FBInkRect clip; // Only restore this rectangular area of the screen (has to intersect w/ the dump's area) + uint8_t rota; + uint8_t bpp; + bool is_full; +} FBInkDump; + +// +//// +// +// NOTE: Unless otherwise specified, +// stuff returns a negative value (-(EXIT_FAILURE) by default) on failure & EXIT_SUCCESS otherwise ;). + +// Returns the version of the currently loaded FBInk library. +FBINK_API const char* fbink_version(void) __attribute__((const)); + +// Returns the target platform of the currently loaded FBInk library. +// c.f., FBINK_TARGET_E enum +FBINK_API FBINK_TARGET_T fbink_target(void) __attribute__((const)); + +// Returns a bitmask of the features available in the currently loaded FBInk library. +// c.f., FBINK_FEATURE_ defines +FBINK_API uint32_t fbink_features(void) __attribute__((const)); + +// +// Open the framebuffer character device, +// and returns the newly opened file descriptor. +FBINK_API int fbink_open(void); + +// Unmap the framebuffer (if need be) and close its file descriptor, +// (c.f., the recap at the bottom if you're concerned about mmap handling). +// fbfd: Open file descriptor to the framebuffer character device, as returned by fbink_open() +// NOTE: This is safe to call if fbfd is FBFD_AUTO (i.e., -1, which means this is also safe to call after an fbink_open failure). +FBINK_API int fbink_close(int fbfd); + +// Initialize internal variables keeping track of the framebuffer's configuration and state, as well as the device's hardware. +// MUST be called at least *once* before any fbink_print*, fbink_dump/restore, fbink_cls or fbink_grid* functions. +// CAN safely be called multiple times, +// but doing so is only necessary if the framebuffer's state has changed (although fbink_reinit is preferred in this case), +// or if you modified one of the FBInkConfig fields that affects its results (listed below). +// Returns -(ENOSYS) if the device is unsupported (NOTE: Only on reMarkable!) +// fbfd: Open file descriptor to the framebuffer character device, +// if set to FBFD_AUTO, the fb is opened for the duration of this call. +// fbink_cfg: Pointer to an FBInkConfig struct. +// If you wish to customize them, the fields: +// is_centered, fontmult, fontname, fg_color, bg_color, +// no_viewport, is_verbose, is_quiet & to_syslog +// MUST be set beforehand. +// This means you MUST call fbink_init() again when you update them, too! +// (This also means the effects from those fields "stick" across the lifetime of your application, +// or until a subsequent fbink_init() (or effective fbink_reinit()) call gets fed different values). +// NOTE: For fg_color & bg_color, see fbink_update_pen_colors(). +// NOTE: For is_verbose, is_quiet & to_syslog, see fbink_update_verbosity(). +// NOTE: By virtue of, well, setting global variables, do NOT consider this thread-safe. +// The rest of the API should be, though, so make sure you init in your main thread *before* threading begins... +// NOTE: If you just need to make sure the framebuffer state is still up to date before an fbink_* call, +// (e.g., because you're running on a Kobo, which may switch from 16bpp to 32bpp, or simply change orientation), +// prefer using fbink_reinit instead of calling fbink_init *again*, as it's tailored for this use case. +// c.f., KFMon for an example of this use case in the wild. +// NOTE: You can perfectly well keep a few different FBInkConfig structs around, instead of modifying the same one over and over. +// Just remember that some fields *require* an fbink_init() call to be taken into account (see above), +// but if the only fields that differ don't fall into that category, you do *NOT* need an fbink_init() per FBInkConfig... +FBINK_API int fbink_init(int fbfd, const FBInkConfig* restrict fbink_cfg) __attribute__((nonnull)); + +// +// Dump a few of our internal state variables to stdout, in a format easily consumable by a shell (i.e., eval). +FBINK_API void fbink_state_dump(const FBInkConfig* restrict fbink_cfg) __attribute__((nonnull)); + +// Dump a few of our internal state variables to the FBInkState struct pointed to by fbink_state. +// NOTE: This includes quite a few useful things related to device identification, c.f., the FBInkState struct ;). +// You can also peek at the output of fbink -e to get a hint of what the data actually looks like. +FBINK_API void fbink_get_state(const FBInkConfig* restrict fbink_cfg, FBInkState* restrict fbink_state) + __attribute__((nonnull)); + +// +// Print a string on screen. +// NOTE: The string is expected to be encoded in valid UTF-8: +// * Invalid UTF-8 sequences will be *rejected* and the call will abort early with -(EILSEQ) +// * We assume a single multibyte sequence will occupy a maximum of 4 bytes. +// c.f., my rant about Kobo's broken libc in fbink_internal.h for more details behind this choice. +// Since any decent system built in the last decade should default to UTF-8, that should be pretty much transparent... +// Returns the amount of lines printed on success (helpful when you keep track of which row you're printing to). +// Returns -(EINVAL) if string is empty. +// Returns -(EILSEQ) if string is not a valid UTF-8 sequence. +// Returns -(ENOSYS) when fixed-cell font support is disabled (MINIMAL build w/o BITMAP). +// fbfd: Open file descriptor to the framebuffer character device, +// if set to FBFD_AUTO, the fb is opened & mmap'ed for the duration of this call. +// string: UTF-8 encoded string to print. +// fbink_cfg: Pointer to an FBInkConfig struct. +// Honors every field not specifically related to image/dump support. +FBINK_API int fbink_print(int fbfd, const char* restrict string, const FBInkConfig* restrict fbink_cfg) + __attribute__((nonnull)); + +// +// Add an OpenType font to FBInk. +// NOTE: At least one font must be added in order to use fbink_print_ot(). +// filename: Path to the font file. This should be a valid *.otf or *.ttf font. +// style: Defines the specific style of the specified font (FNT_REGULAR, FNT_ITALIC, FNT_BOLD or FNT_BOLD_ITALIC). +// NOTE: You MUST free the fonts loaded when you are done with all of them by calling fbink_free_ot_fonts(). +// NOTE: You MAY replace a font without first calling fbink_free_ot_fonts(). +// NOTE: Default fonts are secreted away in /usr/java/lib/fonts on Kindle, +// and in /usr/local/Trolltech/QtEmbedded-4.6.2-arm/lib/fonts on Kobo, +// but you can't use the Kobo ones because they're obfuscated... +// Which leads me to a final, critical warning: +// NOTE: Don't try to pass non-font files or encrypted/obfuscated font files, because it *will* horribly segfault! +FBINK_API int fbink_add_ot_font(const char* filename, FONT_STYLE_T style) __attribute__((nonnull)); +// Same API and behavior, except that the set of fonts being loaded is tied to this specific FBInkOTConfig instance, +// instead of being global. +// In which case, resources MUST be released via fbink_free_ot_fonts_v2()! +// NOTE: You can mix & match the v2 and legacy API, but for every fbink_add_ot_font() there must be an fbink_free_ot_fonts(), +// and for every fbink_add_ot_font_v2(), there must be an fbink_free_ot_fonts_v2() +// (for each matching FBInkOTConfig instance). +FBINK_API int fbink_add_ot_font_v2(const char* filename, FONT_STYLE_T style, FBInkOTConfig* restrict cfg) + __attribute__((nonnull)); + +// Free all loaded OpenType fonts. You MUST call this when you have finished all OT printing. +// NOTE: Safe to call even if no fonts were actually loaded. +FBINK_API int fbink_free_ot_fonts(void); +// Same, but for a specific FBInkOTConfig instance if fbink_add_ot_font_v2 was used. +// NOTE: Safe to call even if no fonts were actually loaded, in which case it'll return -(EINVAL)! +FBINK_API int fbink_free_ot_fonts_v2(FBInkOTConfig* restrict cfg) __attribute__((nonnull)); + +// Print a string using an OpenType font. +// NOTE: The caller MUST have loaded at least one font via fbink_add_ot_font() FIRST. +// This function uses margins (in pixels) instead of rows/columns for positioning and setting the printable area. +// Returns a new top margin for use in subsequent calls, if the return value is positive. +// NOTE: A zero return value indicates there is no room left to print another row of text at the current margins or font size. +// Returns -(ERANGE) if the provided margins are out of range, or sum to < view height or width. +// Returns -(ENOSYS) when OT support is disabled (MINIMAL build w/o OPENTYPE). +// Returns -(ENODATA) if fbink_add_ot_font() hasn't been called yet. +// Returns -(EINVAL) if string is empty. +// Returns -(EILSEQ) if string is not a valid UTF-8 sequence. +// Returns -(ENOSPC) if no_truncation is true, and string needs to be truncated to fit in the available draw area. +// NOTE: This *cannot* prevent *drawing* truncated content on screen in *every* case, +// because broken metrics may skew our initial computations. +// As such, if the intent is to compute a "best fit" font size, +// no_truncation ought to be combined with no_refresh on eInk, +// (as we otherwise do *NOT* inhibit the refresh, in order to preserve get_last_rect's accuracy). +// You'll also probably want to do a cheaper compute_only pass first, +// to catch more obviously predictable truncations. +// fbfd: Open file descriptor to the framebuffer character device, +// if set to FBFD_AUTO, the fb is opened & mmap'ed for the duration of this call. +// string: UTF-8 encoded string to print. +// cfg: Pointer to an FBInkOTConfig struct. +// fbink_cfg: Optional pointer to an FBInkConfig struct. If set, the fields +// is_inverted, is_flashing, is_cleared, is_centered, is_halfway, +// is_overlay, is_fgless, is_bgless, fg_color, bg_color, valign, halign, +// wfm_mode, dithering_mode, is_nightmode, no_refresh will be honored. +// Pass a NULL pointer if unneeded. +// fit: Optional pointer to an FBInkOTFit struct. +// If set, it will be used to return information about the amount of lines needed to render +// the string at the requested font size, and whether it was truncated or not. +// Pass a NULL pointer if unneeded. +// NOTE: Alignment is relative to the printable area, as defined by the margins. +// As such, it only makes sense in the context of a single, specific print call. +FBINK_API int fbink_print_ot(int fbfd, + const char* restrict string, + const FBInkOTConfig* restrict cfg, + const FBInkConfig* restrict fbink_cfg, + FBInkOTFit* restrict fit) __attribute__((nonnull(2))); + +// +// Brings printf formatting to fbink_print and fbink_print_ot ;). +// fbfd: Open file descriptor to the framebuffer character device, +// if set to FBFD_AUTO, the fb is opened & mmap'ed for the duration of this call. +// ot_cfg: Optional pointer to an FBInkOTConfig struct. +// fbink_cfg: Optional pointer to an FBInkConfig struct. +// ot_fit: Optional pointer to an FBInkOTFit struct. +// NOTE: If ot_cfg is NULL, will call fbink_print, otherwise, fbink_print_ot! +// If ot_cfg is valid, fbink_cfg MAY be NULL (same behavior as fbink_print_ot). +// If ot_cfg is NULL, fbink_cfg MUST be valid. +// NOTE: Meaning you MUST at least pass either an fbink_cfg or an ot_cfg pointer! +// NOTE: ot_fit behaves like in fbink_print_ot (i.e., it's only relevant if you pass an ot_cfg pointer, but it may be NULL). +FBINK_API int fbink_printf(int fbfd, + const FBInkOTConfig* restrict ot_cfg, + const FBInkConfig* restrict fbink_cfg, + FBInkOTFit* restrict ot_fit, + const char* fmt, + ...) __attribute__((format(printf, 5, 6))); + +// +// A simple wrapper around the internal screen refresh handling, without requiring you to include einkfb/mxcfb headers. +// NOTE: Unlike FBInkRect, we *do* honor the original mxcfb rect order here (top before left). +// Returns -(ENOSYS) on non-eInk devices (i.e., pure Linux builds) +// fbfd: Open file descriptor to the framebuffer character device, +// if set to FBFD_AUTO, the fb is opened for the duration of this call. +// region_top: top (y) field of an mxcfb rectangle. +// region_left: left (x) field of an mxcfb rectangle. +// region_width: width field of an mxcfb rectangle. +// region_height: height field of an mxcfb rectangle. +// fbink_cfg: Pointer to an FBInkConfig struct. Honors wfm_mode, dithering_mode, is_nightmode, is_flashing. +// NOTE: If you request an empty region (0x0 @ (0, 0), a full-screen refresh will be performed! +// NOTE: This *ignores* no_refresh ;). +// NOTE: As far as dithering is concerned, c.f., HW_DITHER_INDEX_E enum. +// True HW dithering is only supported on devices with a recent EPDC (>= v2)! +// On Kindle, that's everything since the KOA2 (KOA2, PW4, KT4, KOA3), +// On Kobo, that's everything since Mk.7. +// NOTE: Even then, your device may not actually support anything other than PASSTHROUGH & ORDERED! +// On slightly older devices, the EPDC may support some sort of in-kernel software dithering, hence HWD_LEGACY. +// NOTE: If you do NOT want to request any dithering, set FBInkConfig's dithering_mode field to HWD_PASSTHROUGH (i.e., 0). +// This is also the fallback value. +// NOTE: On Kobo devices with a sunxi SoC, you will not be able to refresh content that you haven't drawn yourself first. +// (There's no "shared" framebuffer, each process gets its own private, zero-initialized (i.e., solid black) buffer). +// NOTE: In case of ioctl failure, errno *should* be preserved, +// allowing the caller to possibly handle some very specific edge-cases. +// NOTE: The confusing coordinates order is inherited from the layout of an mxcfb_rect struct. +// See fbink_refresh_rect below for a variant that takes an FBInkRect instead. +FBINK_API int fbink_refresh(int fbfd, + uint32_t region_top, + uint32_t region_left, + uint32_t region_width, + uint32_t region_height, + const FBInkConfig* restrict fbink_cfg) __attribute__((nonnull)); + +// +// Variant of fbink_refresh that takes an FBInkRect instead of broken out coordinates. +// Completely identical behavior. +FBINK_API int fbink_refresh_rect(int fbfd, const FBInkRect* restrict rect, const FBInkConfig* restrict fbink_cfg) + __attribute__((nonnull)); + +// A simple wrapper around the MXCFB_WAIT_FOR_UPDATE_SUBMISSION ioctl, without requiring you to include mxcfb headers. +// Returns -(EINVAL) when the update marker is invalid. +// Returns -(ENOSYS) on devices where this ioctl is unsupported. +// NOTE: It is only implemented by Kindle kernels (K5+), and Kobo kernels for MTK SoCs (Mk. 11)! +// fbfd: Open file descriptor to the framebuffer character device, +// if set to FBFD_AUTO, the fb is opened for the duration of this call. +// marker: The update marker you want to wait for. +// NOTE: If marker is set to LAST_MARKER (0U), the one from the last update sent by this FBInk session will be used instead. +// If there aren't any, the call will fail and return -(EINVAL)! +// NOTE: Waiting for a random marker *should* simply return early. +FBINK_API int fbink_wait_for_submission(int fbfd, uint32_t marker); + +// A simple wrapper around the MXCFB_WAIT_FOR_UPDATE_COMPLETE ioctl, without requiring you to include mxcfb headers. +// Returns -(EINVAL) when the update marker is invalid. +// Returns -(ENOSYS) on non-eInk devices (i.e., pure Linux builds). +// fbfd: Open file descriptor to the framebuffer character device, +// if set to FBFD_AUTO, the fb is opened for the duration of this call. +// marker: The update marker you want to wait for. +// NOTE: If marker is set to LAST_MARKER (0U), the one from the last update sent by this FBInk session will be used instead. +// If there aren't any, the call will fail and return -(EINVAL)! +// NOTE: Waiting for a random marker *should* simply return early. +FBINK_API int fbink_wait_for_complete(int fbfd, uint32_t marker); +// NOTE: For most single-threaded use-cases, you *probably* don't need to bother with this, +// as all your writes to the framebuffer should obviously be serialized. +// NOTE: All our target devices should default to the QUEUE_AND_MERGE update scheme, +// which means the EPDC itself will attempt to bundle updates together in order to do the least amount of work possible. +// (By work, I mean moving the eInk capsules around, i.e., limiting to amount of effective refreshes). +// A fun example of this can be seen with the dump/restore tests in utils/dump.c: +// By default, it will call fbink_wait_for_complete at sensible times, but if you pass a random argument to it, +// it won't: the difference that makes in practcie should be extremely obvious, especially for the first set of tests! +// NOTE: I encourage you to strace your stock reader to see how it makes use of those ioctls: +// they're mostly used before and/or after FULL (i.e., flashing) updates, +// to make sure they don't get affected by surrounding updates. +// They can also be used to more predictably fence A2 updates. +// In fact, for the most part, you can think of them as a kind of vsync fence. +// Be aware that the ioctl will block for (relatively) longer than it takes for the refresh to visually end, +// and that the delay depends for the most part on the waveform mode (flashing & region size have a much smaller impact). +// With some waveform modes (mainly A2/DU), it'll return significantly earlier if the region's fb content hasn't changed. +// NOTE: See KOReader's mxc_update @ https://github.com/koreader/koreader-base/blob/master/ffi/framebuffer_mxcfb.lua +// for some fancier examples in a complex application, where one might want to wait for completion of previous updates +// right before sending a flashing one, for example. +// NOTE: Prior to FBInk 1.20.0, we used to *enforce* a wait_for_complete *after* *every* flashing (FULL) update. +// This was originally done to mimic eips's behavior when displaying an image. +// While blocking right after a refresh made sense for a one-off CLI tool, it's different for API users: +// in most cases, it probably makes more sense to only block *before* the *following* flashing refresh, +// thus ensuring that the wait will be shorter (or near zero), since time has probably passed between those two refreshes. +// But, if you know that you won't be busy for a while after a flashing update, it might make sense to wait right after it, +// in order to avoid an ioctl on the next refresh that might end up hurting reactivity... +// Incidentally, as all of this depends on specific use-cases, this is why it is entirely left to the user, +// and why there's no compatibility flag in FBInkConfig to restore the FBInk < 1.20 behavior ;). +// NOTE: Beware that on a few NTX boards, this ioctl appears to be buggy, and *may* randomly timeout. +// c.f., devices flagged as deviceQuirks.unreliableWaitFor in fbink_device_id.c + +// Return the update marker from the last *refresh* (explicit or implicit) done in this FBInk session. +// NOTE: Returns LAST_MARKER (0U) if there wasn't any, or on non-eInk devices (i.e., pure Linux builds). +// NOTE: Mainly useful if you want to do fairly fancy stuff with wait_for_complete/wait_for_submission, +// otherwise, simply passing LAST_MARKER to 'em should do the trick. +FBINK_API uint32_t fbink_get_last_marker(void); + +// +// Returns true if the device appears to be in a quirky framebuffer state that *may* require a reinit to produce sane results. +// NOTE: The intended use-case is for long running apps which may trigger prints across different framebuffer states, +// to allow them to call fbink_init again at specific points only (instead of enforcing a reinit on every print). +// This is of interest on a few devices, where trying to print based on a "stale" init state would fail, +// or produce unwanted results (e.g., rotation). +// NOTE: Right now, this only checks for the isNTX16bLandscape device quirk, +// because that's the only one that is not permanent (i.e., hardware specific), +// but instead software specific (here, because of pickel). +// In practical terms, this means the Kobo's fb is in 16bpp mode, with its origin in the top-right corner (i.e., Landscape). +// NOTE: Deprecated in favor of fbink_reinit ;). +FBINK_API bool fbink_is_fb_quirky(void) __attribute__((pure, deprecated)); + +// We'll need those for fbink_reinit (start > 256 to stay clear of errno values) +#define OK_BPP_CHANGE (1 << 9) +#define OK_ROTA_CHANGE (1 << 10) +#define OK_LAYOUT_CHANGE (1 << 11) +#define OK_GRAYSCALE_CHANGE (1 << 12) +// Attempt to detect changes in framebuffer states (between this call and the last time fbink_init/fbink_reinit was called), +// doing a reinit (i.e., calling fbink_init again) if needed, while doing the least amount of work possible in the process. +// NOTE: The intended use-case is for long running apps which may trigger prints across different framebuffer states, +// to allow them to ensure they'll be using up-to-date init data at key points in their lifecycle +// (without needing to bruteforce a full reinit on every print). +// This is of interest on a few devices, where trying to print based on a "stale" init state would at worst fail, +// at best produce unwanted results (e.g., after a bitdepth change or a hw rotation). +// NOTE: This obviously supercedes fbink_is_fb_quirky, because it should be smarter, +// by catching more scenarios where a reinit would be useful, +// and it can avoid running the same ioctl twice when an ioctl already done by init is needed to detect a state change. +// NOTE: Using fbink_reinit does NOT lift the requirement of having to run fbink_init at least ONCE, +// i.e., you cannot replace the initial fbink_init call by fbink_reinit! +// If reinitialization was *successful*, returns a bitmask with one or more of these flags set: +// bit OK_BPP_CHANGE is set if there was a bitdepth change. +// bit OK_ROTA_CHANGE is set if there was a rotation change. +// bit OK_LAYOUT_CHANGE is set if a rotation change caused a layout change (i.e., an orientation swap, Portrait <-> Landscape), +// this obviously implies OK_ROTA_CHANGE. +// If *only* OK_ROTA_CHANGE is set, it means the rotation change was a simple inversion of the current orientation, +// (i.e., Portrait <-> Inverted Portrait or Landscape <-> Inverted Landscape). +// bit OK_GRAYSCALE_CHANGE is set if there was a grayscale flag change. +// This is only set if the current & last known bitdepth is 8bpp. +// On mxcfb-like platforms, this flag is used by the epdc driver to toggle global HW inversion (a.k.a., night mode). +// NOTE: This means that it may return a *positive* non-zero value on *success*. +// This is helpful for callers that need to track FBInk's internal state via fbink_get_state or fbink_get_fb_pointer, +// because a reinit *might* affect the screen layout, signaling that their current state copy *may* be stale. +// TL;DR: Assume that *any* OK_*_CHANGE return value means that you need to refresh your state tracking. +// NOTE: You'll probably want to take action (changing pen colors or enabling inversion) after an OK_GRAYSCALE_CHANGE, +// especially if it's unexpected. +// NOTE: In turn, this means that a simple EXIT_SUCCESS means that no reinitialization was needed. +// NOTE: On Kobo devices with a sunxi SoC, OK_BPP_CHANGE will *never* happen, +// as the state of the actual framebuffer device is (unfortunately) meaningless there. +// fbfd: Open file descriptor to the framebuffer character device, +// if set to FBFD_AUTO, the fb is opened for the duration of this call. +// fbink_cfg: Pointer to an FBInkConfig struct. +FBINK_API int fbink_reinit(int fbfd, const FBInkConfig* restrict fbink_cfg) __attribute__((warn_unused_result, nonnull)); + +// Update FBInk's internal verbosity flags +// As mentioned in fbink_init(), the is_verbose, is_quiet & to_syslog fields in an FBInkConfig +// are only processed at initialization time. +// This function allows doing *just* that, without having to go through a more costly full (re)-init. +// fbink_cfg: Pointer to an FBInkConfig struct (is_verbose, is_quiet & to_syslog). +FBINK_API void fbink_update_verbosity(const FBInkConfig* restrict fbink_cfg) __attribute__((nonnull)); + +// Update FBInk's internal representation of pen colors +// As mentioned in fbink_init(), the fg_color & bg_color fields in an FBInkConfig are only processed at initialization time. +// This is because they're not used as-is (because they're not actually colors, just a custom palette index), +// they're just used to pack the matching palette color value into the right pixel format for the target framebuffer. +// This function allows doing *just* that, without having to go through a more costly full (re)-init. +// Returns -(ENOSYS) when drawing primitives are disabled (MINIMAL build w/o DRAW). +// fbink_cfg: Pointer to an FBInkConfig struct (honors fg_color & bg_color). +FBINK_API int fbink_update_pen_colors(const FBInkConfig* restrict fbink_cfg) __attribute__((nonnull)); + +// We'll need those for fbink_set_*_pen_* (start > 256 to stay clear of errno values) +#define OK_ALREADY_SAME (1 << 9) +// Alternatively, you can choose to set the pen colors *directly*, without relying on FBInk's eInk palette handling. +// This is mostly of interest if you want to use color values you're getting from somewhere outside FBInk. +// You will *NOT* have to call fbink_update_pen_colors() when using these, they'll take care of updating the internal state. +// NOTE: The *optional* quantization pass *should* match what the EPDC itself will do anyway (i.e., it's redundant). +// Returns -(ENOSYS) when drawing primitives are disabled (MINIMAL build w/o DRAW). +// y: 8-bit luminance value +// quantize: If true, round to the nearest eInk palette color. +// update: If true, abort early and return OK_ALREADY_SAME if that's already the current color. +FBINK_API int fbink_set_fg_pen_gray(uint8_t y, bool quantize, bool update); +FBINK_API int fbink_set_bg_pen_gray(uint8_t y, bool quantize, bool update); +// NOTE: You should be aware that subsequent fbink_init calls (and fbink_reinit when it leads to a reinit) *will* +// reset the pen colors to a grayscale representation of whatever RGB values you set this way! +// r: 8-bit red component value +// g: 8-bit green component value +// b: 8-bit blue component value +// a: 8-bit alpha component value (opaque is 0xFFu). +// quantize: If true, round to the nearest eInk palette color. This implies a grayscaling pass! +// update: If true, abort early and return OK_ALREADY_SAME if that's already the current color. +// Keep in mind that the comparison is done *after* grayscaling, even without quantize set. +FBINK_API int fbink_set_fg_pen_rgba(uint8_t r, uint8_t g, uint8_t b, uint8_t a, bool quantize, bool update); +FBINK_API int fbink_set_bg_pen_rgba(uint8_t r, uint8_t g, uint8_t b, uint8_t a, bool quantize, bool update); + +// +// Print a full-width progress bar on screen. +// Returns -(ENOSYS) when fixed-cell font support is disabled (MINIMAL build w/o BITMAP). +// fbfd: Open file descriptor to the framebuffer character device, +// if set to FBFD_AUTO, the fb is opened & mmap'ed for the duration of this call. +// percentage: 0-100 value to set the progress bar's progression. +// fbink_cfg: Pointer to an FBInkConfig struct (ignores is_overlay, col & hoffset; +// as well as is_centered & is_padded). +FBINK_API int fbink_print_progress_bar(int fbfd, uint8_t percentage, const FBInkConfig* restrict fbink_cfg) + __attribute__((nonnull)); + +// Print a full-width activity bar on screen (i.e., an infinite progress bar). +// Returns -(ENOSYS) when fixed-cell font support is disabled (MINIMAL build w/o BITMAP). +// fbfd: Open file descriptor to the framebuffer character device, +// if set to FBFD_AUTO, the fb is opened & mmap'ed for the duration of this call. +// progress: 0-16 value to set the progress thumb's position in the bar. +// fbink_cfg: Pointer to an FBInkConfig struct (ignores is_overlay, is_fgless, col & hoffset; +// as well as is_centered & is_padded). +FBINK_API int fbink_print_activity_bar(int fbfd, uint8_t progress, const FBInkConfig* restrict fbink_cfg) + __attribute__((nonnull)); + +// +// Print an image on screen. +// Returns -(ENOSYS) when image support is disabled (MINIMAL build w/o IMAGE). +// fbfd: Open file descriptor to the framebuffer character device, +// if set to FBFD_AUTO, the fb is opened & mmap'ed for the duration of this call. +// filename: Path to the image file (Supported formats: JPEG, PNG, TGA, BMP, GIF & PNM). +// If set to "-" and stdin is not attached to a terminal, +// will attempt to read image data from stdin. +// x_off: Target coordinates, x (honors negative offsets). +// y_off: Target coordinates, y (honors negative offsets). +// fbink_cfg: Pointer to an FBInkConfig struct. +// Where positioning is concerned, honors any combination of halign/valign, row/col & x_off/y_off; +// otherwise, honors pretty much every other field not specifically concerned with text rendering. +// NOTE: Much like fbink_print_raw_data, for best performance, +// an image that decodes in a pixel format close to the one used by the target device fb is best. +// Generally, that'd be a Grayscale (color-type 0) PNG, ideally dithered down to the eInk palette +// (c.f., https://www.mobileread.com/forums/showpost.php?p=3728291&postcount=17). +// If you can't pre-process your images, dithering can be handled by the hardware on recent devices (c.f. dithering_mode), +// or by FBInk itself (c.f., sw_dithering), but the pixel format still matters: +// On a 32bpp fb, Gray will still be faster than RGB. +// On a 8bpp fb, try to only use Gray for the best performance possible, +// as an RGB input will need to be grayscaled, making it slower than if it were rendered on a 32bpp fb! +// Try to avoid using a 16bpp fb, as conversion to/from RGB565 will generally slow things down. +// If you know you won't need to handle an alpha channel, don't forget ignore_alpha, too ;). +// As expected, the fastest codepath is Gray on an 8bpp fb ;). +// NOTE: There's a direct copy fast path in the very specific case of printing a Grayscale image *without* alpha, +// inversion or dithering on an 8bpp fb. +// NOTE: No such luck on 32bpp, because of a mandatory RGB <-> BGR conversion ;). +FBINK_API int fbink_print_image(int fbfd, + const char* filename, + short int x_off, + short int y_off, + const FBInkConfig* restrict fbink_cfg) __attribute__((nonnull)); + +// Print raw scanlines on screen (packed pixels). +// Returns -(ENOSYS) when image support is disabled (MINIMAL build w/o IMAGE). +// fbfd: Open file descriptor to the framebuffer character device, +// if set to FBFD_AUTO, the fb is opened & mmap'ed for the duration of this call. +// data: Pointer to a buffer holding the image data (Supported pixel formats: Y/YA/RGB/RGBA, +// 8-bit components, the first pixel should be the top-left of the image). +// w: Width (in pixels) of a single scanline of the input image data. +// h: Height (in pixels) of the full image data (i.e., amount of scanlines). +// len: *Exact* size of the input buffer. +// Input pixel format is simply computed as len / h / w, so this *needs* to be exact, +// do not pass a padded length (or pad the data itself in any way)! +// x_off: Target coordinates, x (honors negative offsets). +// y_off: Target coordinates, y (honors negative offsets). +// fbink_cfg: Pointer to an FBInkConfig struct. +// Where positioning is concerned, honors any combination of halign/valign, row/col & x_off/y_off; +// otherwise, honors pretty much every other field not specifically concerned with text rendering. +// NOTE: While we do accept a various range of input formats (as far as component interleaving is concerned), +// our display code only handles a few specific combinations, depending on the target hardware. +// To make everyone happy, this will transparently handle the pixel format conversion *as needed*, +// a process which incurs a single copy of the input buffer (same behavior as in the non-raw image codepath). +// If this is a concern to you, make sure your input buffer is formatted in a manner adapted to your output device: +// Generally, that'd be RGBA (32bpp) on Kobo (or RGB (24bpp) with ignore_alpha), +// and YA (grayscale + alpha) on Kindle (or Y (8bpp) with ignore_alpha). +FBINK_API int fbink_print_raw_data(int fbfd, + const unsigned char* restrict data, + const int w, + const int h, + const size_t len, + short int x_off, + short int y_off, + const FBInkConfig* restrict fbink_cfg) __attribute__((nonnull)); + +// +// Just clear the screen (or a region of it), using the background pen color, eInk refresh included (or not ;)). +// Returns -(ENOSYS) when drawing primitives are disabled (MINIMAL build w/o DRAW). +// fbfd: Open file descriptor to the framebuffer character device, +// if set to FBFD_AUTO, the fb is opened & mmap'ed for the duration of this call. +// fbink_cfg: Pointer to an FBInkConfig struct (honors is_inverted, wfm_mode, dithering_mode, is_nightmode, is_flashing, +// as well as no_refresh & bg_color). +// rect: Optional pointer to an FBInkRect rectangle (as, say, returned by fbink_get_last_rect), +// describing the specific region of screen to clear (in absolute coordinates). +// If the rectangle is empty (i.e., width or height is zero) or the pointer is NULL, +// the full screen will be cleared. +// no_rota: Optional, and only useful in very limited cases. When in doubt, set to false. +// When passing a rect, this requests *not* applying any further rotation hacks, +// (e.g., isNTX16bLandscape). +// This is mildly useful if you got a *rotated* rect out of fbink_get_last_rect +// on such a quirky framebuffer state, +// and just want to re-use it as-is without mangling the rotation again. +// NOTE: This can be used to draw arbitrary filled rectangles (using the bg pen color), +// but, for convenience, fbink_fill_rect_gray & fbink_fill_rect_rgba are also available. +FBINK_API int fbink_cls(int fbfd, const FBInkConfig* restrict fbink_cfg, const FBInkRect* restrict rect, bool no_rota) + __attribute__((nonnull(2))); + +// Like fbink_cls, but instead of absolute coordinates, rely on grid coordinates like fbink_print. +// Honors all the same positioning trickery than fbink_print (i.e., row/col mixed w/ hoffset/voffset). +// fbfd: Open file descriptor to the framebuffer character device, +// if set to FBFD_AUTO, the fb is opened & mmap'ed for the duration of this call. +// fbink_cfg: Pointer to an FBInkConfig struct (honors col, row, is_halfway, is_centered, is_padded, is_rpadded, +// voffset, hoffset, is_overlay, is_bgless, +// wfm_mode, dithering_mode, is_nightmode, is_flashing, no_refresh). +// cols: Amount of columns to clear (i.e., width). +// rows: Amount of rows to clear (i.e., height). +FBINK_API int fbink_grid_clear(int fbfd, + unsigned short int cols, + unsigned short int rows, + const FBInkConfig* restrict fbink_cfg) __attribute__((nonnull)); + +// Like fbink_refresh, but instead of absolute coordinates, rely on grid coordinates like fbink_print. +// Honors all the same positioning trickery than fbink_print (i.e., row/col mixed w/ hoffset/voffset). +// fbfd: Open file descriptor to the framebuffer character device, +// if set to FBFD_AUTO, the fb is opened for the duration of this call. +// fbink_cfg: Pointer to an FBInkConfig struct (honors col, row, is_halfway, is_centered, is_padded, is_rpadded, +// voffset, hoffset, is_overlay, is_bgless, +// wfm_mode, dithering_mode, is_nightmode, is_flashing). +// cols: Amount of columns to refresh (i.e., width). +// rows: Amount of rows to refresh (i.e., height). +// NOTE: This *ignores* no_refresh ;). +FBINK_API int fbink_grid_refresh(int fbfd, + unsigned short int cols, + unsigned short int rows, + const FBInkConfig* restrict fbink_cfg) __attribute__((nonnull)); + +// +// Dump the full screen. +// Returns -(ENOSYS) when image support is disabled (MINIMAL build w/o IMAGE). +// fbfd: Open file descriptor to the framebuffer character device, +// if set to FBFD_AUTO, the fb is opened & mmap'ed for the duration of this call. +// dump: Pointer to an FBInkDump struct (will be recycled if already used). +// NOTE: As with all FBInk structs, FBInkDump *must* be zero-initialized. +// Storage for the dump will be allocated on the heap by FBInk, +// but releasing that memory (i.e., free(dump.data);) is the caller's burden. +// Care should be taken not to leave that pointer dangling (i.e., dump.data = NULL;), +// as a subsequent call to fbink_*_dump with that same struct would otherwise trip the recycling check, +// causing a double free! +// You can use the fbink_free_dump_data() helper function to do just that. +// There are no error codepaths after storage allocation (i.e., you are assured that it has NOT been allocated on error). +// Note that a recycling *will* clear the clip FBInkRect! +// NOTE: On *most* devices (the exceptions being 4bpp & 16bpp fbs), +// the data being dumped is perfectly valid input for fbink_print_raw_data, +// in case you'd ever want to do some more exotic things with it... +// NOTE: On Kobo devices with a sunxi SoC, you will not be able to capture content that you haven't drawn yourself first. +// (There's no "shared" framebuffer, each process gets its own private, zero-initialized (i.e., solid black) buffer). +FBINK_API int fbink_dump(int fbfd, FBInkDump* restrict dump) __attribute__((nonnull)); + +// Dump a specific region of the screen. +// Returns -(ENOSYS) when image support is disabled (MINIMAL build w/o IMAGE). +// Returns -(EINVAL) when trying to dump an empty region. +// fbfd: Open file descriptor to the framebuffer character device, +// if set to FBFD_AUTO, the fb is opened & mmap'ed for the duration of this call. +// x_off: Dump coordinates, x (honors negative offsets). +// y_off: Dump coordinates, y (honors negative offsets). +// w: Width of the region to dump. +// h: Height of the region to dump. +// fbink_cfg: Pointer to an FBInkConfig struct (honors any combination of halign/valign, row/col & x_off/y_off). +// dump: Pointer to an FBInkDump struct (will be recycled if already used). +// NOTE: The same considerations as in fbink_dump should be taken regarding the handling of FBInkDump structs. +FBINK_API int fbink_region_dump(int fbfd, + short int x_off, + short int y_off, + unsigned short int w, + unsigned short int h, + const FBInkConfig* restrict fbink_cfg, + FBInkDump* restrict dump) __attribute__((nonnull)); + +// Like fbink_region_dump, but takes an FBInkRect as input, and uses it *as is* (i.e., no rotation/positioning tricks). +// Returns -(ENOSYS) when image support is disabled (MINIMAL build w/o IMAGE). +// Returns -(EINVAL) when trying to dump an OOB region. +// The intended use case is being able to use a rect returned by fbink_get_last_rect +// without having to think about the potential fallout from positioning or rotation hacks. +// (c.f., also the "no_rota" flag for fbink_cls). +// NOTE: If NULL or an empty rect is passed, a full dump will be made instead. +// NOTE: The same considerations as in fbink_dump should be taken regarding the handling of FBInkDump structs. +FBINK_API int fbink_rect_dump(int fbfd, const FBInkRect* restrict rect, FBInkDump* restrict dump) + __attribute__((nonnull(3))); + +// Restore a framebuffer dump made by fbink_dump/fbink_region_dump/fbink_rect_dump. +// Returns -(ENOSYS) when image support is disabled (MINIMAL build w/o IMAGE). +// Otherwise, returns a few different things on failure: +// -(ENOTSUP) when the dump cannot be restored because it wasn't taken at the current bitdepth and/or rotation, +// or because it's wider/taller/larger than the current framebuffer, or if the crop is invalid (OOB). +// -(EINVAL) when there's no data to restore. +// fbfd: Open file descriptor to the framebuffer character device, +// if set to FBFD_AUTO, the fb is opened & mmap'ed for the duration of this call. +// fbink_cfg: Pointer to an FBInkConfig struct (honors wfm_mode, dithering_mode, is_nightmode, +// is_flashing & no_refresh). +// dump: Pointer to an FBInkDump struct, as setup by fbink_dump or fbink_region_dump. +// NOTE: In case the dump was regional, it will be restored in the exact same coordinates it was taken from, +// no actual positioning is needed/supported at restore time. +// NOTE: This does not support any kind of software processing, at all! +// If you somehow need inversion or dithering, it has to be supported at the hardware level at refresh time by your device, +// (i.e., dithering_mode vs. sw_dithering, and is_nightmode vs. is_inverted). +// At most common bitdepths, you can somewhat work around these restrictions, obviously at a performance premium, +// by using fbink_print_raw_data instead (see the relevant notes for fbink_dump), with a few quirky caveats... +// c.f., the last few tests in utils/dump.c for highly convoluted examples that I don't recommend replicating in production. +// NOTE: "current" actually means "at last init/reinit time". +// Call fbink_reinit first if you really want to make sure bitdepth/rotation still match. +// NOTE: If you need to restore only part of a dump, you can do so via the clip field of the FBInkDump struct. +// This FBInkRect is the only field you should ever modify yourself. +// This clip rectangle is relative to the *screen*, not the dump's area (i.e., these are absolute screen coordinates). +// As such, it has to intersect with the dump's area, or the call will fail. +// And while it can safely completely overlap the dump's area, it still needs to be constrained to the screen's dimension. +// Of course, only the intersection of this rectangle with the dump's area will be restored. +// Be aware that you'll also need to flip the is_full field yourself first if you ever need to crop a full dump. +// NOTE: This does *NOT* free data.dump! +FBINK_API int fbink_restore(int fbfd, const FBInkConfig* restrict fbink_cfg, const FBInkDump* restrict dump) + __attribute__((nonnull)); + +// Free the data allocated by a previous fbink_dump() or fbink_region_dump() call. +// Returns -(ENOSYS) when image support is disabled (MINIMAL build w/o IMAGE). +// Otherwise, returns a few different things on failure: +// -(EINVAL) when the dump has already been freed. +// dump: Pointer to an FBInkDump struct. +// NOTE: You MUST call this when you have no further use for this specific data. +// NOTE: But, you MAY re-use a single FBInkDump struct across different dump() calls *without* calling this in between, +// as dump() will implicitly free a dirty struct in order to recycle it. +FBINK_API int fbink_free_dump_data(FBInkDump* restrict dump) __attribute__((nonnull)); + +// +// Return the coordinates & dimensions of the last thing that was *drawn*. +// Returns an empty (i.e., {0, 0, 0, 0}) rectangle if nothing was drawn. +// rotated: Returns rotated coordinates if applicable. +// NOTE: These are unfiltered *framebuffer* coordinates. +// If your goal is to use that for input detection, mapping that to input coordinates is your responsibility. +// On Kobo, fbink_get_state should contain enough data to help you figure out what kinds of quirks you need to account for. +// NOTE: While this *generally* maps to the refresh region, this does not always hold true: +// this will get updated regardless of no_refresh, +// and will ignore what is_flashing might do to make the refresh region fullscreen. +// i.e., it corresponds to what's drawn to the fb, not necessarily to what's refreshed on screen. +// NOTE: On devices where we may fudge the coordinates to account for broken rotation (i.e., most Kobos @ 16bpp), +// these are, by default, the *unrotated* coordinates! +// i.e., they will *NOT* match with what we actually send to mxcfb (and where we actually drew on the fb)! +// Nothing in our public API actually expects any other kind of coordinates, +// so having this return the rotated coordinates would be confusing... +// If, for some reason (e.g., comparing against actual ioctl values), +// you *do* need the rotated variant, set rotated to true. +FBINK_API FBInkRect fbink_get_last_rect(bool rotated); + +// +// Scan the screen for Kobo's "Connect" button in the "USB plugged in" popup, +// and optionally generate an input event to press that button. +// NOTE: This is deprecated, and no longer built by default on Kobo. +// NickelMenu and/or NickelDBus provide far more robust solutions for this. +// KOBO i.MX Only! Returns -(ENOSYS) when disabled (!KOBO, or Kobo on a sunxi SoC, as well as MINIMAL builds w/o BUTTON_SCAN). +// Otherwise, returns a few different things on failure: +// -(EXIT_FAILURE) when the button was not found. +// With press_button: +// -(ENODEV) when we couldn't generate a touch event at all (unlikely to ever happen on current HW). +// -(ENOTSUP) when the generated touch event appeared to have failed to actually tap the button. +// Emphasis on "appeared to", it's tricky to be perfectly sure the right thing happened... +// CANNOT happen when nosleep is true (because it skips this very codepath). +// NOTE: For the duration of this call, screen updates should be kept to a minimum: in particular, +// we of course expect to be able to see the "Connect" button, +// but we also expect the middle section of the final line to be untouched! +// fbfd: Open file descriptor to the framebuffer character device, +// if set to FBFD_AUTO, the fb is opened & mmap'ed for the duration of this call. +// press_button: Generate an input event to press the button if true, +// MAY sleep up to 5s to confirm that input was successful! (unless nosleep is true). +// nosleep: If true, don't try to confirm that press_button's input event was successful, +// avoiding the nanosleep() calls that would incur... +// NOTE: Thread-safety obviously goes out the window with press_button enabled, +// since you can then only reasonably expect to be able to concurrently run a single instance of that function ;). +FBINK_API int fbink_button_scan(int fbfd, bool press_button, bool nosleep) __attribute__((deprecated)); + +// Wait for the end of a Kobo USBMS session, trying to detect a successful content import in the process. +// NOTE: Expects to be called while in the "Connected" state (like after a successful fbink_button_scan() call w/ press_buton)! +// It will abort early if that's not the case. +// NOTE: For the duration of this call (which is obviously blocking!), screen updates should be kept to a minimum: +// in particular, we expect the middle section of the final line to be untouched! +// KOBO i.MX Only! Returns -(ENOSYS) when disabled (!KOBO, or Kobo on a sunxi SoC, as well as MINIMAL builds w/o BUTTON_SCAN). +// Otherwise, returns a few different things on failure: +// -(EXIT_FAILURE) when the expected chain of events fails to be detected properly. +// -(ENODATA) when there was no new content to import at the end of the USBMS session. +// -(ETIME) when we failed to detect the end of the import session itself, because it ran longer than 5 minutes. +// fbfd: Open file descriptor to the framebuffer character device, +// if set to FBFD_AUTO, the fb is opened & mmap'ed for the duration of this call. +// force_unplug: After having made sure to be in USBMS mode, generate a fake USB unplug event to force Nickel to wake up. +// This makes sense if you want to do stuff behind Nickel's back during the USBMS session, +// instead of simply monitoring it, especially with fake USBMS sessions ;). +// NOTE: Obviously, if this was a real USBMS session, and not an entirely faked one, +// if you force an unplug while onboard is still mounted on the connected to machine, +// shit will go horribly wrong! +// NOTE: Thread-safety obviously goes out the window with force_unplug enabled, +// since you can then only reasonably expect to be able to concurrently run a single instance of that function ;). +FBINK_API int fbink_wait_for_usbms_processing(int fbfd, bool force_unplug); + +// +// Attempt to untangle the rotation state on Kobo devices, converting between the murky "native" value +// (i.e., what's in the fb vinfo), and a "canonical" one, representing how the device is actually physically laid out. +// KOBO Only! Returns ENOSYS when disabled (!KOBO), or ERANGE if the input rotation is invalid. +// Yes, those are positive values, given the function's signature ;). +// See fbink_rota_quirks.c & utils/fbdepth.c for more details. +FBINK_API uint8_t fbink_rota_native_to_canonical(uint32_t rotate); +FBINK_API uint32_t fbink_rota_canonical_to_native(uint8_t rotate); + +// +// Inverts the *existing* content of the *full* screen. +// This is mildly useful on devices with no HW inversion support, +// to trigger a full "nightmode" swap, without actually having to redraw anything. +// fbfd: Open file descriptor to the framebuffer character device, +// if set to FBFD_AUTO, the fb is opened & mmap'ed for the duration of this call. +// fbink_cfg: Pointer to an FBInkConfig struct. +// NOTE: On Kobo devices with a sunxi SoC, you will not be able to affect content that you haven't drawn yourself first. +// i.e., this will only apply to stuff drawn via FBInk's own framebuffer pointer (be it by FBInk or yourself). +FBINK_API int fbink_invert_screen(int fbfd, const FBInkConfig* restrict fbink_cfg) __attribute__((nonnull)); + +// +// Inverts the *existing* content of a specific *region* of the screen. +// This is mildly useful on devices with no HW inversion support, +// to implement inversion after the fact when you don't necessarily control the drawing. +// NOTE: Unlike fbink_invert_screen, this does *NOT* trigger a refresh! +// fbfd: Open file descriptor to the framebuffer character device, +// if set to FBFD_AUTO, the fb is opened & mmap'ed for the duration of this call. +// rect: Optional pointer to an FBInkRect rectangle (as, say, returned by fbink_get_last_rect), +// describing the specific region of screen to invert (in absolute coordinates). +// If the rectangle is empty (i.e., width or height is zero) or the pointer is NULL, +// the full screen will be inverted. +// no_rota: Optional, and only useful in very limited cases. When in doubt, set to false. +// When passing a rect, this requests *not* applying any further rotation hacks, +// (e.g., isNTX16bLandscape). +// This is mildly useful if you got a *rotated* rect out of fbink_get_last_rect +// on such a quirky framebuffer state, +// and just want to re-use it as-is without mangling the rotation again. +// NOTE: On Kobo devices with a sunxi SoC, you will not be able to affect content that you haven't drawn yourself first. +// i.e., this will only apply to stuff drawn via FBInk's own framebuffer pointer (be it by FBInk or yourself). +FBINK_API int fbink_invert_rect(int fbfd, const FBInkRect* restrict rect, bool no_rota); + +// +// The functions below are much lower level than the rest of the API: +// outside of GUI toolkit implementations and very specific workflows, you shouldn't need to rely on them. +// +// Grants direct access to the backing buffer's base pointer, as well as its size (in bytes; e.g., smem_len). +// MUST NOT be called before fbink_init +// MUST NOT be called with an FBFD_AUTO fbfd +// MAY be called before before any fbink_print*, fbink_dump/restore, fbink_cls or fbink_grid* functions. +// (i.e., it'll implicitly setup the backing buffer if necessary). +// Returns NULL on failure (in which case, *buffer_size is set to 0). +// NOTE: This *may* need to be refreshed after a framebuffer state change, c.f., fbink_reinit! +// (In practice, though, the pointer itself is stable; +// only the buffer/mapping size may change on some quirky platforms (usually, PB)). +// fbfd: Open file descriptor to the framebuffer character device, +// cannot be set to FBFD_AUTO! +// buffer_size: Out parameter. On success, will be set to the buffer's size, in bytes. +FBINK_API unsigned char* fbink_get_fb_pointer(int fbfd, size_t* buffer_size) __attribute__((nonnull)); + +// For when you *really* need a mostly untouched copy of the full linuxfb structs... +// NOTE: Prefer fbink_get_state, unless you *really* have no other choices... +FBINK_API void fbink_get_fb_info(struct fb_var_screeninfo* var_info, struct fb_fix_screeninfo* fix_info) + __attribute__((nonnull)); + +// Magic constants for fbink_set_fb_info (> INT8_MAX to steer clear of legitimate values) +#define KEEP_CURRENT_ROTATE (1 << 7) +#define KEEP_CURRENT_BITDEPTH (1 << 7) +#define KEEP_CURRENT_GRAYSCALE (1 << 7) +#define TOGGLE_GRAYSCALE (1 << 6) +// Sets the framebuffer's bitdepth and/or native rotation. +// MUST NOT be called before fbink_init +// Only tested on Kobo & Kindle, here be dragons on other platforms! +// Returns a few different things on failure: +// -(ENODEV) if called before fbink_init +// -(EINVAL) when one of rota/bpp/grayscale is invalid +// -(ECANCELED) if an ioctl failed, meaning the fb state may be left in an undefined state. +// This is *highly* unlikely, but, if it happens, +// checking the sanity of the fb state is the caller's responsibilty! +// (i.e., you'll have to *at least* run fbink_reinit yourself). +// NOTE: On sunxi, only the rotation can be controlled: i.e., this will simply invoke fbink_sunxi_ntx_enforce_rota, +// except we only accept values matching linuxfb rotation constants. +// Prefer using fbink_sunxi_ntx_enforce_rota directly yourself. +// NOTE: On success, this will reinit the state *now* (returning the exact same values as fbink_reinit). +// In particular, if you're using fbink_get_state and/or fbink_get_fb_pointer, +// check and handle that return value properly (as you would an actual fbink_reinit call), +// or you may be left with stale state data if you don't refresh it when necessary :). +// fbfd: Open file descriptor to the framebuffer character device. +// if set to FBFD_AUTO, the fb is opened for the duration of this call. +// rota: *native* linuxfb rotation value (c.f., fbink_rota_canonical_to_native). +// Untouched if set to KEEP_CURRENT_ROTATE +// bpp: bitdepth value (in bits). +// Supported values: 4, 8, 16, 32 +// Untouched if set to KEEP_CURRENT_BITDEPTH +// grayscale: grayscale value. +// (enforced to 0 if bpp != 8). +// If bpp == 8, only meaningful on mxcfb or mtk: +// Generally set to GRAYSCALE_8BIT (1), +// setting it to GRAYSCALE_8BIT_INVERTED (2) +// will automagically enforce HW inversion via EPDC_FLAG_ENABLE_INVERSION (or similar). +// On Kindle MTK+Bellatrix4+CFA, GRAYSCALE_COLOR (0) and GRAYSCALE_COLOR_NIGHTMODE (3) are also supported. +// Untouched if set to KEEP_CURRENT_GRAYSCALE +// If set to TOGGLE_GRAYSCALE, will toggle between INVERTED & not @ 8bpp +// fbink_cfg: Pointer to an FBInkConfig struct. +FBINK_API int fbink_set_fb_info(int fbfd, + uint32_t rota, + uint8_t bpp, + uint8_t grayscale, + const FBInkConfig* restrict fbink_cfg) __attribute__((warn_unused_result, nonnull)); + +// These behave exactly like fbink_cls, but allow you to choose a color directly, instead of relying on the pen's bg color. +// Mostly useful for GUI toolkit backends, but depending on how it's actually used, +// remember that this honors `no_refresh` & `is_inverted`! +// Returns -(ENOSYS) when drawing primitives are disabled (MINIMAL build w/o DRAW). +// c.f., `fbink_cls` for documentation of the initial parameters they share. +// y: 8-bit luminance value +FBINK_API int fbink_fill_rect_gray(int fbfd, + const FBInkConfig* restrict fbink_cfg, + const FBInkRect* restrict rect, + bool no_rota, + uint8_t y) __attribute__((nonnull(2))); +// r: 8-bit red component value +// g: 8-bit green component value +// b: 8-bit blue component value +// a: 8-bit alpha component value (opaque is 0xFFu). +FBINK_API int fbink_fill_rect_rgba(int fbfd, + const FBInkConfig* restrict fbink_cfg, + const FBInkRect* restrict rect, + bool no_rota, + uint8_t r, + uint8_t g, + uint8_t b, + uint8_t a) __attribute__((nonnull(2))); + +// Convenience public wrappers for a per-pixel put/get. +// These are designed with *convenience* in mind, *not* performance. +// (In particular, a pixel needs to be packed on *each* call). +// I'd highly recommend handling drawing yourself if you can ;). +// NOTE: Unlike the fbink_fill_rect family of functions, +// the fbink_put_pixel family will *never* trigger a refresh. +// (Which explains why they don't need to take an FBInkConfig pointer). +// Returns -(ENOSYS) when drawing primitives are disabled (MINIMAL build w/o DRAW). +// x: x coordinates +// y: y coordinates +// v: 8-bit luminance value +FBINK_API int fbink_put_pixel_gray(int fbfd, uint16_t x, uint16_t y, uint8_t v); +// r: 8-bit red component value +// g: 8-bit green component value +// b: 8-bit blue component value +// a: 8-bit alpha component value (opaque is 0xFFu). +FBINK_API int fbink_put_pixel_rgba(int fbfd, uint16_t x, uint16_t y, uint8_t r, uint8_t g, uint8_t b, uint8_t a); +// *r: out pointer, 8-bit red component value +// *g: out pointer, 8-bit green component value +// *b: out pointer, 8-bit blue component value +// *a: out pointer, 8-bit alpha component value (opaque is 0xFFu). +// NOTE: If pixelformat is grayscale, r = g = b and a = 0xFF +// NOTE: Red always means red, if there's a BGR swap involved, it's handled for you. +// Similarly, BGR565/RBG565 is unpacked to RGB32. +FBINK_API int fbink_get_pixel(int fbfd, uint16_t x, uint16_t y, uint8_t* r, uint8_t* g, uint8_t* b, uint8_t* a); + +// As a means to alleviate *some* of the pixel packing overhead mentioned above, +// the following set of functions allow you to actually *save* a packed pixel, +// and pass it to dedicated variants of put_pixel & fill_rect. +// This is helpful if you often reuse the same color. +// NOTE: The packing is only accurate for the *current* pixel format, +// consider re-packing after a potential bitdepth change! +// (e.g., when handling an fbink_reinit call). +// Returns -(ENOSYS) when drawing primitives are disabled (MINIMAL build w/o DRAW). +FBINK_API int fbink_pack_pixel_gray(uint8_t y, uint32_t* px); +FBINK_API int fbink_pack_pixel_rgba(uint8_t r, uint8_t g, uint8_t b, uint8_t a, uint32_t* px); +// c.f., `fbink_put_pixel_*` for documentation of the initial parameters they share. +// px: out pointer, packed pixel in the *current* framebuffer pixel format +FBINK_API int fbink_put_pixel(int fbfd, uint16_t x, uint16_t y, void* px); +FBINK_API int fbink_fill_rect(int fbfd, + const FBInkConfig* restrict fbink_cfg, + const FBInkRect* restrict rect, + bool no_rota, + void* px) __attribute__((nonnull(2))); +// c.f., `fbink_put_pixel_*` & `fbink_fill_rect_*` for documentation of the initial parameters they share. +// px: pointer to a packed pixel, as provided by the fbink_pack_pixel_* family of functions. + +// Forcefully wakeup the EPDC (Kobo Mk.8+ only) +// We've found this to be helpful on a few otherwise crashy devices, +// c.f., https://github.com/koreader/koreader-base/pull/1645 & https://github.com/koreader/koreader/pull/10771 +// Keep in mind that a few Mk. 7 devices can also be mildly temperamental in some circumstances, +// and that this feature isn't supported on those, c.f., https://github.com/koreader/koreader/issues/11511 +// NOTE: Nickel fires this off from its input handler, debounced at roughly 1.5s or 4s intervals, +// which sounds like a slightly more elegant approach than the one I opted for in KOReader ;). +// (As a fun quirk, it only does this after *touch* inputs, not *key* inputs). +// Returns -(ENOSYS) on unsupported platforms. +FBINK_API int fbink_wakeup_epdc(void); + +// +// The functions below are tied to specific capabilities on Kobo devices with a sunxi SoC (e.g., the Elipsa & Sage). +// +// Toggle the "pen" refresh mode. c.f., eink/sunxi-kobo.h @ DISP_EINK_SET_NTX_HANDWRITE_ONOFF for more details. +// The TL;DR being that it's only truly active when using A2 & DU waveform modes. +// And since, on sunxi, A2's MONOCHROME flag is just *software* dithering, you might actually prefer DU. +// Returns -(ENOSYS) on unsupported platforms. +// fbfd: Open file descriptor to the framebuffer character device, +// if set to FBFD_AUTO, the fb is opened & mmap'ed for the duration of this call. +// NOTE: Outside of tracing pen input, it has another interesting side-effect: +// since it disables the layer overlap check, it allows you to display stuff in a different layout +// than the current working buffer without the (heavy) visual artifacts that would otherwise imply. +// Then again, it also leaves an eink kernel thread spinning at 100% CPU until the next standard update, +// so this might not be such a great idea after all... +// c.f., kobo_sunxi_fb_fixup @ fbink.c for more details. +// NOTE: Another option for "dealing" with these rotation mishaps is to just assume the screen is always Upright. +// You can achieve that by making sure FBINK_FORCE_ROTA is set properly in your env (*before* initializing FBInk). +// NOTE: Or, you can also affect how FBInk tries to honor the gyro (or not) at runtime, via fbink_sunxi_ntx_enforce_rota. +FBINK_API int fbink_sunxi_toggle_ntx_pen_mode(int fbfd, bool toggle); + +// Allows controlling at runtime how fbink_init & fbink_reinit handle rotation, +// potentially bypassing and/or selectively overriding the state returned by the accelerometer. +// Returns -(ENOSYS) on unsupported platforms. +// Otherwise, returns a few different things on failure: +// -(EINVAL) when mode is invalid +// -(ENOTSUP) when mode is unsupported +// NOTE: See the comments in the SUNXI_FORCE_ROTA_INDEX_E enum. +// In particular, the fact that the most interesting modes aren't actually supported because of technical limitations, +// unless the custom fbdamage module has been loaded (earlier than the disp client you're trying to match)... +// c.f., . +// NOTE: On success, this will reinit the state *now* (returning the exact same values as fbink_reinit). +FBINK_API int fbink_sunxi_ntx_enforce_rota(int fbfd, SUNXI_FORCE_ROTA_INDEX_T mode, const FBInkConfig* restrict fbink_cfg) + __attribute__((warn_unused_result, nonnull)); + +// +// The functions below are tied to specific capabilities on Kindle devices with a MediaTek SoC (e.g., the PW5). +// +// Setup the swipe animation direction & duration used by every refresh when is_animated is set in the FBInkConfig struct. +// Returns -(ENOSYS) on unsupported platforms. +// NOTE: Maximum value for steps is 60 on Bellatrix. The ioctl will throw an EBADF otherwise. +// NOTE: The refresh dimension that matches the animation direction (i.e., width for L/R & height for T/B) +// needs to be >= than the amount of steps, or the animation will be disabled. +// (Unlike the max steps, FBInk will sanity check this, as it currently crashes the driver ;)). +// NOTE: Malbec currrently uses 12 in the Reader. +FBINK_API int fbink_mtk_set_swipe_data(MTK_SWIPE_DIRECTION_INDEX_T direction, uint8_t steps); + +// Wait (up to 2s) for *every* pending refresh! +// Returns -(ENOSYS) on unsupported platforms. +// NOTE: When "fast mode" is enabled (c.f., fbink_mtk_toggle_auto_reagl below), +// no updates are able to be collected, meaning this will *always* timeout! +// TL;DR: Don't mix with fbink_mtk_toggle_auto_reagl(false)! +FBINK_API int fbink_wait_for_any_complete(int fbfd); + +// Setup the screen regions to gray out with a checkered pattern (Kindle only). +// Returns -(ENOSYS) on unsupported platforms. +// NOTE: Both of the regions are the *excluded* regions (i.e., the regions that will *NOT* be checkered). +// You *MAY* only set a single exclude region, in which case, use the first array member. +// NOTE: Setting the first region to an empty rectangle will disable the feature (as will setting size to MTK_HALFTONE_DISABLED). +// NOTE: For non-default sizes, the actual size is in pixel, and equal to size - 1 +// NOTE: This does *NOT* refresh the screen, it just sets things up for subsequent refreshes. +// NOTE: This will *NOT* apply to EPDC_FLAG_USE_ALT_BUFFER updates. +FBINK_API int fbink_mtk_set_halftone(int fbfd, const FBInkRect exclude_regions[2], MTK_HALFTONE_MODE_INDEX_T size); + +// Toggle whether large enough refresh regions will automatically be upgraded to REAGL (Kindle only). +// NOTE: Only applies to DU, GL16 & GC16 PARTIAL updates. +// NOTE: Only applies in day mode (e.g., GRAYSCALE_8BIT, not GRAYSCALE_8BIT_INVERTED). +// NOTE: Currently applies to regions both over a third of the screen's width and a fourth of the screen's height. +// NOTE: When this is *disabled* (i.e., the so-called "fast mode" is enabled), +// updates will *NOT* be collected by the WAIIT_FOR_ANY_UPDATE_COMPLETE ioctl! +// Returns -(ENOSYS) on unsupported platforms. +FBINK_API int fbink_mtk_toggle_auto_reagl(int fbfd, bool toggle); + +// Toggle the "pen" refresh mode (Kindle on Bellatrix3 only). +// Returns -(ENOSYS) on unsupported platforms (NOTE: We currently *allow* this on Bellatrix, where it will fail). +// fbfd: Open file descriptor to the framebuffer character device, +// if set to FBFD_AUTO, the fb is opened & mmap'ed for the duration of this call. +// NOTE: Among other things, this enforces similar behavior as in "fast" mode re: automatic REAGL upgrades. +// NOTE: There is a *strong* "no collision with standard mode" constraint that is left to *userland* to enforce (i.e., you). +// Pen mode updates *must* use DU (or DUNM iff in nightmode (e.g., GRAYSCALE_8BIT_INVERTED)), +// failing to do so will temporarily disable pen mode. +FBINK_API int fbink_mtk_toggle_pen_mode(int fbfd, bool toggle); + +// +// The functions below are small utilities to make working with input devices slightly less painful. +// + +// Input device classification +typedef enum +{ + INPUT_UNKNOWN = 0U, + // Standard udev classification + INPUT_POINTINGSTICK = 1U << 0U, + INPUT_MOUSE = 1U << 1U, + INPUT_TOUCHPAD = 1U << 2U, + INPUT_TOUCHSCREEN = 1U << 3U, + INPUT_JOYSTICK = 1U << 4U, + INPUT_TABLET = 1U << 5U, // Includes touchscreens w/ stylus support + INPUT_KEY = 1U << 6U, // Supports at least *1* EV_KEY keycode (may include touchscreens) + INPUT_KEYBOARD = 1U << 7U, + INPUT_ACCELEROMETER = 1U << 8U, + // Custom classification, tailored for our use-cases + INPUT_POWER_BUTTON = 1U << 16U, + INPUT_SLEEP_COVER = 1U << 17U, + INPUT_PAGINATION_BUTTONS = 1U << 18U, + INPUT_HOME_BUTTON = 1U << 19U, + INPUT_LIGHT_BUTTON = 1U << 20U, // e.g., the frontlight toggle button on some early Kobos + INPUT_MENU_BUTTON = 1U << 21U, + INPUT_DPAD = 1U << 22U, + INPUT_ROTATION_EVENT = 1U << 23U, // Where "device was rotated" events *may* be sent (gyro or not) + INPUT_SCALED_TABLET = 1U << 24U, // INPUT_TABLET, with max ABS_X/ABS_Y that match the fb's resolution + INPUT_VOLUME_BUTTONS = 1U << 25U, + INPUT_KINDLE_FRAME_TAP = 1U << 26U, // For the "double-tap on device" gestures introduced with the PW6 & CS +} __attribute__((packed)) INPUT_DEVICE_TYPE_E; +typedef uint32_t INPUT_DEVICE_TYPE_T; + +// Input classification settings +typedef enum +{ + SCAN_ONLY = 1U << 0U, // Do *NOT* leave any fd's open'ed + OPEN_BLOCKING = 1U << 1U, // Do *NOT* open fd's with O_NONBLOCK + MATCH_ALL = 1U << 2U, // Match on *all* the match_types bits instead of *any* + EXCLUDE_ALL = 1U << 3U, // Exclude on *all* the exclude_types bits instead of *any* + NO_RECAP = 1U << 4U, // Do *NOT* print a recap of the results of input device classification +} __attribute__((packed)) INPUT_SETTINGS_TYPE_E; +typedef uint32_t INPUT_SETTINGS_TYPE_T; + +typedef struct +{ + INPUT_DEVICE_TYPE_T type; // bitmask + int fd; // Set to -1 when not open + bool matched; // true if type matches the match/exclude combo + char name[256]; // As reported by EVIOCGNAME + char path[4096]; // e.g., /dev/input/event%d +} FBInkInputDevice; + +// Scan & classify input devices into actionable categories. +// Returns a pointer to the first element of an array of FBInkInputDevice structs, containing `dev_count` elements. +// Regardless of the filter you request, this will always contain *all* the device's input devices. +// The `matched` field will be set to true if that device matches *any/all* (depending on `MATCH_ALL`) of the bits in `match_types` +// and *not* *any/all* (depending on `EXCLUDE_ALL`) of the bits in `exclude_types`, meaning you can either cast a fairly wide net, +// and still catch everything you care about; or tackle an exclude mask on top for more fine-grained filtering. +// You *MUST* free the returned pointer after use (it's heap allocated). +// Returns NULL on failure (no input devices can be read, or MINIMAL build w/o INPUT). +// match_types: Bitmask used to filter the type of input devices you want to open. +// exclude_types: Bitmask used to filter *out* some input device types from results that matched match_types. +// Set to 0 to forgo an exclude mask. +// settings: Bitmask that controls some of the scan's behavior. +// if the OPEN_BLOCKING bit is set, fds will be opened in *blocking* mode. +// Otherwise, the default open flags are O_RDONLY|O_NONBLOCK|O_CLOEXEC +// if the SCAN_ONLY bit is set, *no* fds will be returned, regardless of the filter. +// if the MATCH_ALL bit is set, +// a device must feature *all* of the bits in match_types to be considered a match. +// Otherwise, any of each individal bit will be enough. +// if the EXCLUDE_ALL bit is set, +// a device must *not* feature *all* of the bits in exclude_types to be considered a match. +// Otherwise, any of each individal bit will be enough to warrant an exclusion. +// Set to 0 for default settings. +// dev_count: out pointer, will be set to the amount of array elements in the returned data. +// NOTE: This does *NOT* require fbink to be initialized, but *does* honor its internal verbosity state. +FBINK_API FBInkInputDevice* fbink_input_scan(INPUT_DEVICE_TYPE_T match_types, + INPUT_DEVICE_TYPE_T exclude_types, + INPUT_SETTINGS_TYPE_T settings, + size_t* dev_count); + +// Variant of the above that takes a filepath instead of scanning /dev/input/event* +// This is useful to handle hotplug events, for instance. +// Returns a pointer to an FBInkInputDevice struct. +// You *MUST* free the returned pointer after use (it's heap allocated). +// Returns NULL on failure (filepath cannot be read, or MINIMAL build w/o INPUT). +FBINK_API FBInkInputDevice* fbink_input_check(const char* filepath, + INPUT_DEVICE_TYPE_T match_types, + INPUT_DEVICE_TYPE_T exclude_types, + INPUT_SETTINGS_TYPE_T settings); +// +/// +// +// When you intend to keep the framebuffer fd open for the lifecycle of your program: +// fd = open() -> init(fd, ...) -> print*(fd, ...) -> ... -> close(fd) +// NOTE: This implies keeping the framebuffer's mmap around, too. +// The initial mmap will only happen on the first function call that actually needs to write to the fb, i.e., print*. +// On the upside, that's going to be the only mmap to ever happen, as subsequent print* calls will re-use it. +// +// Otherwise, you can simply forget about open() & close(), and just do: +// init(FBFD_AUTO, ...) +// And then whenever you want to print something: +// print*(FBFD_AUTO, ...) +// +// See fbink_cmd.c for an example of the former, and KFMon for an example of the latter. +// NOTE: Although fairly stupid in practice, utils/dump.c is less convoluted than fbink_cmd.c, making it worth a look... + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/fbink/libfbink.a b/src/fbink/libfbink.a new file mode 100644 index 0000000000000000000000000000000000000000..fdedfc0c8a68ae32f3da3da6721fa1aa9056b9c4 GIT binary patch literal 1478114 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�vjpp3Uy5OxChKitmyi}9aG{?s>|gI_#vg6FCD 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 t{W%!s{c94ZJQNm!Ym&}z4L&lgdlWZ^Gx$D> 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

ym)^k4V#RA?a=e4g<2 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
I$5yo$mMOx80uv`PIP0E#S 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 literal 0 HcmV?d00001 diff --git a/src/fbinkutil.go b/src/fbinkutil.go new file mode 100644 index 0000000..bbb5cc6 --- /dev/null +++ b/src/fbinkutil.go @@ -0,0 +1,76 @@ +package main + +/* +#cgo CFLAGS: -I./fbink +#cgo LDFLAGS: -L./fbink -lfbink -lm +#include +#include "fbink.h" +*/ +import "C" + +import ( + "fmt" + "os" + "unsafe" +) + +type FB struct { + file *os.File + fd C.int + cfg C.FBInkConfig + screenWidth int + screenHeight int +} + +func InitFBInk(width, height int) (*FB, error) { + fb, err := os.OpenFile("/dev/fb0", os.O_RDWR, 0) + if err != nil { + return nil, fmt.Errorf("open fb0: %w", err) + } + f := &FB{file: fb, fd: C.int(fb.Fd()), screenWidth: width, screenHeight: height} + C.fbink_init(f.fd, &f.cfg) + return f, nil +} + +func (f *FB) Close() { _ = f.file.Close() } + +func (f *FB) WriteBuffer(buf []byte) error { + _, err := f.file.WriteAt(buf, 0) + return err +} + +func (f *FB) Clear(doRefresh bool) { + var r C.FBInkRect + C.fbink_cls(f.fd, &f.cfg, &r, C._Bool(doRefresh)) + if doRefresh { + C.fbink_wait_for_complete(f.fd, 0) + } +} + +func (f *FB) PrintAtPixel(x, y int, text string, fontmult int) { + cstr := C.CString(text) + defer C.free(unsafe.Pointer(cstr)) + f.cfg.hoffset = C.short(x) + f.cfg.voffset = C.short(y) + f.cfg.fontmult = C.uint8_t(fontmult) + C.fbink_print(f.fd, cstr, &f.cfg) +} + +func (f *FB) RefreshRect(top, left, w, h int) { + if w <= 0 || h <= 0 { + return + } + C.fbink_refresh( + f.fd, + C.uint32_t(top), + C.uint32_t(left), + C.uint32_t(w), + C.uint32_t(h), + &f.cfg, + ) + C.fbink_wait_for_complete(f.fd, 0) +} + +func (f *FB) RefreshFull() { + f.RefreshRect(0, 0, f.screenWidth, f.screenHeight) +} diff --git a/src/go.mod b/src/go.mod new file mode 100644 index 0000000..9f0058b --- /dev/null +++ b/src/go.mod @@ -0,0 +1,3 @@ +module kindle_fbink_go + +go 1.19 diff --git a/src/main.go b/src/main.go new file mode 100644 index 0000000..d9f4862 --- /dev/null +++ b/src/main.go @@ -0,0 +1,185 @@ +package main + +import ( + "fmt" + "os" + "time" +) + +func main() { + fmt.Println("startup") + const ( + width = 1072 + height = 1448 + ) + + fb, err := InitFBInk(width, height) + if err != nil { + fmt.Fprintln(os.Stderr, err) + os.Exit(1) + } + defer fb.Close() + + var evfd *os.File + var ( + touchAxisX AxisRange + touchAxisY AxisRange + haveAxis bool + ) + + if path, err := findTouchEventNode(); err == nil { + if f, e := openNonblock(path); e == nil { + evfd = f + fmt.Println("touch input:", path) + defer evfd.Close() + if xr, yr, err := ReadTouchAxisRanges(path); err == nil { + fmt.Printf("touch axis from sysfs X:[%d,%d] Y:[%d,%d]\n", xr.Min, xr.Max, yr.Min, yr.Max) + touchAxisX = xr + touchAxisY = yr + haveAxis = true + } else { + fmt.Println("warning: touch axis range:", err) + } + } else { + fmt.Println("warning: open touch:", e) + } + } else { + fmt.Println("warning:", err) + } + + app := NewApp(fb, evfd, width, height) + if os.Getenv("KINDLE_UI_TOUCH_DEBUG") != "" { + app.EnableTouchDebug(true) + } + if haveAxis { + app.SetTouchAxisRange(touchAxisX, touchAxisY) + } else { + fmt.Println("Using default touch axis range") + app.SetTouchAxisRange( + AxisRange{Min: 0, Max: 4095}, + AxisRange{Min: 0, Max: 4095}, + ) + } + + var message = "Welcome" + + styles := map[string]*ButtonStyle{ + "primary": { + BorderRadius: 20, + FillColor: bytePtr(0xE0), + StrokeColor: bytePtr(0x30), + StrokeThickness: 2, + FontMultiplier: 2, + }, + "secondary": { + BorderRadius: 20, + FillColor: bytePtr(0xF4), + StrokeColor: bytePtr(0x40), + StrokeThickness: 2, + FontMultiplier: 2, + }, + "ghost": { + BorderRadius: 20, + StrokeColor: bytePtr(0x30), + StrokeThickness: 2, + FontMultiplier: 2, + }, + } + + homePage := &Page{ + Name: "home", + Background: 0xFF, + OnDraw: func(a *App) { + a.DrawText(40, 80, "test go ui", 3) + a.DrawText(40, 140, message, 2) + }, + Buttons: []*Button{ + { + Rect: Rect{X: width/2 - 220, Y: 260, W: 440, H: 120}, + Label: "Say Hello", + Style: styles["primary"], + OnTap: func(a *App) { + message = "Hello from your Kindle!" + fmt.Println("Button pressed: Say Hello") + a.RequestRender() + }, + }, + { + Rect: Rect{X: width/2 - 220, Y: 420, W: 440, H: 120}, + Label: "Go To Counter", + Style: styles["primary"], + OnTap: func(a *App) { + a.Navigate("counter") + }, + }, + { + Rect: Rect{X: width/2 - 220, Y: 580, W: 440, H: 120}, + Label: "Log To Console", + Style: styles["secondary"], + OnTap: func(a *App) { + fmt.Println("console button tapped at", time.Now().Format(time.RFC3339)) + message = "Logged a message to the console." + a.RequestRender() + }, + }, + { + Rect: Rect{X: width/2 - 220, Y: 740, W: 440, H: 120}, + Label: "Higher brightness", + Style: styles["ghost"], + OnTap: func(a *App) { + fmt.Println("brightness change") + if a.dispCtrl.brightness.currentBrightness > 0 { + a.setBrightness(0) + } else { + a.setBrightness(256) + } + }, + }, + }, + } + + counter := 0 + + counterPage := &Page{ + Name: "counter", + Background: 0xFF, + OnDraw: func(a *App) { + a.DrawText(40, 80, "basically react start example", 3) + a.DrawText(40, 140, fmt.Sprintf("Current value: %d", counter), 2) + }, + Buttons: []*Button{ + { + Rect: Rect{X: width/2 - 220, Y: 260, W: 440, H: 120}, + Label: "Increment", + Style: styles["primary"], + OnTapCount: func(a *App, count int) { + counter += count + a.RequestRender() + }, + }, + { + Rect: Rect{X: width/2 - 220, Y: 420, W: 440, H: 120}, + Label: "Reset", + Style: styles["secondary"], + OnTap: func(a *App) { + counter = 0 + a.RequestRender() + }, + }, + { + Rect: Rect{X: width/2 - 220, Y: 580, W: 440, H: 120}, + Label: "Back", + Style: styles["ghost"], + OnTap: func(a *App) { + a.Navigate("home") + }, + }, + }, + } + + app.AddPage(homePage) + app.AddPage(counterPage) + app.Navigate("home") + + app.Run() +} diff --git a/src/touch.go b/src/touch.go new file mode 100644 index 0000000..1a416b2 --- /dev/null +++ b/src/touch.go @@ -0,0 +1,279 @@ +package main + +import ( + "bufio" + "bytes" + "encoding/binary" + "errors" + "fmt" + "os" + "path/filepath" + "strconv" + "strings" + "syscall" +) + +const ( + // Event type categories (high-level groupings) + EV_SYN = 0x00 // Synchronization: marks end of a full event packet (a "frame" of updates) + EV_KEY = 0x01 // Key/button events: pressed/released toggles (also used for touch "down/up") + EV_ABS = 0x03 // Absolute axis events: reports positional or pressure data, not deltas + + // EV_SYN codes + SYN_REPORT = 0 // Sent after a batch of ABS/KEY updates; tells you "this frame is complete" + + // EV_KEY codes (pretend the touchscreen is a keyboard with one key) + BTN_TOUCH = 0x14a // Touch contact active (1 = finger down, 0 = finger up) + BTN_TOOL_FINGER = 0x145 // "A finger tool is in range" - capacitive proximity (optional) + + // EV_ABS axis codes: continuous values like coordinates and pressure + ABS_X = 0x00 // Generic absolute X position (used on single-touch panels) + ABS_Y = 0x01 // Generic absolute Y position + ABS_MT_POSITION_X = 0x35 // Multi-touch X position for a specific contact slot + ABS_MT_POSITION_Y = 0x36 // Multi-touch Y position + ABS_PRESSURE = 0x18 // Pressure value (force of touch, if hardware supports it) + ABS_MT_TRACKING_ID = 0x39 // Unique ID for a finger contact (changes when finger lifts/reappears) + ABS_MT_SLOT = 0x2f // Selects which multi-touch "slot" subsequent MT events apply to +) + +type inputEvent struct { + Sec int32 + USec int32 + Type uint16 + Code uint16 + Value int32 +} + +type AxisRange struct { + Min int + Max int +} + +func findTouchEventNode() (string, error) { + candidates, _ := filepath.Glob("/dev/input/event*") + for _, ev := range candidates { + namePath := fmt.Sprintf("/sys/class/input/%s/device/name", filepath.Base(ev)) + if b, err := os.ReadFile(namePath); err == nil { + name := strings.ToLower(strings.TrimSpace(string(b))) + if strings.Contains(name, "touch") || strings.Contains(name, "synaptics") || + strings.Contains(name, "atmel") || strings.Contains(name, "elan") || + strings.Contains(name, "ft") || strings.Contains(name, "mxt") { + return ev, nil + } + } + } + for _, ev := range []string{"/dev/input/event1", "/dev/input/event0"} { + if _, err := os.Stat(ev); err == nil { + return ev, nil + } + } + return "", fmt.Errorf("no input event node found") +} + +func openNonblock(path string) (*os.File, error) { + return os.OpenFile(path, os.O_RDONLY|syscall.O_NONBLOCK, 0) +} + +func ReadTouchAxisRanges(eventPath string) (AxisRange, AxisRange, error) { + base := filepath.Base(eventPath) + baseDir := filepath.Join("/sys/class/input", base) + searchRoots := []string{ + filepath.Join(baseDir, "device"), + filepath.Join(baseDir, "device", "device"), + } + var ( + data []byte + err error + tried []string + addPath = func(p string) { + if p == "" { + return + } + tried = append(tried, p) + } + ) + for _, root := range searchRoots { + direct := filepath.Join(root, "abs") + addPath(direct) + patterns := []string{ + filepath.Join(root, "*", "abs"), + filepath.Join(root, "*", "*", "abs"), + } + for _, pattern := range patterns { + if matches, e := filepath.Glob(pattern); e == nil { + for _, m := range matches { + addPath(m) + } + } + } + } + if len(tried) == 0 { + tried = append(tried, + filepath.Join(baseDir, "device", "abs"), + filepath.Join(baseDir, "device", "device", "abs"), + ) + } + for _, p := range tried { + if b, e := os.ReadFile(p); e == nil { + data = b + err = nil + break + } else { + err = e + } + } + if data == nil { + return AxisRange{}, AxisRange{}, fmt.Errorf("read axis ranges: %w", err) + } + ranges := parseAxisRanges(data) + var xr, yr AxisRange + var ok bool + if xr, ok = ranges[ABS_MT_POSITION_X]; !ok { + xr = ranges[ABS_X] + } + if yr, ok = ranges[ABS_MT_POSITION_Y]; !ok { + yr = ranges[ABS_Y] + } + if xr.Max <= xr.Min { + xr = AxisRange{Min: 0, Max: touchMaxX - 1} + } + if yr.Max <= yr.Min { + yr = AxisRange{Min: 0, Max: touchMaxY - 1} + } + return xr, yr, nil +} + +func parseAxisRanges(data []byte) map[uint16]AxisRange { + result := make(map[uint16]AxisRange) + scanner := bufio.NewScanner(bytes.NewReader(data)) + for scanner.Scan() { + line := strings.TrimSpace(scanner.Text()) + if line == "" { + continue + } + line = strings.ReplaceAll(line, ":", "") + fields := strings.Fields(line) + if len(fields) < 3 { + continue + } + codeVal, err := strconv.ParseInt(fields[0], 0, 32) + if err != nil { + continue + } + minVal, err := strconv.ParseInt(fields[1], 0, 32) + if err != nil { + continue + } + maxVal, err := strconv.ParseInt(fields[2], 0, 32) + if err != nil { + continue + } + result[uint16(codeVal)] = AxisRange{Min: int(minVal), Max: int(maxVal)} + } + return result +} + +var touchDebugEnabled bool + +func SetTouchDebugEnabled(enabled bool) { + touchDebugEnabled = enabled +} + +// PollTouch drains up to maxReads events. Returns last known x,y, whether a touch is down, and whether we have valid coordinates. +func PollTouch(evfd *os.File, maxReads int) (x, y int, pressed, haveXY bool) { + x = lastTouchX + y = lastTouchY + pressed = lastTouchPressed + haveXY = lastTouchHave + + currentX := x + currentY := y + currentPressed := pressed + currentHave := haveXY + trackingActive := pressed + + updated := false + debug := touchDebugEnabled + currentSlot := -1 + for i := 0; i < maxReads; i++ { + var ev inputEvent + if err := binary.Read(evfd, binary.LittleEndian, &ev); err != nil { + if errors.Is(err, syscall.EAGAIN) || errors.Is(err, syscall.EWOULDBLOCK) { + break + } + return + } + if debug { + fmt.Printf("event type=0x%X code=0x%X value=%d\n", ev.Type, ev.Code, ev.Value) + } + switch ev.Type { + case EV_ABS: + switch ev.Code { + case ABS_X, ABS_MT_POSITION_X: + if trackingActive { + currentX = int(ev.Value) + currentHave = true + } + case ABS_Y, ABS_MT_POSITION_Y: + if trackingActive { + currentY = int(ev.Value) + currentHave = true + } + case ABS_MT_TRACKING_ID: + if ev.Value >= 0 { + currentPressed = true + trackingActive = true + } else { + currentPressed = false + trackingActive = false + } + case ABS_PRESSURE: + if ev.Value > 0 { + currentPressed = true + } else { + currentPressed = false + } + case ABS_MT_SLOT: + currentSlot = int(ev.Value) + if debug { + fmt.Printf("event slot=%d\n", currentSlot) + } + } + case EV_KEY: + if ev.Code == BTN_TOUCH || ev.Code == BTN_TOOL_FINGER { + currentPressed = ev.Value != 0 + } + case EV_SYN: + if ev.Code == SYN_REPORT { + x = currentX + y = currentY + pressed = currentPressed + haveXY = currentHave + updated = true + // Return after a single report so callers observe each touch frame. + } + } + if updated { + break + } + } + if updated { + lastTouchX = x + lastTouchY = y + lastTouchPressed = pressed + lastTouchHave = haveXY + } else { + x = lastTouchX + y = lastTouchY + pressed = lastTouchPressed + haveXY = lastTouchHave + } + return +} + +var ( + lastTouchX int + lastTouchY int + lastTouchPressed bool + lastTouchHave bool +) diff --git a/src/ui.go b/src/ui.go new file mode 100644 index 0000000..9f60e34 --- /dev/null +++ b/src/ui.go @@ -0,0 +1,708 @@ +package main + +import ( + "fmt" + "os" + "time" +) + +const ( + touchMaxX = 4096 + touchMaxY = 4096 + maxInt = int(^uint(0) >> 1) + displayRefreshCooldown = 200 * time.Millisecond + tapQueueMaxDelay = 350 * time.Millisecond +) + +func bytePtr(v byte) *byte { + return &v +} + +type Rect struct { + X, Y, W, H int +} + +func (r Rect) Contains(x, y int) bool { + return x >= r.X && x < r.X+r.W && y >= r.Y && y < r.Y+r.H +} + +type ButtonStyle struct { + BorderRadius int + FillColor *byte + StrokeColor *byte + StrokeThickness int + FontMultiplier int +} + +type Button struct { + Rect Rect + Label string + FontMultiplier int + BorderRadius int + Style *ButtonStyle + OnTap func(*App) + OnTapCount func(*App, int) +} + +func (b *Button) fontSize() int { + if b.FontMultiplier > 0 { + return b.FontMultiplier + } + if b.Style != nil && b.Style.FontMultiplier > 0 { + return b.Style.FontMultiplier + } + return 2 +} + +func (b *Button) draw(buf []byte, stride int) { + if b.Rect.W <= 0 || b.Rect.H <= 0 { + return + } + fill := byte(0xF0) + strokeColor := byte(0x00) + strokeThickness := 2 + radius := b.BorderRadius + if b.Style != nil { + if b.Style.FillColor != nil { + fill = *b.Style.FillColor + } + if b.Style.StrokeColor != nil { + strokeColor = *b.Style.StrokeColor + } + if b.Style.StrokeThickness >= 0 { + strokeThickness = b.Style.StrokeThickness + } + if b.Style.BorderRadius > 0 { + radius = b.Style.BorderRadius + } + } + if radius > 0 { + fillRoundedRect(buf, stride, b.Rect.X, b.Rect.Y, b.Rect.W, b.Rect.H, radius, fill) + if strokeThickness > 0 { + strokeRoundedRect(buf, stride, b.Rect.X, b.Rect.Y, b.Rect.W, b.Rect.H, strokeThickness, radius, strokeColor) + } + return + } + drawRect(buf, stride, b.Rect.X, b.Rect.Y, b.Rect.W, b.Rect.H, fill) + if strokeThickness > 0 { + strokeRect(buf, stride, b.Rect.X, b.Rect.Y, b.Rect.W, b.Rect.H, strokeThickness, strokeColor) + } +} + +func (b *Button) drawLabel(fb *FB) { + if b.Label == "" { + return + } + font := b.fontSize() + textX := b.Rect.X + 16 + textY := b.Rect.Y + b.Rect.H/2 - (8 * font) + if textY < b.Rect.Y+4 { + textY = b.Rect.Y + 4 + } + fb.PrintAtPixel(textX, textY, b.Label, font) +} + +func (b *Button) Tap(app *App) { + if b.OnTap != nil { + b.OnTap(app) + } +} + +func (b *Button) TapTimes(app *App, count int) { + if count <= 0 { + return + } + if b.OnTapCount != nil { + b.OnTapCount(app, count) + return + } + for i := 0; i < count; i++ { + b.Tap(app) + } +} + +type Page struct { + Name string + Background byte + Buttons []*Button + OnDraw func(*App) +} + +func (p *Page) Render(app *App) { + if p == nil { + return + } + fill := p.Background + if fill == 0 { + fill = 0xFF + } + for i := range app.buffer { + app.buffer[i] = fill + } + for _, btn := range p.Buttons { + btn.draw(app.buffer, app.stride) + } + _ = app.fb.WriteBuffer(app.buffer) + if p.OnDraw != nil { + p.OnDraw(app) + } + for _, btn := range p.Buttons { + btn.drawLabel(app.fb) + } +} + +func (p *Page) buttonAt(x, y int) *Button { + for _, btn := range p.Buttons { + if btn.Rect.Contains(x, y) { + return btn + } + } + return nil +} + +type TouchTransform struct { + SwapAxes bool + InvertX bool + InvertY bool +} + +type GestureType int + +const ( + GestureTap GestureType = iota + GesturePanStart + GesturePanUpdate + GesturePanEnd +) + +type Gesture struct { + Type GestureType + StartX int + StartY int + X int + Y int + StartRawX int + StartRawY int + RawX int + RawY int + DeltaX int + DeltaY int + Duration time.Duration +} + +type touchSession struct { + active bool + startX int + startY int + lastX int + lastY int + startRawX int + startRawY int + lastRawX int + lastRawY int + startTime time.Time +} + +func (s *touchSession) begin(x, y int, rawX, rawY int) { + s.active = true + s.startX = x + s.startY = y + s.lastX = x + s.lastY = y + s.startRawX = rawX + s.startRawY = rawY + s.lastRawX = rawX + s.lastRawY = rawY + s.startTime = time.Now() +} + +func (s *touchSession) update(x, y int, rawX, rawY int) { + if !s.active { + return + } + s.lastX = x + s.lastY = y + s.lastRawX = rawX + s.lastRawY = rawY +} + +func (s *touchSession) end() (Gesture, bool) { + if !s.active { + return Gesture{}, false + } + duration := time.Duration(0) + if !s.startTime.IsZero() { + duration = time.Since(s.startTime) + } + g := Gesture{ + Type: GestureTap, + StartX: s.startX, + StartY: s.startY, + X: s.lastX, + Y: s.lastY, + StartRawX: s.startRawX, + StartRawY: s.startRawY, + RawX: s.lastRawX, + RawY: s.lastRawY, + DeltaX: s.lastX - s.startX, + DeltaY: s.lastY - s.startY, + Duration: duration, + } + s.active = false + return g, true +} + +type App struct { + fb *FB + evfd *os.File + width int + height int + stride int + dispCtrl DisplayController + + buffer []byte + + pages map[string]*Page + current *Page + + dirty bool + lastTouchX int + lastTouchY int + lastRawX int + lastRawY int + touchDebug bool + + axisMinX int + axisMaxX int + axisMinY int + axisMaxY int + axisSampleCnt int + axisFixed bool + + transform TouchTransform + session touchSession + + pendingTaps []pendingTap + displayBusyUntil time.Time + tapFlushDeadline time.Time +} + +type pendingTap struct { + button *Button + count int +} + +func NewApp(fb *FB, evfd *os.File, width, height int) *App { + return &App{ + fb: fb, + evfd: evfd, + width: width, + height: height, + stride: width, + buffer: make([]byte, width*height), + pages: make(map[string]*Page), + dirty: true, + axisMinX: maxInt, + axisMaxX: -1, + axisMinY: maxInt, + axisMaxY: -1, + } +} + +func (a *App) AddPage(p *Page) { + if p == nil || p.Name == "" { + return + } + a.pages[p.Name] = p + if a.current == nil { + a.current = p + a.dirty = true + } +} + +func (a *App) Navigate(name string) { + if p, ok := a.pages[name]; ok { + if a.current != p { + fmt.Printf("navigate to page %q\n", name) + } + a.current = p + a.RequestRender() + return + } + fmt.Printf("warning: unknown page %q\n", name) +} + +func (a *App) RequestRender() { + a.dirty = true +} + +func (a *App) DrawText(x, y int, text string, fontMultiplier int) { + if fontMultiplier <= 0 { + fontMultiplier = 1 + } + a.fb.PrintAtPixel(x, y, text, fontMultiplier) +} + +func (a *App) renderCurrent() { + if a.current == nil { + return + } + a.current.Render(a) + a.fb.RefreshFull() + a.displayBusyUntil = time.Now().Add(displayRefreshCooldown) +} + +func (a *App) EnableTouchDebug(enabled bool) { + a.touchDebug = enabled + SetTouchDebugEnabled(enabled) +} + +func (a *App) SetTouchTransform(t TouchTransform) { + a.transform = t + if a.touchDebug { + fmt.Printf("touch transform set: swap=%v invertX=%v invertY=%v\n", t.SwapAxes, t.InvertX, t.InvertY) + } +} + +func (a *App) SetTouchAxisRange(xRange, yRange AxisRange) { + if xRange.Max > xRange.Min { + span := xRange.Max - xRange.Min + if span > a.width*2 { + a.axisMinX = 0 + a.axisMaxX = a.width - 1 + } else { + a.axisMinX = xRange.Min + a.axisMaxX = xRange.Max + } + } + if yRange.Max > yRange.Min { + span := yRange.Max - yRange.Min + if span > a.height*2 { + a.axisMinY = 0 + a.axisMaxY = a.height - 1 + } else { + a.axisMinY = yRange.Min + a.axisMaxY = yRange.Max + } + } + a.axisFixed = true + if a.touchDebug { + fmt.Printf("touch axis range set X:[%d,%d] Y:[%d,%d]\n", a.axisMinX, a.axisMaxX, a.axisMinY, a.axisMaxY) + } +} + +func (a *App) Run() { + idleSleep := 20 * time.Millisecond + lastPressed := false + a.initBrightness() + a.setBrightness(0) + for { + if a.dirty { + a.renderCurrent() + a.dirty = false + } + + if a.evfd == nil { + time.Sleep(150 * time.Millisecond) + continue + } + + rawX, rawY, pressed, have := PollTouch(a.evfd, 32) + now := time.Now() + + if a.touchDebug && pressed != lastPressed { + fmt.Printf("PollTouch: raw=(%d,%d) pressed=%v have=%v\n", rawX, rawY, pressed, have) + } + + if have { + // Lock axis on very first coordinate we see + if !a.axisFixed { + a.observeRaw(rawX, rawY) + } + nx, ny := a.normalize(rawX, rawY) + a.lastTouchX, a.lastTouchY = nx, ny + a.lastRawX, a.lastRawY = rawX, rawY + a.processTouchSample(nx, ny, rawX, rawY, pressed, true) + } else { + a.processTouchSample(a.lastTouchX, a.lastTouchY, a.lastRawX, a.lastRawY, pressed, false) + } + a.tryFlushTapQueue(now, pressed) + + lastPressed = pressed + time.Sleep(idleSleep) + } +} + +func (a *App) processTouchSample(x, y int, rawX, rawY int, pressed bool, hasPosition bool) { + if pressed { + if !a.session.active { + a.session.begin(x, y, rawX, rawY) + if a.touchDebug { + fmt.Printf("touch start norm=(%d,%d) raw=(%d,%d)\n", x, y, rawX, rawY) + } + } else if hasPosition { + prevX, prevY := a.session.lastX, a.session.lastY + a.session.update(x, y, rawX, rawY) + if a.touchDebug && (prevX != x || prevY != y) { + fmt.Printf("touch move norm=(%d,%d)->(%d,%d) raw=(%d,%d)\n", prevX, prevY, x, y, rawX, rawY) + } + } + return + } + + if !a.session.active { + return + } + gesture, ok := a.session.end() + if !ok { + return + } + if a.touchDebug { + fmt.Printf("touch end duration=%s delta=(%d,%d) rawDelta=(%d,%d)\n", + gesture.Duration, gesture.DeltaX, gesture.DeltaY, + gesture.RawX-gesture.StartRawX, gesture.RawY-gesture.StartRawY) + } + a.handleGesture(gesture) +} + +func (a *App) handleGesture(g Gesture) { + switch g.Type { + case GestureTap: + a.handleTap(g) + } +} + +func (a *App) handleTap(g Gesture) { + if a.current == nil { + return + } + btn := a.current.buttonAt(g.X, g.Y) + closest, dxEdge, dyEdge, dist2 := a.closestButton(g.X, g.Y) + const tapCaptureRadius = 60 + if btn == nil && closest != nil && dist2 <= tapCaptureRadius*tapCaptureRadius { + btn = closest + } + if btn == nil { + if a.touchDebug { + fmt.Printf("tap norm=(%d,%d) raw=(%d,%d) -> no button; nearest=%q offset=(%d,%d)\n", + g.X, g.Y, g.RawX, g.RawY, buttonLabel(closest), dxEdge, dyEdge) + } + return + } + if a.touchDebug { + fmt.Printf("tap norm=(%d,%d) raw=(%d,%d) -> %q offset=(%d,%d) [queued]\n", + g.X, g.Y, g.RawX, g.RawY, btn.Label, dxEdge, dyEdge) + } + a.enqueueTap(btn) +} + +func (a *App) enqueueTap(btn *Button) { + if btn == nil { + return + } + if len(a.pendingTaps) > 0 { + last := &a.pendingTaps[len(a.pendingTaps)-1] + if last.button == btn { + last.count++ + a.tapFlushDeadline = time.Now().Add(tapQueueMaxDelay) + if a.touchDebug && last.count > 1 { + fmt.Printf("tap aggregate %q x%d\n", btn.Label, last.count) + } + return + } + } + a.pendingTaps = append(a.pendingTaps, pendingTap{button: btn, count: 1}) + a.tapFlushDeadline = time.Now().Add(tapQueueMaxDelay) + if a.touchDebug { + fmt.Printf("tap queued %q x1\n", btn.Label) + } +} + +func (a *App) flushTapQueue() { + if len(a.pendingTaps) == 0 { + return + } + for _, entry := range a.pendingTaps { + if entry.button == nil || entry.count <= 0 { + continue + } + if a.touchDebug { + label := entry.button.Label + if entry.count > 1 { + fmt.Printf("tap dispatch %q x%d\n", label, entry.count) + } else { + fmt.Printf("tap dispatch %q\n", label) + } + } + entry.button.TapTimes(a, entry.count) + a.RequestRender() + } + a.pendingTaps = a.pendingTaps[:0] + a.displayBusyUntil = time.Now().Add(displayRefreshCooldown) + a.tapFlushDeadline = time.Time{} +} + +func (a *App) tryFlushTapQueue(now time.Time, pressed bool) { + if len(a.pendingTaps) == 0 { + return + } + if pressed && a.session.active { + return + } + deadlineReached := !a.tapFlushDeadline.IsZero() && !now.Before(a.tapFlushDeadline) + if !deadlineReached { + if a.dirty { + return + } + if !a.displayReady(now) { + return + } + } + a.flushTapQueue() +} + +func (a *App) displayReady(now time.Time) bool { + if a.displayBusyUntil.IsZero() { + return true + } + return !now.Before(a.displayBusyUntil) +} + +func buttonLabel(b *Button) string { + if b == nil { + return "" + } + return b.Label +} + +func (a *App) closestButton(x, y int) (*Button, int, int, int) { + if a.current == nil || len(a.current.Buttons) == 0 { + return nil, 0, 0, maxInt + } + closest := a.current.Buttons[0] + bestDX, bestDY := pointRectOffset(closest.Rect, x, y) + bestDist := distSquared(bestDX, bestDY) + for _, btn := range a.current.Buttons[1:] { + dx, dy := pointRectOffset(btn.Rect, x, y) + d := distSquared(dx, dy) + if d < bestDist { + closest = btn + bestDist = d + bestDX = dx + bestDY = dy + } + } + return closest, bestDX, bestDY, bestDist +} + +func pointRectOffset(r Rect, x, y int) (int, int) { + clampedX := clamp(x, r.X, r.X+r.W-1) + clampedY := clamp(y, r.Y, r.Y+r.H-1) + return x - clampedX, y - clampedY +} + +func clamp(v, min, max int) int { + if v < min { + return min + } + if v > max { + return max + } + return v +} + +func distSquared(dx, dy int) int { + return dx*dx + dy*dy +} + +func (a *App) observeRaw(x, y int) { + if a.axisFixed { + return + } + + // collect samples to infer axis range (only called between touches) + changed := false + if a.axisMinX == maxInt || x < a.axisMinX { + a.axisMinX = x + changed = true + } + if a.axisMaxX < x { + a.axisMaxX = x + changed = true + } + if a.axisMinY == maxInt || y < a.axisMinY { + a.axisMinY = y + changed = true + } + if a.axisMaxY < y { + a.axisMaxY = y + changed = true + } + + if changed { + a.axisSampleCnt++ + if a.touchDebug { + fmt.Printf("touch axis inferred X:[%d,%d] Y:[%d,%d] samples=%d\n", a.axisMinX, a.axisMaxX, a.axisMinY, a.axisMaxY, a.axisSampleCnt) + } + } + + // lock axis range immediately after first sample + if a.axisSampleCnt >= 1 { + a.axisFixed = true + if a.touchDebug { + fmt.Printf("touch axis range LOCKED at X:[%d,%d] Y:[%d,%d]\n", a.axisMinX, a.axisMaxX, a.axisMinY, a.axisMaxY) + } + } +} + +func (a *App) normalize(rawX, rawY int) (int, int) { + minX := a.axisMinX + maxX := a.axisMaxX + minY := a.axisMinY + maxY := a.axisMaxY + + if minX == maxInt || maxX <= minX { + minX = 0 + maxX = touchMaxX - 1 + } + if minY == maxInt || maxY <= minY { + minY = 0 + maxY = touchMaxY - 1 + } + + spanX := maxX - minX + spanY := maxY - minY + if spanX <= 0 { + spanX = 1 + } + if spanY <= 0 { + spanY = 1 + } + + nx := (rawX - minX) * (a.width - 1) / spanX + ny := (rawY - minY) * (a.height - 1) / spanY + + if a.transform.SwapAxes { + nx, ny = ny, nx + } + if a.transform.InvertX { + nx = (a.width - 1) - nx + } + if a.transform.InvertY { + ny = (a.height - 1) - ny + } + + if nx < 0 { + nx = 0 + } + if nx >= a.width { + nx = a.width - 1 + } + if ny < 0 { + ny = 0 + } + if ny >= a.height { + ny = a.height - 1 + } + return nx, ny +}

b2;hFAU?tKvD(3fvh&@2BG@=^R6VlFJK2YbN{ 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