Commit Graph

62740 Commits

Author SHA1 Message Date
Vadim Zeitlin
18f3992801 Just fix a typo in the preferences sample
"Use" and not "User".
2017-07-11 23:23:32 +02:00
Artur Wieczorek
3105134548 Don't attempt to get CTM if CGContext is NULL
When wxMacCoreGraphicsContext is constructed with CGContext==NULL, initial
transformation matrix can be assumed as an identity matrix.
2017-07-09 14:49:44 +02:00
Artur Wieczorek
796ffb3671 Initialize variable holding initial transformation matrix
When wxMacCoreGraphicsContext is created for wxGraphicsRenderer, initial transformation matrix is just an identity matrix.
2017-07-09 10:13:40 +02:00
mikek
2d8657d37c Fix escaping/unescaping in wxLongStringProperty
wxPropertyGrid::ExpandEscapeSequences() function should convert all valid
escape sequences (\r, \n, \t, \\) to the corresponding single characters
(CR, LF, TAB, backslash, accordingly) and
wxPropertyGrid::CreateEscapeSequences() function should do the reverse
operation and convert these raw characters to the corresponding escape
sequences.

Closes #17896.
2017-07-06 23:14:08 +02:00
Vadim Zeitlin
5292f77ab4 Check for window best size in wxPersistentTLW
Ensure that the restored size is at least equal to the best size of the
window to avoid cutting off parts of it in (a common) case when a newer
version of the program adds new UI elements, thus increasing the window
best size and possibly making the previously stored size too small.
2017-07-06 15:22:10 +02:00
Vadim Zeitlin
7092b1112e Fix caching of wxFONTSTYLE_SLANT fonts in wxTheFontList in wxMSW
Creating a font with wxFONTSTYLE_SLANT results in a font whose
GetStyle() returned wxFONTSTYLE_ITALIC, so it was never found in the
cache, resulting in, effectively, leaking memory and GDI handles because
each new call to wxFontList::FindOrCreateFont(...wxFONTSTYLE_SLANT)
created a new font.

Fix this by just hardcoding that wxFONTSTYLE_SLANT is wxFONTSTYLE_ITALIC
under MSW, this is ugly but avoids backwards incompatible (and not
obviously correct) change of making wxFont::GetStyle() return
wxFONTSTYLE_SLANT if the font was created using this style.

Notice that wxFont::GetStyle() does behave like this in wxOSX currently,
so there is an inconsistency between ports here. It would arguably be
better to make wxOSX behave like wxMSW because the actual font is really
italic and not slant/oblique and if we do this, the preprocessor
condition in this commit should be extended to cover wxOSX too.

Closes #17903.
2017-07-06 15:01:00 +02:00
Vadim Zeitlin
b158385c47 Fix completely broken default button handling in wxMSW
The logic in wxButton::{Set,Unset}TmpDefault() didn't work at all when
the temporary button was the same as the permanent default button as the
code made the same button non-default immediately after making it
default (or vice versa). In particular, this ensured that default button
was never highlighted correctly (at least after the first focus change)
in dialogs containing a single button only.

Fix this by simply skipping modification of the old default button if it
was the same one as the new default button.
2017-07-06 14:43:27 +02:00
Bryan Petty
ed173ed91e Use HTTPS with Trac links. 2017-07-04 13:15:14 -06:00
Artur Wieczorek
823f75c739 Enable selecting opacity in generic wxColourPicker
This is implmentation of the feature which is already implemented in
the native wxColourPicker under wxGTK.
2017-07-03 22:48:30 +02:00
Artur Wieczorek
a29815e19a Allow turning on/off opacity selector in wxColourDialog (wxOSX)
This feature to show/hide alpha values and opacity selector (slider) is
already implemented under wxGTK and for generic wxColourDialog.
For the sake of backward compatibility, this feature is enabled here by
default (through the corresponding property of wxColourData).
2017-07-03 22:48:04 +02:00
VZ
294436c8bb Improve wxBasicString and fix memory leaks when using it
Improve and extend wxBasicString API and fix multiple BSTR leaks in due to
confusingly named Get() method in the old API.

Closes #17889.
2017-07-03 02:28:37 +02:00
arturs
715608fe6a Return (0,0,0,0) rectangle if clipping region is empty
When clipping region is empty, CGContextGetClipBoundingBox() returns (+Inf,+Inf,0,0) rectangle but we need to return (0,0,0,0) rectangle in this case.

