diff options
author | Dan Gudmundsson <[email protected]> | 2018-04-03 14:27:41 +0200 |
---|---|---|
committer | Dan Gudmundsson <[email protected]> | 2018-04-03 14:27:41 +0200 |
commit | 04f1bfac7a6db7d6a030190ea6bc89cf493af2eb (patch) | |
tree | 51c11887ceb8e5e619658e5ebd31a34b625738ce /lib/wx/c_src | |
parent | f99860259ee557851acc865519a315f04d1d4d51 (diff) | |
download | otp-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/c_src')
-rw-r--r-- | lib/wx/c_src/gen/wxe_funcs.cpp | 34 |
1 files changed, 31 insertions, 3 deletions
diff --git a/lib/wx/c_src/gen/wxe_funcs.cpp b/lib/wx/c_src/gen/wxe_funcs.cpp index a47d602337..a7bac4cf9d 100644 --- a/lib/wx/c_src/gen/wxe_funcs.cpp +++ b/lib/wx/c_src/gen/wxe_funcs.cpp @@ -1,7 +1,7 @@ /* * %CopyrightBegin% * - * Copyright Ericsson AB 2008-2017. All Rights Reserved. + * Copyright Ericsson AB 2008-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. @@ -7010,13 +7010,41 @@ case wxGraphicsRenderer_CreateContext_1_0: { // wxGraphicsRenderer::CreateContex rt.addRef(getRef((void *)Result,memenv), "wxGraphicsContext"); break; } -case wxGraphicsRenderer_CreatePen: { // wxGraphicsRenderer::CreatePen + +case wxGraphicsRenderer_CreatePen: { // 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); - wxGraphicsPen * Result = new wxGraphicsPen(This->CreatePen(*pen)); newPtr((void *) Result,4, memenv);; +#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 } case wxGraphicsRenderer_CreateBrush: { // wxGraphicsRenderer::CreateBrush wxGraphicsRenderer *This = (wxGraphicsRenderer *) getPtr(bp,memenv); bp += 4; |