|
| 1 | +<div align="center"> |
| 2 | + |
| 3 | + |
| 4 | + |
| 5 | + |
| 6 | + |
| 7 | +<!-- Badges --> |
| 8 | + |
| 9 | +<a href="https://github.com/cifertech/DisplayKit" title="Go to GitHub repo"><img src="https://img.shields.io/static/v1?label=cifertech&message=DisplayKit&color=cyan&logo=github" alt="cifertech - DisplayKit"></a> |
| 10 | + |
| 11 | +<a href="https://github.com/cifertech/DisplayKit"><img src="https://img.shields.io/github/stars/cifertech/DisplayKit?style=social" alt="stars - DisplayKit"></a> |
| 12 | +<a href="https://github.com/cifertech/DisplayKit"><img src="https://img.shields.io/github/forks/cifertech/DisplayKit?style=social" alt="forks - DisplayKit"></a> |
| 13 | + |
| 14 | +<h4> |
| 15 | + <a href="https://twitter.com/techcifer">TWITTER</a> |
| 16 | + <span> · </span> |
| 17 | + <a href="https://www.instagram.com/cifertech/">INSTAGRAM</a> |
| 18 | + <span> · </span> |
| 19 | + <a href="https://www.youtube.com/c/techcifer">YOUTUBE</a> |
| 20 | + <span> · </span> |
| 21 | + <a href="https://cifertech.net/">WEBSITE</a> |
| 22 | + </h4> |
| 23 | +</div> |
| 24 | + |
| 25 | +<br /> |
| 26 | + |
| 27 | +# 🎨 DisplayKit |
| 28 | + |
| 29 | +**DisplayKit** is a modern web-based drag-and-drop UI designer for embedded display development. |
| 30 | +Design screens visually → export clean Arduino code → flash to ESP32, ESP8266, STM32, Arduino, RP2040, and more. |
| 31 | + |
| 32 | + |
| 33 | +## 🚀 Features |
| 34 | + |
| 35 | +### 🖥 Multi-Screen UI Builder |
| 36 | +- Create unlimited screens (Home, Settings, About…) |
| 37 | +- Auto-generates `drawScreenName()` functions |
| 38 | +- Visual screen switching system |
| 39 | + |
| 40 | +### 🧱 Drag-and-Drop Elements |
| 41 | +- Rect, RoundRect, Circle |
| 42 | +- Labels, Buttons, Headers |
| 43 | +- Cards, Dividers |
| 44 | +- Progress Bars, Sliders, Toggles |
| 45 | +- Images (PNG/JPG → RGB565 or monochrome) |
| 46 | + |
| 47 | +### 🖼 Image Engine |
| 48 | +- Upload PNG/JPG |
| 49 | +- Auto-converts to **RGB565** for TFT_eSPI |
| 50 | +- Auto-converts to **monochrome bitmap** for U8g2 |
| 51 | +- Stores as PROGMEM arrays |
| 52 | +- Real preview inside editor |
| 53 | + |
| 54 | +### 🔠 Full Font Support |
| 55 | +#### TFT_eSPI |
| 56 | +- Text size control |
| 57 | +- Text color, stroke, fill |
| 58 | + |
| 59 | +#### U8g2 |
| 60 | +- Complete font selector (hundreds of fonts) |
| 61 | +- Auto-generates correct `u8g2.setFont()` code |
| 62 | + |
| 63 | +### 🧰 Editor Tools |
| 64 | +- Undo / Redo |
| 65 | +- Duplicate element |
| 66 | +- Align (Left, Right, Center, Top…) |
| 67 | +- Snap-to-grid |
| 68 | +- Zoom 50–200% |
| 69 | +- JSON project import/export |
| 70 | + |
| 71 | +### ⚙ Code Output |
| 72 | +#### TFT_eSPI Mode: |
| 73 | +- `fillRect`, `drawRoundRect`, `drawString` |
| 74 | +- `pushImage()` for bitmaps |
| 75 | +- Optional **TFT_eSprite** rendering |
| 76 | + |
| 77 | +#### U8g2 Mode: |
| 78 | +- `drawBox`, `drawRBox`, `drawDisc` |
| 79 | +- Monochrome bitmaps |
| 80 | +- Full font rendering |
| 81 | + |
| 82 | +### 🔌 Actions & Navigation |
| 83 | +- Buttons can “Go to Screen” |
| 84 | +- Generates logic-ready comments for touch input |
| 85 | + |
| 86 | +--- |
| 87 | + |
| 88 | +## 🛠 Compatibility |
| 89 | + |
| 90 | +| Display Library | Status | Notes | |
| 91 | +|-----------------|--------|-------| |
| 92 | +| **TFT_eSPI** | ✅ Full | RGB565, sprites, images, colors | |
| 93 | +| **U8g2** | ✅ Full | Monochrome + full font system | |
| 94 | +| **Adafruit_GFX** | ⚠ Planned | Not implemented yet | |
| 95 | + |
| 96 | +--- |
| 97 | + |
| 98 | +## 🤝 Contribute |
| 99 | + |
| 100 | +Want to help make DisplayKit better? |
| 101 | + |
| 102 | +- Submit bug reports |
| 103 | +- Suggest new features |
| 104 | +- Improve documentation |
| 105 | +- Contribute code or UI elements |
| 106 | +- Star ⭐ and share the project |
| 107 | + |
| 108 | +Every contribution helps. Thank you! ❤️ |
| 109 | + |
1 | 110 |
|
0 commit comments