Commit Graph

159 Commits

Author SHA1 Message Date
Yuhang Zhao 0e6a944be7 Update.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-07-30 15:56:01 +08:00
Yuhang Zhao 6aea9a3ce9 Adapt to Qt6 change.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-07-25 10:19:15 +08:00
Yuhang Zhao 7073c4a259 Update.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-07-06 16:25:44 +08:00
Yuhang Zhao 3c227fa383 Fix build error.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-07-05 19:09:16 +08:00
Yuhang Zhao b35dcc34b9 Improve error handling.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-07-05 18:59:48 +08:00
Yuhang Zhao d0e03bf19c Remove some leftover.
Amends last commit.

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-06-27 14:21:48 +08:00
Yuhang Zhao 807dda608e Adapt to new style.
1. Use QList instead of QVector because QVector will become an alias of QList since Qt6.
2. Don't use *const because the account of const is too large.
3. New style applied, by Clang Format.

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-06-27 14:19:09 +08:00
Yuhang Zhao 79e40ae8c4 Fix assert error.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-06-18 17:05:45 +08:00
Yuhang Zhao aa93f72c10 Add a null pointer check.
Also apply new code format.

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-06-06 09:26:30 +08:00
Yuhang Zhao 8ec1cfcf35 Minor improvements.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-05-23 21:52:40 +08:00
Yuhang Zhao 9b01d7a294 Minor improvements.
Maybe this should be the right logic.

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-05-22 15:49:17 +08:00
Yuhang Zhao 066650f824 Minor tweaks.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-05-22 12:19:12 +08:00
Yuhang Zhao fb0daa1107 Minor tweaks.
1. Remove window handle from WINDOW, it's useless now.
2. Rename variables in WINDOWDATA to match their real usage.
3. Do not enable layered window by default, it's causing problems.
4. Add a progress bar to the QQPlayer example.

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-05-22 09:47:52 +08:00
Yuhang Zhao 04d0e568b0 Minor tweaks.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-05-20 20:12:03 +08:00
Yuhang Zhao 1951fe38ce Minor improvements.
Don't lose original ex-styles.

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-05-18 11:05:58 +08:00
Yuhang Zhao d28e3d167c Add a way to ignore title bar.
If a window is in fullscreen mode, it should not have a title bar.

Maybe a rare use case, but better than nothing.

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-05-17 17:35:09 +08:00
Yuhang Zhao a461c529da Add a mode to link to system libs directly.
In case someone need this.

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-05-16 16:37:01 +08:00
Yuhang Zhao 921b87ab2e Minor improvements.
Use global screen coordinates instead of local window coordinates to get more reliable hit test result.

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-05-13 12:56:03 +08:00
Yuhang Zhao 2ca6a90ae2 Add a Qt Quick helper class.
It's much easier to use it in Qt Quick now.

Fixes: #11

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-05-12 20:53:53 +08:00
Yuhang Zhao 2df22bdb64 Fix QWindow disappear bug of Qt Quick.
Restoring window styles to default will break Qt Quick applications.
The QWindow will disappear once we do it.

Qt Widgets applications are not affected.

Don't know why currently.

