warwithinme / metalbone Goto Github PK
View Code? Open in Web Editor NEWA C++ Windowless GUI Library for Windows. Stopped updating
License: Other
A C++ Windowless GUI Library for Windows. Stopped updating
License: Other
When this happen:
The demo window is a normal window( not layeredwindow ), and use Skia as backend and use GDI to draw the text.
It's because after showing the ToolTipWidget, we quickly received WM_ACTIVATEAPP with wparam == FALSE. But I have no idea why it shows.
Drawing the text by using plain old GDI (with GDI++ hooking, i.e. GDI++ is actually drawing the text) on a dc, the corresponding pixel's alpha channel will be 0.
If the window is a layered window, the text will be holes that you can see through it.
I'm thinking drawing the text with GDI+ only.
We should replace every RECT/D2D1_RECT_X with MRect, POINT/D2D1_POINT_2X with MPoint, SIZE/D2D1_SIZE_X with MSize.
Move everything related to D2D out of MWidget, MApplication( maybe not ), from RenderRule
It is because it doesn't deal well with the WM_ACTIVATEAPP message. So, sometimes, when we press Win+D to show the Desktop, and then clicking the app icon in the taskbar or pressing Alt+Tab will not show the Window.
Gotta re-style all the animation related code.
If the shadow color is not opaque, we will see the outline of the shadow.
We can however render the opaque shadow to a bitmap then render the bitmap to the
rendertarget with opacity applied.
All message goes directly with the layeredwindow handle, instead of the dummy handle. So when we request repainting for our layeredwindow, we will always redrawn immediately.
But I want that repaint only occurs when the message queue is empty.
Because we use a custom D2DOutlineTextRenderer to draw the shadow and outline, the output text only clip to the widget rect not the content rect of the widget.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.