Package me.hackware.api.gui


@Experimental package me.hackware.api.gui
Experimental widget kit for building plugin GUIs — buttons, cards, lists, modals, text fields, the studio panel set, and a flexbox layout engine (api.gui.layout). Theme colors come from GuiTheme.

This whole package tree is Experimental: it is not yet frozen for backward compatibility and may change in any release until the kit stabilizes against real plugin usage.

  • Class
    Description
    A nextui-style button (JoshMerlino/nextui Button.tsx, dense size): rounded-md, sentence-case label, centred both axes.
    A rounded surface with a hairline border and optional cheap elevation — the base container for panels, list rows and editor sections in the Macros tab.
    A small pill label.
    Smooth large-circle rendering.
    A single ClickGUI tab — the sub-screen shown when its tab is selected in the top tab bar.
    THE colour picker — SV square, hue bar, a hex text input and R/G/B number inputs, inside a 1px frame.
    Where the picker goes: content spans [x0,x1) from y0, rows itemH tall.
    The colours the host draws the picker with.
    The colour this picker edits.
    Marks a plugin-API element as experimental: usable, but not yet frozen for backward compatibility.
    Shared constants and enums for the ClickGUI system.
    Host presentation metrics the widget kit needs for layout: the GUI zoom multiplier and the macOS notch inset.
     
    Read-only theme colors the widget kit paints with, as ARGB ints.
     
    Static utility methods shared across the ClickGUI system.
    White, tintable ClickGUI icon sprites (assets/hackware/textures/gui/icons/*.png).
    A sprite.
    The average colour of an item's texture, sampled through the resource manager so it follows whatever resource pack is active rather than baking in vanilla's palette.
    Reusable borderless keybind recorder: a muted prefix label, then the combo as keycaps (a dashed ghost cap when unbound).
    What the recorder reads from and writes to; implementations persist changes.
    Shared docs-site <kbd>-style keycap rendering plus key-combo label helpers, reused by the sidebar rows, filter hints and the KeybindInput recorder so keycaps look identical everywhere.
    macOS notch (camera-housing) safe-area detection for the ClickGUI top chrome.
    A reusable anchored-popover component — the macro "Add" picker, the profiles Import / row menus, the wheel adder, the search quick-nav, IntelliSense, and any other floating panel that drops from a control.
    Draws the popover's body, faded by alpha; runs inside the scale transform.
    Port of nextui's Ripple.tsx (JoshMerlino/nextui, new-components): on press, a circle of the element's text colour (bg-current at the container's opacity-20) emits from the click point and grows to (max(w,h) + distFromCenter * 1.875) * 1.1 over 500ms along cubic-bezier(0, .5, 0, .75); it holds while pressed and fades out over 2 × duration on release.
    A scrollable, clipped viewport.
    A horizontal segmented control (two or more options, one selected) — used for the macro/wheel keybind mode toggle (Toggle / Hold).
    The screen hosting the ClickGUI tab bar, as visible to a ClickGuiTab.
    A self-contained rounded text input.
    A run of text with a color, used by TextField's syntax highlighter.
    Per-frame render context and primitive-drawing toolkit shared by the ClickGUI component kit (see this package).