Disable it by default because it's not something we must do.

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-05-11 22:05:43 +08:00
Yuhang Zhao 36609f1715 Fix app crash.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-05-09 14:19:48 +08:00
Yuhang Zhao 57d2667c5e Update.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-05-09 13:13:42 +08:00
Yuhang Zhao 136b865853 Minor improvements.
1. Use const more.
2. Add some missing ResolveWin32APIs() call
3. Move updateQtFrame to WinNativeEventFilter

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-05-09 12:58:01 +08:00
Yuhang Zhao ed6267461c Minor improvements.
The ignore and draggable areas/objects are limited in the title bar area only.
There's no need to judge them outside the title bar area.

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-05-09 09:25:08 +08:00
Yuhang Zhao c4fe56345f Fix compilation error introduced by previous commit.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-05-08 21:37:36 +08:00
Yuhang Zhao 43d83bf156 Remove useless header file.
It has been included already, by Qt's own header files, or whatever.

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-05-08 17:26:01 +08:00
Yuhang Zhao 45790ee099 Fix old Qt build again.
qAsConst was introduced in Qt 5.7

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-05-08 17:16:17 +08:00
Yuhang Zhao b6865f7642 Fix old Qt builds.
Now should support Qt 5.6

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-05-08 16:37:15 +08:00
Yuhang Zhao 7753161f9f Add Qt Quick example.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-05-08 14:19:41 +08:00
Yuhang Zhao 0b84006b14 Minor tweaks.
Maybe fix one issue of #9

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-05-07 17:45:22 +08:00
Yuhang Zhao f3d5f6a0ce Simplify the code a bit.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-05-06 22:26:57 +08:00
Yuhang Zhao a49a134f24 Minor improvements.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-05-04 09:01:39 +08:00
Yuhang Zhao a3d4df1ebf Minor improvement.
Fixes: #7

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-05-03 21:20:24 +08:00
Yuhang Zhao 49c7b52a4e Minor improvements.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-05-03 21:05:01 +08:00
Yuhang Zhao 123c36c374 Add a new way to set ignore areas.
Fixes: #6

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-05-03 19:24:40 +08:00
Yuhang Zhao 201a170948 Minor tweaks.
1. Use Qt functions instead of STL functions.
2. Add a comment explain the XXPtr functions.
3. Remove D2D usage. Using GetDeviceCaps is fine.

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-05-02 11:00:01 +08:00
Yuhang Zhao 5335114258 Add more comments.
These are important memo, it's better to write them in our code.

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-05-02 10:45:52 +08:00
Yuhang Zhao 63315acf75 Minor improvements.
1. Add more comments.
2. Add a function to change window geometry through Win32 API/
3. Add a function to move the window to the center of the desktop.

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-05-01 19:37:57 +08:00
Yuhang Zhao 74d7dfad43 Fix flashing issue when maximizing.
The window will flash when maximizing and restoring (the whole will become totally transparent at that moment, and after it has been maximized or restored, it will become not transparent again).

Caused by passing negative values to DwmExtendFrameIntoClientArea.

Fixes: #4

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-29 22:02:25 +08:00
Yuhang Zhao ff555585c2 Update comments.
Make it more clearly.

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-29 15:03:47 +08:00
Yuhang Zhao b94e534906 Minor improvement.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-27 10:49:54 +08:00
Yuhang Zhao 21a563a460 Minor tweaks.
Amends commit f0ef569b08

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-27 08:52:07 +08:00
Yuhang Zhao f0ef569b08 Revert back to the original solution.
We will use the original solution in this branch.
The new Windows Terminal solution will be in another branch.

