diff options
Diffstat (limited to 'lib/wx/api_gen')
| -rw-r--r-- | lib/wx/api_gen/README | 3 | ||||
| -rw-r--r-- | lib/wx/api_gen/gen_util.erl | 8 | ||||
| -rw-r--r-- | lib/wx/api_gen/gl_gen.erl | 6 | ||||
| -rw-r--r-- | lib/wx/api_gen/gl_gen_erl.erl | 42 | ||||
| -rw-r--r-- | lib/wx/api_gen/gl_scan_doc.erl | 6 | ||||
| -rw-r--r-- | lib/wx/api_gen/wx_doxygen.conf | 6 | ||||
| -rw-r--r-- | lib/wx/api_gen/wx_extra/wxGraphicsRenderer.c_src | 58 | ||||
| -rw-r--r-- | lib/wx/api_gen/wx_gen.erl | 18 | ||||
| -rw-r--r-- | lib/wx/api_gen/wx_gen_cpp.erl | 13 | ||||
| -rw-r--r-- | lib/wx/api_gen/wx_gen_erl.erl | 9 | ||||
| -rw-r--r-- | lib/wx/api_gen/wxapi.conf | 31 | 
11 files changed, 154 insertions, 46 deletions
| diff --git a/lib/wx/api_gen/README b/lib/wx/api_gen/README index dd0c49d227..200ef4c856 100644 --- a/lib/wx/api_gen/README +++ b/lib/wx/api_gen/README @@ -3,12 +3,13 @@ API GENERATION:      Users of wxErlang should not normally need to regenerate the generated code,      as it is checked in by wxErlang developers, when changes are made. -    Code checked in is currently generated from wxwidgets 2.8.10. +    Code checked in is currently generated from wxwidgets 2.8.12.  REQUIREMENTS:      The code generation requires doxygen (1.4.6) which is      used to parse wxWidgets c++ headers and generate xml files (in      wx_xml/). +    2017-08-16 doxygen 1.8.11 is working with WXGTK_DIR=/ldisk/src/wxWidgets-2.8.12/include      2012-02-09 doxygen 1.7.4 is working fine diff --git a/lib/wx/api_gen/gen_util.erl b/lib/wx/api_gen/gen_util.erl index cd42ad2d96..d27a9ae548 100644 --- a/lib/wx/api_gen/gen_util.erl +++ b/lib/wx/api_gen/gen_util.erl @@ -1,7 +1,7 @@  %%  %% %CopyrightBegin%  %% -%% Copyright Ericsson AB 2008-2016. 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. @@ -106,8 +106,8 @@ check_diff(Diff) ->  	throw:_ ->  diff;  	error:{badmatch,_} ->  	    diff; -	_:What -> -	    io:format("~p:~p: ~p ~p~n", [?MODULE,?LINE, What, erlang:get_stacktrace()]), +	_:What:Stacktrace -> +	    io:format("~p:~p: ~p ~p~n", [?MODULE,?LINE, What, Stacktrace]),  	    diff      end. @@ -203,7 +203,7 @@ replace_and_remove([$; | R], Acc) ->  replace_and_remove([$@ | R], Acc) ->      replace_and_remove(R, [directive|Acc]); -replace_and_remove([_E|R], Acc) ->       %% Ignore everthing else +replace_and_remove([_E|R], Acc) ->       %% Ignore everything else      replace_and_remove(R, Acc);  replace_and_remove([], Acc) ->      Acc. diff --git a/lib/wx/api_gen/gl_gen.erl b/lib/wx/api_gen/gl_gen.erl index 7e3766a43b..c0509ed802 100644 --- a/lib/wx/api_gen/gl_gen.erl +++ b/lib/wx/api_gen/gl_gen.erl @@ -1,7 +1,7 @@  %%  %% %CopyrightBegin%  %% -%% Copyright Ericsson AB 2008-2016. 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. @@ -47,9 +47,9 @@ safe(What, QuitOnErr) ->  	What(),  	io:format("Completed successfully~n~n", []),  	QuitOnErr andalso gen_util:halt(0) -    catch Err:Reason -> +    catch Err:Reason:Stacktrace ->  	    io:format("Error ~p: ~p:~p~n  ~p~n",  -		      [get(current_func),Err,Reason,erlang:get_stacktrace()]), +		      [get(current_func),Err,Reason,Stacktrace]),  	    (catch gen_util:close()),  	    timer:sleep(1999),  	    QuitOnErr andalso gen_util:halt(1) diff --git a/lib/wx/api_gen/gl_gen_erl.erl b/lib/wx/api_gen/gl_gen_erl.erl index 3ad14825dd..e62d182a37 100644 --- a/lib/wx/api_gen/gl_gen_erl.erl +++ b/lib/wx/api_gen/gl_gen_erl.erl @@ -1,7 +1,7 @@  %%  %% %CopyrightBegin%  %% -%% Copyright Ericsson AB 2008-2016. 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. @@ -35,6 +35,9 @@  		   open_write/1, open_write/2, close/0, erl_copyright/0, w/2,  		   args/3, args/4, strip_name/2]). + +-define(HTTP_TOP, "https://www.khronos.org/registry/OpenGL-Refpages/"). +  gl_defines(Defs) ->      open_write("../include/gl.hrl"),      erl_copyright(), @@ -96,7 +99,7 @@ gl_api(Fs) ->      w("~n%% OPENGL API~n~n", []),      w("%% This file is generated DO NOT EDIT~n~n", []),      w("%% @doc  Standard OpenGL api.~n", []), -    w("%% See <a href=\"http://www.opengl.org/sdk/docs/man/\">www.opengl.org</a>~n",[]), +    w("%% See <a href=\""++ ?HTTP_TOP ++ "\">www.khronos.org</a>~n",[]),      w("%%~n", []),      w("%% Booleans are represented by integers 0 and 1.~n~n", []), @@ -158,7 +161,7 @@ glu_api(Fs) ->      w("~n%% OPENGL UTILITY API~n~n", []),      w("%% This file is generated DO NOT EDIT~n~n", []),      w("%% @doc  A part of the standard OpenGL Utility api.~n", []), -    w("%% See <a href=\"http://www.opengl.org/sdk/docs/man/\">www.opengl.org</a>~n",[]), +    w("%% See <a href=\""++ ?HTTP_TOP ++ "\">www.khronos.org</a>~n",[]),      w("%%~n", []),      w("%% Booleans are represented by integers 0 and 1.~n~n", []), @@ -243,8 +246,8 @@ gen_types(Where) ->  gen_export(F) ->      try gen_export_1(F) -    catch E:R -> -	    io:format("Crash ~p:~p in ~p ~n",[E,R, erlang:get_stacktrace()]), +    catch E:R:S -> +	    io:format("Crash ~p:~p in ~p ~n",[E,R,S]),  	    io:format("Func = ~p~n  ~p", [F, get(F)])      end. @@ -300,8 +303,7 @@ gen_doc(Name0, Alt, Export) ->      Name = doc_name(Name0, Alt),      case get({doc, Name}) of  	undefined -> -	    GLDoc = "http://www.opengl.org/sdk/docs/man/xhtml/", -	    case parse_doc(Name, _Dir1 ="gl_man4", _Dir2="gl_man2") of +	    case parse_doc(Name, Dir1 ="gl_man4", Dir2="gl_man2") of  		{error, _} ->  		    case reverse(Name) of  			"BRA" ++ _ -> ok; @@ -311,13 +313,18 @@ gen_doc(Name0, Alt, Export) ->  			    %% 	      [Name, Name0, Dir1, Dir2]),  			    ok  		    end, -		    w("%% @doc ~s~n%%~n%% See <a href=\"~s~s.xml\">external</a> documentation.~n", -		      [Name, GLDoc, Name]); -		Doc -> +		    w("%% @doc ~s~n%%~n" +                      "%% See <a href=\"~s\">external</a> documentation.~n", +		      [Name, ?HTTP_TOP]); +		{Found, Doc} -> +                    {Dir,Ext} = case Found of +                                    Dir1 -> {"gl4/html", "xhtml"}; +                                    Dir2 -> {"gl2.1/xhtml", "xml"} +                                end,  		    put({doc, Name}, Export),  		    format_doc(Doc, ?LINE_LEN), -		    w("~n%%~n%% See <a href=\"~s~s.xml\">external</a> documentation.~n", -		      [GLDoc, Name]) +		    w("~n%%~n%% See <a href=\"~s~s/~s.~s\">external</a> documentation.~n", +		      [?HTTP_TOP, Dir, Name, Ext])  	    end;  	Where ->  	    w("%% @doc ~n", []), @@ -327,9 +334,12 @@ gen_doc(Name0, Alt, Export) ->  parse_doc(Name, Dir1, Dir2) ->      case gl_scan_doc:file(filename:join(Dir1, Name++".xml"), []) of  	{error, {_, "no such" ++ _}} -> -	    gl_scan_doc:file(filename:join(Dir2, Name++".xml"), []); +	    case gl_scan_doc:file(filename:join(Dir2, Name++".xml"), []) of +                {error, _} = Err -> Err; +                Doc -> {Dir2, Doc} +            end;  	Doc -> -	    Doc +	    {Dir1, Doc}      end.  format_doc(Strs, Count) when Count < 0 -> @@ -479,8 +489,8 @@ doc_return_types2(T, Ps) ->  doc_arg_type(#arg{name=Name,type=T}) ->      try  	erl_arg_name(Name) ++ " :: " ++ doc_arg_type2(T) -    catch _:Error -> -	    io:format("Error spec: ~p ~p~n~p~n",[Name, Error, erlang:get_stacktrace()]), +    catch _:Error:Stacktrace -> +	    io:format("Error spec: ~p ~p~n~p~n",[Name, Error, Stacktrace]),  	    exit(error)      end. diff --git a/lib/wx/api_gen/gl_scan_doc.erl b/lib/wx/api_gen/gl_scan_doc.erl index 0a1c25ae13..c793d4940e 100644 --- a/lib/wx/api_gen/gl_scan_doc.erl +++ b/lib/wx/api_gen/gl_scan_doc.erl @@ -2,7 +2,7 @@  %%--------------------------------------------------------------------  %% %CopyrightBegin%  %% -%% Copyright Ericsson AB 2012-2016. All Rights Reserved. +%% Copyright Ericsson AB 2012-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. @@ -209,6 +209,10 @@ gen_output({startElement, _Uri, "para", _QName, _Attributes}, #state{gen_output=  	    State#state{str=[para|Str]}      end; +gen_output({endElement, _Uri, "para", _QName}, #state{gen_output=true, str=Str} = State) -> +    %% Pick only the first paragraph in the descriptions +    State#state{gen_output=false}; +  %% gen_output({startElement, _Uri, What, _QName, _Attributes}, State) ->  %%     io:format("Skipped ~s~n",[What]),  %%     State; diff --git a/lib/wx/api_gen/wx_doxygen.conf b/lib/wx/api_gen/wx_doxygen.conf index a96db00254..d6a0e9e6a1 100644 --- a/lib/wx/api_gen/wx_doxygen.conf +++ b/lib/wx/api_gen/wx_doxygen.conf @@ -71,12 +71,12 @@ WARN_LOGFILE           =  #---------------------------------------------------------------------------  # configuration options related to the input files  #--------------------------------------------------------------------------- -INPUT                = @WXGTK_DIR@/wx/  wx_extra/ +INPUT                = @WXGTK_DIR@/wx/ @WXGTK_DIR@/../contrib/include/wx/stc/ wx_extra/  # FILE_PATTERNS          = *.h  RECURSIVE              = YES  EXCLUDE                =   EXCLUDE_SYMLINKS       = NO -EXCLUDE_PATTERNS       = mac/* mgl/* msw/* os2/* x11/* gtk1/* cocoa/* motif/* msdos/* palmos/* private/* vms_x_fix.h +EXCLUDE_PATTERNS       = */mac/* */dfb/* */mgl/* */msw/* */os2/* */x11/* */gtk1/* */cocoa/* */motif/* */msdos/* */palmos/* */private/* */univ/* */vms_x_fix.h  EXAMPLE_PATH           =   EXAMPLE_PATTERNS       =   EXAMPLE_RECURSIVE      = NO @@ -155,8 +155,6 @@ MAN_LINKS              = NO  #---------------------------------------------------------------------------  GENERATE_XML           = YES  XML_OUTPUT             = ./wx_xml/ -XML_SCHEMA             =  -XML_DTD                =   XML_PROGRAMLISTING     = NO  #---------------------------------------------------------------------------  # configuration options for the AutoGen Definitions output 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>> diff --git a/lib/wx/api_gen/wx_gen.erl b/lib/wx/api_gen/wx_gen.erl index 6979a600f3..cec6ac9ccf 100644 --- a/lib/wx/api_gen/wx_gen.erl +++ b/lib/wx/api_gen/wx_gen.erl @@ -1,7 +1,7 @@  %%  %% %CopyrightBegin%  %% -%% Copyright Ericsson AB 2008-2016. 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. @@ -47,9 +47,9 @@ safe(What, QuitOnErr) ->  	What(),  	io:format("Completed successfully~n~n", []),  	QuitOnErr andalso gen_util:halt(0) -    catch Err:Reason -> +    catch Err:Reason:Stacktrace ->  	    io:format("Error in ~p ~p~n", [get(current_class),get(current_func)]), -	    erlang:display({Err,Reason, erlang:get_stacktrace()}), +	    erlang:display({Err,Reason,Stacktrace}),  	    catch gen_util:close(),  	    QuitOnErr andalso gen_util:halt(1)      end. @@ -93,9 +93,10 @@ mangle_info(E={not_const,List}) ->      put(not_const,  [atom_to_list(M) || M <- List]),      E;  mangle_info(E={gvars,List}) -> -    A2L = fun({N,{T,C}}) -> {atom_to_list(N), {T,atom_to_list(C)}}; +    A2L = fun({N,{test_if,C}}) -> {atom_to_list(N), {test_if,C}}; +             ({N,{T,C}}) -> {atom_to_list(N), {T,atom_to_list(C)}};  	     ({N,C}) ->     {atom_to_list(N), atom_to_list(C)} -	  end,     +	  end,      put(gvars, map(A2L,List)),      E;  mangle_info({class,CN,P,O,FL}) -> @@ -501,10 +502,11 @@ parse_member2(_, _,M0) ->      M0.  add_param(InParam, Opts, M0) -> -    Param0 = case InParam#param.name of -		 undefined -> InParam#param{name="val"}; +    Param0 = case {InParam#param.name, InParam#param.type} of +                 {undefined, void} -> InParam#param{where=nowhere}; +		 {undefined,_} -> InParam#param{name="val"};  		 _ -> InParam -	     end,   +	     end,      Param = case Param0#param.type of  		#type{base={comp,_,_Comp}} ->   Param0;  		#type{base={class,_Class}} -> Param0; diff --git a/lib/wx/api_gen/wx_gen_cpp.erl b/lib/wx/api_gen/wx_gen_cpp.erl index d4b6db8153..70a3530526 100644 --- a/lib/wx/api_gen/wx_gen_cpp.erl +++ b/lib/wx/api_gen/wx_gen_cpp.erl @@ -1,7 +1,7 @@  %%  %% %CopyrightBegin%  %% -%% Copyright Ericsson AB 2008-2016. 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. @@ -627,7 +627,7 @@ decode_arg(N,#type{name="wxArrayString"},Place,A0) ->      w(" int * ~sLen = (int *) bp; bp += 4;~n", [N]),      case Place of  	arg -> w(" wxArrayString ~s;~n", [N]); -	opt -> ignore %% Allready declared +	opt -> ignore %% Already declared      end,      w(" int ~sASz = 0, * ~sTemp;~n", [N,N]),      w(" for(int i=0; i < *~sLen; i++) {~n", [N]), @@ -1127,6 +1127,15 @@ build_gvar({Name, {address,Class}, _Id}, Cnt) ->      w("   rt.addAtom(\"~s\"); rt.addRef(getRef((void *)&~s,memenv), \"~s\");~n",[Name,Name,Class]),      w("   rt.addTupleCount(2);~n"),      Cnt+1; +build_gvar({Name, {test_if,Test}, _Id}, Cnt) -> +    w("#if ~s~n", [Test]), +    w(" rt.addAtom(\"~s\"); rt.addInt(~s);~n", [Name, Name]), +    w(" rt.addTupleCount(2);~n"), +    w("#else~n", []), +    w(" rt.addAtom(\"~s\"); rt.addAtom(\"undefined\");~n", [Name]), +    w(" rt.addTupleCount(2);~n"), +    w("#endif~n", []), +    Cnt+1;  build_gvar({Name, Class, _Id}, Cnt) ->      w("   rt.addAtom(\"~s\"); rt.addRef(getRef((void *)~s,memenv),\"~s\");~n",[Name,Name,Class]),      w("   rt.addTupleCount(2);~n"), diff --git a/lib/wx/api_gen/wx_gen_erl.erl b/lib/wx/api_gen/wx_gen_erl.erl index e272c08d90..797533309b 100644 --- a/lib/wx/api_gen/wx_gen_erl.erl +++ b/lib/wx/api_gen/wx_gen_erl.erl @@ -1,7 +1,7 @@  %%  %% %CopyrightBegin%  %% -%% Copyright Ericsson AB 2008-2016. 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. @@ -1106,7 +1106,7 @@ gen_enums_ints() ->      w("-define(wxDefaultSize, {-1,-1}).~n", []),      w("-define(wxDefaultPosition, {-1,-1}).~n", []),      w("~n%% Global Variables~n", []), -    [w("-define(~s,  wxe_util:get_const(~s)).~n", [Gvar, Gvar]) || +    [w("-define(~s,  wxe_util:get_const(~s)).~n", [qoute_atom(Gvar), qoute_atom(Gvar)]) ||  	{Gvar,_,_Id} <- get(gvars)],      w("~n%% Enum and defines~n", []),      foldl(fun(Enum= #enum{vals=Vals}, Done) when Vals =/= [] -> @@ -1115,6 +1115,11 @@ gen_enums_ints() ->  	  end, gb_sets:empty(), lists:sort(Enums)),      close(). +qoute_atom([Char|_]=Str) when Char < $a -> +    "'" ++ Str ++ "'"; +qoute_atom(Str) -> +    Str. +  build_enum_ints(#enum{from=From, vals=Vals},Done) ->      case From of  	{File, undefined, [$@|_]} -> diff --git a/lib/wx/api_gen/wxapi.conf b/lib/wx/api_gen/wxapi.conf index a0dfa61dd1..c1b55b6875 100644 --- a/lib/wx/api_gen/wxapi.conf +++ b/lib/wx/api_gen/wxapi.conf @@ -2,7 +2,7 @@  %%  %% %CopyrightBegin%  %% -%% Copyright Ericsson AB 2008-2016. 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. @@ -87,7 +87,27 @@    {wxNullPen,        {address,wxPen}},    {wxNullBrush,      {address,wxBrush}},    {wxNullPalette,    {address,wxPalette}}, -  {wxNullFont,       {address,wxFont}}]}. +  {wxNullFont,       {address,wxFont}}, + +  %% New enums needed for gl contexts not static numbers +  {'WX_GL_SAMPLE_BUFFERS',   {test_if, "wxCHECK_VERSION(3,0,0)"}}, +  {'WX_GL_SAMPLES',          {test_if, "wxCHECK_VERSION(3,0,0)"}}, +  {'WX_GL_FRAMEBUFFER_SRGB', {test_if, "wxCHECK_VERSION(3,1,0)"}}, +  {'WX_GL_CORE_PROFILE',     {test_if, "wxCHECK_VERSION(3,0,3)"}}, +  {'WX_GL_MAJOR_VERSION',    {test_if, "wxCHECK_VERSION(3,0,3)"}}, +  {'WX_GL_MINOR_VERSION',    {test_if, "wxCHECK_VERSION(3,0,3)"}}, +  {'wx_GL_COMPAT_PROFILE',   {test_if, "wxCHECK_VERSION(3,1,0)"}}, +  {'WX_GL_FORWARD_COMPAT',   {test_if, "wxCHECK_VERSION(3,1,0)"}}, +  {'WX_GL_ES2',              {test_if, "wxCHECK_VERSION(3,1,0)"}}, +  {'WX_GL_DEBUG',            {test_if, "wxCHECK_VERSION(3,1,0)"}}, +  {'WX_GL_ROBUST_ACCESS',    {test_if, "wxCHECK_VERSION(3,1,0)"}}, +  {'WX_GL_NO_RESET_NOTIFY',  {test_if, "wxCHECK_VERSION(3,1,0)"}}, +  {'WX_GL_LOSE_ON_RESET',    {test_if, "wxCHECK_VERSION(3,1,0)"}}, +  {'WX_GL_RESET_ISOLATION',  {test_if, "wxCHECK_VERSION(3,1,0)"}}, +  {'WX_GL_RELEASE_FLUSH',    {test_if, "wxCHECK_VERSION(3,1,0)"}}, +  {'WX_GL_RELEASE_NONE',     {test_if, "wxCHECK_VERSION(3,1,0)"}} + ]}. +  {enum, wxBackgroundStyle, "wxBG_STYLE_"}.  {enum, wxWindowVariant, "wxWINDOW_VARIANT_"}.  {enum, wxBitmapType, "wxBITMAP_TYPE_"}. @@ -401,8 +421,8 @@   ['~wxGraphicsContext',    'Create', %%CreateFromNative CreateFromNativeWindow    'CreatePen','CreateBrush', -  {'CreateRadialGradientBrush', [{deprecated, "!wxCHECK_VERSION(2,9,0)"}]}, -  {'CreateLinearGradientBrush', [{deprecated, "!wxCHECK_VERSION(2,9,0)"}]}, +  'CreateRadialGradientBrush', +  'CreateLinearGradientBrush',    'CreateFont','CreateMatrix',    'CreatePath','Clip','ResetClip',    'DrawBitmap','DrawEllipse','DrawIcon', @@ -433,7 +453,8 @@  {class, wxGraphicsRenderer, object, [{ifdef, wxUSE_GRAPHICS_CONTEXT}],   ['GetDefaultRenderer','CreateContext',    %%'CreateContextFromNativeContext', 'CreateContextFromNativeWindow', -  'CreatePen','CreateBrush', +  {'CreatePen', [{where, taylormade}]}, +  'CreateBrush',    {'CreateLinearGradientBrush', [{deprecated, "!wxCHECK_VERSION(2,9,0)"}]},    {'CreateRadialGradientBrush', [{deprecated, "!wxCHECK_VERSION(2,9,0)"}]},    'CreateFont', | 
