hot reload of color palette
This commit is contained in:
@@ -61,6 +61,8 @@ fn main() {
|
||||
- `drain_events()` – Iterator über `Event` (`Key`, `Char`, `MouseMove`,
|
||||
`MouseBtn`, `Resize`, `CloseRequested`).
|
||||
- `framebuffer_mut()` – `&mut [u8]` der Länge `w*h`, je Pixel ein Paletten-Index.
|
||||
- `palette_mut()` / `palette()` – `&mut [[u8; 3]; 256]` bzw. `&[...]`; Schreibzugriff
|
||||
markiert die Palette dirty, der nächste `present()` lädt sie hoch.
|
||||
- `present()` – Frame auf das Fenster bringen.
|
||||
- `should_close()` / `request_close()`.
|
||||
- `set_mouse_visible(bool)` – Cursor anzeigen oder verstecken (freie Bewegung).
|
||||
@@ -91,3 +93,12 @@ pitch += dy * sensitivity;
|
||||
`palette::RGB332` ist als Default eingebaut. Eigene Paletten sind ein
|
||||
`[[u8; 3]; 256]` (RGB pro Index) und werden über `PlatformConfig::palette`
|
||||
übergeben.
|
||||
|
||||
Zur Laufzeit kann die Palette über `palette_mut()` modifiziert werden — einzelne
|
||||
Einträge oder die komplette Tabelle. Der Upload passiert automatisch im nächsten
|
||||
`present()`:
|
||||
|
||||
```rust
|
||||
p.palette_mut()[42] = [255, 0, 0]; // Slot 42 → rot
|
||||
p.present();
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user