Partially reverts commit 01707907cd

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-26 21:40:37 +08:00
Yuhang Zhao 01707907cd WIP. Adapt to Windows Terminal style.
Don't remove the window frame totally, only remove the title bar instead
(including the top border).
We can resize outside our window just like any other normal window in
this way. And many strange problems caused by the removal of window
frame are gone such as background flicker.
However, we will need to paint the top frame border ourself. Otherwise
the window doesn't look very good.

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-24 13:02:13 +08:00
Yuhang Zhao f77e1adf61 Update.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-22 15:27:52 +08:00
Yuhang Zhao 0239c298b3 Fix wrong condition introduced in last commit.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-22 11:48:23 +08:00
Yuhang Zhao 94cb8729aa Update.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-22 11:19:23 +08:00
Yuhang Zhao 21bceb088a Update comments.
Make it more clearly.

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-20 21:30:01 +08:00
Yuhang Zhao 11f04ca255 Fix function signature.
Should be const XXX *, not const *XXX

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-19 15:47:22 +08:00
Yuhang Zhao 0a4f1eb03b Update.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-19 08:17:52 +08:00
Yuhang Zhao 835e14aa04 Add some comments in Chinese.
有些东西用英文不会写,感觉还是用中文写得明白些,不过可能要辛苦国际友人了。

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-18 13:43:24 +08:00
Yuhang Zhao 4e1d324100 Update.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-17 21:39:36 +08:00
Yuhang Zhao b789c050cc Update.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-13 21:46:57 +08:00
Yuhang Zhao 6bba0cbe18 Update.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-13 20:33:54 +08:00
Yuhang Zhao eefb3feb44 Update.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-12 20:54:58 +08:00
Yuhang Zhao 7f1f2dffc3 Update.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-12 11:52:54 +08:00
Yuhang Zhao 8cc3cbb05f Update.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-11 22:08:01 +08:00
Yuhang Zhao 19279aa848 Update.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-11 19:22:08 +08:00
Yuhang Zhao 416f717834 Update.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-11 18:58:48 +08:00
Yuhang Zhao bb3aeb7f4c Update.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-11 18:43:21 +08:00
Yuhang Zhao bda22fcd9c Fix build in 32 bit.
There is no Set/GetWindowLongPtrW in 32 bit user32.dll

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-11 18:22:54 +08:00
Yuhang Zhao bf09390f6f Update.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-11 16:13:17 +08:00
Yuhang Zhao 729f63faff Update.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-11 13:24:33 +08:00
Yuhang Zhao 0411a761e5 Update.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-10 21:39:42 +08:00
Yuhang Zhao bc4d034a26 Update.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-10 20:40:28 +08:00
Yuhang Zhao 9e2e0bffed Update.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-10 16:09:35 +08:00
Yuhang Zhao febedce103 Update.
When WM_NCHITTEST is triggered, the mouse is in the client area already.

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-10 11:21:19 +08:00
Yuhang Zhao 91e7351ea3 Update.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-10 09:49:20 +08:00
Yuhang Zhao e6f0822175 Update.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-09 21:57:45 +08:00
Yuhang Zhao bffcc2829a Fix build with MSVC.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-09 19:36:39 +08:00
Yuhang Zhao 054a160639 WIP.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-09 16:29:58 +08:00
Yuhang Zhao ad2f7af71a WIP.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-09 16:10:56 +08:00
Yuhang Zhao fe9ee701db Update.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-09 13:31:36 +08:00
Yuhang Zhao 2f4686a63c Update.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-09 13:13:01 +08:00
Yuhang Zhao 22c0aa26df WIP.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-08 17:28:54 +08:00
Yuhang Zhao 30dc4892f1 WIP.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-08 16:25:00 +08:00
Yuhang Zhao e9f71f8d91 WIP.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-07 21:50:52 +08:00
Yuhang Zhao 8d81a4b34f Update.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-06 19:29:41 +08:00
Yuhang Zhao 7ed4e4f7ca Improve multi-monitor experience.
When monitors have different resolution and DPI.

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-06 14:09:25 +08:00
Yuhang Zhao c1fddf0028 Update.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-06 12:12:32 +08:00
Yuhang Zhao c7231b45b2 Add some comments.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-05 20:27:01 +08:00
Yuhang Zhao cdd8ca2e84 Update.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-04 22:20:02 +08:00
Yuhang Zhao 6a0f6f1672 Update.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-04 16:35:47 +08:00
Yuhang Zhao 01bde69ae6 Work-around Win7 bug.
Re-apply it: tested on Windows 7 and 8.1 in my VMs.
The bug is there indeed.

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-04 13:54:37 +08:00
Yuhang Zhao 5468ce8411 Use user-friendly names.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-04 12:56:23 +08:00
Yuhang Zhao a13fd29994 Update.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-03 20:38:19 +08:00
Yuhang Zhao 138f9abd54 Work-around Win7 bug.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-03 13:01:44 +08:00
Yuhang Zhao 84d6b03539 Remove updateRegion function.
It's causing huge problems on Windows 7.

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-03 10:46:20 +08:00
Yuhang Zhao 6b3f555a95 Update.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-03 09:57:00 +08:00
Yuhang Zhao 270c8e3bac Update.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-02 23:02:50 +08:00
Yuhang Zhao ab54ab2e90 Update.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-02 16:35:15 +08:00
Yuhang Zhao befd1957de Simplify.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-02 15:17:08 +08:00
Yuhang Zhao 927e949c7f Improve DPI support.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-02 15:08:03 +08:00
Yuhang Zhao 9e5103e040 DPI improve.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-02 13:53:14 +08:00
Yuhang Zhao 07c3f47405 Update.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-02 12:59:45 +08:00
Yuhang Zhao 536008491e Update.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-02 10:33:33 +08:00
Yuhang Zhao 9fdabbc33f Update.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-01 23:09:48 +08:00
Yuhang Zhao a6af30ce2a WIP.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-01 17:37:00 +08:00
Yuhang Zhao 5e3a3b7109 Update.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-01 15:58:50 +08:00
Yuhang Zhao d1358c51f9 Update.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-04-01 09:59:03 +08:00