Add X3 fast LUT option
This commit is contained in:
@@ -230,6 +230,11 @@ class GfxRenderer {
|
||||
void writeGrayscalePlaneStrip(bool lsbPlane, const uint8_t* scratch, int yStart, int numRows) const;
|
||||
bool supportsStripGrayscale() const;
|
||||
|
||||
// X3-only: trade AA visual fidelity for ~2.2 s faster page-flip wall clock.
|
||||
// No effect on X4 (its single grayscale LUT already runs at ~500 ms).
|
||||
void setFastGrayscaleLut(bool fast) const { display.setFastGrayscaleLut(fast); }
|
||||
bool getFastGrayscaleLut() const { return display.getFastGrayscaleLut(); }
|
||||
|
||||
// Tiled grayscale strip target. While active, drawPixel(), clearScreen(),
|
||||
// fillPhysicalHSpanByte() and renderGlyphFast2Bit() operate on `scratch`
|
||||
// (panelWidthBytes * stripRows bytes, holding physical rows
|
||||
|
||||
@@ -97,6 +97,7 @@ STR_SLEEP_COVER_MODE: "Sleep Screen Cover Mode"
|
||||
STR_HIDE_BATTERY: "Hide Battery %"
|
||||
STR_EXTRA_SPACING: "Extra Paragraph Spacing"
|
||||
STR_TEXT_AA: "Text Anti-Aliasing"
|
||||
STR_FAST_AA: "Fast AA (X3 only)"
|
||||
STR_TEXT_DARKNESS: "Text Darkness"
|
||||
STR_EXTRA_DARK: "Extra Dark"
|
||||
STR_MAX_DARK: "Maximum"
|
||||
|
||||
@@ -104,6 +104,10 @@ void HalDisplay::writeGrayscalePlaneStrip(bool lsbPlane, const uint8_t* rows, ui
|
||||
|
||||
bool HalDisplay::supportsStripGrayscale() const { return einkDisplay.supportsStripGrayscale(); }
|
||||
|
||||
void HalDisplay::setFastGrayscaleLut(bool fast) { einkDisplay.setFastGrayscaleLut(fast); }
|
||||
|
||||
bool HalDisplay::getFastGrayscaleLut() const { return einkDisplay.getFastGrayscaleLut(); }
|
||||
|
||||
uint16_t HalDisplay::getDisplayWidth() const { return einkDisplay.getDisplayWidth(); }
|
||||
|
||||
uint16_t HalDisplay::getDisplayHeight() const { return einkDisplay.getDisplayHeight(); }
|
||||
|
||||
@@ -61,6 +61,12 @@ class HalDisplay {
|
||||
void writeGrayscalePlaneStrip(bool lsbPlane, const uint8_t* rows, uint16_t yStart, uint16_t numRows);
|
||||
bool supportsStripGrayscale() const;
|
||||
|
||||
// X3-only knob: pick between the OEM 53-frame grayscale LUT (default, slow
|
||||
// and accurate) and the 7-frame community LUT (fast, slightly darker
|
||||
// mid-tones). No effect on X4. See EInkDisplay::setFastGrayscaleLut.
|
||||
void setFastGrayscaleLut(bool fast);
|
||||
bool getFastGrayscaleLut() const;
|
||||
|
||||
// Runtime geometry passthrough
|
||||
uint16_t getDisplayWidth() const;
|
||||
uint16_t getDisplayHeight() const;
|
||||
|
||||
Reference in New Issue
Block a user