refactor(api)!: one namespace per feature, screen split out
Namespaces were shared across features: `settings` was written by core, the
panel and touch, and `input` by touch and buttons. That made "does this
firmware implement the whole feature?" a question no pointer could answer.
Each namespace now belongs to exactly one feature or to core, so a feature is
a provider pointer and the compiler validates completeness:
gui, node -> screen, tree, under the screen feature
settings -> screen (rotation, theme), sys (timezone),
touch (calibration)
input -> touch, buttons
Runtime::open() no longer requires a GuiProvider; a firmware without one runs
with no screen/tree globals and reports sys.hasFeature("screen") false.
Rotation is one value again: GuiProvider::setRotation applies and persists, so
an app rotating the panel transiently puts the old value back itself.
This commit is contained in:
+17
-20
@@ -2,8 +2,22 @@
|
||||
|
||||
-- Generated from native/src/bindings/features/touch.cpp. Do not edit.
|
||||
|
||||
---@class SettingsLib
|
||||
settings = settings or {}
|
||||
---@class TouchLib
|
||||
touch = {}
|
||||
|
||||
---Returns the calibrated touch point, or nothing when the panel is not touched.
|
||||
---@return integer? x
|
||||
---@return integer? y
|
||||
function touch.getPoint() end
|
||||
|
||||
---Returns the uncalibrated touch reading, or nothing when the panel is not touched.
|
||||
---@return integer? x
|
||||
---@return integer? y
|
||||
function touch.getRawPoint() end
|
||||
|
||||
---Whether the panel is currently touched.
|
||||
---@return boolean
|
||||
function touch.isTouched() end
|
||||
|
||||
---Persists the panel's touch calibration.
|
||||
---@param x0 integer Raw reading at the left edge.
|
||||
@@ -12,24 +26,7 @@ settings = settings or {}
|
||||
---@param y1 integer Raw reading at the bottom edge.
|
||||
---@return true? ok
|
||||
---@return string? error
|
||||
function settings.setCalibration(x0, y0, x1, y1) end
|
||||
|
||||
---@class InputLib
|
||||
input = input or {}
|
||||
|
||||
---Returns the calibrated touch point, or nothing when the panel is not touched.
|
||||
---@return integer? x
|
||||
---@return integer? y
|
||||
function input.getTouch() end
|
||||
|
||||
---Returns the uncalibrated touch reading, or nothing when the panel is not touched.
|
||||
---@return integer? x
|
||||
---@return integer? y
|
||||
function input.getRawTouch() end
|
||||
|
||||
---Whether the panel is currently touched.
|
||||
---@return boolean
|
||||
function input.isTouched() end
|
||||
function touch.setCalibration(x0, y0, x1, y1) end
|
||||
|
||||
---Fired when the finger lands.
|
||||
---@param x integer
|
||||
|
||||
Reference in New Issue
Block a user