Module libremarkable::framebuffer::common
source · Re-exports
pub use crate::dimensions::DISPLAYHEIGHT;
pub use crate::dimensions::DISPLAYWIDTH;
pub use crate::dimensions::MTHEIGHT;
pub use crate::dimensions::MTWIDTH;
pub use crate::dimensions::WACOMHEIGHT;
pub use crate::dimensions::WACOMWIDTH;
Structs
Enums
Constants
xochitl tends to draw with these but there are many more
If no processing required, skip update processing
No processing means:
Enables PXP_LUT_BLACK_WHITE transform on the buffer
An update won’t be merged upon a conflict in case of a collusion if
either update has this flag set, unless they are identical regions (same y,x,h,w)
This is basically double buffering. We give it the bitmap we want to
update, it swaps them. However the bitmap needs to fall within the smem.
Enables PXP_USE_CMAP transform on the buffer
Should be 0x4048462e. This is not the ordinary value which is
used in most software. Even the official toolchain(s).
See: https://github.com/canselcik/libremarkable/wiki/Framebuffer-Overview
Type Definitions
This is to allow tests to run on systems with 64bit pointer types.
It doesn’t make a difference since we will be mocking the ioctl calls.