Commit Graph

8815 Commits

Author SHA1 Message Date
Paul Cornett
91bb265e90 Fix build with wxNO_RTTI
wxWidgets RTTI can be used instead
2021-03-21 12:16:12 -07:00
Paul Cornett
ef5076f852 Fix build with wxUSE_PALETTE==0 2021-03-21 12:16:01 -07:00
Vadim Zeitlin
5d6525ccf1 Merge branch 'webview_useragent' of https://github.com/TcT2k/wxWidgets
Add support for custom user agent to wxWebView.

See https://github.com/wxWidgets/wxWidgets/pull/2280
2021-03-19 22:39:00 +01:00
Tobias Taschner
2487a48b66 Implement user agent access for Edge 2021-03-17 22:01:46 +01:00
Paul Cornett
5154780bbf Avoid some -Wcast-qual warnings 2021-03-17 10:16:32 -07:00
Tobias Taschner
3d568c7105 Create wxWebViewEdge implementation in constructor
This helps with various potential error when using two step creation
2021-03-17 09:42:01 +01:00
Artur Wieczorek
04020e4509 Fix wxButon layout with right- and bottom-aligned images (wxMSW)
It looks only left- and top-aligned images stored in the image list
(BUTTON_IMAGELIST) are drawn with proper margins (with BCM_SETIMAGELIST).
For some reasons (bug in Win API?) margins for right- and bottom-aligned
images are applied only on one side of the image so the image drawn in
the button is misplaced in relation to the label.
It seems the only possible workaround for such images is to switch to
the owner-drawn mode and to draw the image manually in the proper location.

Closes #13130.
2021-03-14 12:57:09 +01:00
Artur Wieczorek
99983325d6 Use proper data structure describing image of owner-drawn wxButton (wxMSW)
When wxButton is switched to owner-drawn mode we need to store its image
data in the dedicated wxODButtonImageData structure. We shouldn't use
in this case wxXPButtonImageData structure because it is dedicated for
native buttons and every time it's updated a BCM_SETIMAGELIST message is
sent to the button what is unnecessary action.
2021-03-14 12:40:39 +01:00
Artur Wieczorek
2af825c6a6 Fix setting image margin in wxButton (wxMSW)
When button images are stored in the image list (BUTTON_IMAGELIST)
their margins should be set with BCM_SETIMAGELIST message.
BCM_SETTEXTMARGIN sets the margins around the text label
and not the image.

See #13130.
2021-03-13 22:50:33 +01:00
Vadim Zeitlin
f6194cb797 Merge branch 'config-size_t'
Add support for 64-bit numbers and size_t to wxConfig.

See https://github.com/wxWidgets/wxWidgets/pull/2272
2021-03-13 22:35:01 +01:00
Vadim Zeitlin
fce8780297 Add 64-bit integers support to wxConfig
Serialize them to strings in wxFileConfig, just as we always did for
long, but use wxRegKey support for storing them directly to the registry
in wxRegConfig.
2021-03-13 15:14:58 +01:00
Maarten Bent
47047a608a Fix drawing undetermined state of owner-drawn checkbox 2021-03-10 23:54:12 +01:00
Maarten Bent
3a1576f74c Fix size of owner-drawn checkbox at non-standard DPI
Get the correct size from wxRendererNative instead of wxGetSystemMetrics.
Simplify positioning the button and label rectangles.

Closes #19095
2021-03-10 23:54:11 +01:00
Vadim Zeitlin
3f2c84d4a9 Add 64-bit numbers support to wxRegKey
This uses the native registry support for 64-bit values available since
Windows XP.

Note that SetValue64() can't be just called SetValue() as this would
introduce ambiguities when writing an int or an enum to the registry.
This could be avoided by providing overloads for all the arithmetic
types, but it's arguably better to be more clear about what exactly is
being written to the registry in this low-level class and using a
different name is definitely simpler.
2021-03-09 21:09:42 +01:00
Vadim Zeitlin
eb33447c39 Use template function to avoid code duplication in wxRegConfig
Don't repeat exactly the same code for 3 different types, just use a
template function instead.

