Releases: Ariel4545/draw
Update 4, UI Facelift & New features 👨💻
🎨 Egon Draw - Update 4: The Facelift
(The commit message accidentally has older content, so read this release’s patch notes to be informed accurately.)
This update focuses on a massive modernization of the user interface and the addition of professional precision tools.
🎀 The New Facelift (UI Overhaul)
Ribbon Interface
The cluttered toolbar has been replaced with a modern, tabbed Ribbon system:
- Home: Your daily drivers (Pencil, Eraser, Colors, Size).
- Insert: Shapes, Lines, Text, and Bitmaps.
- Actions: Advanced tools like Magnet, Grid, and Eyedropper.
- File: Saving, Loading, and Exporting.
⚙️ Modern Options Menu
A completely redesigned Settings window:
- Grouped Controls: Settings are visually boxed (e.g., "Appearance", "Tools") for instant clarity.
- Modern Inputs: Replaced old text fields with Spinboxes and smart dropdowns.
- Clean Look: Unified padding and alignment for a polished feel.
📊 Professional Status Bar
A new "Command Center" at the bottom of the window:
- Smart Hints: Context-aware tips explaining the active tool.
- Live Metrics: Displays cursor coordinates (
X: 152 | Y: 300) and canvas size. - Tool Tracking: Shows active tool and brush size instantly.
🛠️ New Creative Tools
📏 Grid System
- What it is: A toggleable visual aid.
- Benefit: Displays a 50px rendering grid to help you align shapes and drawings perfectly.
🧪 Eyedropper
- Function: Click "Pick Color" and select any pixel on the canvas to instantly set it as your active paint color.
🖌️ New Brushes & Shapes
- Diamond Brush: A new stylized brush tip for unique strokes.
- Heart & Star Shapes: Added to the shape library by popular demand.
📈 Usage Dashboard Overhaul
The basic stats popup has been transformed into a full Dashboard:
- Real-Time Analytics: Live tracking of session duration, lines drawn, undos, redos, and clears.
- Visual Breakdown: Progress bars showing exact time spent with each tool (Draw, Erase, Hover, etc.).
- Deep Dive: Tracks "Dominant Color" with a visual preview and counts unique colors used.
- Smart Report: Enhanced text export with a detailed breakdown of your creative session.
⚡ Technical Improvements
- Stability: Fixed critical bugs including a recursion crash during tool switching.
- Layout Engine: Resolved conflicts between
gridandpackmanagers that caused startup errors. - Performance: Improved window resizing logic.
🆚 Version Comparison Table
| Feature | Previous Version | Updated Version (Update 4) |
|---|---|---|
| Interface Style | Old Toolbar | Ribbon Interface (Tabs) |
| Status Bar | Basic / Empty | Professional (Hints, Size, Cords) |
| Options Menu | Old Popup | Modern (Grouped, Spinboxes) |
| Theme | Standard Tkinter | Neutral Gray |
| New Tools | Magnet, Bitmaps | + Eyedropper, Grid |
| Brushes | Line, Square, Round | + Diamond |
| Shapes | Basic Geometric | + Heart, Star |
Enjoy the new Egon Draw!
New features & Better code health 💖
🎨 Egon Draw - Update 3 Patch Notes
This update focuses on expanding the toolset with precision features, adding asset support, and introducing session tracking, alongside significant under-the-hood refactoring for better stability.
🌟 New Features
🧲 Magnet Tool
- What it is: A precision movement tool.
- How it works: Allows you to drag selected items relative to a reference point (your mouse click). It acts like a magnet, pulling items towards the cursor or moving them with arrow keys.
- Controls: Toggle with the "Magnet" button. Use
Mouse DragorArrow Keysfor fine adjustments.
🖼️ Bitmap (Icon) Support
- What it is: Native support for inserting system bitmaps.
- Details: Added a dedicated "Add Bitmap" section.
- Library: Includes standard icons like
error,info,question,hourglass, and more.
📊 Usage Statistics Dashboard
- What it is: A new popup dashboard to track your drawing session.
- Metrics Tracked:
- ⏱️ Session Duration: Tracks active time using a non-blocking background thread.
- 🖌️ Most Used Tool: See which brush you favor.
- 🎨 Most Used Color: See your dominant palette.
- 📏 Line Count: Total number of lines drawn.
🖍️ Edit Color Mode
- What it is: The ability to modify the color of items after they are drawn.
- How it works: Click "Edit color", select a new color, and click any item on the canvas to repaint it instantly.
🚀 UI & UX Improvements
- Responsive Window Sizing: Implemented
effective_size()logic. The application now dynamically calculates the optimal window size and position based on your screen resolution (1080p, 1440p, etc.), ensuring UI elements aren't cut off. - GitHub Integration: Added a direct link button to the project repository for easy access to source code and updates.
- Layout Reorganization: Introduced
bit_frameandbonus_frameto cleanly organize the growing number of tools, preventing UI clutter.
🔧 Technical Refactoring (Under the Hood)
Core Logic Split (add_special ➔ active_add)
- The Change: The monolithic
add_specialmethod was refactored. The execution logic was extracted into a new, standaloneactive_addmethod. - The Benefit: This decoupling makes the code modular. It allowed for the easy integration of Bitmaps without duplicating code and simplifies future additions (e.g., new shape types).
Robust State Management
- The Change: Enhanced
deactivate()anddraw_tool()methods. - The Benefit: Switching tools is now safer. The system explicitly unbinds events and resets cursors when moving between complex modes (like Magnet) and standard tools (like Pencil), preventing "stuck" states.
Performance & Stability
- Thread Safety: The usage timer (
stopwatch) now usesafter()to update the UI on the main thread, preventing race conditions and crashes. - Error Handling: Added robust error catching for image uploads (corrupt files) and PDF saving (missing dependencies).
- Daemon Threads: Background tasks now close cleanly when the application exits.
🐛 Bug Fixes
- Import Handling: Added missing imports (
simpledialog,webbrowser) to prevent runtime errors when accessing new features. - Mode Safety: Added checks to ensure
last_activemodes are properly cleared before starting new actions. - Input Validation: Fixed potential errors when cancelling text input dialogs.
Shapes, text, cords, and much more
Added
move paint
move paint - with MB-3 (relative to mouse movement)
Move Paint has 2 modes now - specific items (closer to the mouse's pointer) and all
move paint distance options:
for mouse - ratio (1-3) of how much distance the drawing will move relative to the mouse
for keys - adjustable pixel count to move the drawing with
lines positioning
added 2 new mechanics of the positioning output (lines)
Straight - one click for the starting position and one for the ending pos thus creating a straight line between those 2 points.
Centered - one constant starting position and every click create a straight line from that position
Shapes
Added shapes addition system:
- select one of many shapes.
(circle, square, arc, tringle, chord, pieslice, rectangle, pentagon, right triangle, hexagon, octagon) - (Some shapes have many options, such as positioning, sides, types, angles, etc.)
- adjust the shape color(s) and border size
- click "Add shape" and click on the position you want the shape to be in
Others
Added UI mode that uses drop-down menus (limited usage), which can be changed anytime in the settings
post-script canvas save, with an option to convert the post-script to PDF
Added scroll bars to the canvas, horizontal and vertical, which can be independently activated/deactivated from the settings
options:
- lines settings - connect first and last points like a "Straight line"
- erase canvas function usage warning.
- activate/deactivate move paint methods (mouse/keys)
Changed \ Improved:
Undo now will remove all the output that happens with a range of one mouse button hold, and not a brief dot from the line.
Improved "hover mode" by adding item detection functionality when you press MB1, it will show the item type, color(s), and for lines only - starting and ending cords.
MacOs and (partially) Linux will now have a defined default UI color for some in-frame titles (because the default UI color is different between operating systems)
Fixed special addition modes (add text/shape) transition to hover mode bugs
Initial release
In short
the program is a (tkinter's) canvas that lets you draw lines freely with all the basic options such as size, color, eraser, and neutral mode.
besides that, there is file management that includes uploading and saving images and adding text system with font, size, and tone.
and to top it off there are many customization settings and extra functionalities via shortcuts.
Specific
basic modes - draw, erase, hover (neutral mode)
draw/erase sizes and shapes (pencil - line, pen - oval, marker - vertical lines)
draw colors
text addition system - with options mainly font, size, color, and tone
many settings:
App's background and foreground
Eraser's color same as the Background (or white/recent)
Canvas' and buttons' reliefs
dash in lines
connected lines, smooth line
many QOL functionalities - move painting, erase all. Fullscreen and more shortcuts
Mini update 1:
more and better comments
better line placing (mostly variables)
temporary logo