See #17609.
2017-07-02 15:06:06 +02:00
Artur Wieczorek
c55bbdf700 Fix setting wxGCDC clipping region with device coordinates (wxOSX)
Currently region given in device coordinates is decomposed into the stripes which are next transformed to the logical coordinates required by underlying wxGraphicsContext::Clip() function. Some of these stripes given in device coordinates can have 1-pixel height what after transformation to logical coordinates can give zero-height stripes (after rounding). This can lead to the situation that in the region transformed to logical coordinates some stripes can disappear and final transformed region shape is different from the source shape (it has gaps).
To fix this issue device coordinates of the region are not manually transformed to the logical coordinates but instead wxGraphicsContext's is temporarily set to the state where its logical coordinates are equivalent to device coordinates and thus clipping region can be applied directly.
Solution for wxMSW, wxGTK is implemented in ea8cb7a24a.

Closes #17609.
2017-07-02 14:43:50 +02:00
Artur Wieczorek
a9fcfe1085 Fix getting/setting transformation matrix (wxOSX)
Transformation settings already applied to the source objects (CGContext, wxWindow) and inherited by wxGraphicsContext should be considered as a baseline transformation matrix for wxGC and shouldn't be exposed through e.g. GetTransform() function (like it's done in Cairo or Direct2D). To report only transformations explicitly applied to wxGC by calls to the corresponding wxGC functions, we need to store initial CTM (in a dedicated variable) and "subtract" it from the actual transformation settings.

See #17609.
2017-07-02 14:31:00 +02:00
Artur Wieczorek
6b4be47a7a Fix retrieving clipping box after changing wxGCDC coordinates (wxOSX)
Member data containing clipping box have to be updated not only when the clipping region is explicitly changed by SetClippingRegion()/DestroyClippingRegion() but also when existing wxGraphicsContext is associated with wxGCDC using SetGraphicsContext() or when wxGCDC coordinates are transformed with SetDeviceOrigin(), SetLogicalOrigin(), SetUserScale() or SetLogicalScale().
When any of these functions is called then clipping box data are marked as invalid and retrieved from underlying graphics context using wxGraphicsContext::GetClipBox() at nearest call to GetClippingBox().
Solution for wxMSW, wxGTK was implemented in 98714ea452.

See #17646.
2017-07-02 13:55:53 +02:00
Artur Wieczorek
214ed20697 Fix wxGCDC::Clear (wxOSX)
If underlying graphics context is rotated then drawing a rectangle with origin at (0,0) doesn't cover all the drawing area. To draw over entire area we need to get extents of the actual clipping region (with applied all transformations) and use it as coordinates of the drawn rectangle.
Solution for wxMSW and wxGTK was implemented in 12eaa61212eaa61930.

See #17636.
2017-07-02 13:46:18 +02:00
Artur Wieczorek
f311807112 Handle EVT_CONTEXT_MENU directly in wxSTC (wxOSX)
A simulation of context menu event by handling directly EVT_RIGHT_UP was implemented in wxSTC in 451c5cc7b9, but later on, EVT_CONTEXT_MENU generation in wxOSX was fixed in 524c47aa3a so  simulation is no longer necessary and this event can be directly handled in wxSTC.
2017-07-02 13:02:13 +02:00
PB
6725a0a1b8 Fix BSTR leaks in wxAMMediaBackend and wxWMP10MediaBackend. 2017-07-01 13:07:59 +02:00
PB
ca3f919da9 Make wxBasicString safer and easier to use as a BSTR RAII wrapper. 2017-07-01 12:50:24 +02:00
Stefano D. Mtangoo
2971930ab8 Fix wx/textcompleter.h compilation when it's the first included header
Explicitly include the required headers instead of relying on them being already included.

Closes https://github.com/wxWidgets/wxWidgets/pull/513
2017-06-29 17:17:01 +02:00
Jouk
94ebaca432 Adding src/common/stringops.cpp for compilation on OpenVMS 2017-06-29 16:29:39 +02:00
Stefan Csomor
d9ba8f7fa1 Minimum code for triggering wxEVT_DATAVIEW_ITEM_START_EDITING event, see #479
The version with calling the base class resulted in always vetoing unless there was a custom renderer which had CreateEditorCtrl implemented.
2017-06-29 11:23:49 +02:00
VZ
326e8b3064 Add documentation for wxImageHandler derivations
This makes it possible to wrap these classes automatically