Change the existing TryGetValue() helpers to take all output parameters
consistently by pointer, rather than taking only long by pointer and the
other by reference. This allows to isolate the inconsistency of the type
of wxRegKey::QueryValue() parameter in a single place here, hiding it
from the rest of wxRegConfig code.

Add an extra unit test for writing/reading longs to/from wxRegConfig.
2021-03-09 19:15:03 +01:00
Vadim Zeitlin
bf8be6c58d Merge branch 'mac-filedlg-improvements' of https://github.com/discnl/wxWidgets
macOS wxFileDialog improvements.

See https://github.com/wxWidgets/wxWidgets/pull/2234
2021-03-06 12:18:43 +01:00
Vadim Zeitlin
26635c2718 Merge branch 'webrequest-fix-param'
Fix URL parameters handling in WinHTTP wxWebView backend.

See https://github.com/wxWidgets/wxWidgets/pull/2264
2021-03-06 12:16:26 +01:00
Artur Wieczorek
c1fa4cc7be Refactor: Use dedicated Win API to modify RECT structures 2021-03-05 20:11:04 +01:00
Tobias Taschner
a6c9fd2603 Fix WinHTTP GET parameter
An additional ? was send to the server, resulting in ignoring the first get parameter
2021-03-04 17:00:45 +01:00
Tobias Taschner
80c04e3941 Merge branch 'master' into webview_script_message 2021-03-01 09:57:13 +01:00
Vadim Zeitlin
afb57182e1 Merge branch 'gcc-edge'
Make it possible to build wxWebViewEdge with gcc or clang too.

Closes https://github.com/wxWidgets/wxWidgets/pull/2245
2021-03-01 00:09:52 +01:00
Maarten Bent
b43803703d Move Callback implementation to separate header file 2021-03-01 00:09:23 +01:00
Maarten Bent
66d314c232 Implement QueryInterface of wxWebViewEdge CInvokable 2021-03-01 00:09:23 +01:00
Maarten Bent
156eda92d7 Use WRL when building with MSVC 2021-03-01 00:09:23 +01:00
Maarten Bent
a8b726359b Format wxWebViewEdge Callback code 2021-03-01 00:09:23 +01:00
Maarten Bent
ad1219d0a2 Fix building with MSVC 32 bit 2021-03-01 00:09:23 +01:00
Maarten Bent
84b19a0ce0 Use the same function signature as the WebView2 SDK 2021-03-01 00:09:23 +01:00
nns52k
b465a95dcc Make it possible to compile wxWebView Edge backend with gcc
Remove the requirement to include wrl/event.h so that GNU C++ (maybe
Clang C++ as well) can compile this file without error.
2021-03-01 00:08:08 +01:00
Tobias Taschner
5e35e6c635 Clear script ids in RemoveAllUserScripts() 2021-02-28 22:38:09 +01:00
Tobias Taschner
2a16638e2a Fix EOL issues 2021-02-28 20:03:31 +01:00
Tobias Taschner
29bfcdfd5e Add common web message identifier 2021-02-27 11:55:50 +01:00
Tobias Taschner
4d78437a77 Implement AddUserScript() for edge backend 2021-02-26 23:41:39 +01:00
Tobias Taschner
b1d558a612 Disabled dev tools per default for Edge
This unifies the behavior among backends and is probably
the more useful default for most applications.
2021-02-26 21:55:10 +01:00
Tobias Taschner
2d007ff3f1 Add named script handler to edge 2021-02-26 21:51:15 +01:00
Tobias Taschner
a09713de5f Decode web message result like RunScript() result 2021-02-26 21:37:23 +01:00
Tobias Taschner
302ae644dd Fix mixed EOL 2021-02-26 17:11:33 +01:00
Tobias Taschner
edcaf5210e Implement script message for edge backend 2021-02-26 15:41:42 +01:00
Vadim Zeitlin
752ba82041 Fix format specifier used for wParam in wxMSW WM_POWER handler
wParam is 64 bits in 64 bit builds and can't be used with "%d", we need
"%zd" for it.

