|
20 | 20 |
|
21 | 21 | <br /> |
22 | 22 |
|
23 | | -# 🎨 DisplayKit |
| 23 | +# 🎨 DisplayKit |
24 | 24 |
|
25 | | -**DisplayKit** is a modern web-based drag-and-drop UI designer for embedded display development. |
26 | | -Design screens visually → export clean Arduino code → flash to ESP32, ESP8266, STM32, Arduino, RP2040, and more. |
| 25 | +**DisplayKit** is a modern web-based drag-and-drop UI designer for embedded display development. |
27 | 26 |
|
| 27 | +Design screens visually → generate clean **Arduino** drawing code → run it on boards like **ESP32 / ESP8266 / STM32 / Arduino / RP2040** (and more). |
| 28 | + |
| 29 | +## Quick start (recommended) |
| 30 | + |
| 31 | +- **Use it online (recommended)**: click the GitHub Pages link in the repository, or open: `https://cifertech.github.io/DisplayKit/` |
| 32 | + |
| 33 | + |
| 34 | +## How to use |
| 35 | + |
| 36 | +- **Pick display driver**: choose **TFT_eSPI** or **U8g2 OLED** from the sidebar (and set your display resolution) |
| 37 | +- **Create screens**: add as many as you like and name the generated function (e.g. `drawHomeScreen`) |
| 38 | +- **Add elements**: click an element type to add it, then drag / resize and edit properties |
| 39 | +- **Export**: |
| 40 | + - **Copy** the generated code from “Generated Code (TFT_eSPI / U8g2)” |
| 41 | + - **Export JSON** to save a project snapshot (great for versioning) |
| 42 | + - **Import JSON** to restore a saved project |
| 43 | + |
| 44 | +## Built-in tools |
| 45 | + |
| 46 | +DisplayKit includes tool pages under `tools/` and can open them inside the app overlay: |
| 47 | + |
| 48 | +- **PixelForge** (`tools/pixelforge/`): image converter (generate RGB565 headers and import into DisplayKit) |
| 49 | +- **BitCanvas Studio** (`tools/bitcanvas-studio/`): animation tool (export and copy to clipboard) |
| 50 | +- **Shared tool theming**: `tools/theme.css` keeps tool pages visually consistent with DisplayKit |
| 51 | + |
| 52 | +## Keyboard shortcuts |
| 53 | + |
| 54 | +- **Undo / Redo**: `Ctrl/Cmd + Z` / `Ctrl/Cmd + Shift + Z` |
| 55 | +- **Duplicate**: `Ctrl/Cmd + D` |
| 56 | +- **Cycle selection**: `Tab` / `Shift + Tab` |
| 57 | +- **Align selected**: `Ctrl/Cmd + 1..6` (left / center / right / top / middle / bottom) |
| 58 | +- **Move selected**: Arrow keys (hold **Shift** for bigger steps) |
| 59 | +- **Delete selected**: `Delete` / `Backspace` |
| 60 | +- **Close Tools overlay**: `Esc` |
28 | 61 |
|
29 | 62 | ## 🚀 Features |
30 | 63 |
|
@@ -89,6 +122,23 @@ Design screens visually → export clean Arduino code → flash to ESP32, ESP826 |
89 | 122 | | **U8g2** | ✅ Full | Monochrome + full font system | |
90 | 123 | | **Adafruit_GFX** | ⚠ Planned | Not implemented yet | |
91 | 124 |
|
| 125 | +## Project structure |
| 126 | + |
| 127 | +```text |
| 128 | +. |
| 129 | +├─ index.html # Main app UI |
| 130 | +├─ style.css # Main app styling |
| 131 | +├─ app.js # App logic (editor + code generation) |
| 132 | +└─ tools/ |
| 133 | + ├─ pixelforge/ # Image converter tool |
| 134 | + ├─ bitcanvas-studio/ # Animation tool |
| 135 | + └─ theme.css # Shared theme tokens for tool pages |
| 136 | +``` |
| 137 | + |
| 138 | +## License |
| 139 | + |
| 140 | +See `LICENSE`. |
| 141 | + |
92 | 142 | |
93 | 143 |
|
94 | 144 | ## 🤝 Contribute |
|
0 commit comments