It also documents wxGIFHandler::SaveAnimation() which wasn't previously
documented at all, even implicitly and so closes #16424.

Closes https://github.com/wxWidgets/wxWidgets/pull/511
2017-06-29 02:33:27 +02:00
Stefan Csomor
12d8f69190 Keep icon when text is changed
Copied over code from the generic implementation to make things work properly - the icon got lost before.
2017-06-28 10:29:49 +02:00
Stefan Csomor
8d78887a22 Clean up setters, they take the ownership, so no need to retain and autorelease 2017-06-28 10:28:04 +02:00
Stefan Csomor
1902c5ceb8 Document iOS 9 as minimum deployment version. 2017-06-28 09:17:36 +02:00
Stefan Csomor
62052e365e Do not offset coordinates in case of filling 2017-06-28 07:34:53 +02:00
Stefan Csomor
a6ba2245ef Redo Use implicit wxColour to wxBrush conversion 2017-06-28 07:22:54 +02:00
Stefan Csomor
1985fca987 Merge branch 'master' of https://github.com/wxWidgets/wxWidgets 2017-06-28 07:21:51 +02:00
Stefan Csomor
46742a6043 Use implicit conversion from wxColour to wxBrush 2017-06-28 07:12:57 +02:00
Oliver Smith
b8f83725ed Fix D2D wxGraphics build with wxUSE_UNICODE==0
Revert one of the changes of 5520702674 which
replaced direct check with a call to lstrlen() which seems to be unneeded and
doesn't compile in non-Unicode build.
2017-06-28 02:53:46 +02:00
VZ
30369f03ae Fix Scintilla compilation on CentOS 6 and other older systems
Closes https://github.com/wxWidgets/wxWidgets/pull/510
2017-06-28 02:16:11 +02:00
Stefan Csomor
cd3b1f25ad AVKit is 64 bit only 2017-06-27 20:29:59 +02:00
Paul Cornett
654656c885 Avoid using wxLogError(), for the reasons given at the top of the file
Also use correct linkage for callback
2017-06-27 09:28:39 -07:00
Paul Cornett
f7985a74c4 Flush temporary surface before using as source 2017-06-27 09:28:15 -07:00
Paul Cornett
d87a766214 Avoid showing hidden window during deferred show handling
See https://github.com/wxWidgets/wxWidgets/pull/512
2017-06-27 09:28:05 -07:00
Stefan Csomor
a352f80537 Fix 32 bit compilation
The class wxTextFieldCell was still declared, but not defined for 32 bit builds, move the define to NSTextFieldCell into the header.
2017-06-27 18:10:07 +02:00
Stefan Csomor
48d1c4ff1a The result of an init.. call might be a different object, store it 2017-06-26 11:53:37 +02:00
Stefan Csomor
eb0c95a5ea We always use 32 bit depth on OSX for this conversion from wxImage 2017-06-26 10:58:35 +02:00
Stefan Csomor
d9228f471c Optimize rectangle drawing under Cairo 2017-06-26 09:55:17 +02:00
Stefan Csomor
4cce63d904 Support transparency and masks under macOS / Cairo 2017-06-26 09:49:39 +02:00
Stefan Csomor
526889dc57 Properly initialize newly created wxGraphicsContext with window background color 2017-06-26 08:40:09 +02:00
Stefan Csomor
c9c74d957c Update docs with wsOSX font changes and wxOSX & Cairo bitmap clearing 2017-06-26 08:26:47 +02:00
Samuel Dunn
8f7f623dd1 Change return statement to be consistent with parent class's SaveFile 2017-06-25 15:05:31 -07:00
Samuel Dunn
cb91584c11 Tidying up. 2017-06-25 14:21:40 -07:00
Samuel Dunn
565bf4d155 Document SaveAnimation, remove documentation for remaining methods
They've been deemed implementation details
2017-06-25 14:06:47 -07:00
Stefan Csomor
6dfa897b4a Adding a native implementation for clearing bitmap/window contexts
Filling a bitmap surface is filled with ARGB 0,0,0,0. This way eg buffered transparent layers can be properly cleared.
2017-06-25 22:48:58 +02:00
Stefan Csomor
40d77062b0 Removing dead code 2017-06-25 22:45:47 +02:00
Stefan Csomor
ccf5f80f7f Using proper dylib name for cairo under osx 2017-06-25 14:42:07 +02:00
Stefan Csomor
b0470eb91d Bring OSX API in sync with MSW 2017-06-25 13:55:06 +02:00