Closes #19080.
2021-02-24 13:29:27 +01:00
Vadim Zeitlin
0728262640 Provide descriptions for WinHTTP error messages
Just the error code is not very useful as it doesn't say anything about
what exactly failed, e.g. seeing "The buffers supplied to a function was
too small." doesn't help understanding which function was passed a too
small buffer, so add an extra parameter to SetFailed[WithLastError]() to
log this information too.

Also log the error code itself, because SEC_E_BUFFER_TOO_SMALL is
arguably more clear than its ungrammatical error message.

No real changes.

Closes https://github.com/wxWidgets/wxWidgets/pull/2247
2021-02-23 21:53:11 +01:00
Vadim Zeitlin
b53f7ac904 Restore support for using faster dotted pens in wxMSW
Changes of d245dc9e1f (Fix drawing of dotted lines with wxDC in wxMSW,
2020-03-27) improved the appearance of dotted and dashed lines in wxMSW
but at the expense of significant (up to a factor of 300) slowdown.

Allow the applications for which the drawing performance is important to
explicitly request the old behaviour, with uglier, but faster, pens by
choosing to use low quality pens.

Update the graphics benchmark to allow specifying the pen quality and
verify that the performance when using it is the same as before 3.1.4.

See https://github.com/wxWidgets/wxWidgets/pull/2218

See #7097.

Closes #18875.
2021-02-22 00:04:07 +01:00
Artur Wieczorek
0631ee37d9 Use dedicated WIC methods to get sub-bitmap of IWICBitmap
Using IWICBitmapClipper it is possible to get a clipped version
of the source bitmap so it should be used instead of manual way
with extracting pixels to the memory.
2021-02-20 21:00:12 +01:00
Artur Wieczorek
299f4543e3 Apply anti-alias mode to fonts with Direct2D
See #19049.
2021-02-19 20:22:00 +01:00
Artur Wieczorek
182cd25d7c Apply anti-alias mode to fonts with GDI+
See #19049.
2021-02-19 20:21:38 +01:00
Dimitri Schoolwerth
57688cf2da Refactor repetitions into wxFileDialogBase::UpdateExtraControlUI()
No real changes, just prepare for the next commit before repeating more
code.
2021-02-15 00:37:45 +01:00
utelle
62a760c225 Make wxStandardPaths::IgnoreAppBuildSubDirs() more permissive
Add some common architecture-dependent directories to the list of
subdirectories that should be ignored.

For Win32 the directory name x86 is also common.

For Win64 the directory names Win64 and x86_64 are frequently in use,
too.

Closes https://github.com/wxWidgets/wxWidgets/pull/2233
2021-02-15 00:36:15 +01:00
Vadim Zeitlin
d2c3c6a35b Merge branch 'msw_webview_edge4' of https://github.com/TcT2k/wxWidgets
Fix missing events for in-document navigation with wxWebViewEdge,
implement Find() for it and add wxEVT_WEBVIEW_FULLSCREEN_CHANGED for it
and wxGTK.

See https://github.com/wxWidgets/wxWidgets/pull/2227
2021-02-14 19:37:44 +01:00
Artur Wieczorek
70793777b6 Add missing constants
These constants are not defined in some non-MSVC environments.
2021-02-14 11:02:23 +01:00
Artur Wieczorek
cd6548c80e Use dedicated helper function to get window client area size 2021-02-14 00:13:48 +01:00
Artur Wieczorek
bce6c0911e Don't call obsolete method
ID2D1Factory::GetDesktopDpi() is reported as deprecated.
2021-02-14 00:12:47 +01:00
Artur Wieczorek
418ca872ec Fix reference count in wxD2DDeviceContextResourceHolder 2021-02-14 00:11:40 +01:00