aboutsummaryrefslogtreecommitdiffstats
path: root/lib/wx/api_gen/wx_extra
diff options
context:
space:
mode:
authorDan Gudmundsson <[email protected]>2018-04-03 14:27:41 +0200
committerDan Gudmundsson <[email protected]>2018-04-03 14:27:41 +0200
commit04f1bfac7a6db7d6a030190ea6bc89cf493af2eb (patch)
tree51c11887ceb8e5e619658e5ebd31a34b625738ce /lib/wx/api_gen/wx_extra
parentf99860259ee557851acc865519a315f04d1d4d51 (diff)
downloadotp-04f1bfac7a6db7d6a030190ea6bc89cf493af2eb.tar.gz
otp-04f1bfac7a6db7d6a030190ea6bc89cf493af2eb.tar.bz2
otp-04f1bfac7a6db7d6a030190ea6bc89cf493af2eb.zip
Add backwards compatibility for wxWidgets-3.1.1
wx did not build with wxWidgets-3.1.1 since they have removed wxGraphicsRenderer:CreatePen(wxPen). Get the pen info and create the pen from that in 3.1.1 as is done for wxGrahicsContext:CreatePen(wxPen).
Diffstat (limited to 'lib/wx/api_gen/wx_extra')
-rw-r--r--lib/wx/api_gen/wx_extra/wxGraphicsRenderer.c_src58
1 files changed, 58 insertions, 0 deletions
diff --git a/lib/wx/api_gen/wx_extra/wxGraphicsRenderer.c_src b/lib/wx/api_gen/wx_extra/wxGraphicsRenderer.c_src
new file mode 100644
index 0000000000..4718525dd6
--- /dev/null
+++ b/lib/wx/api_gen/wx_extra/wxGraphicsRenderer.c_src
@@ -0,0 +1,58 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2018. All Rights Reserved.
+%%
+%% Licensed under the Apache License, Version 2.0 (the "License");
+%% you may not use this file except in compliance with the License.
+%% You may obtain a copy of the License at
+%%
+%% http://www.apache.org/licenses/LICENSE-2.0
+%%
+%% Unless required by applicable law or agreed to in writing, software
+%% distributed under the License is distributed on an "AS IS" BASIS,
+%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+%% See the License for the specific language governing permissions and
+%% limitations under the License.
+%%
+%% %CopyrightEnd%
+%%
+
+
+<<CreatePen
+case ~s: { // wxGraphicsRenderer::CreatePen taylormade
+ wxGraphicsRenderer *This = (wxGraphicsRenderer *) getPtr(bp,memenv); bp += 4;
+ wxPen *pen = (wxPen *) getPtr(bp,memenv); bp += 4;
+ if(!This) throw wxe_badarg(0);
+#if !wxCHECK_VERSION(3,1,1)
+ wxGraphicsPen * Result = new wxGraphicsPen(This->CreatePen(*pen)); newPtr((void *) Result,4, memenv);
+ rt.addRef(getRef((void *)Result,memenv), "wxGraphicsPen");
+ break;
+#else
+ wxGraphicsPenInfo info = wxGraphicsPenInfo()
+ .Colour(pen->GetColour())
+ .Width(pen->GetWidth())
+ .Style(pen->GetStyle())
+ .Join(pen->GetJoin())
+ .Cap(pen->GetCap())
+ ;
+
+ if ( info.GetStyle() == wxPENSTYLE_USER_DASH )
+ {
+ wxDash *dashes;
+ if ( int nb_dashes = pen->GetDashes(&dashes) )
+ info.Dashes(nb_dashes, dashes);
+ }
+
+ if ( info.GetStyle() == wxPENSTYLE_STIPPLE )
+ {
+ if ( wxBitmap* const stipple = pen->GetStipple() )
+ info.Stipple(*stipple);
+ }
+ wxGraphicsPen * Result = new wxGraphicsPen(This->CreatePen(info));
+ newPtr((void *) Result,4, memenv);
+ rt.addRef(getRef((void *)Result,memenv), "wxGraphicsPen");
+ break;
+#endif
+}
+CreatePen>>