diff options
Diffstat (limited to 'lib')
350 files changed, 8273 insertions, 5811 deletions
diff --git a/lib/common_test/test_server/ts_install.erl b/lib/common_test/test_server/ts_install.erl index b906eb21f5..5734bd0787 100644 --- a/lib/common_test/test_server/ts_install.erl +++ b/lib/common_test/test_server/ts_install.erl @@ -332,11 +332,12 @@ platform(Vars) -> LC = lock_checking(), MT = modified_timing(), AsyncThreads = async_threads(), + OffHeapMsgQ = off_heap_msgq(), Debug = debug(), CpuBits = word_size(), Common = lists:concat([Hostname,"/",OsType,"/",CpuType,CpuBits,LinuxDist, Schedulers,BindType,KP,IOTHR,LC,MT,AsyncThreads, - Debug,ExtraLabel]), + OffHeapMsgQ,Debug,ExtraLabel]), PlatformId = lists:concat([ErlType, " ", Version, Common]), PlatformLabel = ErlType ++ Common, PlatformFilename = platform_as_filename(PlatformId), @@ -400,6 +401,12 @@ async_threads() -> _ -> "" end. +off_heap_msgq() -> + case catch erlang:system_info(message_queue_data) of + off_heap -> "/OffHeapMsgQ"; + _ -> "" + end. + schedulers() -> case catch erlang:system_info(smp_support) of true -> diff --git a/lib/compiler/src/beam_dead.erl b/lib/compiler/src/beam_dead.erl index dd42add433..b01f58f683 100644 --- a/lib/compiler/src/beam_dead.erl +++ b/lib/compiler/src/beam_dead.erl @@ -262,7 +262,7 @@ backward([{select,select_val,Reg,{f,Fail0},List0}|Is], D, Acc) -> backward([{jump,{f,To0}},{move,Src,Reg}=Move|Is], D, Acc) -> To = shortcut_select_label(To0, Reg, Src, D), Jump = {jump,{f,To}}, - case beam_utils:is_killed_at(Reg, To, D) of + case is_killed_at(Reg, To, D) of false -> backward([Move|Is], D, [Jump|Acc]); true -> backward([Jump|Is], D, Acc) end; @@ -420,7 +420,7 @@ comp_op_find_shortcut(To0, Reg, Val, D) -> To0 -> not_possible(); To -> - case beam_utils:is_killed_at(Reg, To, D) of + case is_killed_at(Reg, To, D) of false -> not_possible(); true -> To end @@ -863,3 +863,17 @@ get_literal(nil) -> get_literal({literal,_}=Lit) -> Lit; get_literal({_,_}) -> error. + + +%%% +%%% Removing stores to Y registers is not always safe +%%% if there is an instruction that causes an exception +%%% within a catch. In practice, there are few or no +%%% opportunities for removing stores to Y registers anyway +%%% if sys_core_fold has been run. +%%% + +is_killed_at({x,_}=Reg, Lbl, D) -> + beam_utils:is_killed_at(Reg, Lbl, D); +is_killed_at({y,_}, _, _) -> + false. diff --git a/lib/compiler/src/beam_disasm.erl b/lib/compiler/src/beam_disasm.erl index 5badcce696..c699672db1 100644 --- a/lib/compiler/src/beam_disasm.erl +++ b/lib/compiler/src/beam_disasm.erl @@ -314,10 +314,7 @@ get_funs({LsR0,[{func_info,[{atom,M}=AtomM,{atom,F}=AtomF,ArityArg]}|Code0]}) when is_atom(M), is_atom(F) -> Arity = resolve_arg_unsigned(ArityArg), {LsR,Code,RestCode} = get_fun(Code0, []), - Entry = case Code of - [{label,[{u,E}]}|_] -> E; - _ -> undefined - end, + [{label,[{u,Entry}]}|_] = Code, [#function{name=F, arity=Arity, entry=Entry, diff --git a/lib/compiler/src/beam_disasm.hrl b/lib/compiler/src/beam_disasm.hrl index e18214644f..d968cd9587 100644 --- a/lib/compiler/src/beam_disasm.hrl +++ b/lib/compiler/src/beam_disasm.hrl @@ -22,7 +22,9 @@ %% the system (e.g. in the translation from Beam to Icode). %% -%% XXX: THE FOLLOWING TYPE DECLARATION DOES NOT BELONG HERE... +%% XXX: THE FOLLOWING TYPE DECLARATION DOES NOT BELONG HERE. +%% IT SHOULD BE MOVED TO A FILE THAT DEFINES (AND EXPORTS) +%% PROPER TYPES FOR THE SET OF BEAM INSTRUCTIONS. %% -type beam_instr() :: 'bs_init_writable' | 'fclearerror' | 'if_end' | 'remove_message' | 'return' | 'send' | 'timeout' @@ -34,7 +36,7 @@ -record(function, {name :: atom(), arity :: byte(), - entry, %% unused ?? + entry :: beam_lib:label(), %% unnecessary ? code = [] :: [beam_instr()]}). -record(beam_file, {module :: module(), diff --git a/lib/compiler/src/beam_except.erl b/lib/compiler/src/beam_except.erl index cb3a6b79de..4a181c1923 100644 --- a/lib/compiler/src/beam_except.erl +++ b/lib/compiler/src/beam_except.erl @@ -133,10 +133,12 @@ translate_exception(_, _, _, _) -> no. fix_block(Is, 0) -> reverse(Is); fix_block(Is, Words) -> - fix_block_1(reverse(Is), Words). + reverse(fix_block_1(Is, Words)). -fix_block_1([{set,[],[],{alloc,Live,{F1,F2,Needed,F3}}}|Is], Words) -> - [{set,[],[],{alloc,Live,{F1,F2,Needed-Words,F3}}}|Is]; +fix_block_1([{set,[],[],{alloc,Live,{F1,F2,Needed0,F3}}}|Is], Words) -> + Needed = Needed0 - Words, + true = Needed >= 0, %Assertion. + [{set,[],[],{alloc,Live,{F1,F2,Needed,F3}}}|Is]; fix_block_1([I|Is], Words) -> [I|fix_block_1(Is, Words)]. diff --git a/lib/compiler/src/beam_jump.erl b/lib/compiler/src/beam_jump.erl index 359248c6af..09cd3aa2d4 100644 --- a/lib/compiler/src/beam_jump.erl +++ b/lib/compiler/src/beam_jump.erl @@ -266,17 +266,17 @@ extract_seq_1(_, _) -> no. %%% (3) (4) (5) (6) Jump and unreachable code optimizations. %%% --record(st, {fc, %Label for function class errors. - entry, %Entry label (must not be moved). - mlbl, %Moved labels. - labels :: cerl_sets:set() %Set of referenced labels. - }). - -opt([{label,Fc}|_]=Is0, CLabel) -> - Lbls = initial_labels(Is0), +-record(st, + { + entry, %Entry label (must not be moved). + mlbl, %Moved labels. + labels :: cerl_sets:set() %Set of referenced labels. + }). + +opt(Is0, CLabel) -> find_fixpoint(fun(Is) -> - St = #st{fc=Fc,entry=CLabel,mlbl=#{}, - labels=Lbls}, + Lbls = initial_labels(Is), + St = #st{entry=CLabel,mlbl=#{},labels=Lbls}, opt(Is, [], St) end, Is0). @@ -327,7 +327,8 @@ opt([{label,Lbl}=I|Is], Acc, #st{mlbl=Mlbl}=St0) -> %% since we will rescan the inserted labels. We MUST rescan. St = St0#st{mlbl=maps:remove(Lbl, Mlbl)}, insert_labels([Lbl|Lbls], Is, Acc, St); - error -> opt(Is, [I|Acc], St0) + error -> + opt(Is, [I|Acc], St0) end; opt([{jump,{f,_}=X}|[{label,_},{jump,X}|_]=Is], Acc, St) -> opt(Is, Acc, St); @@ -362,12 +363,19 @@ opt([I|Is], Acc, #st{labels=Used0}=St0) -> true -> skip_unreachable(Is, [I|Acc], St); false -> opt(Is, [I|Acc], St) end; -opt([], Acc, #st{fc=Fc,mlbl=Mlbl}) -> +opt([], Acc, #st{mlbl=Mlbl}) -> Code = reverse(Acc), - case maps:find(Fc, Mlbl) of - {ok,Lbls} -> insert_fc_labels(Lbls, Mlbl, Code); - error -> Code - end. + insert_fc_labels(Code, Mlbl). + +insert_fc_labels([{label,L}=I|Is0], Mlbl) -> + case maps:find(L, Mlbl) of + error -> + [I|insert_fc_labels(Is0, Mlbl)]; + {ok,Lbls} -> + Is = [{label,Lb} || Lb <- Lbls] ++ Is0, + [I|insert_fc_labels(Is, maps:remove(L, Mlbl))] + end; +insert_fc_labels([_|_]=Is, _) -> Is. maps_append_list(K,Vs,M) -> case M of @@ -375,16 +383,6 @@ maps_append_list(K,Vs,M) -> _ -> M#{K => Vs} end. -insert_fc_labels([L|Ls], Mlbl, Acc0) -> - Acc = [{label,L}|Acc0], - case maps:find(L, Mlbl) of - error -> - insert_fc_labels(Ls, Mlbl, Acc); - {ok,Lbls} -> - insert_fc_labels(Lbls++Ls, Mlbl, Acc) - end; -insert_fc_labels([], _, Acc) -> Acc. - collect_labels(Is, #st{entry=Entry}) -> collect_labels_1(Is, Entry, []). diff --git a/lib/compiler/src/beam_receive.erl b/lib/compiler/src/beam_receive.erl index c593184746..89cafe27ce 100644 --- a/lib/compiler/src/beam_receive.erl +++ b/lib/compiler/src/beam_receive.erl @@ -177,7 +177,8 @@ opt_recv([I|Is], D, R0, L0, Acc) -> no; false -> opt_recv(Is, D, R, L, [I|Acc]) - end. + end; +opt_recv([], _, _, _, _) -> no. opt_update_regs({block,Bl}, R, L) -> {opt_update_regs_bl(Bl, R),L}; diff --git a/lib/compiler/src/beam_utils.erl b/lib/compiler/src/beam_utils.erl index 47703b4aa3..a15ecf633e 100644 --- a/lib/compiler/src/beam_utils.erl +++ b/lib/compiler/src/beam_utils.erl @@ -167,8 +167,7 @@ bif_to_test(is_record, [_,_,_]=Ops, Fail) -> {test,is_record,Fail,Ops}. %% is_pure_test({test,Op,Fail,Ops}) -> true|false. %% Return 'true' if the test instruction does not modify any -%% registers and/or bit syntax matching state, nor modifies -%% any bit syntax matching state. +%% registers and/or bit syntax matching state. %% is_pure_test({test,is_eq,_,[_,_]}) -> true; is_pure_test({test,is_ne,_,[_,_]}) -> true; @@ -180,6 +179,8 @@ is_pure_test({test,is_nil,_,[_]}) -> true; is_pure_test({test,is_nonempty_list,_,[_]}) -> true; is_pure_test({test,test_arity,_,[_,_]}) -> true; is_pure_test({test,has_map_fields,_,[_|_]}) -> true; +is_pure_test({test,is_bitstr,_,[_]}) -> true; +is_pure_test({test,is_function2,_,[_,_]}) -> true; is_pure_test({test,Op,_,Ops}) -> erl_internal:new_type_test(Op, length(Ops)). @@ -324,8 +325,11 @@ check_liveness(R, [{deallocate,_}|Is], St) -> {y,_} -> {killed,St}; _ -> check_liveness(R, Is, St) end; -check_liveness(R, [return|_], St) -> - check_liveness_live_ret(R, 1, St); +check_liveness({x,_}=R, [return|_], St) -> + case R of + {x,0} -> {used,St}; + {x,_} -> {killed,St} + end; check_liveness(R, [{call,Live,_}|Is], St) -> case R of {x,X} when X < Live -> {used,St}; @@ -534,14 +538,6 @@ check_liveness_at(R, Lbl, #live{lbl=Ll,res=ResMemorized}=St0) -> check_liveness_ret(R, R, St) -> {used,St}; check_liveness_ret(_, _, St) -> {killed,St}. -check_liveness_live_ret({x,R}, Live, St) -> - if - R < Live -> {used,St}; - true -> {killed,St} - end; -check_liveness_live_ret({y,_}, _, St) -> - {killed,St}. - check_liveness_fail(_, _, _, 0, St) -> {killed,St}; check_liveness_fail(R, Op, Args, Fail, St) -> diff --git a/lib/compiler/src/beam_validator.erl b/lib/compiler/src/beam_validator.erl index faff9940ec..13aa31b7c9 100644 --- a/lib/compiler/src/beam_validator.erl +++ b/lib/compiler/src/beam_validator.erl @@ -161,6 +161,13 @@ validate_0(Module, [{function,Name,Ar,Entry,Code}|Fs], Ft) -> % in the module (those that start with bs_start_match2). }). +%% Match context type. +-record(ms, + {id=make_ref() :: reference(), %Unique ID. + valid=0 :: non_neg_integer(), %Valid slots + slots=0 :: non_neg_integer() %Number of slots + }). + validate_1(Is, Name, Arity, Entry, Ft) -> validate_2(labels(Is), Name, Arity, Entry, Ft). @@ -274,7 +281,7 @@ valfun_1({bs_context_to_binary,Ctx}, #vst{current=#st{x=Xs}}=Vst) -> case Ctx of {Tag,X} when Tag =:= x; Tag =:= y -> Type = case gb_trees:lookup(X, Xs) of - {value,{match_context,_,_}} -> term; + {value,#ms{}} -> term; _ -> get_term_type(Ctx, Vst) end, set_type_reg(Type, Ctx, Vst); @@ -575,7 +582,7 @@ valfun_4({test,bs_start_match2,{f,Fail},Live,[Ctx,NeedSlots],Ctx}, Vst0) -> verify_live(Live, Vst0), Vst1 = prune_x_regs(Live, Vst0), BranchVst = case CtxType of - {match_context,_,_} -> + #ms{} -> %% The failure branch will never be taken when Ctx %% is a match context. Therefore, the type for Ctx %% at the failure label must not be match_context @@ -828,7 +835,7 @@ kill_state_1(Vst) -> %% The stackframe must be initialized. %% The instruction will return to the instruction following the call. call(Name, Live, #vst{current=St}=Vst) -> - verify_live(Live, Vst), + verify_call_args(Name, Live, Vst), verify_y_init(Vst), case return_type(Name, Vst) of Type when Type =/= exception -> @@ -840,44 +847,74 @@ call(Name, Live, #vst{current=St}=Vst) -> %% Tail call. %% The stackframe must have a known size and be initialized. %% Does not return to the instruction following the call. -tail_call(Name, Live, Vst) -> +tail_call(Name, Live, Vst0) -> + verify_y_init(Vst0), + Vst = deallocate(Vst0), verify_call_args(Name, Live, Vst), - verify_y_init(Vst), verify_no_ct(Vst), kill_state(Vst). verify_call_args(_, 0, #vst{}) -> ok; verify_call_args({f,Lbl}, Live, Vst) when is_integer(Live)-> - Verify = fun(R) -> - case get_move_term_type(R, Vst) of - {match_context,_,_} -> - verify_call_match_context(Lbl, Vst); - _ -> - ok - end - end, - verify_call_args_1(Live, Verify, Vst); + verify_local_call(Lbl, Live, Vst); verify_call_args(_, Live, Vst) when is_integer(Live)-> - Verify = fun(R) -> get_term_type(R, Vst) end, - verify_call_args_1(Live, Verify, Vst); + verify_call_args_1(Live, Vst); verify_call_args(_, Live, _) -> error({bad_number_of_live_regs,Live}). -verify_call_args_1(0, _, _) -> ok; -verify_call_args_1(N, Verify, Vst) -> +verify_call_args_1(0, _) -> ok; +verify_call_args_1(N, Vst) -> X = N - 1, - Verify({x,X}), - verify_call_args_1(X, Verify, Vst). + get_term_type({x,X}, Vst), + verify_call_args_1(X, Vst). + +verify_local_call(Lbl, Live, Vst) -> + case all_ms_in_x_regs(Live, Vst) of + [{R,Ctx}] -> + %% Verify that there is a suitable bs_start_match2 instruction. + verify_call_match_context(Lbl, R, Vst), + + %% Since the callee has consumed the match context, + %% there must be no additional copies in Y registers. + #ms{id=Id} = Ctx, + case ms_in_y_regs(Id, Vst) of + [] -> + ok; + [_|_]=Ys -> + error({multiple_match_contexts,[R|Ys]}) + end; + [_,_|_]=Xs0 -> + Xs = [R || {R,_} <- Xs0], + error({multiple_match_contexts,Xs}); + [] -> + ok + end. + +all_ms_in_x_regs(0, _Vst) -> + []; +all_ms_in_x_regs(Live0, Vst) -> + Live = Live0 - 1, + R = {x,Live}, + case get_move_term_type(R, Vst) of + #ms{}=M -> + [{R,M}|all_ms_in_x_regs(Live, Vst)]; + _ -> + all_ms_in_x_regs(Live, Vst) + end. + +ms_in_y_regs(Id, #vst{current=#st{y=Ys0}}) -> + Ys = gb_trees:to_list(Ys0), + [Y || {Y,#ms{id=OtherId}} <- Ys, OtherId =:= Id]. -verify_call_match_context(Lbl, #vst{ft=Ft}) -> +verify_call_match_context(Lbl, Ctx, #vst{ft=Ft}) -> case gb_trees:lookup(Lbl, Ft) of none -> error(no_bs_start_match2); {value,[{test,bs_start_match2,_,_,[Ctx,_],Ctx}|_]} -> ok; - {value,[{test,bs_start_match2,_,_,[Bin,_,_],Ctx}|_]} -> - error({binary_and_context_regs_different,Bin,Ctx}) + {value,[{test,bs_start_match2,_,_,_,_}=I|_]} -> + error({unsuitable_bs_start_match2,I}) end. allocate(Zero, Stk, Heap, Live, #vst{current=#st{numy=none}=St}=Vst0) -> @@ -1009,7 +1046,7 @@ assert_unique_map_keys([_,_|_]=Ls) -> %%% bsm_match_state(Slots) -> - {match_context,0,Slots}. + #ms{slots=Slots}. bsm_validate_context(Reg, Vst) -> _ = bsm_get_context(Reg, Vst), @@ -1017,7 +1054,7 @@ bsm_validate_context(Reg, Vst) -> bsm_get_context({x,X}=Reg, #vst{current=#st{x=Xs}}=_Vst) when is_integer(X) -> case gb_trees:lookup(X, Xs) of - {value,{match_context,_,_}=Ctx} -> Ctx; + {value,#ms{}=Ctx} -> Ctx; _ -> error({no_bsm_context,Reg}) end; bsm_get_context(Reg, _) -> error({bad_source,Reg}). @@ -1029,8 +1066,8 @@ bsm_save(Reg, {atom,start}, Vst) -> Vst; bsm_save(Reg, SavePoint, Vst) -> case bsm_get_context(Reg, Vst) of - {match_context,Bits,Slots} when SavePoint < Slots -> - Ctx = {match_context,Bits bor (1 bsl SavePoint),Slots}, + #ms{valid=Bits,slots=Slots}=Ctxt0 when SavePoint < Slots -> + Ctx = Ctxt0#ms{valid=Bits bor (1 bsl SavePoint),slots=Slots}, set_type_reg(Ctx, Reg, Vst); _ -> error({illegal_save,SavePoint}) end. @@ -1042,7 +1079,7 @@ bsm_restore(Reg, {atom,start}, Vst) -> Vst; bsm_restore(Reg, SavePoint, Vst) -> case bsm_get_context(Reg, Vst) of - {match_context,Bits,Slots} when SavePoint < Slots -> + #ms{valid=Bits,slots=Slots} when SavePoint < Slots -> case Bits band (1 bsl SavePoint) of 0 -> error({illegal_restore,SavePoint,not_set}); _ -> Vst @@ -1123,7 +1160,7 @@ assert_term(Src, Vst) -> %% Thus 'exception' is never stored as type descriptor %% for a register. %% -%% {match_context,_,_} A matching context for bit syntax matching. We do allow +%% #ms{} A match context for bit syntax matching. We do allow %% it to moved/to from stack, but otherwise it must only %% be accessed by bit syntax matching instructions. %% @@ -1230,7 +1267,7 @@ get_term_type(Src, Vst) -> initialized -> error({unassigned,Src}); {catchtag,_} -> error({catchtag,Src}); {trytag,_} -> error({trytag,Src}); - {match_context,_,_} -> error({match_context,Src}); + #ms{} -> error({match_context,Src}); Type -> Type end. @@ -1382,11 +1419,12 @@ merge_types(bool, {atom,A}) -> merge_bool(A); merge_types({atom,A}, bool) -> merge_bool(A); -merge_types({match_context,B0,Slots},{match_context,B1,Slots}) -> - {match_context,B0 bor B1,Slots}; -merge_types({match_context,_,_}=M, _) -> +merge_types(#ms{id=Id,valid=B0,slots=Slots}=M, + #ms{id=Id,valid=B1,slots=Slots}) -> + M#ms{valid=B0 bor B1,slots=Slots}; +merge_types(#ms{}=M, _) -> M; -merge_types(_, {match_context,_,_}=M) -> +merge_types(_, #ms{}=M) -> M; merge_types(T1, T2) when T1 =/= T2 -> %% Too different. All we know is that the type is a 'term'. @@ -1510,7 +1548,6 @@ bif_type(node, [_], _) -> {atom,[]}; bif_type(hd, [_], _) -> term; bif_type(tl, [_], _) -> term; bif_type(get, [_], _) -> term; -bif_type(raise, [_,_], _) -> exception; bif_type(Bif, _, _) when is_atom(Bif) -> term. is_bif_safe('/=', 2) -> true; @@ -1524,6 +1561,7 @@ is_bif_safe('>=', 2) -> true; is_bif_safe(is_atom, 1) -> true; is_bif_safe(is_boolean, 1) -> true; is_bif_safe(is_binary, 1) -> true; +is_bif_safe(is_bitstring, 1) -> true; is_bif_safe(is_float, 1) -> true; is_bif_safe(is_function, 1) -> true; is_bif_safe(is_integer, 1) -> true; diff --git a/lib/compiler/src/v3_codegen.erl b/lib/compiler/src/v3_codegen.erl index f531056591..f5f3c73793 100644 --- a/lib/compiler/src/v3_codegen.erl +++ b/lib/compiler/src/v3_codegen.erl @@ -1089,6 +1089,23 @@ protected_cg(Ts, Rs, _Fail, I, Vdb, Bef, St0) -> %% test_cg(TestName, Args, Fail, I, Vdb, Bef, St) -> {[Ainstr],Aft,St}. %% Generate test instruction. Use explicit fail label here. +test_cg(is_map, [A], Fail, I, Vdb, Bef, St) -> + %% We must avoid creating code like this: + %% + %% move x(0) y(0) + %% is_map Fail [x(0)] + %% make_fun => x(0) %% Overwrite x(0) + %% put_map_assoc y(0) ... + %% + %% The code is safe, but beam_validator does not understand that. + %% Extending beam_validator to handle such (rare) code as the + %% above would make it slower for all programs. Instead, change + %% the code generator to always prefer the Y register for is_map() + %% and put_map_assoc() instructions, ensuring that they use the + %% same register. + Arg = cg_reg_arg_prefer_y(A, Bef), + Aft = clear_dead(Bef, I, Vdb), + {[{test,is_map,{f,Fail},[Arg]}],Aft,St}; test_cg(Test, As, Fail, I, Vdb, Bef, St) -> Args = cg_reg_args(As, Bef), Aft = clear_dead(Bef, I, Vdb), @@ -1155,19 +1172,15 @@ call_cg(Func, As, Rs, Le, Vdb, Bef, St0) -> %% Inside a guard. The only allowed function call is to %% erlang:error/1,2. We will generate the following code: %% - %% jump FailureLabel %% move {atom,ok} DestReg - %% - %% The 'move' instruction will never be executed, but we - %% generate it anyway in case the beam_validator is run - %% on unoptimized code. + %% jump FailureLabel {remote,{atom,erlang},{atom,error}} = Func, %Assertion. [{var,DestVar}] = Rs, Int0 = clear_dead(Bef, Le#l.i, Vdb), Reg = put_reg(DestVar, Int0#sr.reg), Int = Int0#sr{reg=Reg}, Dst = fetch_reg(DestVar, Reg), - {[{jump,{f,Fail}},{move,{atom,ok},Dst}], + {[{move,{atom,ok},Dst},{jump,{f,Fail}}], clear_dead(Int, Le#l.i, Vdb),St0}; #cg{} -> %% Ordinary function call in a function body. @@ -1545,7 +1558,7 @@ set_cg([{var,R}], {map,Op,Map,[{map_pair,{var,_}=K,V}]}, Le, Vdb, Bef, Fail = {f,Bfail}, {Sis,Int0} = maybe_adjust_stack(Bef, Le#l.i, Le#l.i+1, Vdb, St), - SrcReg = cg_reg_arg(Map,Int0), + SrcReg = cg_reg_arg_prefer_y(Map, Int0), Line = line(Le#l.a), List = [cg_reg_arg(K,Int0),cg_reg_arg(V,Int0)], @@ -1572,7 +1585,7 @@ set_cg([{var,R}], {map,Op,Map,Es}, Le, Vdb, Bef, Fail = {f,Bfail}, {Sis,Int0} = maybe_adjust_stack(Bef, Le#l.i, Le#l.i+1, Vdb, St), - SrcReg = cg_reg_arg(Map,Int0), + SrcReg = cg_reg_arg_prefer_y(Map, Int0), Line = line(Le#l.a), %% fetch registers for values to be put into the map @@ -1845,6 +1858,9 @@ cg_reg_args(As, Bef) -> [cg_reg_arg(A, Bef) || A <- As]. cg_reg_arg({var,V}, Bef) -> fetch_var(V, Bef); cg_reg_arg(Literal, _) -> Literal. +cg_reg_arg_prefer_y({var,V}, Bef) -> fetch_var_prefer_y(V, Bef); +cg_reg_arg_prefer_y(Literal, _) -> Literal. + %% cg_setup_call([Arg], Bef, Cur, Vdb) -> {[Instr],Aft}. %% Do the complete setup for a call/enter. @@ -2086,6 +2102,12 @@ fetch_var(V, Sr) -> error -> fetch_stack(V, Sr#sr.stk) end. +fetch_var_prefer_y(V, #sr{reg=Reg,stk=Stk}) -> + case find_stack(V, Stk) of + {ok,R} -> R; + error -> fetch_reg(V, Reg) + end. + load_vars(Vs, Regs) -> foldl(fun ({var,V}, Rs) -> put_reg(V, Rs) end, Regs, Vs). @@ -2159,11 +2181,11 @@ fetch_stack(Var, Stk) -> fetch_stack(Var, Stk, 0). fetch_stack(V, [{V}|_], I) -> {yy,I}; fetch_stack(V, [_|Stk], I) -> fetch_stack(V, Stk, I+1). -% find_stack(Var, Stk) -> find_stack(Var, Stk, 0). +find_stack(Var, Stk) -> find_stack(Var, Stk, 0). -% find_stack(V, [{V}|Stk], I) -> {ok,{yy,I}}; -% find_stack(V, [O|Stk], I) -> find_stack(V, Stk, I+1); -% find_stack(V, [], I) -> error. +find_stack(V, [{V}|_], I) -> {ok,{yy,I}}; +find_stack(V, [_|Stk], I) -> find_stack(V, Stk, I+1); +find_stack(_, [], _) -> error. on_stack(V, Stk) -> keymember(V, 1, Stk). diff --git a/lib/compiler/test/Makefile b/lib/compiler/test/Makefile index 203a50db55..f0185acbc7 100644 --- a/lib/compiler/test/Makefile +++ b/lib/compiler/test/Makefile @@ -13,9 +13,11 @@ MODULES= \ beam_validator_SUITE \ beam_disasm_SUITE \ beam_except_SUITE \ + beam_jump_SUITE \ beam_reorder_SUITE \ beam_type_SUITE \ beam_utils_SUITE \ + bif_SUITE \ bs_bincomp_SUITE \ bs_bit_binaries_SUITE \ bs_construct_SUITE \ @@ -49,9 +51,11 @@ NO_OPT= \ beam_block \ beam_bool \ beam_except \ + beam_jump \ beam_reorder \ beam_type \ beam_utils \ + bif \ bs_construct \ bs_match \ bs_utf \ diff --git a/lib/compiler/test/beam_except_SUITE.erl b/lib/compiler/test/beam_except_SUITE.erl index 8746e62fb9..47367d6eab 100644 --- a/lib/compiler/test/beam_except_SUITE.erl +++ b/lib/compiler/test/beam_except_SUITE.erl @@ -21,15 +21,18 @@ -export([all/0, suite/0,groups/0,init_per_suite/1, end_per_suite/1, init_per_group/2,end_per_group/2, - coverage/1]). + multiple_allocs/1,coverage/1]). suite() -> [{ct_hooks,[ts_install_cth]}]. all() -> - [coverage]. + test_lib:recompile(?MODULE), + [{group,p}]. groups() -> - []. + [{p,[parallel], + [multiple_allocs, + coverage]}]. init_per_suite(Config) -> Config. @@ -43,6 +46,23 @@ init_per_group(_GroupName, Config) -> end_per_group(_GroupName, Config) -> Config. +multiple_allocs(_Config) -> + {'EXIT',{{badmatch,#{true:=[p]}},_}} = + (catch could(pda, 0.0, {false,true}, {p})), + {'EXIT',{function_clause,_}} = (catch place(lee)), + {'EXIT',{{badmatch,wanted},_}} = (catch conditions()), + + ok. + +could(Coupons = pda, Favorite = _pleasure = 0.0, {_, true}, {Presents}) -> + (0 = true) = #{true => [Presents]}. + +place(lee) -> + (pregnancy = presentations) = [hours | [purchase || _ <- 0]] + wine. + +conditions() -> + (talking = going) = storage + [large = wanted]. + coverage(_) -> File = {file,"fake.erl"}, ok = fc(a), diff --git a/lib/compiler/test/beam_jump_SUITE.erl b/lib/compiler/test/beam_jump_SUITE.erl new file mode 100644 index 0000000000..0b13adaff2 --- /dev/null +++ b/lib/compiler/test/beam_jump_SUITE.erl @@ -0,0 +1,59 @@ +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 2016. 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% +%% +-module(beam_jump_SUITE). + +-export([all/0,suite/0,groups/0,init_per_suite/1,end_per_suite/1, + init_per_group/2,end_per_group/2, + undefined_label/1]). + +suite() -> + [{ct_hooks,[ts_install_cth]}]. + +all() -> + test_lib:recompile(?MODULE), + [{group,p}]. + +groups() -> + [{p,[parallel], + [undefined_label + ]}]. + +init_per_suite(Config) -> + Config. + +end_per_suite(_Config) -> + ok. + +init_per_group(_GroupName, Config) -> + Config. + +end_per_group(_GroupName, Config) -> + Config. + +undefined_label(_Config) -> + {'EXIT',{function_clause,_}} = (catch flights(0, [], [])), + ok. + +%% Would lose a label when compiled with no_copt. + +flights(0, [], []) when [], 0; 0.0, [], false -> + clark; +flights(_, Reproduction, introduction) when false, Reproduction -> + responsible. diff --git a/lib/compiler/test/beam_utils_SUITE.erl b/lib/compiler/test/beam_utils_SUITE.erl index ae813d563b..f6d4a311bb 100644 --- a/lib/compiler/test/beam_utils_SUITE.erl +++ b/lib/compiler/test/beam_utils_SUITE.erl @@ -23,7 +23,8 @@ init_per_group/2,end_per_group/2, apply_fun/1,apply_mf/1,bs_init/1,bs_save/1, is_not_killed/1,is_not_used_at/1, - select/1,y_catch/1,otp_8949_b/1,liveopt/1,coverage/1]). + select/1,y_catch/1,otp_8949_b/1,liveopt/1,coverage/1, + y_registers/1]). -export([id/1]). suite() -> [{ct_hooks,[ts_install_cth]}]. @@ -44,7 +45,8 @@ groups() -> y_catch, otp_8949_b, liveopt, - coverage + coverage, + y_registers ]}]. init_per_suite(Config) -> @@ -311,6 +313,45 @@ clinic(Damage) -> end, carefully. +y_registers(_Config) -> + {'EXIT',{{badfun,0},_}} = (catch economic(0.0, jim)), + {'EXIT',{{badmatch,apartments},_}} = (catch louisiana()), + {a,b} = (boxes(true))({a,b}), + {'EXIT',{{case_clause,webmaster},_}} = (catch yellow(true)), + ok. + +economic(0.0 = Serves, Existence) -> + case Serves of + Serves -> 0 + end, + Existence = jim, + 0(), + Serves, + Existence. + +louisiana() -> + {catch necessarily, + try + [] == reg, + true = apartments + catch [] -> barbara + end}. + +boxes(Call) -> + case Call of + Call -> approval + end, + Call, + fun id/1. + +yellow(Hill) -> + case webmaster of + station -> eyes; Hill -> + "under" + end, + Hill, + id(42). + %% The identity function. id(I) -> I. diff --git a/lib/compiler/test/beam_validator_SUITE.erl b/lib/compiler/test/beam_validator_SUITE.erl index 7c4e88ca3e..263fd2ca7e 100644 --- a/lib/compiler/test/beam_validator_SUITE.erl +++ b/lib/compiler/test/beam_validator_SUITE.erl @@ -32,7 +32,7 @@ bad_bin_match/1,bad_dsetel/1, state_after_fault_in_catch/1,no_exception_in_catch/1, undef_label/1,illegal_instruction/1,failing_gc_guard_bif/1, - map_field_lists/1]). + map_field_lists/1,cover_bin_opt/1]). -include_lib("common_test/include/ct.hrl"). @@ -60,7 +60,7 @@ groups() -> freg_state,bad_bin_match,bad_dsetel, state_after_fault_in_catch,no_exception_in_catch, undef_label,illegal_instruction,failing_gc_guard_bif, - map_field_lists]}]. + map_field_lists,cover_bin_opt]}]. init_per_suite(Config) -> Config. @@ -406,8 +406,124 @@ map_field_lists(Config) -> empty_field_list}} ] = Errors. +%% Coverage and smoke test of beam_validator. +cover_bin_opt(_Config) -> + Ms = [beam_utils_SUITE, + bs_match_SUITE, + bs_bincomp_SUITE, + bs_bit_binaries_SUITE, + bs_utf_SUITE], + test_lib:p_run(fun try_bin_opt/1, Ms), + ok. + +try_bin_opt(Mod) -> + try + do_bin_opt(Mod) + catch + Class:Error -> + io:format("~p: ~p ~p\n~p\n", + [Mod,Class,Error,erlang:get_stacktrace()]), + error + end. + +do_bin_opt(Mod) -> + Beam = code:which(Mod), + {ok,{Mod,[{abstract_code, + {raw_abstract_v1,Abstr}}]}} = + beam_lib:chunks(Beam, [abstract_code]), + {ok,Mod,Asm} = compile:forms(Abstr, ['S']), + do_bin_opt(Mod, Asm). + +do_bin_opt(Mod, Asm) -> + do_bin_opt(fun enable_bin_opt/1, Mod, Asm), + do_bin_opt(fun remove_bs_start_match/1, Mod, Asm), + do_bin_opt(fun remove_bs_save/1, Mod, Asm), + do_bin_opt(fun destroy_ctxt/1, Mod, Asm), + do_bin_opt(fun destroy_save_point/1, Mod, Asm), + ok. + +do_bin_opt(Transform, Mod, Asm0) -> + Asm = Transform(Asm0), + case compile:forms(Asm, [from_asm,no_postopt,return]) of + {ok,[],Code,_Warnings} when is_binary(Code) -> + ok; + {error,Errors0,_} -> + %% beam_validator must return errors, not simply crash, + %% when illegal code is found. + ModString = atom_to_list(Mod), + [{ModString,Errors}] = Errors0, + _ = [verify_bin_opt_error(E) || E <- Errors], + ok + end. + +verify_bin_opt_error({beam_validator,_}) -> + ok. + +enable_bin_opt(Module) -> + transform_is(fun enable_bin_opt_body/1, Module). + +enable_bin_opt_body([_,{'%',{no_bin_opt,_Reason,_Anno}}|Is]) -> + enable_bin_opt_body(Is); +enable_bin_opt_body([I|Is]) -> + [I|enable_bin_opt_body(Is)]; +enable_bin_opt_body([]) -> + []. + +remove_bs_start_match(Module) -> + transform_remove(fun({test,bs_start_match2,_,_,_,_}) -> true; + (_) -> false + end, Module). + +remove_bs_save(Module) -> + transform_remove(fun({bs_save2,_,_}) -> true; + (_) -> false + end, Module). + +destroy_save_point(Module) -> + transform_i(fun do_destroy_save_point/1, Module). + +do_destroy_save_point({I,Ctx,_Point}) + when I =:= bs_save2; I =:= bs_restore2 -> + {I,Ctx,42}; +do_destroy_save_point(I) -> + I. + +destroy_ctxt(Module) -> + transform_i(fun do_destroy_ctxt/1, Module). + +do_destroy_ctxt({bs_save2=I,Ctx,Point}) -> + {I,destroy_reg(Ctx),Point}; +do_destroy_ctxt({bs_restore2=I,Ctx,Point}) -> + {I,destroy_reg(Ctx),Point}; +do_destroy_ctxt({bs_context_to_binary=I,Ctx}) -> + {I,destroy_reg(Ctx)}; +do_destroy_ctxt(I) -> + I. + +destroy_reg({Tag,N}) -> + case rand:uniform() of + R when R < 0.6 -> + {Tag,N+1}; + _ -> + {y,N+1} + end. + %%%------------------------------------------------------------------------- +transform_remove(Remove, Module) -> + transform_is(fun(Is) -> [I || I <- Is, not Remove(I)] end, Module). + +transform_i(Transform, Module) -> + transform_is(fun(Is) -> [Transform(I) || I <- Is] end, Module). + +transform_is(Transform, {Mod,Exp,Imp,Fs0,Lc}) -> + Fs = [transform_is_1(Transform, F) || F <- Fs0], + {Mod,Exp,Imp,Fs,Lc}. + +transform_is_1(Transform, {function,N,A,E,Is0}) -> + Is = Transform(Is0), + {function,N,A,E,Is}. + do_val(Mod, Config) -> Data = proplists:get_value(data_dir, Config), Base = atom_to_list(Mod), diff --git a/lib/compiler/test/bif_SUITE.erl b/lib/compiler/test/bif_SUITE.erl new file mode 100644 index 0000000000..51bc71da81 --- /dev/null +++ b/lib/compiler/test/bif_SUITE.erl @@ -0,0 +1,65 @@ +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 2016. 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% +%% +-module(bif_SUITE). + +-export([all/0,suite/0,groups/0,init_per_suite/1,end_per_suite/1, + init_per_group/2,end_per_group/2, + beam_validator/1]). + +suite() -> + [{ct_hooks,[ts_install_cth]}]. + +all() -> + test_lib:recompile(?MODULE), + [{group,p}]. + +groups() -> + [{p,[parallel], + [beam_validator + ]}]. + +init_per_suite(Config) -> + Config. + +end_per_suite(_Config) -> + ok. + +init_per_group(_GroupName, Config) -> + Config. + +end_per_group(_GroupName, Config) -> + Config. + +%% Cover code in beam_validator. + +beam_validator(Config) -> + [false,Config] = food(Config), + + true = is_number(42.0), + false = is_port(Config), + + ok. + +food(Curriculum) -> + [try + is_bitstring(functions) + catch _ -> + 0 + end, Curriculum]. diff --git a/lib/compiler/test/guard_SUITE.erl b/lib/compiler/test/guard_SUITE.erl index 83298e546e..6302f82f29 100644 --- a/lib/compiler/test/guard_SUITE.erl +++ b/lib/compiler/test/guard_SUITE.erl @@ -1835,6 +1835,8 @@ bad_guards(Config) when is_list(Config) -> fc(catch bad_guards_3(not_a_map, [x])), fc(catch bad_guards_3(42, [x])), + fc(catch bad_guards_4()), + ok. %% beam_bool used to produce GC BIF instructions whose @@ -1852,6 +1854,12 @@ bad_guards_2(M, [_]) when M#{a := 0, b => 0}, map_size(M) -> bad_guards_3(M, [_]) when is_map(M) andalso M#{a := 0, b => 0}, length(M) -> ok. +%% v3_codegen would generate a jump to the failure label, but +%% without initializing x(0). The code at the failure label expected +%% x(0) to be initialized. + +bad_guards_4() when not (error#{}); {not 0.0} -> freedom. + %% Building maps in a guard in a 'catch' would crash v3_codegen. guard_in_catch(_Config) -> diff --git a/lib/compiler/test/map_SUITE.erl b/lib/compiler/test/map_SUITE.erl index 14d175b92c..c3c4862794 100644 --- a/lib/compiler/test/map_SUITE.erl +++ b/lib/compiler/test/map_SUITE.erl @@ -66,7 +66,9 @@ t_export/1, %% errors in 18 - t_register_corruption/1 + t_register_corruption/1, + t_bad_update/1 + ]). suite() -> []. @@ -117,7 +119,8 @@ all() -> t_export, %% errors in 18 - t_register_corruption + t_register_corruption, + t_bad_update ]. groups() -> []. @@ -1922,6 +1925,19 @@ validate_frequency([{T,C}|Fs],Tf) -> validate_frequency([], _) -> ok. +t_bad_update(_Config) -> + {#{0.0:=Id},#{}} = properly(#{}), + 42 = Id(42), + {'EXIT',{{badmap,_},_}} = (catch increase(0)), + ok. + +properly(Item) -> + {Item#{0.0 => fun id/1},Item}. + +increase(Allows) -> + catch fun() -> Allows end#{[] => +Allows, "warranty" => fun id/1}. + + %% aux rand_terms(0) -> []; diff --git a/lib/compiler/test/receive_SUITE.erl b/lib/compiler/test/receive_SUITE.erl index 3c397561fc..8304672558 100644 --- a/lib/compiler/test/receive_SUITE.erl +++ b/lib/compiler/test/receive_SUITE.erl @@ -118,8 +118,14 @@ coverage(Config) when is_list(Config) -> 59 = tuple_to_values(infinity, x), 61 = tuple_to_values(999999, x), 0 = tuple_to_values(1, x), + + {'EXIT',{{badmap,[]},_}} = (catch monitor_plus_badmap(self())), + ok. +monitor_plus_badmap(Pid) -> + monitor(process, Pid) + []#{}. + receive_all() -> receive Any -> diff --git a/lib/crypto/c_src/crypto.c b/lib/crypto/c_src/crypto.c index 067e220863..7183c395ae 100644 --- a/lib/crypto/c_src/crypto.c +++ b/lib/crypto/c_src/crypto.c @@ -55,51 +55,69 @@ #include <openssl/evp.h> #include <openssl/hmac.h> -#if OPENSSL_VERSION_NUMBER >= 0x1000000fL + +/* Helper macro to construct a OPENSSL_VERSION_NUMBER. + * See openssl/opensslv.h + */ +#define OpenSSL_version(MAJ, MIN, FIX, P) \ + ((((((((MAJ << 8) | MIN) << 8 ) | FIX) << 8) | (P-'a'+1)) << 4) | 0xf) + +#define OpenSSL_version_plain(MAJ, MIN, FIX) \ + OpenSSL_version(MAJ,MIN,FIX,('a'-1)) + + +#if OPENSSL_VERSION_NUMBER >= OpenSSL_version_plain(1,0,0) #include <openssl/modes.h> #endif #include "crypto_callback.h" -#if OPENSSL_VERSION_NUMBER >= 0x00908000L && !defined(OPENSSL_NO_SHA224) && defined(NID_sha224)\ - && !defined(OPENSSL_NO_SHA256) /* disabled like this in my sha.h (?) */ +#if OPENSSL_VERSION_NUMBER >= OpenSSL_version_plain(0,9,8) \ + && !defined(OPENSSL_NO_SHA224) && defined(NID_sha224) \ + && !defined(OPENSSL_NO_SHA256) /* disabled like this in my sha.h (?) */ # define HAVE_SHA224 #endif -#if OPENSSL_VERSION_NUMBER >= 0x00908000L && !defined(OPENSSL_NO_SHA256) && defined(NID_sha256) +#if OPENSSL_VERSION_NUMBER >= OpenSSL_version_plain(0,9,8) \ + && !defined(OPENSSL_NO_SHA256) && defined(NID_sha256) # define HAVE_SHA256 #endif -#if OPENSSL_VERSION_NUMBER >= 0x00908000L && !defined(OPENSSL_NO_SHA384) && defined(NID_sha384)\ - && !defined(OPENSSL_NO_SHA512) /* disabled like this in my sha.h (?) */ +#if OPENSSL_VERSION_NUMBER >= OpenSSL_version_plain(0,9,8) \ + && !defined(OPENSSL_NO_SHA384) && defined(NID_sha384)\ + && !defined(OPENSSL_NO_SHA512) /* disabled like this in my sha.h (?) */ # define HAVE_SHA384 #endif -#if OPENSSL_VERSION_NUMBER >= 0x00908000L && !defined(OPENSSL_NO_SHA512) && defined(NID_sha512) +#if OPENSSL_VERSION_NUMBER >= OpenSSL_version_plain(0,9,8) \ + && !defined(OPENSSL_NO_SHA512) && defined(NID_sha512) # define HAVE_SHA512 #endif -#if OPENSSL_VERSION_NUMBER >= 0x0090705FL +#if OPENSSL_VERSION_NUMBER >= OpenSSL_version(0,9,7,'e') # define HAVE_DES_ede3_cfb_encrypt #endif -#if OPENSSL_VERSION_NUMBER >= 0x009080ffL \ +#if OPENSSL_VERSION_NUMBER >= OpenSSL_version(0,9,8,'o') \ && !defined(OPENSSL_NO_EC) \ && !defined(OPENSSL_NO_ECDH) \ && !defined(OPENSSL_NO_ECDSA) # define HAVE_EC #endif -#if OPENSSL_VERSION_NUMBER >= 0x0090803fL +#if OPENSSL_VERSION_NUMBER >= OpenSSL_version(0,9,8,'c') # define HAVE_AES_IGE #endif -#if OPENSSL_VERSION_NUMBER >= 0x1000100fL +#if OPENSSL_VERSION_NUMBER >= OpenSSL_version_plain(1,0,1) # define HAVE_EVP_AES_CTR # define HAVE_GCM +# if OPENSSL_VERSION_NUMBER < OpenSSL_version(1,0,1,'d') +# define HAVE_GCM_EVP_DECRYPT_BUG +# endif #endif #if defined(NID_chacha20) && !defined(OPENSSL_NO_CHACHA) && !defined(OPENSSL_NO_POLY1305) # define HAVE_CHACHA20_POLY1305 #endif -#if OPENSSL_VERSION_NUMBER <= 0x009080cfL +#if OPENSSL_VERSION_NUMBER <= OpenSSL_version(0,9,8,'l') # define HAVE_ECB_IVEC_BUG #endif @@ -244,6 +262,9 @@ static ERL_NIF_TERM rand_seed_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM a static ERL_NIF_TERM aes_gcm_encrypt(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]); static ERL_NIF_TERM aes_gcm_decrypt(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]); +#ifdef HAVE_GCM_EVP_DECRYPT_BUG +static ERL_NIF_TERM aes_gcm_decrypt_NO_EVP(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]); +#endif static ERL_NIF_TERM chacha20_poly1305_encrypt(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]); static ERL_NIF_TERM chacha20_poly1305_decrypt(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]); @@ -479,7 +500,7 @@ static struct cipher_type_t* get_cipher_type(ERL_NIF_TERM type, size_t key_len); #define PRINTF_ERR1(FMT,A1) #define PRINTF_ERR2(FMT,A1,A2) -#if OPENSSL_VERSION_NUMBER >= 0x1000000fL +#if OPENSSL_VERSION_NUMBER >= OpenSSL_version_plain(1,0,0) /* Define resource types for OpenSSL context structures. */ static ErlNifResourceType* evp_md_ctx_rtype; static void evp_md_ctx_dtor(ErlNifEnv* env, EVP_MD_CTX* ctx) { @@ -578,7 +599,7 @@ static int init(ErlNifEnv* env, ERL_NIF_TERM load_info) PRINTF_ERR0("CRYPTO: Could not open resource type 'hmac_context'"); return 0; } -#if OPENSSL_VERSION_NUMBER >= 0x1000000fL +#if OPENSSL_VERSION_NUMBER >= OpenSSL_version_plain(1,0,0) evp_md_ctx_rtype = enif_open_resource_type(env, NULL, "EVP_MD_CTX", (ErlNifResourceDtor*) evp_md_ctx_dtor, ERL_NIF_RT_CREATE|ERL_NIF_RT_TAKEOVER, @@ -877,7 +898,7 @@ static ERL_NIF_TERM hash_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[] return ret; } -#if OPENSSL_VERSION_NUMBER >= 0x1000000fL +#if OPENSSL_VERSION_NUMBER >= OpenSSL_version_plain(1,0,0) static ERL_NIF_TERM hash_init_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]) {/* (Type) */ @@ -1253,7 +1274,7 @@ static ERL_NIF_TERM hmac_init_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM a obj = enif_alloc_resource(hmac_context_rtype, sizeof(struct hmac_context)); obj->mtx = enif_mutex_create("crypto.hmac"); obj->alive = 1; -#if OPENSSL_VERSION_NUMBER >= 0x1000000fL +#if OPENSSL_VERSION_NUMBER >= OpenSSL_version_plain(1,0,0) // Check the return value of HMAC_Init: it may fail in FIPS mode // for disabled algorithms if (!HMAC_Init(&obj->ctx, key.data, key.size, digp->md.p)) { @@ -1710,7 +1731,9 @@ out_err: static ERL_NIF_TERM aes_gcm_decrypt(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]) {/* (Key,Iv,AAD,In,Tag) */ -#if defined(HAVE_GCM) +#if defined(HAVE_GCM_EVP_DECRYPT_BUG) + return aes_gcm_decrypt_NO_EVP(env, argc, argv); +#elif defined(HAVE_GCM) EVP_CIPHER_CTX ctx; const EVP_CIPHER *cipher = NULL; ErlNifBinary key, iv, aad, in, tag; @@ -1763,12 +1786,58 @@ static ERL_NIF_TERM aes_gcm_decrypt(ErlNifEnv* env, int argc, const ERL_NIF_TERM out_err: EVP_CIPHER_CTX_cleanup(&ctx); return atom_error; - #else return enif_raise_exception(env, atom_notsup); #endif } +#ifdef HAVE_GCM_EVP_DECRYPT_BUG +static ERL_NIF_TERM aes_gcm_decrypt_NO_EVP(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]) +{ + GCM128_CONTEXT *ctx; + ErlNifBinary key, iv, aad, in, tag; + AES_KEY aes_key; + unsigned char *outp; + ERL_NIF_TERM out; + + if (!enif_inspect_iolist_as_binary(env, argv[0], &key) + || AES_set_encrypt_key(key.data, key.size*8, &aes_key) != 0 + || !enif_inspect_binary(env, argv[1], &iv) || iv.size == 0 + || !enif_inspect_iolist_as_binary(env, argv[2], &aad) + || !enif_inspect_iolist_as_binary(env, argv[3], &in) + || !enif_inspect_iolist_as_binary(env, argv[4], &tag)) { + return enif_make_badarg(env); + } + + if (!(ctx = CRYPTO_gcm128_new(&aes_key, (block128_f)AES_encrypt))) + return atom_error; + + CRYPTO_gcm128_setiv(ctx, iv.data, iv.size); + + if (CRYPTO_gcm128_aad(ctx, aad.data, aad.size)) + goto out_err; + + outp = enif_make_new_binary(env, in.size, &out); + + /* decrypt */ + if (CRYPTO_gcm128_decrypt(ctx, in.data, outp, in.size)) + goto out_err; + + /* calculate and check the tag */ + if (CRYPTO_gcm128_finish(ctx, tag.data, tag.size)) + goto out_err; + + CRYPTO_gcm128_release(ctx); + CONSUME_REDS(env, in); + + return out; + +out_err: + CRYPTO_gcm128_release(ctx); + return atom_error; +} +#endif /* HAVE_GCM_EVP_DECRYPT_BUG */ + #if defined(HAVE_CHACHA20_POLY1305) static void poly1305_update_with_length(poly1305_state *poly1305, @@ -2157,7 +2226,7 @@ static ERL_NIF_TERM rsa_verify_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM ERL_NIF_TERM head, tail, ret; int i; RSA *rsa; -#if OPENSSL_VERSION_NUMBER >= 0x1000000fL +#if OPENSSL_VERSION_NUMBER >= OpenSSL_version_plain(1,0,0) EVP_PKEY *pkey; EVP_PKEY_CTX *ctx; #endif @@ -2189,7 +2258,7 @@ static ERL_NIF_TERM rsa_verify_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM goto done; } -#if OPENSSL_VERSION_NUMBER >= 0x1000000fL +#if OPENSSL_VERSION_NUMBER >= OpenSSL_version_plain(1,0,0) pkey = EVP_PKEY_new(); EVP_PKEY_set1_RSA(pkey, rsa); @@ -2316,7 +2385,7 @@ static int get_rsa_private_key(ErlNifEnv* env, ERL_NIF_TERM key, RSA *rsa) static ERL_NIF_TERM rsa_sign_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]) {/* (Type, Digest, Key=[E,N,D]|[E,N,D,P1,P2,E1,E2,C]) */ ErlNifBinary digest_bin, ret_bin; -#if OPENSSL_VERSION_NUMBER >= 0x1000000fL +#if OPENSSL_VERSION_NUMBER >= OpenSSL_version_plain(1,0,0) EVP_PKEY *pkey; EVP_PKEY_CTX *ctx; size_t rsa_s_len; @@ -2349,7 +2418,7 @@ static ERL_NIF_TERM rsa_sign_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM ar } -#if OPENSSL_VERSION_NUMBER >= 0x1000000fL +#if OPENSSL_VERSION_NUMBER >= OpenSSL_version_plain(1,0,0) pkey = EVP_PKEY_new(); EVP_PKEY_set1_RSA(pkey, rsa); rsa_s_len=(size_t)EVP_PKEY_size(pkey); diff --git a/lib/et/src/et_collector.erl b/lib/et/src/et_collector.erl index b8916c0eb9..aba90b0be1 100644 --- a/lib/et/src/et_collector.erl +++ b/lib/et/src/et_collector.erl @@ -27,8 +27,7 @@ -behaviour(gen_server). %% External exports --export([ - start_link/1, +-export([start_link/1, stop/1, report/2, @@ -55,8 +54,7 @@ dict_delete/2, dict_lookup/2, dict_match/2, - multicast/2 - ]). + multicast/2]). %% Internal export -export([monitor_trace_port/2]). @@ -258,7 +256,7 @@ parse_opt(BadList, _S, _Dict, _Clients) -> {error, {bad_option_list, BadList}}. start_clients(CollectorPid, [{Type, Parameters} | T]) -> - start_trace_client(CollectorPid, Type, Parameters), + _ = start_trace_client(CollectorPid, Type, Parameters), start_clients(CollectorPid, T); start_clients(CollectorPid, []) -> {ok, CollectorPid}. @@ -892,7 +890,7 @@ init([InitialS, Dict]) -> process_flag(trap_exit, true), case InitialS#state.parent_pid of undefined -> - ignore; + ok; Pid when is_pid(Pid) -> link(Pid) end, @@ -914,7 +912,7 @@ init_global(S) -> Spec = trace_spec_wrapper(EventFun, EndFun, {ok, self()}), dbg:tracer(process, Spec), et_selector:change_pattern(S#state.trace_pattern), - net_kernel:monitor_nodes(true), + ok = net_kernel:monitor_nodes(true), lists:foreach(fun(N) -> self() ! {nodeup, N} end, nodes()), S#state{trace_nodes = [node()]}; false -> @@ -1001,7 +999,7 @@ handle_call({save_event_file, FileName, Options}, _From, S) -> %% insert() -> %% case S2#state.file of %% undefined -> - %% ignore; + %% ok; %% F -> %% Fd = F#file.desc, %% ok = disk_log:log(Fd, Event) @@ -1010,7 +1008,7 @@ handle_call({save_event_file, FileName, Options}, _From, S) -> Fun = fun({_, E}, A) -> ok = disk_log:log(Fd, E), A end, Tab = S#state.event_tab, Reply = tab_iterate(Fun, Tab, ets:first(Tab), ok), - disk_log:close(Fd), + ok = disk_log:close(Fd), {Reply, S} %% all -> %% Reply = tab_iterate(WriteFun, Tab, ok), @@ -1033,7 +1031,7 @@ handle_call({save_event_file, FileName, Options}, _From, S) -> handle_call({change_pattern, Pattern}, _From, S) -> Ns = S#state.trace_nodes, - rpc:multicall(Ns, et_selector, change_pattern, [Pattern]), + {_,[]} = rpc:multicall(Ns, et_selector, change_pattern, [Pattern]), Reply = {old_pattern, S#state.trace_pattern}, S2 = S#state{trace_pattern = Pattern}, reply(Reply, S2); @@ -1045,8 +1043,9 @@ handle_call(clear_table, _From, S) -> handle_call(stop, _From, S) -> do_multicast(S#state.subscribers, close), case S#state.trace_global of - true -> rpc:multicall(S#state.trace_nodes, dbg, stop_clear, []); - false -> ignore + true -> {_,[]} = rpc:multicall(S#state.trace_nodes, dbg, stop_clear, []), + ok; + false -> ok end, {stop, shutdown, ok, S}; handle_call(Request, From, S) -> @@ -1239,8 +1238,8 @@ tab_iterate(Fun, Tab, Key, Acc) -> file_open(F) -> Fd = make_ref(), case F#file.file_opt of - write -> file:rename(F#file.name, F#file.name ++ ".OLD"); - append -> ignore + write -> ok = file:rename(F#file.name, F#file.name ++ ".OLD"); + append -> ok end, Args = [{file, F#file.name}, {name, Fd}, {repair, true}, {mode, read_write}], @@ -1278,7 +1277,7 @@ do_multicast([], _Msg) -> opt_unlink(Pid) -> if Pid =:= undefined -> - ignore; + ok; true -> unlink(Pid) end. diff --git a/lib/et/src/et_wx_contents_viewer.erl b/lib/et/src/et_wx_contents_viewer.erl index d5347a43db..247dd4c7ba 100644 --- a/lib/et/src/et_wx_contents_viewer.erl +++ b/lib/et/src/et_wx_contents_viewer.erl @@ -89,7 +89,7 @@ start_link(Options) -> S#state.parent_pid =/= self() -> unlink(Pid); true -> - ignore + ok end, {ok, Pid} catch @@ -242,11 +242,12 @@ handle_event(#wx{id = Id, S) -> case proplists:get_value(Id, S#state.menu_data) of undefined -> - ignore; + ok; Data when is_record(Data, filter) -> F = Data, - ChildState= S#state{active_filter = F#filter.name}, - wx_object:start_link(?MODULE, [ChildState], []); + ChildState = S#state{active_filter = F#filter.name}, + _ = wx_object:start_link(?MODULE, [ChildState], []), + ok; {hide, Actors} -> send_viewer_event(S, {delete_actors, Actors}); {show, Actors} -> @@ -267,7 +268,7 @@ handle_event(#wx{id = Id, TimeStamp = case S#state.event_order of trace_ts -> Event#event.trace_ts; - event_ts -> Event#event.event_ts + event_ts -> Event#event.event_ts end, FileName = lists:flatten(["et_contents_viewer_", now_to_string(TimeStamp), ".txt"]), Style = ?wxFD_SAVE bor ?wxFD_OVERWRITE_PROMPT, @@ -275,7 +276,7 @@ handle_event(#wx{id = Id, case select_file(S#state.frame, Msg, filename:absname(FileName), Style) of {ok, FileName2} -> Bin = list_to_binary(event_to_string(Event, S#state.event_order)), - file:write_file(FileName2, Bin); + ok = file:write_file(FileName2, Bin); cancel -> ok end, @@ -351,19 +352,21 @@ handle_event(#wx{event = #wxKey{rawCode = KeyCode}}, S) -> $0 -> case lists:keysearch(?DEFAULT_FILTER_NAME, #filter.name, S#state.filters) of {value, F} when is_record(F, filter) -> - ChildState= S#state{active_filter = F#filter.name}, - wx_object:start_link(?MODULE, [ChildState], []); + ChildState = S#state{active_filter = F#filter.name}, + _ = wx_object:start_link(?MODULE, [ChildState], []), + ok; false -> - ignore + ok end, {noreply, S}; Int when is_integer(Int), Int > $0, Int =< $9 -> case catch lists:nth(Int-$0, S#state.filters) of F when is_record(F, filter) -> - ChildState= S#state{active_filter = F#filter.name}, - wx_object:start_link(?MODULE, [ChildState], []); + ChildState = S#state{active_filter = F#filter.name}, + _ = wx_object:start_link(?MODULE, [ChildState], []), + ok; {'EXIT', _} -> - ignore + ok end, {noreply, S}; @@ -443,11 +446,11 @@ create_window(S) -> Title = lists:concat([?MODULE, " (filter: ", Name, ")"]), WinOpt = [{size, {W,H}}], Frame = wxFrame:new(wx:null(), ?wxID_ANY, Title, WinOpt), - wxFrame:createStatusBar(Frame), + _ = wxFrame:createStatusBar(Frame), Panel = wxPanel:new(Frame, []), Bar = wxMenuBar:new(), - wxFrame:setMenuBar(Frame,Bar), + _ = wxFrame:setMenuBar(Frame,Bar), create_file_menu(Bar), Editor = wxTextCtrl:new(Panel, ?wxID_ANY, [{style, 0 bor ?wxDEFAULT @@ -457,21 +460,21 @@ create_window(S) -> bor ?wxTE_DONTWRAP}]), Font = wxFont:new(10, ?wxFONTFAMILY_TELETYPE, ?wxNORMAL, ?wxNORMAL,[]), TextAttr = wxTextAttr:new(?wxBLACK, [{font, Font}]), - wxTextCtrl:setDefaultStyle(Editor, TextAttr), + _ = wxTextCtrl:setDefaultStyle(Editor, TextAttr), Sizer = wxBoxSizer:new(?wxHORIZONTAL), - wxSizer:add(Sizer, Editor, [{flag, ?wxEXPAND}, {proportion, 1}]), + _ = wxSizer:add(Sizer, Editor, [{flag, ?wxEXPAND}, {proportion, 1}]), FilteredEvent = config_editor(Editor, S), S2 = S#state{win = Frame, panel = Panel, filtered_event = FilteredEvent}, HideData = create_hide_menu(Bar, S2), SearchData = create_search_menu(Bar, S2), FilterData = create_filter_menu(Bar, S#state.filters), - wxFrame:connect(Frame, command_menu_selected, []), - wxFrame:connect(Frame, key_up), - wxFrame:connect(Frame, close_window, [{skip,true}]), - wxFrame:setFocus(Frame), - wxPanel:setSizer(Panel, Sizer), - wxSizer:fit(Sizer, Panel), - wxFrame:show(Frame), + _ = wxFrame:connect(Frame, command_menu_selected, []), + _ = wxFrame:connect(Frame, key_up), + _ = wxFrame:connect(Frame, close_window, [{skip,true}]), + _ = wxFrame:setFocus(Frame), + _ = wxPanel:setSizer(Panel, Sizer), + _ = wxSizer:fit(Sizer, Panel), + _ = wxFrame:show(Frame), S2#state{menu_data = HideData++SearchData++FilterData, editor = Editor, frame = Frame}. menuitem(Menu, Id, Text, UserData) -> @@ -480,16 +483,17 @@ menuitem(Menu, Id, Text, UserData) -> create_file_menu(Bar) -> Menu = wxMenu:new([]), - wxMenu:append(Menu, ?wxID_SAVE, "Save"), - wxMenu:append(Menu, ?wxID_PRINT,"Print"), - wxMenu:appendSeparator(Menu), - wxMenu:append(Menu, ?wxID_EXIT, "Close"), - wxMenuBar:append(Bar, Menu, "File"). + _ = wxMenu:append(Menu, ?wxID_SAVE, "Save"), + _ = wxMenu:append(Menu, ?wxID_PRINT,"Print"), + _ = wxMenu:appendSeparator(Menu), + _ = wxMenu:append(Menu, ?wxID_EXIT, "Close"), + _ = wxMenuBar:append(Bar, Menu, "File"), + ok. create_filter_menu(Bar, Filters) -> Menu = wxMenu:new([]), - wxMenuItem:enable(wxMenu:append(Menu, ?wxID_ANY, "Select Filter"), [{enable, false}]), - wxMenu:appendSeparator(Menu), + _ = wxMenuItem:enable(wxMenu:append(Menu, ?wxID_ANY, "Select Filter"), [{enable, false}]), + _ = wxMenu:appendSeparator(Menu), Item = fun(F, {N,Acc}) when F#filter.name =:= ?DEFAULT_FILTER_NAME-> Label = lists:concat([pad_string(F#filter.name, 20, $\ , right), "(0)"]), MenuItem = menuitem(Menu, ?wxID_ANY, Label, F), @@ -502,7 +506,7 @@ create_filter_menu(Bar, Filters) -> end, Filters2 = lists:keysort(#filter.name, Filters), {_,MenuData} = lists:foldl(Item, {1, []}, Filters2), - wxMenuBar:append(Bar, Menu, "Filters"), + _ = wxMenuBar:append(Bar, Menu, "Filters"), MenuData. create_hide_menu(Bar, S) -> @@ -515,33 +519,33 @@ create_hide_menu(Bar, S) -> S#state.viewer_pid =:= undefined -> ignore; From =:= To -> - wxMenuItem:enable(wxMenu:append(Menu, ?wxID_ANY, "Hide actor in Viewer "), - [{enable, false}]), - wxMenu:appendSeparator(Menu), + _ = wxMenuItem:enable(wxMenu:append(Menu, ?wxID_ANY, "Hide actor in Viewer "), + [{enable, false}]), + _ = wxMenu:appendSeparator(Menu), Hide = menuitem(Menu, ?wxID_ANY, "From=To (f|t|b)", {hide, [From]}), - wxMenu:appendSeparator(Menu), - wxMenuItem:enable(wxMenu:append(Menu, ?wxID_ANY, "Show actor in Viewer "), - [{enable, false}]), - wxMenu:appendSeparator(Menu), + _ = wxMenu:appendSeparator(Menu), + _ = wxMenuItem:enable(wxMenu:append(Menu, ?wxID_ANY, "Show actor in Viewer "), + [{enable, false}]), + _ = wxMenu:appendSeparator(Menu), Show = menuitem(Menu, ?wxID_ANY, "From=To (F|T|B)", {show, [From]}), [Show,Hide]; true -> - wxMenuItem:enable(wxMenu:append(Menu, ?wxID_ANY, "Hide actor in Viewer "), - [{enable, false}]), - wxMenu:appendSeparator(Menu), + _ = wxMenuItem:enable(wxMenu:append(Menu, ?wxID_ANY, "Hide actor in Viewer "), + [{enable, false}]), + _ = wxMenu:appendSeparator(Menu), Hide = [menuitem(Menu, ?wxID_ANY, "From (f)", {hide, [From]}), menuitem(Menu, ?wxID_ANY, "To (t)", {hide, [To]}), menuitem(Menu, ?wxID_ANY, "Both (b)", {hide, [From, To]})], - wxMenu:appendSeparator(Menu), - wxMenuItem:enable(wxMenu:append(Menu, ?wxID_ANY, "Show actor in Viewer "), - [{enable, false}]), - wxMenu:appendSeparator(Menu), + _ = wxMenu:appendSeparator(Menu), + _ = wxMenuItem:enable(wxMenu:append(Menu, ?wxID_ANY, "Show actor in Viewer "), + [{enable, false}]), + _ = wxMenu:appendSeparator(Menu), Show = [menuitem(Menu, ?wxID_ANY, "From (F)", {show, [From]}), menuitem(Menu, ?wxID_ANY, "To (T)", {show, [To]}), menuitem(Menu, ?wxID_ANY, "Both (B)", {show, [From, To]})], Show++Hide end, - wxMenuBar:append(Bar, Menu, "Hide"), + _ = wxMenuBar:append(Bar, Menu, "Hide"), MenuData. create_search_menu(Bar, S) -> @@ -549,9 +553,9 @@ create_search_menu(Bar, S) -> E = S#state.filtered_event, From = E#event.from, To = E#event.to, - wxMenuItem:enable(wxMenu:append(Menu, ?wxID_ANY, "Search in Viewer "), - [{enable, false}]), - wxMenu:appendSeparator(Menu), + _ = wxMenuItem:enable(wxMenu:append(Menu, ?wxID_ANY, "Search in Viewer "), + [{enable, false}]), + _ = wxMenu:appendSeparator(Menu), MenuData = if S#state.viewer_pid =:= undefined -> @@ -571,7 +575,7 @@ create_search_menu(Bar, S) -> menuitem(Menu, ?wxID_ANY, "Reverse from this event (r)", {mode, ModeR}), menuitem(Menu, ?wxID_ANY, "Abort search. Display all (a)", {mode, all})] end, - wxMenuBar:append(Bar, Menu, "Search"), + _ = wxMenuBar:append(Bar, Menu, "Search"), MenuData. config_editor(Editor, S) -> @@ -668,9 +672,10 @@ pad_string(String, MinLen, Char, Dir) when is_integer(MinLen), MinLen >= 0 -> send_viewer_event(S, Event) -> case S#state.viewer_pid of ViewerPid when is_pid(ViewerPid) -> - ViewerPid ! {et, Event}; + ViewerPid ! {et, Event}, + ok; undefined -> - ignore + ok end. select_file(Frame, Message, DefaultFile, Style) -> diff --git a/lib/et/src/et_wx_viewer.erl b/lib/et/src/et_wx_viewer.erl index 0fc10cb37b..9613299e6b 100644 --- a/lib/et/src/et_wx_viewer.erl +++ b/lib/et/src/et_wx_viewer.erl @@ -320,8 +320,8 @@ init([S]) when is_record(S, state) -> undefined -> ok; ParentPid -> link(ParentPid) end, - wx:new(), - wx:debug(S#state.wx_debug), + _ = wx:new(), + _ = wx:debug(S#state.wx_debug), et_collector:dict_insert(S#state.collector_pid, {subscriber, self()}, ?MODULE), @@ -532,26 +532,25 @@ handle_info(#wx{id=Id, event = #wxCommand{type = command_menu_selected}}, S=#sta load_all -> Style = ?wxFD_OPEN bor ?wxFD_OVERWRITE_PROMPT, Msg = "Select a file to load events from", - S2 = - case select_file(S#state.frame, Msg, S#state.event_file, Style) of - {ok, NewFile} -> - et_collector:start_trace_client(CollectorPid, event_file, NewFile), - S#state{event_file = NewFile}; - cancel -> - S - end, + S2 = case select_file(S#state.frame, Msg, S#state.event_file, Style) of + {ok, NewFile} -> + _ = et_collector:start_trace_client(CollectorPid, event_file, NewFile), + S#state{event_file = NewFile}; + cancel -> + S + end, noreply(S2); save_all -> Style = ?wxFD_SAVE bor ?wxFD_OVERWRITE_PROMPT, Msg = "Select a file to save events to", - S2 = - case select_file(S#state.frame, Msg, S#state.event_file, Style) of - {ok, NewFile} -> - et_collector:save_event_file(CollectorPid, NewFile, [existing, write, keep]), - S#state{event_file = NewFile}; - cancel -> - S - end, + S2 = case select_file(S#state.frame, Msg, S#state.event_file, Style) of + {ok, NewFile} -> + ok = et_collector:save_event_file(CollectorPid, NewFile, + [existing, write, keep]), + S#state{event_file = NewFile}; + cancel -> + S + end, noreply(S2); print_setup -> S2 = print_setup(S), @@ -787,7 +786,7 @@ handle_info(#wx{event = #wxKey{keyCode = KeyCode, shiftDown = SD}}, S) -> noreply(S) end; handle_info(#wx{event = #wxScroll{type = scroll_changed}} = Wx, S) -> - get_latest_scroll(Wx), + _ = get_latest_scroll(Wx), Pos = wxScrollBar:getThumbPosition(S#state.scroll_bar), {_, LineTopY, LineBotY} = calc_y(S), Range = LineBotY - LineTopY, @@ -1107,7 +1106,7 @@ pick_n([Head | Tail], N, Acc) when N > 0 -> pick_n(Tail, N - 1, [Head | Acc]). close_all(S) -> - close_all_others(S), + _ = close_all_others(S), wxFrame:destroy(S#state.frame), opt_unlink(S#state.parent_pid), {stop, shutdown, S}. @@ -1115,12 +1114,12 @@ close_all(S) -> close_all_others(S) -> Fun = fun({{subscriber, Pid}, _}) -> - if - Pid =:= self() -> - ignore; + if Pid =:= self() -> + ok; true -> unlink(Pid), - Pid ! {et, close} + Pid ! {et, close}, + ok end end, All = et_collector:dict_match(S#state.collector_pid, @@ -1208,9 +1207,9 @@ create_main_window(S) -> CheckBoxData = [{wxCheckBox:getId(HideActions), hide_actions}, {wxCheckBox:getId(HideActors), hide_actors}], wxPanel:connect(Panel, command_checkbox_clicked), - wxSizer:add(CheckSizer, HideActions), - wxSizer:add(CheckSizer,HideActors), - wxSizer:add(OptSizer, CheckSizer, [{border, 10}, {flag, ?wxALL}]), + _ = wxSizer:add(CheckSizer, HideActions), + _ = wxSizer:add(CheckSizer,HideActors), + _ = wxSizer:add(OptSizer, CheckSizer, [{border, 10}, {flag, ?wxALL}]), DetailLevelBox = wxStaticBoxSizer:new(?wxHORIZONTAL, Panel, [{label, "Detail level"}]), @@ -1222,22 +1221,21 @@ create_main_window(S) -> {size, {200,-1}}]), wxStatusBar:setStatusText(StatusBar, where_text(S)), wxFrame:connect(Frame, command_slider_updated), - wxSizer:add(DetailLevelBox, DetailLevel), - wxSizer:add(OptSizer, DetailLevelBox, [{border, 10}, {flag, ?wxALL}]), - wxSizer:addStretchSpacer(OptSizer), - wxSizer:add(MainSizer, OptSizer), - wxSizer:add(MainSizer, - wxStaticLine:new(Panel, [{style, ?wxLI_HORIZONTAL}]), - [{flag, ?wxEXPAND}]), + _ = wxSizer:add(DetailLevelBox, DetailLevel), + _ = wxSizer:add(OptSizer, DetailLevelBox, [{border, 10}, {flag, ?wxALL}]), + _ = wxSizer:addStretchSpacer(OptSizer), + _ = wxSizer:add(MainSizer, OptSizer), + _ = wxSizer:add(MainSizer, wxStaticLine:new(Panel, [{style, ?wxLI_HORIZONTAL}]), + [{flag, ?wxEXPAND}]), CanvasSizer = wxBoxSizer:new(?wxHORIZONTAL), Canvas = wxPanel:new(Panel, [{style, ?wxFULL_REPAINT_ON_RESIZE}]), {CanvasW,CanvasH} = wxPanel:getSize(Canvas), ScrollBar = wxScrollBar:new(Panel, ?wxID_ANY, [{style, ?wxSB_VERTICAL}]), - wxSizer:add(CanvasSizer, Canvas, [{flag, ?wxEXPAND}, {proportion, 1}]), - wxSizer:add(CanvasSizer, ScrollBar, [{flag, ?wxEXPAND}]), - wxSizer:add(MainSizer, CanvasSizer, [{flag, ?wxEXPAND}, {proportion, 1}]), + _ = wxSizer:add(CanvasSizer, Canvas, [{flag, ?wxEXPAND}, {proportion, 1}]), + _ = wxSizer:add(CanvasSizer, ScrollBar, [{flag, ?wxEXPAND}]), + _ = wxSizer:add(MainSizer, CanvasSizer, [{flag, ?wxEXPAND}, {proportion, 1}]), wxPanel:connect(Canvas, left_down), wxPanel:connect(Canvas, left_up), wxPanel:connect(Canvas, right_up), @@ -1337,8 +1335,7 @@ menuitem(Menu, Id, Text, UserData) -> create_file_menu(Bar) -> Menu = wxMenu:new([]), - Data = [ - menuitem(Menu, ?wxID_ANY, "Clear all events in the Collector", clear_all), + Data = [menuitem(Menu, ?wxID_ANY, "Clear all events in the Collector", clear_all), menuitem(Menu, ?wxID_ANY, "Load events to the Collector from file", load_all), menuitem(Menu, ?wxID_ANY, "Save all events in the Collector to file", save_all), @@ -1348,51 +1345,44 @@ create_file_menu(Bar) -> menuitem(Menu, ?wxID_ANY, "Close this Viewer", close), menuitem(Menu, ?wxID_ANY, "Close all other Viewers, but this (c)", close_all_others), - menuitem(Menu, ?wxID_ANY, "Close all Viewers and the Collector) (C) ", close_all) - ], - wxMenu:insertSeparator(Menu, 3), - wxMenu:insertSeparator(Menu, 7), + menuitem(Menu, ?wxID_ANY, "Close all Viewers and the Collector) (C) ", close_all)], + _ = wxMenu:insertSeparator(Menu, 3), + _ = wxMenu:insertSeparator(Menu, 7), wxMenuBar:append(Bar, Menu, "File"), Data. create_viewer_menu(Bar) -> Menu = wxMenu:new([]), - wxMenuItem:enable(wxMenu:append(Menu, ?wxID_ANY, "Scroll this Viewer"), - [{enable, false}]), - wxMenu:appendSeparator(Menu), - D1 = [ - menuitem(Menu, ?wxID_ANY, "First (f)", first), + _ = wxMenuItem:enable(wxMenu:append(Menu, ?wxID_ANY, "Scroll this Viewer"), + [{enable, false}]), + _ = wxMenu:appendSeparator(Menu), + D1 = [menuitem(Menu, ?wxID_ANY, "First (f)", first), menuitem(Menu, ?wxID_ANY, "Last (l)", last), menuitem(Menu, ?wxID_ANY, "Prev (p)", prev), menuitem(Menu, ?wxID_ANY, "Next (n)", next), - menuitem(Menu, ?wxID_ANY, "Refresh (r)", refresh) - ], - wxMenu:appendSeparator(Menu), - D2 = [ - menuitem(Menu, ?wxID_ANY, "Up 5 (Up)", up), - menuitem(Menu, ?wxID_ANY, "Down 5 (Down)", down) - ], - wxMenu:appendSeparator(Menu), - wxMenuItem:enable(wxMenu:append(Menu, ?wxID_ANY, "Actor visibility in this Viewer"), - [{enable, false}]), - wxMenu:appendSeparator(Menu), + menuitem(Menu, ?wxID_ANY, "Refresh (r)", refresh)], + _ = wxMenu:appendSeparator(Menu), + D2 = [menuitem(Menu, ?wxID_ANY, "Up 5 (Up)", up), + menuitem(Menu, ?wxID_ANY, "Down 5 (Down)", down)], + _ = wxMenu:appendSeparator(Menu), + _ = wxMenuItem:enable(wxMenu:append(Menu, ?wxID_ANY, "Actor visibility in this Viewer"), + [{enable, false}]), + _ = wxMenu:appendSeparator(Menu), D3 = [menuitem(Menu, ?wxID_ANY, "Display all actors (a)", display_all)], - wxMenuBar:append(Bar, Menu, "Viewer"), + _ = wxMenuBar:append(Bar, Menu, "Viewer"), [D1,D2,D3]. create_collector_menu(Bar) -> Menu = wxMenu:new([]), - wxMenuItem:enable(wxMenu:append(Menu, ?wxID_ANY, "Scroll all Viewers"), - [{enable, false}]), - wxMenu:appendSeparator(Menu), - Data = [ - menuitem(Menu, ?wxID_ANY, "First (F)", first_all), + _ = wxMenuItem:enable(wxMenu:append(Menu, ?wxID_ANY, "Scroll all Viewers"), + [{enable, false}]), + _ = wxMenu:appendSeparator(Menu), + Data = [menuitem(Menu, ?wxID_ANY, "First (F)", first_all), menuitem(Menu, ?wxID_ANY, "Last (L)", last_all), menuitem(Menu, ?wxID_ANY, "Prev (P)", prev_all), menuitem(Menu, ?wxID_ANY, "Next (N)", next_all), - menuitem(Menu, ?wxID_ANY, "Refresh (R)", refresh_all) - ], - wxMenuBar:append(Bar, Menu, "Collector"), + menuitem(Menu, ?wxID_ANY, "Refresh (R)", refresh_all)], + _ = wxMenuBar:append(Bar, Menu, "Collector"), Data. create_filter_menu(S=#state{filter_menu = {Menu,Data}}, ActiveFilterName, Filters) -> @@ -1421,21 +1411,19 @@ create_filter_menu(S=#state{filter_menu = {Menu,Data}}, ActiveFilterName, Filter Same = lists:concat([pad_string(ActiveFilterName, 20), "(=) same scale"]), Larger = lists:concat([pad_string(ActiveFilterName, 20), "(+) bigger scale"]), Smaller = lists:concat([pad_string(ActiveFilterName, 20), "(-) smaller scale"]), - D2 = [ - menuitem(Menu, ?wxID_ANY, Same, {data, Filter, 0}), + D2 = [menuitem(Menu, ?wxID_ANY, Same, {data, Filter, 0}), menuitem(Menu, ?wxID_ANY, Smaller, {data, Filter, -1}), menuitem(Menu, ?wxID_ANY, Larger, {data, Filter, 1}), wxMenu:appendSeparator(Menu), I2 = wxMenu:append(Menu, ?wxID_ANY, "New Filter Same Scale"), - wxMenu:appendSeparator(Menu) - ], - wxMenuItem:enable(I2, [{enable,false}]), + wxMenu:appendSeparator(Menu)], + _ = wxMenuItem:enable(I2, [{enable,false}]), {_,D3} = lists:foldl(Item, {1,[]}, Filters), S#state{filter_menu = {Menu, lists:flatten([D1,D2,D3])}}. create_help_menu(Bar) -> Menu = wxMenu:new([]), - menuitem(Menu, ?wxID_HELP, "Info", help), + _ = menuitem(Menu, ?wxID_HELP, "Info", help), wxMenuBar:append(Bar, Menu, "Help"). clear_canvas(S) -> diff --git a/lib/hipe/amd64/Makefile b/lib/hipe/amd64/Makefile index 0d81ff4d72..8dc2af2679 100644 --- a/lib/hipe/amd64/Makefile +++ b/lib/hipe/amd64/Makefile @@ -73,7 +73,7 @@ DOC_FILES= $(MODULES:%=$(DOCS)/%.html) include ../native.mk -ERL_COMPILE_FLAGS += -DHIPE_AMD64 +warn_exported_vars +ERL_COMPILE_FLAGS += -DHIPE_AMD64 -Werror +warn_export_vars # ---------------------------------------------------- # Targets diff --git a/lib/hipe/arm/Makefile b/lib/hipe/arm/Makefile index 6622680ee1..00b6732afa 100644 --- a/lib/hipe/arm/Makefile +++ b/lib/hipe/arm/Makefile @@ -74,7 +74,7 @@ DOC_FILES= $(MODULES:%=$(DOCS)/%.html) include ../native.mk -ERL_COMPILE_FLAGS += +warn_exported_vars +ERL_COMPILE_FLAGS += -Werror +warn_export_vars # ---------------------------------------------------- # Targets diff --git a/lib/hipe/cerl/Makefile b/lib/hipe/cerl/Makefile index 78930154a9..9f50d6bf91 100644 --- a/lib/hipe/cerl/Makefile +++ b/lib/hipe/cerl/Makefile @@ -66,7 +66,7 @@ DOC_FILES= $(MODULES:%=$(DOCS)/%.html) include ../native.mk -ERL_COMPILE_FLAGS += -Werror +inline +warn_exported_vars +warn_unused_import +warn_missing_spec #+warn_untyped_record +ERL_COMPILE_FLAGS += +inline -Werror +warn_export_vars +warn_unused_import +warn_missing_spec #+warn_untyped_record # ---------------------------------------------------- # Targets diff --git a/lib/hipe/cerl/erl_types.erl b/lib/hipe/cerl/erl_types.erl index b037a4360c..c383541020 100644 --- a/lib/hipe/cerl/erl_types.erl +++ b/lib/hipe/cerl/erl_types.erl @@ -1751,14 +1751,14 @@ map_def_val(?map(_,_,DefV)) -> -spec mapdict_store(t_map_pair(), t_map_dict()) -> t_map_dict(). mapdict_store(E={K,_,_}, [{K,_,_}|T]) -> [E|T]; -mapdict_store(E1={K1,_,_}, [E2={K2,_,_}|T]) when K1 > K2-> +mapdict_store(E1={K1,_,_}, [E2={K2,_,_}|T]) when K1 > K2 -> [E2|mapdict_store(E1, T)]; mapdict_store(E={_,_,_}, T) -> [E|T]. -spec mapdict_insert(t_map_pair(), t_map_dict()) -> t_map_dict(). mapdict_insert(E={K,_,_}, D=[{K,_,_}|_]) -> error(badarg, [E, D]); -mapdict_insert(E1={K1,_,_}, [E2={K2,_,_}|T]) when K1 > K2-> +mapdict_insert(E1={K1,_,_}, [E2={K2,_,_}|T]) when K1 > K2 -> [E2|mapdict_insert(E1, T)]; mapdict_insert(E={_,_,_}, T) -> [E|T]. @@ -1769,25 +1769,26 @@ mapdict_insert(E={_,_,_}, T) -> [E|T]. t_map_mandatoriness(), erl_type()) -> t_map_pair() | false), erl_type(), erl_type()) -> t_map_dict(). -map_pairwise_merge(F, ?map(APairs, ADefK, ADefV), - ?map(BPairs, BDefK, BDefV)) -> +map_pairwise_merge(F, ?map(APairs, ADefK, ADefV), ?map(BPairs, BDefK, BDefV)) -> map_pairwise_merge(F, APairs, ADefK, ADefV, BPairs, BDefK, BDefV). map_pairwise_merge(_, [], _, _, [], _, _) -> []; map_pairwise_merge(F, As0, ADefK, ADefV, Bs0, BDefK, BDefV) -> - case {As0, Bs0} of - {[{K,AMNess,AV}|As], [{K, BMNess,BV}|Bs]} -> ok; - {[{K,AMNess,AV}|As], [{BK,_, _ }|_]=Bs} when K < BK -> - {BMNess, BV} = {?opt, mapmerge_otherv(K, BDefK, BDefV)}; - {As, [{K, BMNess,BV}|Bs]} -> - {AMNess, AV} = {?opt, mapmerge_otherv(K, ADefK, ADefV)}; - {[{K,AMNess,AV}|As], []=Bs} -> - {BMNess, BV} = {?opt, mapmerge_otherv(K, BDefK, BDefV)} - end, - MK = K, %% Rename to make clear that we are matching below - case F(K, AMNess, AV, BMNess, BV) of - false -> map_pairwise_merge(F,As,ADefK,ADefV,Bs,BDefK,BDefV); - M={MK,_,_} -> [M|map_pairwise_merge(F,As,ADefK,ADefV,Bs,BDefK,BDefV)] + {K1, AMNess1, AV1, As1, BMNess1, BV1, Bs1} = + case {As0, Bs0} of + {[{K,AMNess,AV}|As], [{K, BMNess,BV}|Bs]} -> + {K, AMNess, AV, As, BMNess, BV, Bs}; + {[{K,AMNess,AV}|As], [{BK,_, _ }|_]=Bs} when K < BK -> + {K, AMNess, AV, As, ?opt, mapmerge_otherv(K, BDefK, BDefV), Bs}; + {As, [{K, BMNess,BV}|Bs]} -> + {K, ?opt, mapmerge_otherv(K, ADefK, ADefV), As, BMNess, BV, Bs}; + {[{K,AMNess,AV}|As], []=Bs} -> + {K, AMNess, AV, As, ?opt, mapmerge_otherv(K, BDefK, BDefV), Bs} + end, + MK = K1, %% Rename to make clear that we are matching below + case F(K1, AMNess1, AV1, BMNess1, BV1) of + false -> map_pairwise_merge(F,As1,ADefK,ADefV,Bs1,BDefK,BDefV); + {MK,_,_}=M -> [M|map_pairwise_merge(F,As1,ADefK,ADefV,Bs1,BDefK,BDefV)] end. %% Folds over the pairs in two maps simultaneously in reverse key order. Missing @@ -1804,17 +1805,19 @@ map_pairwise_merge_foldr(F, AccIn, ?map(APairs, ADefK, ADefV), map_pairwise_merge_foldr(_, Acc, [], _, _, [], _, _) -> Acc; map_pairwise_merge_foldr(F, AccIn, As0, ADefK, ADefV, Bs0, BDefK, BDefV) -> - case {As0, Bs0} of - {[{K,AMNess,AV}|As], [{K, BMNess,BV}|Bs]} -> ok; - {[{K,AMNess,AV}|As], [{BK,_, _ }|_]=Bs} when K < BK -> - {BMNess, BV} = {?opt, mapmerge_otherv(K, BDefK, BDefV)}; - {As, [{K, BMNess,BV}|Bs]} -> - {AMNess, AV} = {?opt, mapmerge_otherv(K, ADefK, ADefV)}; - {[{K,AMNess,AV}|As], []=Bs} -> - {BMNess, BV} = {?opt, mapmerge_otherv(K, BDefK, BDefV)} - end, - F(K, AMNess, AV, BMNess, BV, - map_pairwise_merge_foldr(F,AccIn,As,ADefK,ADefV,Bs,BDefK,BDefV)). + {K1, AMNess1, AV1, As1, BMNess1, BV1, Bs1} = + case {As0, Bs0} of + {[{K,AMNess,AV}|As], [{K,BMNess,BV}|Bs]} -> + {K, AMNess, AV, As, BMNess, BV, Bs}; + {[{K,AMNess,AV}|As], [{BK,_, _ }|_]=Bs} when K < BK -> + {K, AMNess, AV, As, ?opt, mapmerge_otherv(K, BDefK, BDefV), Bs}; + {As, [{K,BMNess,BV}|Bs]} -> + {K, ?opt, mapmerge_otherv(K, ADefK, ADefV), As, BMNess, BV, Bs}; + {[{K,AMNess,AV}|As], []=Bs} -> + {K, AMNess, AV, As, ?opt, mapmerge_otherv(K, BDefK, BDefV), Bs} + end, + F(K1, AMNess1, AV1, BMNess1, BV1, + map_pairwise_merge_foldr(F,AccIn,As1,ADefK,ADefV,Bs1,BDefK,BDefV)). %% By observing that a missing pair in a map is equivalent to an optional pair, %% with ?none or DefV value, depending on whether K \in DefK, we can simplify diff --git a/lib/hipe/flow/Makefile b/lib/hipe/flow/Makefile index fe1675b7dd..d883eecf36 100644 --- a/lib/hipe/flow/Makefile +++ b/lib/hipe/flow/Makefile @@ -66,7 +66,7 @@ DOC_FILES= $(MODULES:%=$(DOCS)/%.html) include ../native.mk -ERL_COMPILE_FLAGS += +warn_exported_vars +warn_missing_spec # +warn_untyped_record +ERL_COMPILE_FLAGS += -Werror +warn_export_vars +warn_missing_spec +warn_untyped_record # ---------------------------------------------------- # Targets diff --git a/lib/hipe/flow/cfg.hrl b/lib/hipe/flow/cfg.hrl index 641ec102db..2575b9e38a 100644 --- a/lib/hipe/flow/cfg.hrl +++ b/lib/hipe/flow/cfg.hrl @@ -2,7 +2,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2007-2015. All Rights Reserved. +%% Copyright Ericsson AB 2007-2016. 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. @@ -38,8 +38,8 @@ is_closure :: boolean(), closure_arity = none :: 'none' | arity(), is_leaf :: boolean(), - params, % :: list() - info = []}). %% this field seems not needed; take out?? + params :: list(), %% XXX: refine + info = [] :: list()}). %% seems not needed; take out?? -type cfg_info() :: #cfg_info{}. %% diff --git a/lib/hipe/flow/hipe_dominators.erl b/lib/hipe/flow/hipe_dominators.erl index 1b147607c7..72c16b5688 100644 --- a/lib/hipe/flow/hipe_dominators.erl +++ b/lib/hipe/flow/hipe_dominators.erl @@ -59,7 +59,7 @@ -record(domTree, {root :: cfg_lbl(), size = 0 :: non_neg_integer(), nodes = gb_trees:empty() :: gb_trees:tree()}). --type domTree() :: #domTree{}. +-opaque domTree() :: #domTree{}. %%>----------------------------------------------------------------------< %% Procedure : domTree_create/1 diff --git a/lib/hipe/icode/Makefile b/lib/hipe/icode/Makefile index a5edb10d90..b220bc16a0 100644 --- a/lib/hipe/icode/Makefile +++ b/lib/hipe/icode/Makefile @@ -59,7 +59,7 @@ DOC_MODULES = hipe_beam_to_icode \ hipe_icode_pp hipe_icode_primops \ hipe_icode_range \ hipe_icode_split_arith \ - hipe_icode_ssa hipe_icode_ssa_const_prop \ + hipe_icode_ssa hipe_icode_ssa_const_prop hipe_icode_call_elim \ hipe_icode_ssa_copy_prop hipe_icode_ssa_struct_reuse \ hipe_icode_type $(HIPE_MODULES) @@ -84,7 +84,7 @@ DOC_FILES= $(DOC_MODULES:%=$(DOCS)/%.html) include ../native.mk -ERL_COMPILE_FLAGS += +warn_unused_import +warn_exported_vars +warn_missing_spec # +warn_untyped_record +ERL_COMPILE_FLAGS += -Werror +warn_unused_import +warn_export_vars +warn_missing_spec # +warn_untyped_record # ---------------------------------------------------- # Targets diff --git a/lib/hipe/icode/hipe_icode.erl b/lib/hipe/icode/hipe_icode.erl index 07d230491d..78508dff22 100644 --- a/lib/hipe/icode/hipe_icode.erl +++ b/lib/hipe/icode/hipe_icode.erl @@ -610,7 +610,9 @@ %% Exported types %% --export_type([icode/0]). +-export_type([icode/0, params/0]). + +-type params() :: [icode_var()]. %%--------------------------------------------------------------------- %% @@ -618,7 +620,7 @@ %% %%--------------------------------------------------------------------- --spec mk_icode(mfa(), [icode_var()], boolean(), boolean(), [icode_instr()], +-spec mk_icode(mfa(), params(), boolean(), boolean(), [icode_instr()], {non_neg_integer(),non_neg_integer()}, {icode_lbl(),icode_lbl()}) -> icode(). mk_icode(Fun, Params, IsClosure, IsLeaf, Code, VarRange, LabelRange) -> @@ -629,7 +631,7 @@ mk_icode(Fun, Params, IsClosure, IsLeaf, Code, VarRange, LabelRange) -> var_range=VarRange, label_range=LabelRange}. --spec mk_icode(mfa(), [icode_var()], boolean(), boolean(), [icode_instr()], +-spec mk_icode(mfa(), params(), boolean(), boolean(), [icode_instr()], hipe_consttab(), {non_neg_integer(),non_neg_integer()}, {icode_lbl(),icode_lbl()}) -> icode(). mk_icode(Fun, Params, IsClosure, IsLeaf, Code, Data, VarRange, LabelRange) -> @@ -640,11 +642,11 @@ mk_icode(Fun, Params, IsClosure, IsLeaf, Code, Data, VarRange, LabelRange) -> -spec icode_fun(icode()) -> mfa(). icode_fun(#icode{'fun' = MFA}) -> MFA. --spec icode_params(icode()) -> [icode_var()]. +-spec icode_params(icode()) -> params(). icode_params(#icode{params = Params}) -> Params. --spec icode_params_update(icode(), [icode_var()]) -> icode(). -icode_params_update(Icode, Params) -> +-spec icode_params_update(icode(), params()) -> icode(). +icode_params_update(Icode, Params) -> Icode#icode{params = Params}. -spec icode_is_closure(icode()) -> boolean(). diff --git a/lib/hipe/icode/hipe_icode.hrl b/lib/hipe/icode/hipe_icode.hrl index 999c54732b..b2e0d86b28 100644 --- a/lib/hipe/icode/hipe_icode.hrl +++ b/lib/hipe/icode/hipe_icode.hrl @@ -169,7 +169,7 @@ %%--------------------------------------------------------------------- -record(icode, {'fun' :: mfa(), - params :: [icode_var()], + params :: hipe_icode:params(), %% TODO: merge is_closure and closure_arity into one field is_closure :: boolean(), closure_arity = none :: 'none' | arity(), diff --git a/lib/hipe/icode/hipe_icode_call_elim.erl b/lib/hipe/icode/hipe_icode_call_elim.erl new file mode 100644 index 0000000000..6a22133962 --- /dev/null +++ b/lib/hipe/icode/hipe_icode_call_elim.erl @@ -0,0 +1,78 @@ +%% -*- erlang-indent-level: 2 -*- +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 2016. 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% +%% +%%---------------------------------------------------------------------- +%% File : hipe_icode_call_elim.erl +%% Authors : Daniel S. McCain <[email protected]>, +%% Magnus Lång <[email protected]> +%% Created : 14 Apr 2014 by Magnus Lång <[email protected]> +%% Purpose : Eliminate calls to BIFs that are side-effect free only when +%% executed on some argument types. +%%---------------------------------------------------------------------- +-module(hipe_icode_call_elim). +-export([cfg/1]). + +-include("hipe_icode.hrl"). +-include("../flow/cfg.hrl"). + +-spec cfg(cfg()) -> cfg(). + +cfg(IcodeSSA) -> + lists:foldl(fun (Lbl, CFG1) -> + BB1 = hipe_icode_cfg:bb(CFG1, Lbl), + Code1 = hipe_bb:code(BB1), + Code2 = lists:map(fun elim_insn/1, Code1), + BB2 = hipe_bb:code_update(BB1, Code2), + hipe_icode_cfg:bb_add(CFG1, Lbl, BB2) + end, IcodeSSA, hipe_icode_cfg:labels(IcodeSSA)). + +-spec elim_insn(icode_instr()) -> icode_instr(). +elim_insn(Insn=#icode_call{'fun'={_,_,_}=MFA, args=Args, type=remote, + dstlist=[Dst=#icode_variable{ + annotation={type_anno, RetType, _}}]}) -> + Opaques = 'universe', + case erl_types:t_is_singleton(RetType, Opaques) of + true -> + ArgTypes = [case Arg of + #icode_variable{annotation={type_anno, Type, _}} -> Type; + #icode_const{} -> + erl_types:t_from_term(hipe_icode:const_value(Arg)) + end || Arg <- Args], + case can_be_eliminated(MFA, ArgTypes) of + true -> + Const = hipe_icode:mk_const( + erl_types:t_singleton_to_term(RetType, Opaques)), + #icode_move{dst=Dst, src=Const}; + false -> Insn + end; + false -> Insn + end; +elim_insn(Insn) -> Insn. + + +%% A function can be eliminated for some argument types if it has no side +%% effects when run on arguments of those types. + +-spec can_be_eliminated(mfa(), [erl_types:erl_type()]) -> boolean(). + +can_be_eliminated({maps, is_key, 2}, [_K, M]) -> + erl_types:t_is_map(M); +can_be_eliminated(_, _) -> + false. diff --git a/lib/hipe/icode/hipe_icode_cfg.erl b/lib/hipe/icode/hipe_icode_cfg.erl index b9969fa69d..9a602c0283 100644 --- a/lib/hipe/icode/hipe_icode_cfg.erl +++ b/lib/hipe/icode/hipe_icode_cfg.erl @@ -55,6 +55,9 @@ -spec postorder(cfg()) -> [icode_lbl()]. -spec reverse_postorder(cfg()) -> [icode_lbl()]. +-spec params(cfg()) -> hipe_icode:params(). +-spec params_update(cfg(), hipe_icode:params()) -> cfg(). + -spec is_visited(icode_lbl(), gb_sets:set()) -> boolean(). -spec visit(icode_lbl(), gb_sets:set()) -> gb_sets:set(). diff --git a/lib/hipe/icode/hipe_icode_range.erl b/lib/hipe/icode/hipe_icode_range.erl index 24ffc71237..12ed796690 100644 --- a/lib/hipe/icode/hipe_icode_range.erl +++ b/lib/hipe/icode/hipe_icode_range.erl @@ -89,6 +89,7 @@ ret_type :: range(), lookup_fun :: call_fun(), result_action :: final_fun()}). +-type state() :: #state{}. -define(WIDEN, 1). @@ -172,7 +173,7 @@ analyse(Cfg, Data) -> catch throw:no_input -> ok end. --spec safe_analyse(cfg(), data()) -> #state{}. +-spec safe_analyse(cfg(), data()) -> state(). safe_analyse(CFG, Data={MFA,_,_,_}) -> State = state__init(CFG, Data), @@ -181,14 +182,14 @@ safe_analyse(CFG, Data={MFA,_,_,_}) -> (state__result_action(NewState))(MFA, [state__ret_type(NewState)]), NewState. --spec rewrite_blocks(#state{}) -> #state{}. +-spec rewrite_blocks(state()) -> state(). rewrite_blocks(State) -> CFG = state__cfg(State), Start = hipe_icode_cfg:start_label(CFG), rewrite_blocks([Start], State, [Start]). --spec rewrite_blocks([label()], #state{}, [label()]) -> #state{}. +-spec rewrite_blocks([label()], state(), [label()]) -> state(). rewrite_blocks([Next|Rest], State, Visited) -> Info = state__info_in(State, Next), @@ -201,7 +202,7 @@ rewrite_blocks([Next|Rest], State, Visited) -> rewrite_blocks([], State, _) -> State. --spec analyse_blocks(#state{}, work_list()) -> #state{}. +-spec analyse_blocks(state(), work_list()) -> state(). analyse_blocks(State, Work) -> case get_work(Work) of @@ -218,7 +219,7 @@ analyse_blocks(State, Work) -> analyse_blocks(NewState, NewWork2) end. --spec analyse_block(label(), info(), #state{}, boolean()) -> {#state{}, [label()]}. +-spec analyse_block(label(), info(), state(), boolean()) -> {state(), [label()]}. analyse_block(Label, Info, State, Rewrite) -> BB = state__bb(State, Label), @@ -612,36 +613,32 @@ analyse_if(If, Info, Rewrite) -> {#icode_goto{} | #icode_if{}, [{label(), info()}]}. analyse_sane_if(If, Info, [Arg1, Arg2], [Range1, Range2], Rewrite) -> - case normalize_name(hipe_icode:if_op(If)) of - '>' -> - {TrueRange2, TrueRange1, FalseRange2, FalseRange1} = - range_inequality_propagation(Range2, Range1); - '<' -> - {TrueRange1, TrueRange2, FalseRange1, FalseRange2} = + {TrueRange1, TrueRange2, FalseRange1, FalseRange2} = + case normalize_name(hipe_icode:if_op(If)) of + '>' -> + {TR2, TR1, FR2, FR1} = range_inequality_propagation(Range2, Range1), + {TR1, TR2, FR1, FR2}; + '<' -> range_inequality_propagation(Range1, Range2); - '>=' -> - {FalseRange1, FalseRange2, TrueRange1, TrueRange2} = - range_inequality_propagation(Range1, Range2); - '=<' -> - {FalseRange2, FalseRange1, TrueRange2, TrueRange1} = - range_inequality_propagation(Range2, Range1); - '=:=' -> - {TrueRange1, TrueRange2, FalseRange1, FalseRange2} = - range_equality_propagation(Range1, Range2); - '=/=' -> - {FalseRange1, FalseRange2, TrueRange1, TrueRange2} = - range_equality_propagation(Range1, Range2); - '==' -> - {TempTrueRange1, TempTrueRange2, FalseRange1, FalseRange2} = - range_equality_propagation(Range1, Range2), - TrueRange1 = set_other(TempTrueRange1, other(Range1)), - TrueRange2 = set_other(TempTrueRange2, other(Range2)); - '/=' -> - {TempFalseRange1, TempFalseRange2, TrueRange1, TrueRange2} = - range_equality_propagation(Range1, Range2), - FalseRange1 = set_other(TempFalseRange1, other(Range1)), - FalseRange2 = set_other(TempFalseRange2, other(Range2)) - end, + '>=' -> + {FR1, FR2, TR1, TR2} = range_inequality_propagation(Range1, Range2), + {TR1, TR2, FR1, FR2}; + '=<' -> + {FR2, FR1, TR2, TR1} = range_inequality_propagation(Range2, Range1), + {TR1, TR2, FR1, FR2}; + '=:=' -> + {TR1, TR2, FR1, FR2} = range_equality_propagation(Range1, Range2), + {TR1, TR2, FR1, FR2}; + '=/=' -> + {FR1, FR2, TR1, TR2} = range_equality_propagation(Range1, Range2), + {TR1, TR2, FR1, FR2}; + '==' -> + {TR1, TR2, FR1, FR2} = range_equality_propagation(Range1, Range2), + {set_other(TR1,other(Range1)), set_other(TR2,other(Range2)), FR1, FR2}; + '/=' -> + {FR1, FR2, TR1, TR2} = range_equality_propagation(Range1, Range2), + {TR1, TR2, set_other(FR1,other(Range1)), set_other(FR2,other(Range2))} + end, %% io:format("TR1 = ~w\nTR2 = ~w\n", [TrueRange1, TrueRange2]), True = case lists:all(fun range__is_none/1, [TrueRange1, TrueRange2]) of @@ -694,26 +691,24 @@ normalize_name(Name) -> -spec range_equality_propagation(range(), range()) -> {range(), range(), range(), range()}. -range_equality_propagation(Range_1, Range_2) -> - True_range = inf(Range_1, Range_2), - case {range(Range_1), range(Range_2)} of - {{N,N}, {N,N}} -> - False_range_1 = none_range(), - False_range_2 = none_range(); - {{N1,N1}, {N2,N2}} -> - False_range_1 = Range_1, - False_range_2 = Range_2; - {{N,N}, _} -> - False_range_1 = Range_1, - {_,False_range_2} = compare_with_integer(N, Range_2); - {_, {N,N}} -> - False_range_2 = Range_2, - {_,False_range_1} = compare_with_integer(N, Range_1); - {_, _} -> - False_range_1 = Range_1, - False_range_2 = Range_2 - end, - {True_range, True_range, False_range_1, False_range_2}. +range_equality_propagation(Range1, Range2) -> + TrueRange = inf(Range1, Range2), + {FalseRange1, FalseRange2} = + case {range(Range1), range(Range2)} of + {{N,N}, {N,N}} -> + {none_range(), none_range()}; + {{N1,N1}, {N2,N2}} -> + {Range1, Range2}; + {{N,N}, _} -> + {_,FR2} = compare_with_integer(N, Range2), + {Range1, FR2}; + {_, {N,N}} -> + {_,FR1} = compare_with_integer(N, Range1), + {FR1, Range2}; + {_, _} -> + {Range1, Range2} + end, + {TrueRange, TrueRange, FalseRange1, FalseRange2}. -spec range_inequality_propagation(range(), range()) -> {range(), range(), range(), range()}. @@ -779,18 +774,17 @@ analyse_type(Type, Info, Rewrite) -> TypeTest = hipe_icode:type_test(Type), [Arg|_] = hipe_icode:type_args(Type), OldVarRange = get_range_from_arg(Arg), - case TypeTest of - {integer, N} -> - {TrueRange,FalseRange} = compare_with_integer(N,OldVarRange); - integer -> - TrueRange = inf(any_range(), OldVarRange), - FalseRange = inf(none_range(), OldVarRange); - number -> - TrueRange = FalseRange = OldVarRange; - _ -> - TrueRange = inf(none_range(), OldVarRange), - FalseRange = OldVarRange - end, + {TrueRange, FalseRange} = + case TypeTest of + {integer, N} -> + compare_with_integer(N, OldVarRange); + integer -> + {inf(any_range(), OldVarRange), inf(none_range(), OldVarRange)}; + number -> + {OldVarRange, OldVarRange}; + _ -> + {inf(none_range(), OldVarRange), OldVarRange} + end, TrueLabel = hipe_icode:type_true_label(Type), FalseLabel = hipe_icode:type_false_label(Type), TrueInfo = enter_define({Arg, TrueRange}, Info), @@ -1201,14 +1195,12 @@ basic_type(#unsafe_update_element{}) -> not_analysed. analyse_bs_get_integer(Size, Flags, true) -> Signed = Flags band 4, - if Signed =:= 0 -> - Max = inf_add(inf_bsl(1, Size), -1), - Min = 0; - true -> - Max = inf_add(inf_bsl(1, Size-1), -1), - Min = inf_inv(inf_bsl(1, Size-1)) - end, - {Min, Max}; + case Signed =:= 0 of + true -> + {0, inf_add(inf_bsl(1, Size), -1)}; % return {Min, Max} + false -> + {inf_inv(inf_bsl(1, Size-1)), inf_add(inf_bsl(1, Size-1), -1)} + end; analyse_bs_get_integer(Size, Flags, false) when is_integer(Size), is_integer(Flags) -> any_r(). @@ -1653,7 +1645,7 @@ inf_bsl(Number1, Number2) when is_integer(Number1), is_integer(Number2) -> %% State --spec state__init(cfg(), data()) -> #state{}. +-spec state__init(cfg(), data()) -> state(). state__init(Cfg, {MFA, ArgsFun, CallFun, FinalFun}) -> Start = hipe_icode_cfg:start_label(Cfg), @@ -1676,19 +1668,19 @@ state__init(Cfg, {MFA, ArgsFun, CallFun, FinalFun}) -> lookup_fun=CallFun, result_action=FinalFun} end. --spec state__cfg(#state{}) -> cfg(). +-spec state__cfg(state()) -> cfg(). state__cfg(#state{cfg=Cfg}) -> Cfg. --spec state__bb(#state{}, label()) -> bb(). +-spec state__bb(state(), label()) -> bb(). state__bb(#state{cfg=Cfg}, Label) -> BB = hipe_icode_cfg:bb(Cfg, Label), true = hipe_bb:is_bb(BB), % Just an assert BB. --spec state__bb_add(#state{}, label(), bb()) -> #state{}. +-spec state__bb_add(state(), label(), bb()) -> state(). state__bb_add(S=#state{cfg=Cfg}, Label, BB) -> NewCfg = hipe_icode_cfg:bb_add(Cfg, Label, BB), @@ -1774,14 +1766,12 @@ join_info_in([Var|Left], Info1, Info2, Acc, Changed) -> NewTree = gb_trees:insert(Var, Val, Acc), join_info_in(Left, Info1, Info2, NewTree, Changed); {{value, Val1}, {value, Val2}} -> - NewVal = + {NewChanged, NewVal} = case sup(Val1, Val2) of Val1 -> - NewChanged = Changed, - Val1; + {Changed, Val1}; Val -> - NewChanged = true, - Val + {true, Val} end, NewTree = gb_trees:insert(Var, NewVal, Acc), join_info_in(Left, Info1, Info2, NewTree, NewChanged) diff --git a/lib/hipe/icode/hipe_icode_type.erl b/lib/hipe/icode/hipe_icode_type.erl index e3ba00c5e9..794c27ebcc 100644 --- a/lib/hipe/icode/hipe_icode_type.erl +++ b/lib/hipe/icode/hipe_icode_type.erl @@ -105,6 +105,7 @@ ret_type = [t_none()] :: [erl_types:erl_type()], lookupfun :: call_fun(), resultaction :: final_fun()}). +-type state() :: #state{}. %%----------------------------------------------------------------------- %% The main exported function @@ -193,7 +194,7 @@ analyse(Cfg, Data) -> catch throw:no_input -> ok % No need to do anything since we have no input end. --spec safe_analyse(cfg(), data()) -> #state{}. +-spec safe_analyse(cfg(), data()) -> state(). safe_analyse(Cfg, {MFA,_,_,_}=Data) -> State = new_state(Cfg, Data), @@ -363,6 +364,7 @@ call_always_fails(#icode_call{} = I, Info) -> %% These can actually be calls too. {erlang, halt, 0} -> false; {erlang, halt, 1} -> false; + {erlang, halt, 2} -> false; {erlang, exit, 1} -> false; {erlang, error, 1} -> false; {erlang, error, 2} -> false; @@ -460,24 +462,24 @@ integer_range_inequality_propagation(Op, A1, A2, TrueLab, FalseLab, Info) -> NonIntArg1 = t_subtract(Arg1, t_integer()), NonIntArg2 = t_subtract(Arg2, t_integer()), ?ineq_debug("nonintargs", [NonIntArg1,NonIntArg2]), - case t_is_none(IntArg1) or t_is_none(IntArg2) of + case t_is_none(IntArg1) orelse t_is_none(IntArg2) of true -> ?ineq_debug("one is none", [IntArg1,IntArg2]), [{TrueLab, Info}, {FalseLab, Info}]; false -> - case Op of - '>=' -> - {FalseArg1, FalseArg2, TrueArg1, TrueArg2} = - integer_range_less_then_propagator(IntArg1, IntArg2); - '>' -> - {TrueArg2, TrueArg1, FalseArg2, FalseArg1} = - integer_range_less_then_propagator(IntArg2, IntArg1); - '<' -> - {TrueArg1, TrueArg2, FalseArg1, FalseArg2} = - integer_range_less_then_propagator(IntArg1, IntArg2); - '=<' -> - {FalseArg2, FalseArg1, TrueArg2, TrueArg1} = - integer_range_less_then_propagator(IntArg2, IntArg1) + {TrueArg1, TrueArg2, FalseArg1, FalseArg2} = + case Op of + '>=' -> + {FA1, FA2, TA1, TA2} = int_range_lt_propagator(IntArg1, IntArg2), + {TA1, TA2, FA1, FA2}; + '>' -> + {TA2, TA1, FA2, FA1} = int_range_lt_propagator(IntArg2, IntArg1), + {TA1, TA2, FA1, FA2}; + '<' -> + int_range_lt_propagator(IntArg1, IntArg2); + '=<' -> + {FA2, FA1, TA2, TA1} = int_range_lt_propagator(IntArg2, IntArg1), + {TA1, TA2, FA1, FA2} end, ?ineq_debug("int res", [TrueArg1, TrueArg2, FalseArg1, FalseArg2]), False = {FalseLab, enter(A1, t_sup(FalseArg1, NonIntArg1), @@ -487,7 +489,7 @@ integer_range_inequality_propagation(Op, A1, A2, TrueLab, FalseLab, Info) -> [True, False] end. -integer_range_less_then_propagator(IntArg1, IntArg2) -> +int_range_lt_propagator(IntArg1, IntArg2) -> Min1 = number_min(IntArg1), Max1 = number_max(IntArg1), Min2 = number_min(IntArg2), diff --git a/lib/hipe/llvm/Makefile b/lib/hipe/llvm/Makefile index d2d39fb9e3..88016a7d8b 100644 --- a/lib/hipe/llvm/Makefile +++ b/lib/hipe/llvm/Makefile @@ -40,20 +40,19 @@ RELSYSDIR = $(RELEASE_PATH)/lib/hipe-$(VSN) # Target Specs # ---------------------------------------------------- ifdef HIPE_ENABLED -HIPE_MODULES = hipe_rtl_to_llvm \ +HIPE_MODULES = elf_format \ hipe_llvm \ - elf_format \ + hipe_llvm_liveness \ hipe_llvm_main \ hipe_llvm_merge \ - hipe_llvm_liveness + hipe_rtl_to_llvm else HIPE_MODULES = endif MODULES = $(HIPE_MODULES) -HRL_FILES= elf_format.hrl elf32_format.hrl elf64_format.hrl \ - hipe_llvm_arch.hrl +HRL_FILES= elf_format.hrl elf32_format.hrl elf64_format.hrl hipe_llvm_arch.hrl ERL_FILES= $(MODULES:%=%.erl) TARGET_FILES= $(MODULES:%=$(EBIN)/%.$(EMULATOR)) @@ -71,7 +70,7 @@ TARGET_FILES= $(MODULES:%=$(EBIN)/%.$(EMULATOR)) include ../native.mk -ERL_COMPILE_FLAGS += +inline #+warn_missing_spec +ERL_COMPILE_FLAGS += -Werror +inline +warn_export_vars #+warn_missing_spec # if in 32 bit backend define BIT32 symbol ARCH = $(shell echo $(TARGET) | sed 's/^\(x86_64\)-.*/64bit/') @@ -108,3 +107,11 @@ release_spec: opt $(INSTALL_DATA) $(TARGET_FILES) $(RELSYSDIR)/ebin release_docs_spec: + +$(EBIN)/elf_format.beam: elf_format.hrl elf32_format.hrl elf64_format.hrl +$(EBIN)/hipe_llvm_main.beam: ../../kernel/src/hipe_ext_format.hrl \ + hipe_llvm_arch.hrl elf_format.hrl elf32_format.hrl elf64_format.hrl +$(EBIN)/hipe_llvm_merge.beam: ../../kernel/src/hipe_ext_format.hrl \ + hipe_llvm_arch.hrl ../rtl/hipe_literals.hrl ../main/hipe.hrl +$(EBIN)/hipe_rtl_to_llvm.beam: ../rtl/hipe_rtl.hrl ../rtl/hipe_literals.hrl \ + hipe_llvm_arch.hrl diff --git a/lib/hipe/llvm/elf_format.erl b/lib/hipe/llvm/elf_format.erl index 260da9b5e6..8cf6ea6250 100644 --- a/lib/hipe/llvm/elf_format.erl +++ b/lib/hipe/llvm/elf_format.erl @@ -13,21 +13,20 @@ -module(elf_format). --export([get_tab_entries/1, - %% Relocations - get_rodata_relocs/1, - get_text_relocs/1, +-export([%% Relocations extract_rela/2, - get_rela_addends/1, %% Note extract_note/2, %% Executable code extract_text/1, %% GCC Exception Table - get_exn_handlers/1, - %% Misc. - set_architecture_flag/1, - is64bit/0 + get_exn_handlers/1, + %% Symbols + elf_symbols/1, + %% Sections + section_contents/2, + %% Main interface + read/1 ]). -include("elf_format.hrl"). @@ -36,27 +35,57 @@ %% Types %%------------------------------------------------------------------------------ --type elf() :: binary(). - --type lp() :: non_neg_integer(). % landing pad --type num() :: non_neg_integer(). --type index() :: non_neg_integer(). --type offset() :: non_neg_integer(). --type size() :: non_neg_integer(). --type start() :: non_neg_integer(). - --type info() :: index(). --type nameoff() :: offset(). --type valueoff() :: offset(). - --type name() :: string(). --type name_size() :: {name(), size()}. --type name_sizes() :: [name_size()]. +-export_type([elf/0 + ,addend/0 + ,bitflags/0 + ,name/0 + ,offset/0 + ,reloc_type/0 + ,shdr_type/0 + ,size/0 + ,sym_bind/0 + ,sym_type/0 + ,valueoff/0 + ]). + +-type bitflags() :: non_neg_integer(). +-type index() :: non_neg_integer(). +-type lp() :: non_neg_integer(). % landing pad +-type num() :: non_neg_integer(). +-type offset() :: non_neg_integer(). +-type size() :: non_neg_integer(). +-type start() :: non_neg_integer(). + +-type addend() :: integer() | undefined. +-type name() :: string(). +-type shdr_type() :: 'null' | 'progbits' | 'symtab' | 'strtab' | 'rela' + | 'hash' | 'dynamic' | 'note' | 'nobits' | 'rel' | 'shlib' + | 'dynsym' | {os, ?SHT_LOOS..?SHT_HIOS} + | {proc, ?SHT_LOPROC..?SHT_HIPROC}. +-type sym_bind() :: 'local' | 'global' | 'weak' | {os, ?STB_LOOS..?STB_HIOS} + | {proc, ?STB_LOPROC..?STB_HIPROC}. +-type sym_type() :: 'notype' | 'object' | 'func' | 'section' | 'file' + | {os, ?STT_LOOS..?STT_HIOS} + | {proc, ?STT_LOPROC..?STT_HIPROC}. +-type valueoff() :: offset(). + +-ifdef(BIT32). % 386 +-type reloc_type() :: '32' | 'pc32'. +-else. % X86_64 +-type reloc_type() :: '64' | 'pc32' | '32'. +-endif. %%------------------------------------------------------------------------------ %% Abstract Data Types and Accessors for ELF Structures. %%------------------------------------------------------------------------------ +-record(elf, {file :: binary() + ,sections :: [elf_shdr()] + ,sec_nam :: #{string() => elf_shdr()} + ,symbols :: undefined | [elf_sym()] + }). +-opaque elf() :: #elf{}. + %% File header -record(elf_ehdr, {ident, % ELF identification type, % Object file type @@ -85,42 +114,6 @@ }). %% -type elf_ehdr_ident() :: #elf_ehdr_ident{}. -%% Section header entries --record(elf_shdr, {name, % Section name - type, % Section type - flags, % Section attributes - addr, % Virtual address in memory - offset :: offset(), % Offset in file - size :: size(), % Size of section - link, % Link to other section - info, % Miscellaneous information - addralign, % Address align boundary - entsize % Size of entries, if section has table - }). -%% -type elf_shdr() :: #elf_shdr{}. - -%% Symbol table entries --record(elf_sym, {name :: nameoff(), % Symbol name - info, % Type and Binding attributes - other, % Reserved - shndx, % Section table index - value :: valueoff(), % Symbol value - size :: size() % Size of object - }). --type elf_sym() :: #elf_sym{}. - -%% Relocations --record(elf_rel, {r_offset :: offset(), % Address of reference - r_info :: info() % Symbol index and type of relocation - }). --type elf_rel() :: #elf_rel{}. - --record(elf_rela, {r_offset :: offset(), % Address of reference - r_info :: info(), % Symbol index and type of relocation - r_addend :: offset() % Constant part of expression - }). --type elf_rela() :: #elf_rela{}. - %% %% Program header table %% -record(elf_phdr, {type, % Type of segment %% flags, % Segment attributes @@ -199,44 +192,19 @@ mk_shdr(Name, Type, Flags, Addr, Offset, Size, Link, Info, AddrAlign, EntSize) - %%%------------------------- %%% Symbol Table Entries %%%------------------------- -mk_sym(Name, Info, Other, Shndx, Value, Size) -> - #elf_sym{name = Name, info = Info, other = Other, - shndx = Shndx, value = Value, size = Size}. - --spec sym_name(elf_sym()) -> nameoff(). -sym_name(#elf_sym{name = Name}) -> Name. +mk_sym(Name, Bind, Type, Section, Value, Size) -> + #elf_sym{name = Name, bind = Bind, type = Type, + section = Section, value = Value, size = Size}. +%% -spec sym_name(elf_sym()) -> string(). +%% sym_name(#elf_sym{name = Name}) -> Name. +%% %% -spec sym_value(elf_sym()) -> valueoff(). %% sym_value(#elf_sym{value = Value}) -> Value. %% %% -spec sym_size(elf_sym()) -> size(). %% sym_size(#elf_sym{size = Size}) -> Size. -%%%------------------------- -%%% Relocations -%%%------------------------- --spec mk_rel(offset(), info()) -> elf_rel(). -mk_rel(Offset, Info) -> - #elf_rel{r_offset = Offset, r_info = Info}. - -%% The following two functions capitalize on the fact that the two kinds of -%% relocation records (for 32- and 64-bit architectures have similar structure. - --spec r_offset(elf_rel() | elf_rela()) -> offset(). -r_offset(#elf_rel{r_offset = Offset}) -> Offset; -r_offset(#elf_rela{r_offset = Offset}) -> Offset. - --spec r_info(elf_rel() | elf_rela()) -> info(). -r_info(#elf_rel{r_info = Info}) -> Info; -r_info(#elf_rela{r_info = Info}) -> Info. - --spec mk_rela(offset(), info(), offset()) -> elf_rela(). -mk_rela(Offset, Info, Addend) -> - #elf_rela{r_offset = Offset, r_info = Info, r_addend = Addend}. - --spec rela_addend(elf_rela()) -> offset(). -rela_addend(#elf_rela{r_addend = Addend}) -> Addend. - %% %%%------------------------- %% %%% GCC exception table %% %%%------------------------- @@ -263,15 +231,30 @@ mk_gccexntab_callsite(Start, Size, LP, Action) -> %% gccexntab_callsite_lp(#elf_gccexntab_callsite{lp = LP}) -> LP. %%------------------------------------------------------------------------------ +%% Main interface function +%%------------------------------------------------------------------------------ + +%% @doc Parses an ELF file. +-spec read(binary()) -> elf(). +read(ElfBin) -> + Header = extract_header(ElfBin), + [_UndefinedSec|Sections] = extract_shdrtab(ElfBin, Header), + SecNam = maps:from_list( + [{Name, Sec} || Sec = #elf_shdr{name=Name} <- Sections]), + Elf0 = #elf{file=ElfBin, sections=Sections, sec_nam=SecNam}, + [_UndefinedSym|Symbols] = extract_symtab(Elf0, extract_strtab(Elf0)), + Elf0#elf{symbols=Symbols}. + +%%------------------------------------------------------------------------------ %% Functions to manipulate the ELF File Header %%------------------------------------------------------------------------------ %% @doc Extracts the File Header from an ELF formatted object file. Also sets %% the ELF class variable in the process dictionary (used by many functions %% in this and hipe_llvm_main modules). --spec extract_header(elf()) -> elf_ehdr(). -extract_header(Elf) -> - Ehdr_bin = get_binary_segment(Elf, 0, ?ELF_EHDR_SIZE), +-spec extract_header(binary()) -> elf_ehdr(). +extract_header(ElfBin) -> + Ehdr_bin = get_binary_segment(ElfBin, 0, ?ELF_EHDR_SIZE), << %% Structural pattern matching on fields. Ident_bin:?E_IDENT_SIZE/binary, Type:?bits(?E_TYPE_SIZE)/integer-little, @@ -300,19 +283,28 @@ extract_header(Elf) -> %% Functions to manipulate Section Header Entries %%------------------------------------------------------------------------------ +-type shdrtab() :: [elf_shdr()]. + %% @doc Extracts the Section Header Table from an ELF formated Object File. -extract_shdrtab(Elf) -> - %% Extract File Header to get info about Section Header Offset (in bytes), - %% Entry Size (in bytes) and Number of entries - #elf_ehdr{shoff = ShOff, shentsize = ShEntsize, shnum = ShNum} = - extract_header(Elf), +-spec extract_shdrtab(binary(), elf_ehdr()) -> shdrtab(). +extract_shdrtab(ElfBin, #elf_ehdr{shoff=ShOff, shentsize=?ELF_SHDRENTRY_SIZE, + shnum=ShNum, shstrndx=ShStrNdx}) -> %% Get actual Section header table (binary) - ShdrBin = get_binary_segment(Elf, ShOff, ShNum * ShEntsize), - get_shdrtab_entries(ShdrBin, []). - -get_shdrtab_entries(<<>>, Acc) -> - lists:reverse(Acc); -get_shdrtab_entries(ShdrBin, Acc) -> + ShdrBin = get_binary_segment(ElfBin, ShOff, ShNum * ?ELF_SHDRENTRY_SIZE), + %% We need to lookup the offset and size of the section header string table + %% before we can fully parse the section table. We compute its offset and + %% extract the fields we need here. + ShStrEntryOffset = ShStrNdx * ?ELF_SHDRENTRY_SIZE, + <<_:ShStrEntryOffset/binary, _:?SH_NAME_SIZE/binary, + _:?SH_TYPE_SIZE/binary, _:?SH_FLAGS_SIZE/binary, _:?SH_ADDR_SIZE/binary, + ShStrOffset:?bits(?SH_OFFSET_SIZE)/little, + ShStrSize:?bits(?SH_SIZE_SIZE)/little, + _/binary>> = ShdrBin, + ShStrTab = parse_strtab(get_binary_segment(ElfBin, ShStrOffset, ShStrSize)), + get_shdrtab_entries(ShdrBin, ShStrTab). + +get_shdrtab_entries(<<>>, _ShStrTab) -> []; +get_shdrtab_entries(ShdrTab, ShStrTab) -> <<%% Structural pattern matching on fields. Name:?bits(?SH_NAME_SIZE)/integer-little, Type:?bits(?SH_TYPE_SIZE)/integer-little, @@ -324,205 +316,166 @@ get_shdrtab_entries(ShdrBin, Acc) -> Info:?bits(?SH_INFO_SIZE)/integer-little, Addralign:?bits(?SH_ADDRALIGN_SIZE)/integer-little, Entsize:?bits(?SH_ENTSIZE_SIZE)/integer-little, - MoreShdrE/binary - >> = ShdrBin, - ShdrE = mk_shdr(Name, Type, Flags, Addr, Offset, - Size, Link, Info, Addralign, Entsize), - get_shdrtab_entries(MoreShdrE, [ShdrE | Acc]). - -%% @doc Extracts a specific Entry of a Section Header Table. This function -%% takes as argument the Section Header Table (`SHdrTab') and the entry's -%% serial number (`EntryNum') and returns the entry (`shdr'). -get_shdrtab_entry(SHdrTab, EntryNum) -> - lists:nth(EntryNum + 1, SHdrTab). - -%%------------------------------------------------------------------------------ -%% Functions to manipulate Section Header String Table -%%------------------------------------------------------------------------------ - -%% @doc Extracts the Section Header String Table. This section is not a known -%% ELF Object File section. It is just a "hidden" table storing the -%% names of all sections that exist in current object file. --spec extract_shstrtab(elf()) -> [name()]. -extract_shstrtab(Elf) -> - %% Extract Section Name String Table Index - #elf_ehdr{shstrndx = ShStrNdx} = extract_header(Elf), - ShHdrTab = extract_shdrtab(Elf), - %% Extract Section header entry and get actual Section-header String Table - #elf_shdr{offset = ShStrOffset, size = ShStrSize} = - get_shdrtab_entry(ShHdrTab, ShStrNdx), - case get_binary_segment(Elf, ShStrOffset, ShStrSize) of - <<>> -> %% Segment empty - []; - ShStrTab -> %% Convert to string table - [Name || {Name, _Size} <- get_names(ShStrTab)] - end. - -%%------------------------------------------------------------------------------ - --spec get_tab_entries(elf()) -> [{name(), valueoff(), size()}]. -get_tab_entries(Elf) -> - SymTab = extract_symtab(Elf), - Ts = [{Name, Value, Size div ?ELF_XWORD_SIZE} - || #elf_sym{name = Name, value = Value, size = Size} <- SymTab, - Name =/= 0], - {NameIndices, ValueOffs, Sizes} = lists:unzip3(Ts), - %% Find the names of the symbols. - %% Get string table entries ([{Name, Offset in strtab section}]). Keep only - %% relevant entries: - StrTab = extract_strtab(Elf), - Relevant = [get_strtab_entry(StrTab, Off) || Off <- NameIndices], - %% Zip back to {Name, ValueOff, Size} - lists:zip3(Relevant, ValueOffs, Sizes). + Rest/binary + >> = ShdrTab, + Entry = mk_shdr(get_strtab_entry(Name, ShStrTab), decode_shdr_type(Type), + Flags, Addr, Offset, Size, Link, Info, Addralign, Entsize), + [Entry | get_shdrtab_entries(Rest, ShStrTab)]. + +decode_shdr_type(?SHT_NULL) -> 'null'; +decode_shdr_type(?SHT_PROGBITS) -> 'progbits'; +decode_shdr_type(?SHT_SYMTAB) -> 'symtab'; +decode_shdr_type(?SHT_STRTAB) -> 'strtab'; +decode_shdr_type(?SHT_RELA) -> 'rela'; +decode_shdr_type(?SHT_HASH) -> 'hash'; %unused +decode_shdr_type(?SHT_DYNAMIC) -> 'dynamic'; %unused +decode_shdr_type(?SHT_NOTE) -> 'note'; %unused +decode_shdr_type(?SHT_NOBITS) -> 'nobits'; +decode_shdr_type(?SHT_REL) -> 'rel'; +decode_shdr_type(?SHT_SHLIB) -> 'shlib'; %unused +decode_shdr_type(?SHT_DYNSYM) -> 'dynsym'; %unused +decode_shdr_type(OS) when ?SHT_LOOS =< OS, OS =< ?SHT_HIOS -> {os, OS}; +decode_shdr_type(Proc) when ?SHT_LOPROC =< Proc, Proc =< ?SHT_HIPROC -> + {proc, Proc}. + +-spec elf_section(non_neg_integer(), elf()) -> undefined | abs | elf_shdr(). +elf_section(0, #elf{}) -> undefined; +elf_section(?SHN_ABS, #elf{}) -> abs; +elf_section(Index, #elf{sections=SecIdx}) -> + lists:nth(Index, SecIdx). + +%% Reads the contents of a section from an object +-spec section_contents(elf_shdr(), elf()) -> binary(). +section_contents(#elf_shdr{offset=Offset, size=Size}, #elf{file=ElfBin}) -> + get_binary_segment(ElfBin, Offset, Size). %%------------------------------------------------------------------------------ %% Functions to manipulate Symbol Table %%------------------------------------------------------------------------------ %% @doc Function that extracts Symbol Table from an ELF Object file. -extract_symtab(Elf) -> - Symtab_bin = extract_segment_by_name(Elf, ?SYMTAB), - get_symtab_entries(Symtab_bin, []). - -get_symtab_entries(<<>>, Acc) -> - lists:reverse(Acc); -get_symtab_entries(Symtab_bin, Acc) -> - <<SymE_bin:?ELF_SYM_SIZE/binary, MoreSymE/binary>> = Symtab_bin, - case is64bit() of - true -> - <<%% Structural pattern matching on fields. - Name:?bits(?ST_NAME_SIZE)/integer-little, - Info:?bits(?ST_INFO_SIZE)/integer-little, - Other:?bits(?ST_OTHER_SIZE)/integer-little, - Shndx:?bits(?ST_SHNDX_SIZE)/integer-little, - Value:?bits(?ST_VALUE_SIZE)/integer-little, - Size:?bits(?ST_SIZE_SIZE)/integer-little - >> = SymE_bin; - false -> - << %% Same fields in different order: - Name:?bits(?ST_NAME_SIZE)/integer-little, - Value:?bits(?ST_VALUE_SIZE)/integer-little, - Size:?bits(?ST_SIZE_SIZE)/integer-little, - Info:?bits(?ST_INFO_SIZE)/integer-little, - Other:?bits(?ST_OTHER_SIZE)/integer-little, - Shndx:?bits(?ST_SHNDX_SIZE)/integer-little - >> = SymE_bin - end, - SymE = mk_sym(Name, Info, Other, Shndx, Value, Size), - get_symtab_entries(MoreSymE, [SymE | Acc]). - -%% @doc Extracts a specific entry from the Symbol Table (as binary). -%% This function takes as arguments the Symbol Table (`SymTab') -%% and the entry's serial number and returns that entry (`sym'). -get_symtab_entry(SymTab, EntryNum) -> - lists:nth(EntryNum + 1, SymTab). +extract_symtab(Elf, StrTab) -> + Symtab = extract_segment_by_name(Elf, ?SYMTAB), + [parse_sym(Sym, Elf, StrTab) || <<Sym:?ELF_SYM_SIZE/binary>> <= Symtab]. + +-ifdef(BIT32). +parse_sym(<<%% Structural pattern matching on fields. + Name:?bits(?ST_NAME_SIZE)/integer-little, + Value:?bits(?ST_VALUE_SIZE)/integer-little, + Size:?bits(?ST_SIZE_SIZE)/integer-little, + Info:?bits(?ST_INFO_SIZE)/integer-little, + _Other:?bits(?ST_OTHER_SIZE)/integer-little, + Shndx:?bits(?ST_SHNDX_SIZE)/integer-little>>, + Elf, StrTab) -> + mk_sym(get_strtab_entry(Name, StrTab), decode_symbol_bind(?ELF_ST_BIND(Info)), + decode_symbol_type(?ELF_ST_TYPE(Info)), elf_section(Shndx, Elf), Value, + Size). +-else. +parse_sym(<<%% Same fields in different order: + Name:?bits(?ST_NAME_SIZE)/integer-little, + Info:?bits(?ST_INFO_SIZE)/integer-little, + _Other:?bits(?ST_OTHER_SIZE)/integer-little, + Shndx:?bits(?ST_SHNDX_SIZE)/integer-little, + Value:?bits(?ST_VALUE_SIZE)/integer-little, + Size:?bits(?ST_SIZE_SIZE)/integer-little>>, + Elf, StrTab) -> + mk_sym(get_strtab_entry(Name, StrTab), decode_symbol_bind(?ELF_ST_BIND(Info)), + decode_symbol_type(?ELF_ST_TYPE(Info)), elf_section(Shndx, Elf), Value, + Size). +-endif. + +decode_symbol_bind(?STB_LOCAL) -> 'local'; +decode_symbol_bind(?STB_GLOBAL) -> 'global'; +decode_symbol_bind(?STB_WEAK) -> 'weak'; %unused +decode_symbol_bind(OS) when ?STB_LOOS =< OS, OS =< ?STB_HIOS -> {os, OS}; +decode_symbol_bind(Proc) when ?STB_LOPROC =< Proc, Proc =< ?STB_HIPROC -> + {proc, Proc}. + +decode_symbol_type(?STT_NOTYPE) -> 'notype'; +decode_symbol_type(?STT_OBJECT) -> 'object'; +decode_symbol_type(?STT_FUNC) -> 'func'; +decode_symbol_type(?STT_SECTION) -> 'section'; +decode_symbol_type(?STT_FILE) -> 'file'; +decode_symbol_type(OS) when ?STT_LOOS =< OS, OS =< ?STT_HIOS -> {os, OS}; +decode_symbol_type(Proc) when ?STT_LOPROC =< Proc, Proc =< ?STT_HIPROC -> + {proc, Proc}. + +%% @doc Extracts a specific entry from the Symbol Table. +-spec elf_symbol(0, elf()) -> undefined; + (pos_integer(), elf()) -> elf_sym(). +elf_symbol(0, #elf{}) -> undefined; +elf_symbol(Index, #elf{symbols=Symbols}) -> lists:nth(Index, Symbols). + +-spec elf_symbols(elf()) -> [elf_sym()]. +elf_symbols(#elf{symbols=Symbols}) -> Symbols. %%------------------------------------------------------------------------------ %% Functions to manipulate String Table %%------------------------------------------------------------------------------ +%% ADT: get_strtab_entry/1 must be used to consume this type. +-type strtab() :: binary(). + %% @doc Extracts String Table from an ELF formated Object File. --spec extract_strtab(elf()) -> [{string(), offset()}]. +-spec extract_strtab(elf()) -> strtab(). extract_strtab(Elf) -> - Strtab_bin = extract_segment_by_name(Elf, ?STRTAB), - NamesSizes = get_names(Strtab_bin), - make_offsets(NamesSizes). - -%% @doc Returns the name of the symbol at the given offset. The string table -%% contains entries of the form {Name, Offset}. If no such offset exists -%% returns the empty string (`""'). -%% XXX: There might be a bug here because of the "compact" saving the ELF -%% format uses: e.g. only stores ".rela.text" for ".rela.text" and ".text". -get_strtab_entry(Strtab, Offset) -> - case lists:keyfind(Offset, 2, Strtab) of - {Name, Offset} -> Name; - false -> "" - end. + parse_strtab(extract_segment_by_name(Elf, ?STRTAB)). + +-spec parse_strtab(binary()) -> strtab(). +parse_strtab(StrTabSectionBin) -> StrTabSectionBin. + +%% @doc Returns the name of the symbol at the given offset. +-spec get_strtab_entry(non_neg_integer(), strtab()) -> string(). +get_strtab_entry(Offset, StrTab) -> + <<_:Offset/binary, StrBin/binary>> = StrTab, + bin_get_string(StrBin). + +%% @doc Extracts a null-terminated string from a binary. +-spec bin_get_string(binary()) -> string(). +%% FIXME: No regard for encoding (just happens to work for ASCII and Latin-1) +bin_get_string(<<0, _/binary>>) -> []; +bin_get_string(<<Char, Rest/binary>>) -> [Char|bin_get_string(Rest)]. %%------------------------------------------------------------------------------ %% Functions to manipulate Relocations %%------------------------------------------------------------------------------ -%% @doc This function gets as argument an ELF binary file and returns a list -%% with all .rela.rodata labels (i.e. constants and literals in code) -%% or an empty list if no ".rela.rodata" section exists in code. --spec get_rodata_relocs(elf()) -> [offset()]. -get_rodata_relocs(Elf) -> - case is64bit() of - true -> - %% Only care about the addends (== offsets): - get_rela_addends(extract_rela(Elf, ?RODATA)); - false -> - %% Find offsets hardcoded in ".rodata" entry - %%XXX: Treat all 0s as padding and skip them! - [SkipPadding || SkipPadding <- extract_rodata(Elf), SkipPadding =/= 0] - end. - --spec get_rela_addends([elf_rela()]) -> [offset()]. -get_rela_addends(RelaEntries) -> - [rela_addend(E) || E <- RelaEntries]. - -%% @doc Extract a list of the form `[{SymbolName, Offset}]' with all relocatable -%% symbols and their offsets in the code from the ".text" section. --spec get_text_relocs(elf()) -> [{name(), offset()}]. -get_text_relocs(Elf) -> - %% Only care about the symbol table index and the offset: - NameOffsetTemp = [{?ELF_R_SYM(r_info(E)), r_offset(E)} - || E <- extract_rela(Elf, ?TEXT)], - {NameIndices, ActualOffsets} = lists:unzip(NameOffsetTemp), - %% Find the names of the symbols: - %% - %% Get those symbol table entries that are related to Text relocs: - Symtab = extract_symtab(Elf), - SymtabEs = [get_symtab_entry(Symtab, Index) || Index <- NameIndices], - %XXX: not zero-indexed! - %% Symbol table entries contain the offset of the name of the symbol in - %% String Table: - SymtabEs2 = [sym_name(E) || E <- SymtabEs], %XXX: Do we need to sort SymtabE? - %% Get string table entries ([{Name, Offset in strtab section}]). Keep only - %% relevant entries: - Strtab = extract_strtab(Elf), - Relevant = [get_strtab_entry(Strtab, Off) || Off <- SymtabEs2], - %% Zip back with actual offsets: - lists:zip(Relevant, ActualOffsets). - %% @doc Extract the Relocations segment for section `Name' (that is passed %% as second argument) from an ELF formated Object file binary. --spec extract_rela(elf(), name()) -> [elf_rel() | elf_rela()]. +-spec extract_rela(elf(), name()) -> [elf_rel()]. + +-ifdef(BIT32). extract_rela(Elf, Name) -> - SegName = - case is64bit() of - true -> ?RELA(Name); % ELF-64 uses ".rela" - false -> ?REL(Name) % ...while ELF-32 uses ".rel" - end, - Rela_bin = extract_segment_by_name(Elf, SegName), - get_rela_entries(Rela_bin, []). - -get_rela_entries(<<>>, Acc) -> - lists:reverse(Acc); -get_rela_entries(Bin, Acc) -> - E = case is64bit() of - true -> - <<%% Structural pattern matching on fields of a Rela Entry. - Offset:?bits(?R_OFFSET_SIZE)/integer-little, - Info:?bits(?R_INFO_SIZE)/integer-little, - Addend:?bits(?R_ADDEND_SIZE)/integer-little, - Rest/binary - >> = Bin, - mk_rela(Offset, Info, Addend); - false -> - <<%% Structural pattern matching on fields of a Rel Entry. - Offset:?bits(?R_OFFSET_SIZE)/integer-little, - Info:?bits(?R_INFO_SIZE)/integer-little, - Rest/binary - >> = Bin, - mk_rel(Offset, Info) - end, - get_rela_entries(Rest, [E | Acc]). - -%% %% @doc Extract the `EntryNum' (serial number) Relocation Entry. -%% get_rela_entry(Rela, EntryNum) -> -%% lists:nth(EntryNum + 1, Rela). + SecData = extract_segment_by_name(Elf, Name), + [#elf_rel{offset=Offset, symbol=elf_symbol(?ELF_R_SYM(Info), Elf), + type=decode_reloc_type(?ELF_R_TYPE(Info)), + addend=read_implicit_addend(Offset, SecData)} + || <<Offset:?bits(?R_OFFSET_SIZE)/little, + Info:?bits(?R_INFO_SIZE)/little % 386 uses ".rel" + >> <= extract_segment_by_name(Elf, ?REL(Name))]. + +%% The only types HiPE knows how to patch +decode_reloc_type(1) -> '32'; +decode_reloc_type(2) -> 'pc32'. + +read_implicit_addend(Offset, Section) -> + %% All x86 relocation types uses 'word32' relocation fields; i.e. 32-bit LE. + <<_:Offset/binary, Addend:32/signed-little, _/binary>> = Section, + Addend. + +-else. %% BIT32 +extract_rela(Elf, Name) -> + [#elf_rel{offset=Offset, symbol=elf_symbol(?ELF_R_SYM(Info), Elf), + type=decode_reloc_type(?ELF_R_TYPE(Info)), addend=Addend} + || <<Offset:?bits(?R_OFFSET_SIZE)/little, + Info:?bits(?R_INFO_SIZE)/little, + Addend:?bits(?R_ADDEND_SIZE)/signed-little % X86_64 uses ".rela" + >> <= extract_segment_by_name(Elf, ?RELA(Name))]. + +decode_reloc_type(1) -> '64'; +decode_reloc_type(2) -> 'pc32'; +decode_reloc_type(10) -> '32'. +-endif. %% BIT32 %%------------------------------------------------------------------------------ %% Functions to manipulate Executable Code segment @@ -615,19 +568,6 @@ get_gccexntab_callsites(CSTab, Acc) -> get_gccexntab_callsites(More, [GccCS | Acc]). %%------------------------------------------------------------------------------ -%% Functions to manipulate Read-only Data (.rodata) -%%------------------------------------------------------------------------------ -extract_rodata(Elf) -> - Rodata_bin = extract_segment_by_name(Elf, ?RODATA), - get_rodata_entries(Rodata_bin, []). - -get_rodata_entries(<<>>, Acc) -> - lists:reverse(Acc); -get_rodata_entries(Rodata_bin, Acc) -> - <<Num:?bits(?ELF_ADDR_SIZE)/integer-little, More/binary>> = Rodata_bin, - get_rodata_entries(More, [Num | Acc]). - -%%------------------------------------------------------------------------------ %% Helper functions %%------------------------------------------------------------------------------ @@ -647,107 +587,15 @@ get_binary_segment(Bin, Offset, Size) -> %% There are handy macros defined in elf_format.hrl for all Standard %% Section Names. -spec extract_segment_by_name(elf(), string()) -> binary(). -extract_segment_by_name(Elf, SectionName) -> - %% Extract Section Header Table and Section Header String Table from binary - SHdrTable = extract_shdrtab(Elf), - Names = extract_shstrtab(Elf), - %% Zip to a list of (Name,ShdrE) - [_Zero | ShdrEs] = lists:keysort(2, SHdrTable), % Skip first entry (zeros). - L = lists:zip(Names, ShdrEs), +extract_segment_by_name(#elf{file=ElfBin, sec_nam=SecNam}, SectionName) -> %% Find Section Header Table entry by name - case lists:keyfind(SectionName, 1, L) of - {SectionName, ShdrE} -> %% Note: Same name. - #elf_shdr{offset = Offset, size = Size} = ShdrE, - get_binary_segment(Elf, Offset, Size); - false -> %% Not found. + case SecNam of + #{SectionName := #elf_shdr{offset=Offset, size=Size}} -> + get_binary_segment(ElfBin, Offset, Size); + #{} -> %% Not found. <<>> end. -%% @doc Extracts a list of strings with (zero-separated) names from a binary. -%% Returns tuples of `{Name, Size}'. -%% XXX: Skip trailing 0. --spec get_names(<<_:8,_:_*8>>) -> name_sizes(). -get_names(<<0, Bin/binary>>) -> - NamesSizes = get_names(Bin, []), - fix_names(NamesSizes, []). - -get_names(<<>>, Acc) -> - lists:reverse(Acc); -get_names(Bin, Acc) -> - {Name, MoreNames} = bin_get_string(Bin), - get_names(MoreNames, [{Name, length(Name)} | Acc]). - -%% @doc Fix names: -%% e.g. If ".rela.text" exists, ".text" does not. Same goes for -%% ".rel.text". In that way, the Section Header String Table is more -%% compact. Add ".text" just *before* the corresponding rela-field, -%% etc. --spec fix_names(name_sizes(), name_sizes()) -> name_sizes(). -fix_names([], Acc) -> - lists:reverse(Acc); -fix_names([{Name, Size}=T | Names], Acc) -> - case is64bit() of - true -> - case string:str(Name, ".rela") =:= 1 of - true -> %% Name starts with ".rela": - Section = string:substr(Name, 6), - fix_names(Names, [{Section, Size - 5} - | [T | Acc]]); % XXX: Is order ok? (".text" - % always before ".rela.text") - false -> %% Name does not start with ".rela": - fix_names(Names, [T | Acc]) - end; - false -> - case string:str(Name, ".rel") =:= 1 of - true -> %% Name starts with ".rel": - Section = string:substr(Name, 5), - fix_names(Names, [{Section, Size - 4} - | [T | Acc]]); % XXX: Is order ok? (".text" - % always before ".rela.text") - false -> %% Name does not start with ".rel": - fix_names(Names, [T | Acc]) - end - end. - - -%% @doc A function that byte-reverses a binary. This might be needed because of -%% little (fucking!) endianess. --spec bin_reverse(binary()) -> binary(). -bin_reverse(Bin) when is_binary(Bin) -> - bin_reverse(Bin, <<>>). - --spec bin_reverse(binary(), binary()) -> binary(). -bin_reverse(<<>>, Acc) -> - Acc; -bin_reverse(<<Head, More/binary>>, Acc) -> - bin_reverse(More, <<Head, Acc/binary>>). - -%% @doc A function that extracts a null-terminated string from a binary. It -%% returns the found string along with the rest of the binary. --spec bin_get_string(binary()) -> {string(), binary()}. -bin_get_string(Bin) -> - bin_get_string(Bin, <<>>). - -bin_get_string(<<>>, BinAcc) -> - Bin = bin_reverse(BinAcc), % little endian! - {binary_to_list(Bin), <<>>}; -bin_get_string(<<0, MoreBin/binary>>, BinAcc) -> - Bin = bin_reverse(BinAcc), % little endian! - {binary_to_list(Bin), MoreBin}; -bin_get_string(<<Letter, Tail/binary>>, BinAcc) -> - bin_get_string(Tail, <<Letter, BinAcc/binary>>). - -%% @doc -make_offsets(NamesSizes) -> - {Names, Sizes} = lists:unzip(NamesSizes), - Offsets = make_offsets_from_sizes(Sizes, 1, []), - lists:zip(Names, Offsets). - -make_offsets_from_sizes([], _, Acc) -> - lists:reverse(Acc); -make_offsets_from_sizes([Size | Sizes], Cur, Acc) -> - make_offsets_from_sizes(Sizes, Size+Cur+1, [Cur | Acc]). % For the "."! - %% @doc Little-Endian Base 128 (LEB128) Decoder %% This function extracts the <b>first</b> LEB128-encoded integer in a %% binary and returns that integer along with the remaining binary. This is @@ -770,21 +618,3 @@ leb128_decode(LebNum, NoOfBits, Acc) -> <<Num:Size/integer>> = <<NextBundle:7/bits, Acc/bits>>, {Num, MoreLebNums} end. - -%% @doc Extract ELF Class from ELF header and export symbol to process -%% dictionary. --spec set_architecture_flag(elf()) -> 'ok'. -set_architecture_flag(Elf) -> - %% Extract information about ELF Class from ELF Header - <<16#7f, $E, $L, $F, EI_Class, _MoreHeader/binary>> - = get_binary_segment(Elf, 0, ?ELF_EHDR_SIZE), - put(elf_class, EI_Class), - ok. - -%% @doc Read from object file header if the file class is ELF32 or ELF64. --spec is64bit() -> boolean(). -is64bit() -> - case get(elf_class) of - ?ELFCLASS64 -> true; - ?ELFCLASS32 -> false - end. diff --git a/lib/hipe/llvm/elf_format.hrl b/lib/hipe/llvm/elf_format.hrl index 7a3cdfead6..57a36f0c3e 100644 --- a/lib/hipe/llvm/elf_format.hrl +++ b/lib/hipe/llvm/elf_format.hrl @@ -486,3 +486,43 @@ %% Misc. %%------------------------------------------------------------------------------ -define(bits(Bytes), ((Bytes) bsl 3)). + +%%------------------------------------------------------------------------------ +%% Exported record and type declarations for 'elf_format' module +%%------------------------------------------------------------------------------ + +%% Section header entries +-record(elf_shdr, + {name :: elf_format:name() % Section name + ,type :: elf_format:shdr_type() % Section type + ,flags :: elf_format:bitflags() % Section attributes + ,addr :: elf_format:offset() % Virtual address in memory + ,offset :: elf_format:offset() % Offset in file + ,size :: elf_format:size() % Size of section + ,link :: non_neg_integer() % Link to other section + ,info :: non_neg_integer() % Miscellaneous information + ,addralign :: elf_format:size() % Address align boundary + ,entsize :: elf_format:size() % Size of entries, if section has + % table + }). +-type elf_shdr() :: #elf_shdr{}. + +%% Symbol table entries +-record(elf_sym, + {name :: elf_format:name() % Symbol name + ,bind :: elf_format:sym_bind() % Symbol binding + ,type :: elf_format:sym_type() % Symbol type + ,value :: elf_format:valueoff() % Symbol value + ,size :: elf_format:size() % Size of object + ,section :: undefined | abs | elf_shdr() + }). +-type elf_sym() :: #elf_sym{}. + +%% Relocations +-record(elf_rel, + {offset :: elf_format:offset() + ,type :: elf_format:reloc_type() + ,addend :: elf_format:addend() + ,symbol :: elf_sym() + }). +-type elf_rel() :: #elf_rel{}. diff --git a/lib/hipe/llvm/hipe_llvm.erl b/lib/hipe/llvm/hipe_llvm.erl index 5e33731a2b..b22f8fb320 100644 --- a/lib/hipe/llvm/hipe_llvm.erl +++ b/lib/hipe/llvm/hipe_llvm.erl @@ -199,10 +199,9 @@ adj_stack_register/1, adj_stack_type/1, - mk_branch_meta/3, - branch_meta_id/1, - branch_meta_true_weight/1, - branch_meta_false_weight/1 + mk_meta/2, + meta_id/1, + meta_operands/1 ]). -export([ @@ -234,7 +233,7 @@ function_arg_type_list/1 ]). --export([pp_ins_list/2, pp_ins/2]). +-export([pp_ins_list/3, pp_ins/3]). %%----------------------------------------------------------------------------- @@ -343,8 +342,9 @@ -record(llvm_adj_stack, {offset, 'register', type}). -type llvm_adj_stack() :: #llvm_adj_stack{}. --record(llvm_branch_meta, {id, true_weight, false_weight}). --type llvm_branch_meta() :: #llvm_branch_meta{}. +-record(llvm_meta, {id :: string(), + operands :: [string() | integer() | llvm_meta()]}). +-type llvm_meta() :: #llvm_meta{}. %% A type for any LLVM instruction -type llvm_instr() :: llvm_ret() | llvm_br() | llvm_br_cond() @@ -357,7 +357,7 @@ | llvm_call() | llvm_fun_def() | llvm_fun_decl() | llvm_landingpad() | llvm_comment() | llvm_label() | llvm_const_decl() | llvm_asm() | llvm_adj_stack() - | llvm_branch_meta(). + | llvm_meta(). %% Types -record(llvm_void, {}). @@ -701,7 +701,7 @@ is_label(#llvm_comment{}) -> false; is_label(#llvm_const_decl{}) -> false; is_label(#llvm_asm{}) -> false; is_label(#llvm_adj_stack{}) -> false; -is_label(#llvm_branch_meta{}) -> false. +is_label(#llvm_meta{}) -> false. %% const_decl mk_const_decl(Dst, Decl_type, Type, Value) -> @@ -722,14 +722,11 @@ adj_stack_offset(#llvm_adj_stack{offset=Offset}) -> Offset. adj_stack_register(#llvm_adj_stack{'register'=Register}) -> Register. adj_stack_type(#llvm_adj_stack{type=Type}) -> Type. -%% branch meta-data -mk_branch_meta(Id, True_weight, False_weight) -> - #llvm_branch_meta{id=Id, true_weight=True_weight, false_weight=False_weight}. -branch_meta_id(#llvm_branch_meta{id=Id}) -> Id. -branch_meta_true_weight(#llvm_branch_meta{true_weight=True_weight}) -> - True_weight. -branch_meta_false_weight(#llvm_branch_meta{false_weight=False_weight}) -> - False_weight. +%% meta-data +mk_meta(Id, Operands) -> + #llvm_meta{id=Id, operands=Operands}. +meta_id(#llvm_meta{id=Id}) -> Id. +meta_operands(#llvm_meta{operands=Operands}) -> Operands. %% types mk_void() -> #llvm_void{}. @@ -765,13 +762,17 @@ function_arg_type_list(#llvm_fun{arg_type_list=Arg_type_list}) -> %% Pretty-printer Functions %%---------------------------------------------------------------------------- -%% @doc Pretty-print a list of LLVM instructions to a Device. -pp_ins_list(_Dev, []) -> ok; -pp_ins_list(Dev, [I|Is]) -> - pp_ins(Dev, I), - pp_ins_list(Dev, Is). +-type llvm_version() :: {Major :: integer(), Minor :: integer()}. -pp_ins(Dev, I) -> +%% @doc Pretty-print a list of LLVM instructions to a Device, using syntax +%% compatible with LLVM v. Major.Minor +-spec pp_ins_list(file:io_device(), llvm_version(), [llvm_instr()]) -> ok. +pp_ins_list(_Dev, _Ver, []) -> ok; +pp_ins_list(Dev, Ver={_,_}, [I|Is]) -> + pp_ins(Dev, Ver, I), + pp_ins_list(Dev, Ver, Is). + +pp_ins(Dev, Ver, I) -> case indent(I) of true -> write(Dev, " "); false -> ok @@ -861,7 +862,7 @@ pp_ins(Dev, I) -> true -> write(Dev, "volatile "); false -> ok end, - pp_type(Dev, load_p_type(I)), + pp_dereference_type(Dev, Ver, load_p_type(I)), write(Dev, [" ", load_pointer(I), " "]), case load_alignment(I) of [] -> ok; @@ -897,7 +898,7 @@ pp_ins(Dev, I) -> true -> write(Dev, "inbounds "); false -> ok end, - pp_type(Dev, getelementptr_p_type(I)), + pp_dereference_type(Dev, Ver, getelementptr_p_type(I)), write(Dev, [" ", getelementptr_value(I)]), pp_typed_idxs(Dev, getelementptr_typed_idxs(I)), write(Dev, "\n"); @@ -958,12 +959,16 @@ pp_ins(Dev, I) -> pp_args(Dev, fun_def_arglist(I)), write(Dev, ") "), pp_options(Dev, fun_def_fn_attrs(I)), + case Ver >= {3,7} of false -> ok; true -> + write(Dev, "personality i32 (i32, i64, i8*,i8*)* " + "@__gcc_personality_v0 ") + end, case fun_def_align(I) of [] -> ok; N -> write(Dev, ["align ", N]) end, write(Dev, "{\n"), - pp_ins_list(Dev, fun_def_body(I)), + pp_ins_list(Dev, Ver, fun_def_body(I)), write(Dev, "}\n"); #llvm_fun_decl{} -> write(Dev, "declare "), @@ -992,8 +997,12 @@ pp_ins(Dev, I) -> pp_type(Dev, const_decl_type(I)), write(Dev, [" ", const_decl_value(I), "\n"]); #llvm_landingpad{} -> - write(Dev, "landingpad { i8*, i32 } personality i32 (i32, i64, i8*,i8*)* - @__gcc_personality_v0 cleanup\n"); + write(Dev, "landingpad { i8*, i32 } "), + case Ver < {3,7} of false -> ok; true -> + write(Dev, "personality i32 (i32, i64, i8*,i8*)* " + "@__gcc_personality_v0 ") + end, + write(Dev, "cleanup\n"); #llvm_asm{} -> write(Dev, [asm_instruction(I), "\n"]); #llvm_adj_stack{} -> @@ -1001,14 +1010,37 @@ pp_ins(Dev, I) -> adj_stack_register(I), "\", \"r\"("]), pp_type(Dev, adj_stack_type(I)), write(Dev, [" ", adj_stack_offset(I),")\n"]); - #llvm_branch_meta{} -> - write(Dev, ["!", branch_meta_id(I), " = metadata !{metadata !\"branch_weights\", - i32 ", branch_meta_true_weight(I), ", i32 ", - branch_meta_false_weight(I), "}\n"]); + #llvm_meta{} -> + write(Dev, ["!", meta_id(I), " = "]), + Named = case string:to_integer(meta_id(I)) of + {_, ""} -> false; + _ -> true + end, + case Ver < {3,6} andalso not Named of + true -> write(Dev, "metadata !{metadata "); + false -> write(Dev, "!{ ") + end, + write(Dev, string:join([if is_list(Op) -> ["!\"", Op, "\""]; + is_integer(Op) -> ["i32 ", integer_to_list(Op)]; + is_record(Op, llvm_meta) -> + ["!", meta_id(Op)] + end || Op <- meta_operands(I)], ", ")), + write(Dev, " }\n"); Other -> exit({?MODULE, pp_ins, {"Unknown LLVM instruction", Other}}) end. +%% @doc Print the type of a dereference in an LLVM instruction using syntax +%% parsable by the specified LLVM version. +pp_dereference_type(Dev, Ver, Type) -> + case Ver >= {3,7} of + false -> ok; + true -> + pp_type(Dev, pointer_type(Type)), + write(Dev, ", ") + end, + pp_type(Dev, Type). + %% @doc Pretty-print a list of types pp_type_list(_Dev, []) -> ok; pp_type_list(Dev, [T]) -> @@ -1114,7 +1146,7 @@ indent(I) -> #llvm_fun_def{} -> false; #llvm_fun_decl{} -> false; #llvm_const_decl{} -> false; - #llvm_branch_meta{} -> false; + #llvm_meta{} -> false; _ -> true end. diff --git a/lib/hipe/llvm/hipe_llvm_main.erl b/lib/hipe/llvm/hipe_llvm_main.erl index 3c24425828..476d6fb49c 100644 --- a/lib/hipe/llvm/hipe_llvm_main.erl +++ b/lib/hipe/llvm/hipe_llvm_main.erl @@ -13,7 +13,7 @@ %% chain is invoked in order to produce an object file. rtl_to_native(MFA, RTL, Roots, Options) -> %% Compile to LLVM and get Instruction List (along with infos) - {LLVMCode, RelocsDict, ConstTab} = + {LLVMCode, RelocsDict0, ConstTab0} = hipe_rtl_to_llvm:translate(RTL, Roots), %% Fix function name to an acceptable LLVM identifier (needed for closures) {_Module, Fun, Arity} = hipe_rtl_to_llvm:fix_mfa_name(MFA), @@ -24,34 +24,33 @@ rtl_to_native(MFA, RTL, Roots, Options) -> %% Extract information from object file %% ObjBin = open_object_file(ObjectFile), - %% Read and set the ELF class - elf_format:set_architecture_flag(ObjBin), + Obj = elf_format:read(ObjBin), %% Get labels info (for switches and jump tables) - Labels = elf_format:get_rodata_relocs(ObjBin), - {Switches, Closures} = get_tables(ObjBin), + Labels = elf_format:extract_rela(Obj, ?RODATA), + Tables = get_tables(Obj), %% Associate Labels with Switches and Closures with stack args - {SwitchInfos, ExposedClosures} = - correlate_labels(Switches ++ Closures, Labels), + {SwitchInfos, ExposedClosures} = correlate_labels(Tables, Labels), %% SwitchInfos: [{"table_50", [Labels]}] %% ExposedClosures: [{"table_closures", [Labels]}] - + %% Labelmap contains the offsets of the labels in the code that are %% used for switch's jump tables - LabelMap = create_labelmap(MFA, SwitchInfos, RelocsDict), + LabelMap = create_labelmap(MFA, SwitchInfos, RelocsDict0), + {RelocsDict, ConstTab} = extract_constants(RelocsDict0, ConstTab0, Obj), %% Get relocation info - TextRelocs = elf_format:get_text_relocs(ObjBin), + TextRelocs = elf_format:extract_rela(Obj, ?TEXT), %% AccRefs contains the offsets of all references to relocatable symbols in %% the code: AccRefs = fix_relocations(TextRelocs, RelocsDict, MFA), %% Get stack descriptors - SDescs = get_sdescs(ObjBin), + SDescs = get_sdescs(Obj), %% FixedSDescs are the stack descriptors after correcting calls that have %% arguments in the stack FixedSDescs = fix_stack_descriptors(RelocsDict, AccRefs, SDescs, ExposedClosures), Refs = AccRefs ++ FixedSDescs, %% Get binary code from object file - BinCode = elf_format:extract_text(ObjBin), + BinCode = elf_format:extract_text(Obj), %% Remove temp files (if needed) ok = remove_temp_folder(Dir, Options), %% Return the code together with information that will be used in the @@ -78,7 +77,8 @@ compile_with_llvm(FunName, Arity, LLVMCode, Options, UseBuffer) -> false -> [] end, {ok, File_llvm} = file:open(Dir ++ Filename ++ ".ll", OpenOpts), - hipe_llvm:pp_ins_list(File_llvm, LLVMCode), + Ver = hipe:get_llvm_version(), %% Should probably cache this + hipe_llvm:pp_ins_list(File_llvm, Ver, LLVMCode), %% delayed_write can cause file:close not to do a close, hence the two calls ok = file:close(File_llvm), __ = file:close(File_llvm), @@ -158,12 +158,10 @@ trans_optlev_flag(Tool, Options) -> %%------------------------------------------------------------------------------ %% @doc Get switch table and closure table. +-spec get_tables(elf_format:elf()) -> [elf_sym()]. get_tables(Elf) -> - %% Search Symbol Table for an entry with name prefixed with "table_": - Triples = elf_format:get_tab_entries(Elf), - Switches = [T || T={"table_" ++ _, _, _} <- Triples], - Closures = [T || T={"table_closures" ++ _, _, _} <- Switches], - {Switches, Closures}. + %% Search Symbol Table for entries where name is prefixed with "table_": + [S || S=#elf_sym{name="table_" ++ _} <- elf_format:elf_symbols(Elf)]. %% @doc This function associates symbols who point to some table of labels with %% the corresponding offsets of the labels in the code. These tables can @@ -171,14 +169,12 @@ get_tables(Elf) -> %% of blocks that contain closure calls with more than ?NR_ARG_REGS. correlate_labels([], _L) -> {[], []}; correlate_labels(Tables, Labels) -> - %% Sort "Tables" based on "ValueOffsets" - OffsetSortedTb = lists:ukeysort(2, Tables), - %% Unzip offset-sorted list of "Switches" - {Names, _Offsets, TablesSizeList} = lists:unzip3(OffsetSortedTb), - %% Associate switch names with labels - L = split_list(Labels, TablesSizeList), - %% Zip back! (to [{SwitchName, Values}]) - NamesValues = lists:zip(Names, L), + %% Assumes that the relocations are sorted + RelocTree = gb_trees:from_orddict( + [{Rel#elf_rel.offset, Rel#elf_rel.addend} || Rel <- Labels]), + %% Lookup all relocations pertaining to each symbol + NamesValues = [{Name, lookup_range(Value, Value+Size, RelocTree)} + || #elf_sym{name=Name, value=Value, size=Size} <- Tables], case lists:keytake("table_closures", 1, NamesValues) of false -> %% No closures in the code, no closure table {NamesValues, []}; @@ -186,6 +182,17 @@ correlate_labels(Tables, Labels) -> {SwitchesNV, ClosureTableNV} end. +%% Fetches all values with a key in [Low, Hi) +-spec lookup_range(_::K, _::K, gb_trees:tree(K,V)) -> [_::V]. +lookup_range(Low, Hi, Tree) -> + lookup_range_1(Hi, gb_trees:iterator_from(Low, Tree)). + +lookup_range_1(Hi, Iter0) -> + case gb_trees:next(Iter0) of + {Key, Value, Iter} when Key < Hi -> [Value | lookup_range_1(Hi, Iter)]; + _ -> [] + end. + %% @doc Create a gb_tree which contains information about the labels that used %% for switch's jump tables. The keys of the gb_tree are of the form %% {MFA, Label} and the values are the actual Offsets. @@ -213,40 +220,80 @@ insert_to_labelmap([{Key, Value}|Rest], LabelMap) -> insert_to_labelmap(Rest, LabelMap) end. +%% Find any LLVM-generated constants and add them to the constant table +extract_constants(RelocsDict0, ConstTab0, Obj) -> + TextRelocs = elf_format:extract_rela(Obj, ?TEXT), + AnonConstSections = + lists:usort([{Sec, Offset} + || #elf_rel{symbol=#elf_sym{type=section, section=Sec}, + addend=Offset} <- TextRelocs]), + lists:foldl( + fun({#elf_shdr{name=Name, type=progbits, addralign=Align, entsize=EntSize, + size=Size} = Section, Offset}, {RelocsDict1, ConstTab1}) + when EntSize > 0, 0 =:= Size rem EntSize, 0 =:= Offset rem EntSize -> + SectionBin = elf_format:section_contents(Section, Obj), + Constant = binary:part(SectionBin, Offset, EntSize), + {ConstTab, ConstLbl} = + hipe_consttab:insert_binary_const(ConstTab1, Align, Constant), + {dict:store({anon, Name, Offset}, {constant, ConstLbl}, RelocsDict1), + ConstTab} + end, {RelocsDict0, ConstTab0}, AnonConstSections). + %% @doc Correlate object file relocation symbols with info from translation to %% llvm code. fix_relocations(Relocs, RelocsDict, MFA) -> - fix_relocs(Relocs, RelocsDict, MFA, []). - -fix_relocs([], _, _, RelocAcc) -> RelocAcc; -fix_relocs([{Name, Offset}|Rs], RelocsDict, {ModName,_,_}=MFA, RelocAcc) -> + lists:map(fun(Reloc) -> fix_reloc(Reloc, RelocsDict, MFA) end, Relocs). + +%% Relocation types and expected addends for x86 and amd64 +-define(PCREL_T, 'pc32'). +-define(PCREL_A, -4). %% Hard-coded in hipe_x86.c and hipe_amd64.c +-ifdef(BIT32). +-define(ABS_T, '32'). +-define(ABS_A, _). %% We support any addend +-else. +-define(ABS_T, '64'). +-define(ABS_A, 0). +-endif. + +fix_reloc(#elf_rel{symbol=#elf_sym{name=Name, section=undefined, type=notype}, + offset=Offset, type=?PCREL_T, addend=?PCREL_A}, + RelocsDict, {ModName,_,_}) when Name =/= "" -> case dict:fetch(Name, RelocsDict) of - {atom, AtomName} -> - fix_relocs(Rs, RelocsDict, MFA, - [{?LOAD_ATOM, Offset, AtomName}|RelocAcc]); - {constant, Label} -> - fix_relocs(Rs, RelocsDict, MFA, - [{?LOAD_ADDRESS, Offset, {constant, Label}}|RelocAcc]); - {switch, _, JTabLab} -> %% Treat switch exactly as constant - fix_relocs(Rs, RelocsDict, MFA, - [{?LOAD_ADDRESS, Offset, {constant, JTabLab}}|RelocAcc]); - {closure, _}=Closure -> - fix_relocs(Rs, RelocsDict, MFA, - [{?LOAD_ADDRESS, Offset, Closure}|RelocAcc]); - {call, {bif, BifName, _}} -> - fix_relocs(Rs, RelocsDict, MFA, - [{?CALL_LOCAL, Offset, BifName}|RelocAcc]); + {call, {bif, BifName, _}} -> {?CALL_LOCAL, Offset, BifName}; %% MFA calls to functions in the same module are of type 3, while all %% other MFA calls are of type 2. - {call, {ModName,_F,_A}=CallMFA} -> - fix_relocs(Rs, RelocsDict, MFA, - [{?CALL_LOCAL, Offset, CallMFA}|RelocAcc]); - {call, CallMFA} -> - fix_relocs(Rs, RelocsDict, MFA, - [{?CALL_REMOTE, Offset, CallMFA}|RelocAcc]); - Other -> - exit({?MODULE, fix_relocs, - {"Relocation not in relocation dictionary", Other}}) + %% XXX: Does this code break hot code loading (by transforming external + %% calls into local calls?) + {call, {ModName,_F,_A}=CallMFA} -> {?CALL_LOCAL, Offset, CallMFA}; + {call, CallMFA} -> {?CALL_REMOTE, Offset, CallMFA} + end; +fix_reloc(#elf_rel{symbol=#elf_sym{name=Name, section=undefined, type=notype}, + offset=Offset, type=?ABS_T, addend=?ABS_A}, + RelocsDict, _) when Name =/= "" -> + case dict:fetch(Name, RelocsDict) of + {atom, AtomName} -> {?LOAD_ATOM, Offset, AtomName}; + {constant, Label} -> {?LOAD_ADDRESS, Offset, {constant, Label}}; + {closure, _}=Closure -> {?LOAD_ADDRESS, Offset, Closure} + end; +fix_reloc(#elf_rel{symbol=#elf_sym{name=Name, section=#elf_shdr{name=?TEXT}, + type=func}, + offset=Offset, type=?PCREL_T, addend=?PCREL_A}, + RelocsDict, MFA) when Name =/= "" -> + case dict:fetch(Name, RelocsDict) of + {call, MFA} -> {?CALL_LOCAL, Offset, MFA} + end; +fix_reloc(#elf_rel{symbol=#elf_sym{name=Name, section=#elf_shdr{name=?RODATA}, + type=object}, + offset=Offset, type=?ABS_T, addend=?ABS_A}, + RelocsDict, _) when Name =/= "" -> + case dict:fetch(Name, RelocsDict) of + {switch, _, JTabLab} -> %% Treat switch exactly as constant + {?LOAD_ADDRESS, Offset, {constant, JTabLab}} + end; +fix_reloc(#elf_rel{symbol=#elf_sym{type=section, section=#elf_shdr{name=Name}}, + offset=Offset, type=?ABS_T, addend=Addend}, RelocsDict, _) -> + case dict:fetch({anon, Name, Addend}, RelocsDict) of + {constant, Label} -> {?LOAD_ADDRESS, Offset, {constant, Label}} end. %%------------------------------------------------------------------------------ @@ -271,20 +318,14 @@ get_sdescs(Elf) -> T = SPCount * ?SP_ADDR_SIZE, %% Pattern match fields of ".note.gc": <<SPCount:(?bits(?SP_COUNT_SIZE))/integer-little, % Sanity check! - SPAddrs:T/binary, % NOTE: In 64bit they are relocs! + _SPAddrs:T/binary, % NOTE: In 64bit they are relocs! StkFrameSize:(?bits(?SP_STKFRAME_SIZE))/integer-little, StkArity:(?bits(?SP_STKARITY_SIZE))/integer-little, _LiveRootCount:(?bits(?SP_LIVEROOTCNT_SIZE))/integer-little, % Skip Roots/binary>> = NoteGC_bin, LiveRoots = get_liveroots(Roots, []), - %% Extract information about the safe point addresses: - SPOffs = - case elf_format:is64bit() of - true -> %% Find offsets in ".rela.note.gc": - elf_format:get_rela_addends(RelaNoteGC); - false -> %% Find offsets in SPAddrs (in ".note.gc"): - get_spoffs(SPAddrs, []) - end, + %% Extract the safe point offsets: + SPOffs = [A || #elf_rel{addend=A} <- RelaNoteGC], %% Extract Exception Handler labels: ExnHandlers = elf_format:get_exn_handlers(Elf), %% Combine ExnHandlers and Safe point addresses (return addresses): @@ -300,13 +341,6 @@ get_liveroots(<<Root:?bits(?LR_STKINDEX_SIZE)/integer-little, MoreRoots/binary>>, Acc) -> get_liveroots(MoreRoots, [Root | Acc]). -%% @doc Extracts a bunch of integers (safepoint offsets) from a binary. Returns -%% a tuple as need for stack descriptors. -get_spoffs(<<>>, Acc) -> - lists:reverse(Acc); -get_spoffs(<<SPOff:?bits(?SP_ADDR_SIZE)/integer-little, More/binary>>, Acc) -> - get_spoffs(More, [SPOff | Acc]). - combine_ras_and_exns(_, [], Acc) -> lists:reverse(Acc); combine_ras_and_exns(ExnHandlers, [RA | MoreRAs], Acc) -> @@ -489,18 +523,3 @@ unique_folder(FunName, Arity, Options) -> dir_exists(Filename) -> {Flag, Info} = file:read_file_info(Filename), (Flag =:= ok) andalso (element(3, Info) =:= directory). - -%% @doc Function that takes as arguments a list of integers and a list with -%% numbers indicating how many items should each tuple have and splits -%% the original list to a list of lists of integers (with the specified -%% number of elements), i.e. [ [...], [...] ]. --spec split_list([integer()], [integer()]) -> [ [integer()] ]. -split_list(List, ElemsPerTuple) -> - split_list(List, ElemsPerTuple, []). - --spec split_list([integer()], [integer()], [ [integer()] ]) -> [ [integer()] ]. -split_list([], [], Acc) -> - lists:reverse(Acc); -split_list(List, [NumOfElems | MoreNums], Acc) -> - {L1, L2} = lists:split(NumOfElems, List), - split_list(L2, MoreNums, [ L1 | Acc]). diff --git a/lib/hipe/llvm/hipe_rtl_to_llvm.erl b/lib/hipe/llvm/hipe_rtl_to_llvm.erl index d7d8d1b049..66b2e10fb8 100644 --- a/lib/hipe/llvm/hipe_rtl_to_llvm.erl +++ b/lib/hipe/llvm/hipe_rtl_to_llvm.erl @@ -13,6 +13,8 @@ -define(WORD_WIDTH, (?bytes_to_bits(hipe_rtl_arch:word_size()))). -define(BRANCH_META_TAKEN, "0"). -define(BRANCH_META_NOT_TAKEN, "1"). +-define(FIRST_FREE_META_NO, 2). +-define(HIPE_LITERALS_META, "hipe.literals"). %%------------------------------------------------------------------------------ %% @doc Main function for translating an RTL function to LLVM Assembly. Takes as @@ -51,8 +53,9 @@ translate(RTL, Roots) -> translate_instr_list(Code1, [], Relocs, Data), %% Create LLVM code to declare relocation symbols as external symbols along %% with local variables in order to use them as just any other variable - {FinalRelocs, ExternalDecl, LocalVars} = + {FinalRelocs, ExternalDecl0, LocalVars} = handle_relocations(Relocs1, Data, Fun), + ExternalDecl = add_literals_metadata(ExternalDecl0), %% Pass on LLVM code in order to create Fail blocks and a landingpad %% instruction to each one LLVM_Code2 = add_landingpads(LLVM_Code1, FailLabels), @@ -266,17 +269,18 @@ trans_alub_overflow(I, Sign, Relocs) -> T2 = mk_temp(), %% T1{1}: Boolean variable indicating overflow I6 = hipe_llvm:mk_extractvalue(T2, ReturnType, T1, "1", []), - case hipe_rtl:alub_cond(I) of - Op when Op =:= overflow orelse Op =:= ltu -> - True_label = mk_jump_label(hipe_rtl:alub_true_label(I)), - False_label = mk_jump_label(hipe_rtl:alub_false_label(I)), - MetaData = branch_metadata(hipe_rtl:alub_pred(I)); - not_overflow -> - True_label = mk_jump_label(hipe_rtl:alub_false_label(I)), - False_label = mk_jump_label(hipe_rtl:alub_true_label(I)), - MetaData = branch_metadata(1 - hipe_rtl:alub_pred(I)) - end, - I7 = hipe_llvm:mk_br_cond(T2, True_label, False_label, MetaData), + {TrueLabel, FalseLabel, MetaData} = + case hipe_rtl:alub_cond(I) of + Op when Op =:= overflow orelse Op =:= ltu -> + {mk_jump_label(hipe_rtl:alub_true_label(I)), + mk_jump_label(hipe_rtl:alub_false_label(I)), + branch_metadata(hipe_rtl:alub_pred(I))}; + not_overflow -> + {mk_jump_label(hipe_rtl:alub_false_label(I)), + mk_jump_label(hipe_rtl:alub_true_label(I)), + branch_metadata(1 - hipe_rtl:alub_pred(I))} + end, + I7 = hipe_llvm:mk_br_cond(T2, TrueLabel, FalseLabel, MetaData), {[I7, I6, I5, I4, I3, I2, I1], NewRelocs}. trans_alub_op(I, Sign) -> @@ -1457,8 +1461,8 @@ handle_relocations(Relocs, Data, Fun) -> Relocs4 = dict:store("hipe_bifs.llvm_fix_pinned_regs.0", {call, {hipe_bifs, llvm_fix_pinned_regs, 0}}, Relocs3), BranchMetaData = [ - hipe_llvm:mk_branch_meta(?BRANCH_META_TAKEN, "99", "1") - , hipe_llvm:mk_branch_meta(?BRANCH_META_NOT_TAKEN, "1", "99") + hipe_llvm:mk_meta(?BRANCH_META_TAKEN, ["branch_weights", 99, 1]) + , hipe_llvm:mk_meta(?BRANCH_META_NOT_TAKEN, ["branch_weights", 1, 99]) ], ExternalDeclarations = AtomDecl ++ ClosureDecl ++ ConstDecl ++ FunDecl ++ ClosureLabelDecl ++ SwitchDecl ++ BranchMetaData, @@ -1611,3 +1615,16 @@ load_constant(Label) -> const_to_dict(Elem, Dict) -> Name = "DL" ++ integer_to_list(Elem), dict:store(Name, {'constant', Elem}, Dict). + +%% @doc Export the hipe literals that LLVM needs to generate the prologue as +%% metadata. +add_literals_metadata(ExternalDecls) -> + Pairs = [hipe_llvm:mk_meta(integer_to_list(?FIRST_FREE_META_NO), + ["P_NSP_LIMIT", ?P_NSP_LIMIT]) + ,hipe_llvm:mk_meta(integer_to_list(?FIRST_FREE_META_NO + 1), + ["X86_LEAF_WORDS", ?X86_LEAF_WORDS]) + ,hipe_llvm:mk_meta(integer_to_list(?FIRST_FREE_META_NO + 2), + ["AMD64_LEAF_WORDS", ?AMD64_LEAF_WORDS]) + ], + [hipe_llvm:mk_meta(?HIPE_LITERALS_META, Pairs) | + Pairs ++ ExternalDecls]. diff --git a/lib/hipe/main/Makefile b/lib/hipe/main/Makefile index 6b6cad3ed3..8ef31dbb46 100644 --- a/lib/hipe/main/Makefile +++ b/lib/hipe/main/Makefile @@ -70,7 +70,7 @@ APPUP_TARGET= $(EBIN)/$(APPUP_FILE) include ../native.mk -ERL_COMPILE_FLAGS += +nowarn_shadow_vars +warn_missing_spec +warn_untyped_record +ERL_COMPILE_FLAGS += -Werror +nowarn_shadow_vars +warn_export_vars +warn_missing_spec +warn_untyped_record # ---------------------------------------------------- # Targets diff --git a/lib/hipe/main/hipe.app.src b/lib/hipe/main/hipe.app.src index aa86b6dc5b..f8487151d7 100644 --- a/lib/hipe/main/hipe.app.src +++ b/lib/hipe/main/hipe.app.src @@ -88,6 +88,7 @@ hipe_icode2rtl, hipe_icode_bincomp, hipe_icode_callgraph, + hipe_icode_call_elim, hipe_icode_cfg, hipe_icode_coordinator, hipe_icode_ebb, diff --git a/lib/hipe/main/hipe.erl b/lib/hipe/main/hipe.erl index 0e32da1d36..6c525dd143 100644 --- a/lib/hipe/main/hipe.erl +++ b/lib/hipe/main/hipe.erl @@ -200,8 +200,9 @@ compile/4, compile_core/4, file/1, - file/2, - llvm_support_available/0, + file/2, + get_llvm_version/0, + llvm_support_available/0, load/1, help/0, help_hiper/0, @@ -448,16 +449,16 @@ compile(Name, File, Opts0) when is_atom(Name) -> true -> case filename:find_src(filename:rootname(File, ".beam")) of {error, _} -> - ?error_msg("Cannot find source code for ~p.",[File]), + ?error_msg("Cannot find source code for ~p.", [File]), ?EXIT({cant_find_source_code}); {Source, CompOpts} -> CoreOpts = [X || X = {core_transform, _} <- Opts], - %%io:format("Using: ~w\n", [CoreOpts]), + %% io:format("Using: ~w\n", [CoreOpts]), case compile:file(Source, CoreOpts ++ [to_core, binary|CompOpts]) of {ok, _, Core} -> compile_core(Name, Core, File, Opts); Error -> - ?error_msg("Error compiling ~p:\n~p.",[File, Error]), + ?error_msg("Error compiling ~p:\n~p.", [File, Error]), ?EXIT({cant_compile_source_code}) end end; @@ -469,7 +470,7 @@ compile(Name, File, Opts0) when is_atom(Name) -> {ok, _, Core} -> compile_core(Name, Core, File, Opts); Error -> - ?error_msg("Error compiling ~p:\n~p\n",[Source, Error]), + ?error_msg("Error compiling ~p:\n~p\n", [Source, Error]), ?EXIT({cant_compile_source_code, Error}) end; Other when Other =:= false; Other =:= undefined -> @@ -572,8 +573,7 @@ file(File, Options) when is_atom(File) -> disasm(File) -> case beam_disasm:file(File) of #beam_file{labeled_exports = LabeledExports, - compile_info = CompInfo, - code = BeamCode} -> + compile_info = CompInfo, code = BeamCode} -> CompOpts = proplists:get_value(options, CompInfo, []), HCompOpts = case lists:keyfind(hipe, 1, CompOpts) of {hipe, L} when is_list(L) -> L; @@ -596,16 +596,16 @@ fix_beam_exports([], Exports) -> Exports. get_beam_icode(Mod, {BeamCode, Exports}, File, Options) -> - ?option_time({ok, Icode} = - (catch {ok, hipe_beam_to_icode:module(BeamCode, Options)}), - "BEAM-to-Icode", Options), + {ok, Icode} = + ?option_time((catch {ok, hipe_beam_to_icode:module(BeamCode, Options)}), + "BEAM-to-Icode", Options), BeamBin = get_beam_code(File), {{Mod, Exports, Icode}, BeamBin}. get_core_icode(Mod, Core, File, Options) -> - ?option_time({ok, Icode} = - (catch {ok, cerl_to_icode:module(Core, Options)}), - "BEAM-to-Icode", Options), + {ok, Icode} = + ?option_time((catch {ok, cerl_to_icode:module(Core, Options)}), + "BEAM-to-Icode", Options), NeedBeamCode = not proplists:get_bool(load, Options), BeamBin = case NeedBeamCode of @@ -618,7 +618,7 @@ get_core_icode(Mod, Core, File, Options) -> get_beam_code(Bin) when is_binary(Bin) -> Bin; get_beam_code(FileName) -> case erl_prim_loader:get_file(FileName) of - {ok,Bin,_} -> + {ok, Bin, _} -> Bin; error -> ?EXIT(no_beam_file) @@ -1165,6 +1165,9 @@ option_text(caller_save_spill_restore) -> "Activates caller save register spills and restores"; option_text(debug) -> "Outputs internal debugging information during compilation"; +option_text(icode_call_elim) -> + "Performs call elimination of BIFs that are side-effect free\n" ++ + "only on some argument types"; option_text(icode_range) -> "Performs integer range analysis on the Icode level"; option_text(icode_ssa_check) -> @@ -1318,6 +1321,7 @@ opt_keys() -> get_called_modules, split_arith, split_arith_unsafe, + icode_call_elim, icode_inline_bifs, icode_ssa_check, icode_ssa_copy_prop, @@ -1399,7 +1403,7 @@ o1_opts(TargetArch) -> o2_opts(TargetArch) -> Common = [icode_ssa_const_prop, icode_ssa_copy_prop, % icode_ssa_struct_reuse, - icode_type, icode_inline_bifs, rtl_lcm, + icode_type, icode_inline_bifs, icode_call_elim, rtl_lcm, rtl_ssa, rtl_ssa_const_prop, spillmin_color, use_indexing, remove_comments, concurrent_comp, binary_opt | o1_opts(TargetArch)], @@ -1429,6 +1433,7 @@ opt_negations() -> {no_icode_inline_bifs, icode_inline_bifs}, {no_icode_range, icode_range}, {no_icode_split_arith, icode_split_arith}, + {no_icode_call_elim, icode_call_elim}, {no_icode_ssa_check, icode_ssa_check}, {no_icode_ssa_copy_prop, icode_ssa_copy_prop}, {no_icode_ssa_const_prop, icode_ssa_const_prop}, @@ -1479,18 +1484,25 @@ opt_expansions(TargetArch) -> [{o1, o1_opts(TargetArch)}, {o2, o2_opts(TargetArch)}, {o3, o3_opts(TargetArch)}, - {to_llvm, llvm_opts(o3)}, - {{to_llvm, o0}, llvm_opts(o0)}, - {{to_llvm, o1}, llvm_opts(o1)}, - {{to_llvm, o2}, llvm_opts(o2)}, - {{to_llvm, o3}, llvm_opts(o3)}, + {to_llvm, llvm_opts(o3, TargetArch)}, + {{to_llvm, o0}, llvm_opts(o0, TargetArch)}, + {{to_llvm, o1}, llvm_opts(o1, TargetArch)}, + {{to_llvm, o2}, llvm_opts(o2, TargetArch)}, + {{to_llvm, o3}, llvm_opts(o3, TargetArch)}, {x87, [x87, inline_fp]}, {inline_fp, case TargetArch of %% XXX: Temporary until x86 has sse2 x86 -> [x87, inline_fp]; _ -> [inline_fp] end}]. -llvm_opts(O) -> - [to_llvm, {llvm_opt, O}, {llvm_llc, O}]. +llvm_opts(O, TargetArch) -> + Base = [to_llvm, {llvm_opt, O}, {llvm_llc, O}], + case TargetArch of + %% A llvm bug present in 3.4 through (at least) 3.8 miscompiles x86 + %% functions that have floats are spilled to stack by clobbering the process + %% pointer (ebp) trying to realign the stack pointer. + x86 -> [no_inline_fp | Base]; + _ -> Base + end. %% This expands "basic" options, which may be tested early and cannot be %% in conflict with options found in the source code. @@ -1520,7 +1532,8 @@ expand_options(Opts, TargetArch) -> proplists:normalize(Opts, [{negations, opt_negations()}, {aliases, opt_aliases()}, {expand, opt_basic_expansions()}, - {expand, opt_expansions(TargetArch)}]). + {expand, opt_expansions(TargetArch)}, + {negations, opt_negations()}]). -spec check_options(comp_options()) -> 'ok'. @@ -1538,18 +1551,27 @@ check_options(Opts) -> -spec llvm_support_available() -> boolean(). llvm_support_available() -> - get_llvm_version() >= 3.4. + get_llvm_version() >= {3,4}. + +-type llvm_version() :: {Major :: integer(), Minor :: integer()}. +-spec get_llvm_version() -> llvm_version() | {0, 0}. get_llvm_version() -> OptStr = os:cmd("opt -version"), SubStr = "LLVM version ", N = length(SubStr), case string:str(OptStr, SubStr) of 0 -> % No opt available - 0.0; + {0, 0}; S -> - case string:to_float(string:sub_string(OptStr, S + N)) of - {error, _} -> 0.0; %XXX: Assumes no revision numbers in versioning - {Float, _} -> Float + case string:tokens(string:sub_string(OptStr, S + N), ".") of + [MajorS, MinorS | _] -> + case {string:to_integer(MajorS), string:to_integer(MinorS)} of + {{Major, ""}, {Minor, _}} + when is_integer(Major), is_integer(Minor) -> + {Major, Minor}; + _ -> {0, 0} + end; + _ -> {0, 0} %XXX: Assumes no revision numbers in versioning end end. diff --git a/lib/hipe/main/hipe.hrl.src b/lib/hipe/main/hipe.hrl.src index 3be824ac34..53b59f88f0 100644 --- a/lib/hipe/main/hipe.hrl.src +++ b/lib/hipe/main/hipe.hrl.src @@ -152,7 +152,7 @@ STMNT, ?untagged_msg(Msg ++ "~.2f s\n",[hipe_timing:stop_timer(Timer)/1000])). -else. --define(TIME_STMNT(STMNT,Msg,Timer),STMNT). +-define(TIME_STMNT(STMNT,Msg,Timer), STMNT). -endif. -define(start_timer(Text), hipe_timing:start(Text, ?MODULE)). @@ -162,22 +162,24 @@ -define(get_hipe_timer_val(Timer), get(Timer)). -define(set_hipe_timer_val(Timer, Val), put(Timer, Val)). -define(option_time(Stmnt, Text, Options), - if true -> ?when_option(time, Options, ?start_timer(Text)), - fun(R) -> - ?when_option(time, Options, ?stop_timer(Text)), - R - end(Stmnt)end). + begin + ?when_option(time, Options, ?start_timer(Text)), + fun(R) -> + ?when_option(time, Options, ?stop_timer(Text)), + R + end(Stmnt) + end). --define(option_start_time(Text,Options), +-define(option_start_time(Text, Options), ?when_option(time, Options, ?start_timer(Text))). --define(option_stop_time(Text,Options), +-define(option_stop_time(Text, Options), ?when_option(time, Options, ?stop_timer(Text))). -define(opt_start_timer(Text), - hipe_timing:start_optional_timer(Text,?MODULE)). + hipe_timing:start_optional_timer(Text, ?MODULE)). -define(opt_stop_timer(Text), - hipe_timing:stop_optional_timer(Text,?MODULE)). + hipe_timing:stop_optional_timer(Text, ?MODULE)). %% %% Turn on instrumentation of the compiler. @@ -187,15 +189,15 @@ -define(count_pre_ra_instructions(Options, NoInstrs), ?when_option(count_instrs, Options, put(pre_ra_instrs, - get(pre_ra_instrs)+ NoInstrs))). + get(pre_ra_instrs) + NoInstrs))). -define(count_post_ra_instructions(Options, NoInstrs), ?when_option(count_instrs, Options, put(post_ra_instrs, - get(post_ra_instrs)+ NoInstrs))). + get(post_ra_instrs) + NoInstrs))). -define(start_time_regalloc(Options), ?when_option(timeregalloc, Options, - put(regalloctime1,erlang:statistics(runtime)))). + put(regalloctime1, erlang:statistics(runtime)))). -define(stop_time_regalloc(Options), ?when_option(timeregalloc, Options, put(regalloctime, @@ -215,11 +217,11 @@ -define(count_pre_ra_temps(Options, NoTemps), ?when_option(count_temps, Options, put(pre_ra_temps, - get(pre_ra_temps)+ NoTemps))). + get(pre_ra_temps) + NoTemps))). -define(count_post_ra_temps(Options, NoTemps), ?when_option(count_temps, Options, put(post_ra_temps, - get(post_ra_temps)+ NoTemps))). + get(post_ra_temps) + NoTemps))). -define(inc_counter(Counter, Val), case get(Counter) of @@ -255,7 +257,7 @@ ?count_post_ra_instructions(Options, NoInstrs), ?cons_counter(counter_mem_temps, get(counter_mfa_mem_temps)), ?cons_counter(ra_all_iterations_counter, get(ra_iteration_counter)), - put(ra_iteration_counter,0), + put(ra_iteration_counter, 0), ?count_post_ra_temps(Options, NoTemps) end). @@ -264,12 +266,12 @@ put(spilledtemps, get(spilledtemps) + NoSpills))). -define(optional_start_timer(Timer, Options), - case lists:member(Timer, proplists:get_value(timers,Options++[{timers,[]}])) of + case lists:member(Timer, proplists:get_value(timers, Options++[{timers,[]}])) of true -> ?start_hipe_timer(Timer); false -> true end). -define(optional_stop_timer(Timer, Options), - case lists:member(Timer, proplists:get_value(timers,Options++[{timers,[]}])) of + case lists:member(Timer, proplists:get_value(timers, Options++[{timers,[]}])) of true -> ?stop_hipe_timer(Timer); false -> true end). @@ -316,4 +318,4 @@ 'unknown' | {'reg' | 'fp_reg' | 'spill', non_neg_integer()}}]. -type hipe_temp_map() :: tuple(). --type hipe_spill_map() :: [{non_neg_integer(), {'spill',non_neg_integer()}}]. +-type hipe_spill_map() :: [{non_neg_integer(), {'spill', non_neg_integer()}}]. diff --git a/lib/hipe/main/hipe_main.erl b/lib/hipe/main/hipe_main.erl index be5050e155..4b89feb48a 100644 --- a/lib/hipe/main/hipe_main.erl +++ b/lib/hipe/main/hipe_main.erl @@ -284,8 +284,9 @@ icode_ssa_type(IcodeSSA, MFA, Options, Servers) -> false -> AnnIcode1 end, AnnIcode3 = icode_range_analysis(AnnIcode2, MFA, Options, Servers), - pp(AnnIcode3, MFA, icode, pp_range_icode, Options, Servers), - hipe_icode_type:unannotate_cfg(AnnIcode3) + AnnIcode4 = icode_eliminate_safe_calls(AnnIcode3, Options), + pp(AnnIcode4, MFA, icode, pp_range_icode, Options, Servers), + hipe_icode_type:unannotate_cfg(AnnIcode4) end. icode_ssa_convert(IcodeCfg, Options) -> @@ -295,7 +296,7 @@ icode_ssa_convert(IcodeCfg, Options) -> icode_ssa_const_prop(IcodeSSA, Options) -> case proplists:get_bool(icode_ssa_const_prop, Options) of true -> - ?option_time(Tmp=hipe_icode_ssa_const_prop:propagate(IcodeSSA), + Tmp = ?option_time(hipe_icode_ssa_const_prop:propagate(IcodeSSA), "Icode SSA sparse conditional constant propagation", Options), ?option_time(hipe_icode_ssa:remove_dead_code(Tmp), "Icode SSA dead code elimination pass 1", Options); @@ -334,6 +335,15 @@ icode_range_analysis(IcodeSSA, MFA, Options, Servers) -> IcodeSSA end. +icode_eliminate_safe_calls(IcodeSSA, Options) -> + case proplists:get_bool(icode_call_elim, Options) of + true -> + ?option_time(hipe_icode_call_elim:cfg(IcodeSSA), + "Icode SSA safe call elimination", Options); + false -> + IcodeSSA + end. + icode_ssa_dead_code_elimination(IcodeSSA, Options) -> IcodeSSA1 = ?option_time(hipe_icode_ssa:remove_dead_code(IcodeSSA), "Icode SSA dead code elimination pass 2", diff --git a/lib/hipe/misc/Makefile b/lib/hipe/misc/Makefile index 60d2861c62..72cfff21a8 100644 --- a/lib/hipe/misc/Makefile +++ b/lib/hipe/misc/Makefile @@ -69,7 +69,7 @@ DOC_FILES= $(MODULES:%=$(DOCS)/%.html) include ../native.mk -ERL_COMPILE_FLAGS += +warn_exported_vars +warn_missing_spec +warn_untyped_record +ERL_COMPILE_FLAGS += -Werror +warn_export_vars +warn_missing_spec +warn_untyped_record # ---------------------------------------------------- # Targets diff --git a/lib/hipe/misc/hipe_consttab.erl b/lib/hipe/misc/hipe_consttab.erl index f361edc79c..226b20fa46 100644 --- a/lib/hipe/misc/hipe_consttab.erl +++ b/lib/hipe/misc/hipe_consttab.erl @@ -87,7 +87,8 @@ % {NewTab, Lbl} insert_sorted_block/4, insert_block/3, - %% insert_global_word/2, + insert_binary_const/3, + %% insert_global_word/2, %% insert_global_block/4, %% update_word/3, % update_word(ConstTab, Value) -> {NewTab, Lbl} %% update_block/5, @@ -196,6 +197,16 @@ insert_block({ConstTab, RefToLabels, NextLabel}, ElementType, InitList) -> {ElementType,InitList}), {insert_backrefs(NewTa, Id, ReferredLabels), Id}. +%% @doc Inserts a binary constant literal into the const table. +-spec insert_binary_const(hipe_consttab(), ct_alignment(), binary()) -> + {hipe_consttab(), hipe_constlbl()}. +insert_binary_const(ConstTab, Alignment, Binary) + when (Alignment =:= 4 orelse Alignment =:= 8 orelse Alignment =:= 16 + orelse Alignment =:= 32), is_binary(Binary), + size(Binary) rem Alignment =:= 0 -> + insert_const(ConstTab, block, Alignment, false, + {byte, binary_to_list(Binary)}). + %% @spec (ConstTab::hipe_consttab(), ElementType::element_type(), %% InitList::block(), SortOrder) -> {hipe_consttab(), hipe_constlbl()} diff --git a/lib/hipe/misc/hipe_consttab.hrl b/lib/hipe/misc/hipe_consttab.hrl index d2dbbe509c..550da0455c 100644 --- a/lib/hipe/misc/hipe_consttab.hrl +++ b/lib/hipe/misc/hipe_consttab.hrl @@ -20,7 +20,7 @@ %% %%----------------------------------------------------------------------------- --type ct_alignment() :: 4 | 8. +-type ct_alignment() :: 4 | 8 | 16 | 32. -type hipe_constlbl() :: non_neg_integer(). -type hipe_consttab() :: {dict:dict(), [hipe_constlbl()], hipe_constlbl()}. diff --git a/lib/hipe/opt/Makefile b/lib/hipe/opt/Makefile index ec0d01b42e..684d6f45b4 100644 --- a/lib/hipe/opt/Makefile +++ b/lib/hipe/opt/Makefile @@ -64,7 +64,7 @@ DOC_FILES= $(MODULES:%=$(DOCS)/%.html) include ../native.mk -ERL_COMPILE_FLAGS += +warn_exported_vars +warn_missing_spec # +warn_untyped_record +ERL_COMPILE_FLAGS += -Werror +warn_export_vars +warn_missing_spec # +warn_untyped_record # ---------------------------------------------------- # Targets diff --git a/lib/hipe/ppc/Makefile b/lib/hipe/ppc/Makefile index 576c089f15..1901dfa671 100644 --- a/lib/hipe/ppc/Makefile +++ b/lib/hipe/ppc/Makefile @@ -76,7 +76,7 @@ DOC_FILES= $(MODULES:%=$(DOCS)/%.html) include ../native.mk -ERL_COMPILE_FLAGS += +warn_exported_vars +ERL_COMPILE_FLAGS += -Werror +warn_export_vars # ---------------------------------------------------- # Targets diff --git a/lib/hipe/regalloc/Makefile b/lib/hipe/regalloc/Makefile index 2b94f5ecfe..aaa4418f37 100644 --- a/lib/hipe/regalloc/Makefile +++ b/lib/hipe/regalloc/Makefile @@ -77,7 +77,7 @@ DOC_FILES= $(MODULES:%=$(DOCS)/%.html) include ../native.mk -ERL_COMPILE_FLAGS += +warn_exported_vars# +warn_missing_spec +warn_untyped_record +ERL_COMPILE_FLAGS += -Werror +warn_export_vars #+warn_missing_spec +warn_untyped_record # ---------------------------------------------------- # Targets diff --git a/lib/hipe/rtl/Makefile b/lib/hipe/rtl/Makefile index e0ff225a25..b4cdf8b1f2 100644 --- a/lib/hipe/rtl/Makefile +++ b/lib/hipe/rtl/Makefile @@ -75,7 +75,7 @@ TARGET_FILES= $(MODULES:%=$(EBIN)/%.$(EMULATOR)) include ../native.mk -ERL_COMPILE_FLAGS += -Werror +inline +warn_unused_import +warn_exported_vars +ERL_COMPILE_FLAGS += -Werror +inline +warn_unused_import +warn_export_vars # ---------------------------------------------------- # Targets diff --git a/lib/hipe/rtl/hipe_rtl.erl b/lib/hipe/rtl/hipe_rtl.erl index 1d627ed024..0726827299 100644 --- a/lib/hipe/rtl/hipe_rtl.erl +++ b/lib/hipe/rtl/hipe_rtl.erl @@ -366,7 +366,7 @@ -export([subst_uses_llvm/2]). --export_type([alub_cond/0]). +-export_type([alub_cond/0, rtl/0]). %% %% RTL @@ -384,6 +384,7 @@ label_range, %% {Min,Max} First and last name used for labels info=[] %% A keylist with arbitrary information. }). +-opaque rtl() :: #rtl{}. mk_rtl(Fun, ArgList, Closure, Leaf, Code, Data, VarRange, LabelRange) -> #rtl{'fun'=Fun, arglist=ArgList, code=Code, @@ -414,7 +415,9 @@ rtl_info_update(Rtl, Info) -> Rtl#rtl{info=Info}. %% move %% -mk_move(Dst, Src) -> false = is_fpreg(Dst), false = is_fpreg(Src), #move{dst=Dst, src=Src}. +mk_move(Dst, Src) -> + false = is_fpreg(Dst), false = is_fpreg(Src), + #move{dst=Dst, src=Src}. move_dst(#move{dst=Dst}) -> Dst. move_dst_update(M, NewDst) -> false = is_fpreg(NewDst), M#move{dst=NewDst}. move_src(#move{src=Src}) -> Src. diff --git a/lib/hipe/rtl/hipe_rtl_arith.inc b/lib/hipe/rtl/hipe_rtl_arith.inc index 645bc83f9f..0c396c8e76 100644 --- a/lib/hipe/rtl/hipe_rtl_arith.inc +++ b/lib/hipe/rtl/hipe_rtl_arith.inc @@ -47,73 +47,80 @@ eval_alu(Op, Arg1, Arg2) Res = (Arg1 - Arg2) band ?WORDMASK, N = sign_bit(Res), Z = zero(Res), - V = (Sign1 and (not Sign2) and (not N)) + V = (Sign1 andalso (not Sign2) andalso (not N)) or - ((not Sign1) and Sign2 and N), - C = ((not Sign1) and Sign2) + ((not Sign1) andalso Sign2 andalso N), + C = ((not Sign1) andalso Sign2) or - (N and ((not Sign1) or Sign2)); + (N andalso ((not Sign1) orelse Sign2)), + {Res, N, Z, V, C}; 'add' -> Res = (Arg1 + Arg2) band ?WORDMASK, N = sign_bit(Res), Z = zero(Res), - V = (Sign1 and Sign2 and (not N)) + V = (Sign1 andalso Sign2 andalso (not N)) or - ((not Sign1) and (not Sign2) and N), - C = (Sign1 and Sign2) + ((not Sign1) andalso (not Sign2) andalso N), + C = (Sign1 andalso Sign2) or - ((not N) and (Sign1 or Sign2)); + ((not N) andalso (Sign1 orelse Sign2)), + {Res, N, Z, V, C}; 'mul' -> FullRes = Arg1 * Arg2, Res = FullRes band ?WORDMASK, ResHi = FullRes bsr ?BITS, N = sign_bit(Res), Z = zero(Res), - V = (N and (ResHi =/= -1)) or ((not N) and (ResHi =/= 0)), - C = V; + V = (N andalso (ResHi =/= -1)) orelse ((not N) andalso (ResHi =/= 0)), + C = V, + {Res, N, Z, V, C}; 'sra' -> Res = (Arg1 bsr Arg2) band ?WORDMASK, N = sign_bit(Res), Z = zero(Res), V = 0, - C = 0; + C = 0, + {Res, N, Z, V, C}; 'srl' -> Res = (Arg1 bsr Arg2) band shiftmask(Arg2), N = sign_bit(Res), Z = zero(Res), V = 0, - C = 0; + C = 0, + {Res, N, Z, V, C}; 'sll' -> Res = (Arg1 bsl Arg2) band ?WORDMASK, N = sign_bit(Res), Z = zero(Res), V = 0, - C = 0; + C = 0, + {Res, N, Z, V, C}; 'or' -> Res = (Arg1 bor Arg2) band ?WORDMASK, N = sign_bit(Res), Z = zero(Res), V = 0, - C = 0; + C = 0, + {Res, N, Z, V, C}; 'and' -> Res = (Arg1 band Arg2) band ?WORDMASK, N = sign_bit(Res), Z = zero(Res), V = 0, - C = 0; + C = 0, + {Res, N, Z, V, C}; 'xor' -> Res = (Arg1 bxor Arg2) band ?WORDMASK, N = sign_bit(Res), Z = zero(Res), V = 0, - C = 0; + C = 0, + {Res, N, Z, V, C}; Op -> - Res = N = Z = V = C = 0, ?EXIT({"unknown alu op", Op}) - end, - {Res, N, Z, V, C}; + end; eval_alu(Op, Arg1, Arg2) -> - ?EXIT({argument_overflow,Op,Arg1,Arg2}). + ?EXIT({argument_overflow, Op, Arg1, Arg2}). %% Björn & Bjarni: %% We need to be able to do evaluations based only on the bits, since @@ -130,9 +137,9 @@ eval_cond_bits(Cond, N, Z, V, C) -> 'ne' -> not Z; 'gt' -> - not (Z or (N xor V)); + not (Z orelse (N xor V)); 'gtu' -> - not (C or Z); + not (C orelse Z); 'ge' -> not (N xor V); 'geu'-> @@ -142,9 +149,9 @@ eval_cond_bits(Cond, N, Z, V, C) -> 'ltu'-> C; 'le' -> - Z or (N xor V); + Z orelse (N xor V); 'leu'-> - C or Z; + C orelse Z; 'overflow' -> V; 'not_overflow' -> diff --git a/lib/hipe/rtl/hipe_rtl_binary_construct.erl b/lib/hipe/rtl/hipe_rtl_binary_construct.erl index 4403aa552f..367d76b24d 100644 --- a/lib/hipe/rtl/hipe_rtl_binary_construct.erl +++ b/lib/hipe/rtl/hipe_rtl_binary_construct.erl @@ -2,7 +2,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2007-2015. All Rights Reserved. +%% Copyright Ericsson AB 2007-2016. 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. @@ -19,25 +19,21 @@ %% %CopyrightEnd% %% %% ==================================================================== -%% Module : hipe_rtl_inline_bs_ops +%% Module : hipe_rtl_binary_construct %% Purpose : %% Notes : -%% History : * 2001-06-14 Erik Johansson ([email protected]): Created. +%% History : Written mostly by Per Gustafsson %% ==================================================================== %% Exports : %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -module(hipe_rtl_binary_construct). + -export([gen_rtl/7]). --import(hipe_tagscheme, [set_field_from_term/3, - get_field_from_term/3, - set_field_from_pointer/3, - get_field_from_pointer/3]). - --import(hipe_rtl_binary, [floorlog2/1, - get_word_integer/4, - make_size/4]). + +-import(hipe_rtl_binary, [get_word_integer/4]). + %%------------------------------------------------------------------------- -include("../main/hipe.hrl"). @@ -50,7 +46,6 @@ -define(BYTE_SIZE, 8). -define(MAX_BINSIZE, ((1 bsl ((hipe_rtl_arch:word_size()*?BYTE_SIZE)-3)) - 1)). - %% ------------------------------------------------------------------------- %% The code is generated as a list of lists, it will be flattened later. %% @@ -61,12 +56,12 @@ gen_rtl(BsOP, Dst, Args, TrueLblName, FalseLblName, SystemLimitLblName, ConstTab {bs_put_string, String, SizeInBytes} -> [NewOffset] = get_real(Dst), [Base, Offset] = Args, - put_string(NewOffset, ConstTab, String, SizeInBytes, Base, Offset, + put_string(NewOffset, ConstTab, String, SizeInBytes, Base, Offset, TrueLblName); - _ -> - Code = + _ -> + Code = case BsOP of - {bs_init, Size, _Flags} -> + {bs_init, Size, _Flags} -> [] = Args, [Dst0, Base, Offset] = Dst, case is_illegal_const(Size bsl 3) of @@ -75,14 +70,14 @@ gen_rtl(BsOP, Dst, Args, TrueLblName, FalseLblName, SystemLimitLblName, ConstTab false -> const_init2(Size, Dst0, Base, Offset, TrueLblName) end; - - {bs_init, _Flags} -> + + {bs_init, _Flags} -> [Size] = Args, [Dst0, Base, Offset] = Dst, - var_init2(Size, Dst0, Base, Offset, TrueLblName, + var_init2(Size, Dst0, Base, Offset, TrueLblName, SystemLimitLblName, FalseLblName); - {bs_init_bits, Size, _Flags} -> + {bs_init_bits, Size, _Flags} -> [] = Args, [Dst0, Base, Offset] = Dst, case is_illegal_const(Size) of @@ -91,19 +86,19 @@ gen_rtl(BsOP, Dst, Args, TrueLblName, FalseLblName, SystemLimitLblName, ConstTab false -> const_init_bits(Size, Dst0, Base, Offset, TrueLblName) end; - - {bs_init_bits, _Flags} -> + + {bs_init_bits, _Flags} -> [Size] = Args, [Dst0, Base, Offset] = Dst, - var_init_bits(Size, Dst0, Base, Offset, TrueLblName, + var_init_bits(Size, Dst0, Base, Offset, TrueLblName, SystemLimitLblName, FalseLblName); - + {bs_put_binary_all, Unit, _Flags} -> [Src, Base, Offset] = Args, [NewOffset] = get_real(Dst), put_binary_all(NewOffset, Src, Base, Offset, Unit, TrueLblName, FalseLblName); - + {bs_put_binary, Size, _Flags} -> case is_illegal_const(Size) of true -> @@ -112,19 +107,19 @@ gen_rtl(BsOP, Dst, Args, TrueLblName, FalseLblName, SystemLimitLblName, ConstTab [NewOffset] = get_real(Dst), case Args of [Src, Base, Offset] -> - put_static_binary(NewOffset, Src, Size, Base, Offset, + put_static_binary(NewOffset, Src, Size, Base, Offset, TrueLblName, FalseLblName); [Src, Bits, Base, Offset] -> - {SizeCode, SizeReg} = make_size(Size, Bits, - SystemLimitLblName, - FalseLblName), - InCode = put_dynamic_binary(NewOffset, Src, SizeReg, Base, + {SizeCode, SizeReg} = + hipe_rtl_binary:make_size(Size, Bits, SystemLimitLblName, + FalseLblName), + InCode = put_dynamic_binary(NewOffset, Src, SizeReg, Base, Offset, TrueLblName, FalseLblName), SizeCode ++ InCode end end; - - {bs_put_float, Size, Flags, ConstInfo} -> + + {bs_put_float, Size, Flags, ConstInfo} -> [NewOffset] = get_real(Dst), Aligned = aligned(Flags), LittleEndian = littleendian(Flags), @@ -134,106 +129,108 @@ gen_rtl(BsOP, Dst, Args, TrueLblName, FalseLblName, SystemLimitLblName, ConstTab false -> case Args of [Src, Base, Offset] -> - CCode = static_float_c_code(NewOffset, Src, Base, Offset, Size, Flags, + CCode = static_float_c_code(NewOffset, Src, Base, Offset, Size, Flags, TrueLblName, FalseLblName), - put_float(NewOffset, Src, Base, Offset, Size, CCode, Aligned, + put_float(NewOffset, Src, Base, Offset, Size, CCode, Aligned, LittleEndian, ConstInfo, TrueLblName); [Src, Bits, Base, Offset] -> - {SizeCode, SizeReg} = make_size(Size, Bits, - SystemLimitLblName, - FalseLblName), - InCode = float_c_code(NewOffset, Src, Base, Offset, SizeReg, + {SizeCode, SizeReg} = + hipe_rtl_binary:make_size(Size, Bits, SystemLimitLblName, + FalseLblName), + InCode = float_c_code(NewOffset, Src, Base, Offset, SizeReg, Flags, TrueLblName, FalseLblName), SizeCode ++ InCode end end; - {bs_put_integer, Size, Flags, ConstInfo} -> - Aligned = aligned(Flags), + {bs_put_integer, Size, Flags, ConstInfo} -> + Aligned = aligned(Flags), LittleEndian = littleendian(Flags), [NewOffset] = get_real(Dst), case is_illegal_const(Size) of true -> [hipe_rtl:mk_goto(FalseLblName)]; false -> - case ConstInfo of + case ConstInfo of fail -> [hipe_rtl:mk_goto(FalseLblName)]; - _ -> - case Args of - [Src, Base, Offset] -> + _ -> + case Args of + [Src, Base, Offset] -> CCode = static_int_c_code(NewOffset, Src, - Base, Offset, Size, - Flags, TrueLblName, + Base, Offset, Size, + Flags, TrueLblName, FalseLblName), - put_static_int(NewOffset, Src, Base, Offset, Size, - CCode, Aligned, LittleEndian, TrueLblName); - [Src, Bits, Base, Offset] -> - {SizeCode, SizeReg} = make_size(Size, Bits, + put_static_int(NewOffset, Src, Base, Offset, Size, + CCode, Aligned, LittleEndian, TrueLblName); + [Src, Bits, Base, Offset] -> + {SizeCode, SizeReg} = + hipe_rtl_binary:make_size(Size, Bits, SystemLimitLblName, FalseLblName), CCode = int_c_code(NewOffset, Src, Base, - Offset, SizeReg, Flags, - TrueLblName, FalseLblName), + Offset, SizeReg, Flags, + TrueLblName, FalseLblName), InCode = - put_dynamic_int(NewOffset, Src, Base, Offset, + put_dynamic_int(NewOffset, Src, Base, Offset, SizeReg, CCode, Aligned, - LittleEndian, TrueLblName), - SizeCode ++ InCode - end - end + LittleEndian, TrueLblName), + SizeCode ++ InCode + end + end end; - - {unsafe_bs_put_integer, 0, _Flags, _ConstInfo} -> - [NewOffset] = get_real(Dst), + + {unsafe_bs_put_integer, 0, _Flags, _ConstInfo} -> + [NewOffset] = get_real(Dst), case Args of [_Src, _Base, Offset] -> [hipe_rtl:mk_move(NewOffset,Offset), - hipe_rtl:mk_goto(TrueLblName)]; - [_Src, _Bits, _Base, Offset] -> + hipe_rtl:mk_goto(TrueLblName)]; + [_Src, _Bits, _Base, Offset] -> [hipe_rtl:mk_move(NewOffset,Offset), - hipe_rtl:mk_goto(TrueLblName)] - end; - - {unsafe_bs_put_integer, Size, Flags, ConstInfo} -> + hipe_rtl:mk_goto(TrueLblName)] + end; + + {unsafe_bs_put_integer, Size, Flags, ConstInfo} -> case is_illegal_const(Size) of true -> [hipe_rtl:mk_goto(FalseLblName)]; false -> Aligned = aligned(Flags), - LittleEndian = littleendian(Flags), - [NewOffset] = get_real(Dst), - case ConstInfo of + LittleEndian = littleendian(Flags), + [NewOffset] = get_real(Dst), + case ConstInfo of fail -> - [hipe_rtl:mk_goto(FalseLblName)]; - _ -> - case Args of - [Src, Base, Offset] -> + [hipe_rtl:mk_goto(FalseLblName)]; + _ -> + case Args of + [Src, Base, Offset] -> CCode = static_int_c_code(NewOffset, Src, - Base, Offset, Size, - Flags, TrueLblName, + Base, Offset, Size, + Flags, TrueLblName, FalseLblName), - put_unsafe_static_int(NewOffset, Src, Base, + put_unsafe_static_int(NewOffset, Src, Base, Offset, Size, - CCode, Aligned, LittleEndian, - TrueLblName); - [Src, Bits, Base, Offset] -> - {SizeCode, SizeReg} = make_size(Size, Bits, - SystemLimitLblName, - FalseLblName), + CCode, Aligned, LittleEndian, + TrueLblName); + [Src, Bits, Base, Offset] -> + {SizeCode, SizeReg} = + hipe_rtl_binary:make_size(Size, Bits, + SystemLimitLblName, + FalseLblName), CCode = int_c_code(NewOffset, Src, Base, - Offset, SizeReg, Flags, - TrueLblName, FalseLblName), + Offset, SizeReg, Flags, + TrueLblName, FalseLblName), InCode = - put_unsafe_dynamic_int(NewOffset, Src, Base, - Offset, SizeReg, CCode, - Aligned, LittleEndian, + put_unsafe_dynamic_int(NewOffset, Src, Base, + Offset, SizeReg, CCode, + Aligned, LittleEndian, TrueLblName), - SizeCode ++ InCode - end + SizeCode ++ InCode + end end - end; - + end; + bs_utf8_size -> case Dst of [_DstVar] -> @@ -276,13 +273,13 @@ gen_rtl(BsOP, Dst, Args, TrueLblName, FalseLblName, SystemLimitLblName, ConstTab [hipe_rtl:mk_call([], bs_validate_unicode, Args, TrueLblName, FalseLblName, not_remote)]; - bs_final -> + bs_final -> Zero = hipe_rtl:mk_imm(0), - [Src, Offset] = Args, + [Src, Offset] = Args, [BitSize, ByteSize] = create_regs(2), [ShortLbl, LongLbl] = create_lbls(2), - case Dst of - [DstVar] -> + case Dst of + [DstVar] -> [hipe_rtl:mk_alub(BitSize, Offset, 'and', ?LOW_BITS, eq, hipe_rtl:label_name(ShortLbl), hipe_rtl:label_name(LongLbl)), ShortLbl, @@ -292,11 +289,11 @@ gen_rtl(BsOP, Dst, Args, TrueLblName, FalseLblName, SystemLimitLblName, ConstTab hipe_rtl:mk_alu(ByteSize, Offset, 'srl', ?BYTE_SHIFT), hipe_tagscheme:mk_sub_binary(DstVar, ByteSize, Zero, BitSize, Zero, Src), - hipe_rtl:mk_goto(TrueLblName)]; + hipe_rtl:mk_goto(TrueLblName)]; [] -> - [hipe_rtl:mk_goto(TrueLblName)] - end; - + [hipe_rtl:mk_goto(TrueLblName)] + end; + bs_init_writable -> Zero = hipe_rtl:mk_imm(0), [Size] = Args, @@ -306,29 +303,29 @@ gen_rtl(BsOP, Dst, Args, TrueLblName, FalseLblName, SystemLimitLblName, ConstTab [hipe_rtl:mk_gctest(?PROC_BIN_WORDSIZE + ?SUB_BIN_WORDSIZE), get_word_integer(Size, SizeReg, SystemLimitLblName, FalseLblName), allocate_writable(DstVar, Base, SizeReg, Zero, Zero), - hipe_rtl:mk_goto(TrueLblName)]; - + hipe_rtl:mk_goto(TrueLblName)]; + {bs_private_append, _U, _F} -> - [Size, Bin] = Args, + [Size, Bin] = Args, [DstVar, Base, Offset] = Dst, [ProcBin] = create_vars(1), [SubSize, SizeReg, EndSubSize, EndSubBitSize] = create_regs(4), SubBinSize = {sub_binary, binsize}, - [get_field_from_term({sub_binary, orig}, Bin, ProcBin), - get_field_from_term(SubBinSize, Bin, SubSize), + [hipe_tagscheme:get_field_from_term({sub_binary, orig}, Bin, ProcBin), + hipe_tagscheme:get_field_from_term(SubBinSize, Bin, SubSize), get_word_integer(Size, SizeReg, SystemLimitLblName, FalseLblName), realloc_binary(SizeReg, ProcBin, Base), calculate_sizes(Bin, SizeReg, Offset, EndSubSize, EndSubBitSize), - set_field_from_term(SubBinSize, Bin, EndSubSize), - set_field_from_term({sub_binary, bitsize}, Bin, EndSubBitSize), + hipe_tagscheme:set_field_from_term(SubBinSize, Bin, EndSubSize), + hipe_tagscheme:set_field_from_term({sub_binary, bitsize}, Bin, EndSubBitSize), hipe_rtl:mk_move(DstVar, Bin), hipe_rtl:mk_goto(TrueLblName)]; {bs_append, _U, _F, Unit, _Bla} -> - [Size, Bin] = Args, - [DstVar, Base, Offset] = Dst, + [Size, Bin] = Args, + [DstVar, Base, Offset] = Dst, [ProcBin] = create_vars(1), - [Flags, SizeReg, IsWritable, EndSubSize, EndSubBitSize] = + [Flags, SizeReg, IsWritable, EndSubSize, EndSubBitSize] = create_regs(5), [ContLbl,ContLbl2,ContLbl3,ContLbl4,WritableLbl,NotWritableLbl] = Lbls = create_lbls(6), @@ -339,24 +336,24 @@ gen_rtl(BsOP, Dst, Args, TrueLblName, FalseLblName, SystemLimitLblName, ConstTab SubIsWritable = {sub_binary, is_writable}, [hipe_rtl:mk_gctest(?SUB_BIN_WORDSIZE + ?PROC_BIN_WORDSIZE), get_word_integer(Size, SizeReg, SystemLimitLblName, FalseLblName), - hipe_tagscheme:test_bitstr(Bin, ContLblName, FalseLblName, 0.99), - ContLbl, - hipe_tagscheme:test_subbinary(Bin,ContLbl2Name, NotWritable), + hipe_tagscheme:test_bitstr(Bin, ContLblName, FalseLblName, 0.99), + ContLbl, + hipe_tagscheme:test_subbinary(Bin,ContLbl2Name, NotWritable), ContLbl2, - get_field_from_term(SubIsWritable, Bin, IsWritable), + hipe_tagscheme:get_field_from_term(SubIsWritable, Bin, IsWritable), hipe_rtl:mk_branch(IsWritable, 'ne', Zero, ContLbl3Name, NotWritable), ContLbl3, - get_field_from_term({sub_binary, orig}, Bin, ProcBin), - get_field_from_term({proc_bin, flags}, ProcBin, Flags), + hipe_tagscheme:get_field_from_term({sub_binary, orig}, Bin, ProcBin), + hipe_tagscheme:get_field_from_term({proc_bin, flags}, ProcBin, Flags), hipe_rtl:mk_alub(Flags, Flags, 'and', - hipe_rtl:mk_imm(?PB_IS_WRITABLE), + hipe_rtl:mk_imm(?PB_IS_WRITABLE), eq, NotWritable, ContLbl4Name, 0.01), ContLbl4, calculate_sizes(Bin, SizeReg, Offset, EndSubSize, EndSubBitSize), is_divisible(Offset, Unit, Writable, FalseLblName), WritableLbl, - set_field_from_term(SubIsWritable, Bin, Zero), + hipe_tagscheme:set_field_from_term(SubIsWritable, Bin, Zero), realloc_binary(SizeReg, ProcBin, Base), hipe_tagscheme:mk_sub_binary(DstVar, EndSubSize, Zero, EndSubBitSize, Zero, @@ -394,7 +391,7 @@ not_writable_code(Bin, SizeReg, Dst, Base, Offset, Unit, allocate_writable(Dst, Base, UsedBytes, TotBytes, TotSize), put_binary_all(Offset, Bin, Base, hipe_rtl:mk_imm(0), Unit, TrueLblName, FalseLblName)]. - + allocate_writable(Dst, Base, UsedBytes, TotBytes, TotSize) -> Zero = hipe_rtl:mk_imm(0), [NextLbl] = create_lbls(1), @@ -411,7 +408,7 @@ allocate_writable(Dst, Base, UsedBytes, TotBytes, TotSize) -> hipe_tagscheme:mk_sub_binary(Dst, EndSubSize, Zero, EndSubBitSize, Zero, hipe_rtl:mk_imm(1), ProcBin)]. -realloc_binary(SizeReg, ProcBin, Base) -> +realloc_binary(SizeReg, ProcBin, Base) -> [NoReallocLbl, ReallocLbl, NextLbl, ContLbl] = Lbls = create_lbls(4), [NoReallocLblName, ReallocLblName, NextLblName, ContLblName] = [hipe_rtl:label_name(Lbl) || Lbl <- Lbls], @@ -422,36 +419,36 @@ realloc_binary(SizeReg, ProcBin, Base) -> ProcBinValTag = {proc_bin, val}, ProcBinBytesTag = {proc_bin, bytes}, BinOrigSizeTag = {binary, orig_size}, - [get_field_from_term(ProcBinSizeTag, ProcBin, PBSize), + [hipe_tagscheme:get_field_from_term(ProcBinSizeTag, ProcBin, PBSize), hipe_rtl:mk_alu(Tmp, SizeReg, 'add', ?LOW_BITS), hipe_rtl:mk_alu(ByteSize, Tmp, 'srl', ?BYTE_SHIFT), hipe_rtl:mk_alu(ResultingSize, ByteSize, 'add', PBSize), - set_field_from_term(ProcBinSizeTag, ProcBin, ResultingSize), - get_field_from_term(ProcBinFlagsTag, ProcBin, Flags), + hipe_tagscheme:set_field_from_term(ProcBinSizeTag, ProcBin, ResultingSize), + hipe_tagscheme:get_field_from_term(ProcBinFlagsTag, ProcBin, Flags), hipe_rtl:mk_alu(Flags, Flags, 'or', hipe_rtl:mk_imm(?PB_ACTIVE_WRITER)), - set_field_from_term(ProcBinFlagsTag, ProcBin, Flags), - get_field_from_term(ProcBinValTag, ProcBin, BinPointer), - get_field_from_pointer(BinOrigSizeTag, BinPointer, OrigSize), + hipe_tagscheme:set_field_from_term(ProcBinFlagsTag, ProcBin, Flags), + hipe_tagscheme:get_field_from_term(ProcBinValTag, ProcBin, BinPointer), + hipe_tagscheme:get_field_from_pointer(BinOrigSizeTag, BinPointer, OrigSize), hipe_rtl:mk_branch(OrigSize, 'ltu', ResultingSize, ReallocLblName, NoReallocLblName), NoReallocLbl, - get_field_from_term(ProcBinBytesTag, ProcBin, Base), + hipe_tagscheme:get_field_from_term(ProcBinBytesTag, ProcBin, Base), hipe_rtl:mk_goto(ContLblName), ReallocLbl, hipe_rtl:mk_alu(NewSize, ResultingSize, 'sll', hipe_rtl:mk_imm(1)), - hipe_rtl:mk_call([BinPointer], bs_reallocate, [BinPointer, NewSize], + hipe_rtl:mk_call([BinPointer], bs_reallocate, [BinPointer, NewSize], NextLblName, [], not_remote), NextLbl, - set_field_from_pointer(BinOrigSizeTag, BinPointer, NewSize), - set_field_from_term(ProcBinValTag, ProcBin, BinPointer), + hipe_tagscheme:set_field_from_pointer(BinOrigSizeTag, BinPointer, NewSize), + hipe_tagscheme:set_field_from_term(ProcBinValTag, ProcBin, BinPointer), hipe_tagscheme:extract_binary_bytes(BinPointer, Base), - set_field_from_term(ProcBinBytesTag, ProcBin, Base), + hipe_tagscheme:set_field_from_term(ProcBinBytesTag, ProcBin, Base), ContLbl]. calculate_sizes(Bin, SizeReg, Offset, EndSubSize, EndSubBitSize) -> [SubSize, SubBitSize, EndSize] = create_regs(3), - [get_field_from_term({sub_binary, binsize}, Bin, SubSize), - get_field_from_term({sub_binary, bitsize}, Bin, SubBitSize), + [hipe_tagscheme:get_field_from_term({sub_binary, binsize}, Bin, SubSize), + hipe_tagscheme:get_field_from_term({sub_binary, bitsize}, Bin, SubBitSize), hipe_rtl:mk_alu(Offset, SubSize, 'sll', ?BYTE_SHIFT), hipe_rtl:mk_alu(Offset, Offset, 'add', SubBitSize), hipe_rtl:mk_alu(EndSize, Offset, 'add', SizeReg), @@ -492,7 +489,7 @@ static_int_c_code(NewOffset, Src, Base, Offset, Size, Flags, int_c_code(NewOffset, Src, Base, Offset, SizeReg, Flags, TrueLblName, FalseLblName) -> - put_c_code(bs_put_big_integer, NewOffset, Src, Base, Offset, SizeReg, + put_c_code(bs_put_big_integer, NewOffset, Src, Base, Offset, SizeReg, Flags, TrueLblName, FalseLblName). binary_c_code(NewOffset, Src, Base, Offset, Size, TrueLblName) -> @@ -500,8 +497,8 @@ binary_c_code(NewOffset, Src, Base, Offset, Size, TrueLblName) -> [SizeReg, FlagsReg] = create_regs(2), [hipe_rtl:mk_move(FlagsReg, hipe_rtl:mk_imm(0)), hipe_rtl:mk_move(SizeReg, Size), - hipe_rtl:mk_call([], bs_put_bits, [Src, SizeReg, Base, Offset, FlagsReg], - hipe_rtl:label_name(PassedLbl),[],not_remote), + hipe_rtl:mk_call([], bs_put_bits, [Src, SizeReg, Base, Offset, FlagsReg], + hipe_rtl:label_name(PassedLbl), [], not_remote), PassedLbl, hipe_rtl:mk_alu(NewOffset, Offset, add, SizeReg), hipe_rtl:mk_goto(TrueLblName)]. @@ -511,7 +508,7 @@ put_c_code(Func, NewOffset, Src, Base, Offset, SizeReg, Flags, PassedLbl = hipe_rtl:mk_new_label(), [FlagsReg] = create_regs(1), [hipe_rtl:mk_move(FlagsReg, hipe_rtl:mk_imm(Flags)), - gen_test_sideffect_bs_call(Func, [Src, SizeReg, Base, Offset, FlagsReg], + gen_test_sideffect_bs_call(Func, [Src, SizeReg, Base, Offset, FlagsReg], hipe_rtl:label_name(PassedLbl), FalseLblName), PassedLbl, hipe_rtl:mk_alu(NewOffset, Offset, add, SizeReg), @@ -523,7 +520,7 @@ gen_test_sideffect_bs_call(Name, Args, TrueLblName, FalseLblName) -> [hipe_rtl:mk_call([Tmp1], Name, Args, hipe_rtl:label_name(RetLbl), [], not_remote), RetLbl, - hipe_rtl:mk_branch(Tmp1, eq, hipe_rtl:mk_imm(0), + hipe_rtl:mk_branch(Tmp1, eq, hipe_rtl:mk_imm(0), FalseLblName, TrueLblName, 0.01)]. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -544,7 +541,7 @@ create_unsafe_regs(0) -> create_vars(X) when X > 0 -> [hipe_rtl:mk_new_var()|create_vars(X-1)]; -create_vars(0) -> +create_vars(0) -> []. create_lbls(X) when X > 0 -> @@ -582,7 +579,7 @@ get_real(Dst) -> %% The following functions are called from the translation switch: %% %% - put_string/7 creates code to copy a string to a binary -%% starting at base+offset and ending at base+newoffset +%% starting at base+offset and ending at base+newoffset %% %% - const_init2/6 initializes the creation of a binary of constant size %% @@ -609,10 +606,9 @@ put_string(NewOffset, ConstTab, String, SizeInBytes, Base, Offset, TLName) -> [StringBase] = create_regs(1), {NewTab, Lbl} = hipe_consttab:insert_block(ConstTab, byte, String), {[hipe_rtl:mk_load_address(StringBase, Lbl, constant)| - copy_string(StringBase, SizeInBytes, Base, Offset, - NewOffset, TLName)], + copy_string(StringBase, SizeInBytes, Base, Offset, NewOffset, TLName)], NewTab}. - + const_init2(Size, Dst, Base, Offset, TrueLblName) -> Log2WordSize = hipe_rtl_arch:log2_word_size(), WordSize = hipe_rtl_arch:word_size(), @@ -642,27 +638,29 @@ const_init_bits(Size, Dst, Base, Offset, TrueLblName) -> TmpDst = hipe_rtl:mk_new_var(), Zero = hipe_rtl:mk_imm(0), {ExtraSpace, SubBinCode} = - if (Size rem ?BYTE_SIZE) =:= 0 -> - {0,[hipe_rtl:mk_move(Dst, TmpDst)]}; - true -> + case (Size rem ?BYTE_SIZE) =:= 0 of + true -> + {0, [hipe_rtl:mk_move(Dst, TmpDst)]}; + false -> {?SUB_BIN_WORDSIZE, - hipe_tagscheme:mk_sub_binary(Dst, hipe_rtl:mk_imm(Size bsr 3), Zero, + hipe_tagscheme:mk_sub_binary(Dst, hipe_rtl:mk_imm(Size bsr 3), Zero, hipe_rtl:mk_imm(Size band ?LOW_BITS_INT), Zero, TmpDst)} end, BaseBinCode = - if Size =< (?MAX_HEAP_BIN_SIZE * 8) -> - ByteSize = (Size + 7) div 8, - [hipe_rtl:mk_gctest(((ByteSize+ 3*WordSize-1) bsr Log2WordSize)+ ExtraSpace), + case Size =< (?MAX_HEAP_BIN_SIZE * 8) of + true -> + ByteSize = (Size + 7) div 8, + [hipe_rtl:mk_gctest(((ByteSize + 3*WordSize-1) bsr Log2WordSize) + ExtraSpace), hipe_tagscheme:create_heap_binary(Base, ByteSize, TmpDst), hipe_rtl:mk_move(Offset, Zero)]; - true -> + false -> ByteSize = hipe_rtl:mk_new_reg(), [hipe_rtl:mk_gctest(?PROC_BIN_WORDSIZE+ExtraSpace), hipe_rtl:mk_move(Offset, Zero), hipe_rtl:mk_move(ByteSize, hipe_rtl:mk_imm((Size+7) bsr 3)), hipe_rtl:mk_call([Base], bs_allocate, [ByteSize], - hipe_rtl:label_name(NextLbl),[],not_remote), + hipe_rtl:label_name(NextLbl), [], not_remote), NextLbl, hipe_tagscheme:create_refc_binary(Base, ByteSize, TmpDst)] end, @@ -671,12 +669,12 @@ const_init_bits(Size, Dst, Base, Offset, TrueLblName) -> var_init2(Size, Dst, Base, Offset, TrueLblName, SystemLimitLblName, FalseLblName) -> Log2WordSize = hipe_rtl_arch:log2_word_size(), WordSize = hipe_rtl_arch:word_size(), - [ContLbl,HeapLbl,REFCLbl,NextLbl] = create_lbls(4), - [USize,Tmp] = create_unsafe_regs(2), + [ContLbl, HeapLbl, REFCLbl, NextLbl] = create_lbls(4), + [USize, Tmp] = create_unsafe_regs(2), [get_word_integer(Size, USize, SystemLimitLblName, FalseLblName), hipe_rtl:mk_branch(USize, leu, hipe_rtl:mk_imm(?MAX_BINSIZE), - hipe_rtl:label_name(ContLbl), - SystemLimitLblName), + hipe_rtl:label_name(ContLbl), + SystemLimitLblName), ContLbl, hipe_rtl:mk_move(Offset, hipe_rtl:mk_imm(0)), hipe_rtl:mk_branch(USize, leu, hipe_rtl:mk_imm(?MAX_HEAP_BIN_SIZE), @@ -698,20 +696,20 @@ var_init2(Size, Dst, Base, Offset, TrueLblName, SystemLimitLblName, FalseLblName hipe_rtl:mk_goto(TrueLblName)]. var_init_bits(Size, Dst, Base, Offset, TrueLblName, SystemLimitLblName, FalseLblName) -> - [HeapLbl,REFCLbl,NextLbl,NoSubLbl,SubLbl, + [HeapLbl, REFCLbl, NextLbl, NoSubLbl, SubLbl, NoCreateSubBin, CreateSubBin, JoinLbl, JoinLbl2] = create_lbls(9), - [USize,ByteSize,TotByteSize,OffsetBits] = create_regs(4), + [USize, ByteSize, TotByteSize, OffsetBits] = create_regs(4), [TmpDst] = create_unsafe_regs(1), Log2WordSize = hipe_rtl_arch:log2_word_size(), WordSize = hipe_rtl_arch:word_size(), - MaximumWords = + MaximumWords = erlang:max((?MAX_HEAP_BIN_SIZE + 3*WordSize) bsr Log2WordSize, ?PROC_BIN_WORDSIZE) + ?SUB_BIN_WORDSIZE, Zero = hipe_rtl:mk_imm(0), [hipe_rtl:mk_gctest(MaximumWords), get_word_integer(Size, USize, SystemLimitLblName, FalseLblName), hipe_rtl:mk_alu(ByteSize, USize, srl, ?BYTE_SHIFT), - hipe_rtl:mk_alub(OffsetBits, USize, 'and', ?LOW_BITS, eq, + hipe_rtl:mk_alub(OffsetBits, USize, 'and', ?LOW_BITS, eq, hipe_rtl:label_name(NoSubLbl), hipe_rtl:label_name(SubLbl)), NoSubLbl, @@ -721,20 +719,20 @@ var_init_bits(Size, Dst, Base, Offset, TrueLblName, SystemLimitLblName, FalseLbl hipe_rtl:mk_alu(TotByteSize, ByteSize, 'add', hipe_rtl:mk_imm(1)), JoinLbl, hipe_rtl:mk_branch(TotByteSize, 'leu', hipe_rtl:mk_imm(?MAX_HEAP_BIN_SIZE), - hipe_rtl:label_name(HeapLbl), + hipe_rtl:label_name(HeapLbl), hipe_rtl:label_name(REFCLbl)), HeapLbl, hipe_tagscheme:create_heap_binary(Base, TotByteSize, TmpDst), hipe_rtl:mk_goto(hipe_rtl:label_name(JoinLbl2)), REFCLbl, hipe_rtl:mk_call([Base], bs_allocate, [TotByteSize], - hipe_rtl:label_name(NextLbl),[],not_remote), + hipe_rtl:label_name(NextLbl), [], not_remote), NextLbl, hipe_tagscheme:create_refc_binary(Base, TotByteSize, TmpDst), JoinLbl2, hipe_rtl:mk_move(Offset, Zero), hipe_rtl:mk_branch(OffsetBits, 'eq', Zero, - hipe_rtl:label_name(NoCreateSubBin), + hipe_rtl:label_name(NoCreateSubBin), hipe_rtl:label_name(CreateSubBin)), CreateSubBin, hipe_tagscheme:mk_sub_binary(Dst, ByteSize, Zero, OffsetBits, Zero, TmpDst), @@ -744,10 +742,10 @@ var_init_bits(Size, Dst, Base, Offset, TrueLblName, SystemLimitLblName, FalseLbl hipe_rtl:mk_goto(TrueLblName)]. put_binary_all(NewOffset, Src, Base, Offset, Unit, TLName, FLName) -> - [SrcBase,SrcOffset,NumBits] = create_regs(3), + [SrcBase, SrcOffset, NumBits] = create_regs(3), [ContLbl] = create_lbls(1), CCode = binary_c_code(NewOffset, Src, Base, Offset, NumBits, TLName), - AlignedCode = copy_aligned_bytes(SrcBase, SrcOffset, NumBits, Base, Offset, + AlignedCode = copy_aligned_bytes(SrcBase, SrcOffset, NumBits, Base, Offset, NewOffset, TLName), [get_base_offset_size(Src, SrcBase, SrcOffset, NumBits,FLName), is_divisible(NumBits, Unit, hipe_rtl:label_name(ContLbl), FLName), @@ -755,11 +753,11 @@ put_binary_all(NewOffset, Src, Base, Offset, Unit, TLName, FLName) -> |test_alignment(SrcOffset, NumBits, Offset, AlignedCode, CCode)]. test_alignment(SrcOffset, NumBits, Offset, AlignedCode, CCode) -> - [Tmp] = create_regs(1), - [AlignedLbl,CLbl] = create_lbls(2), + [Tmp] = create_regs(1), + [AlignedLbl, CLbl] = create_lbls(2), [hipe_rtl:mk_alu(Tmp, SrcOffset, 'or', NumBits), hipe_rtl:mk_alu(Tmp, Tmp, 'or', Offset), - hipe_rtl:mk_alub(Tmp, Tmp, 'and', ?LOW_BITS, 'eq', + hipe_rtl:mk_alub(Tmp, Tmp, 'and', ?LOW_BITS, 'eq', hipe_rtl:label_name(AlignedLbl), hipe_rtl:label_name(CLbl)), AlignedLbl, @@ -768,12 +766,12 @@ test_alignment(SrcOffset, NumBits, Offset, AlignedCode, CCode) -> CCode]. put_static_binary(NewOffset, Src, Size, Base, Offset, TLName, FLName) -> - [SrcBase] = create_unsafe_regs(1), + [SrcBase] = create_unsafe_regs(1), [SrcOffset, SrcSize] = create_regs(2), case Size of 0 -> get_base_offset_size(Src, SrcBase, SrcOffset, SrcSize, FLName) ++ - [hipe_rtl:mk_move(NewOffset, Offset), + [hipe_rtl:mk_move(NewOffset, Offset), hipe_rtl:mk_goto(TLName)]; _ -> SizeImm = hipe_rtl:mk_imm(Size), @@ -789,13 +787,13 @@ put_dynamic_binary(NewOffset, Src, SizeReg, Base, Offset, TLName, FLName) -> [SrcBase] = create_unsafe_regs(1), [SrcOffset, SrcSize] = create_regs(2), CCode = binary_c_code(NewOffset, Src, Base, Offset, SizeReg, TLName), - AlignedCode = copy_aligned_bytes(SrcBase, SrcOffset, SizeReg, Base, Offset, + AlignedCode = copy_aligned_bytes(SrcBase, SrcOffset, SizeReg, Base, Offset, NewOffset, TLName), get_base_offset_size(Src, SrcBase, SrcOffset, SrcSize, FLName) ++ small_check(SizeReg, SrcSize, FLName) ++ test_alignment(SrcOffset, SizeReg, Offset, AlignedCode, CCode). -put_float(NewOffset, Src, Base, Offset, 64, CCode, Aligned, LittleEndian, +put_float(NewOffset, Src, Base, Offset, 64, CCode, Aligned, LittleEndian, ConstInfo, TrueLblName) -> [CLbl] = create_lbls(1), case {Aligned, LittleEndian} of @@ -829,12 +827,12 @@ put_static_int(NewOffset, Src, Base, Offset, Size, CCode, Aligned, {false, true} -> CCode; {false, false} -> - Init ++ + Init ++ copy_offset_int_big(Base, Offset, NewOffset, Size, UntaggedSrc) ++ End end. -put_unsafe_static_int(NewOffset, Src, Base, Offset, Size, CCode, Aligned, +put_unsafe_static_int(NewOffset, Src, Base, Offset, Size, CCode, Aligned, LittleEndian, TrueLblName) -> {Init, End, UntaggedSrc} = make_init_end(Src, TrueLblName), case {Aligned, LittleEndian} of @@ -849,7 +847,7 @@ put_unsafe_static_int(NewOffset, Src, Base, Offset, Size, CCode, Aligned, {false, true} -> CCode; {false, false} -> - Init ++ + Init ++ copy_offset_int_big(Base, Offset, NewOffset, Size, UntaggedSrc) ++ End end. @@ -861,7 +859,7 @@ put_dynamic_int(NewOffset, Src, Base, Offset, SizeReg, CCode, Aligned, true -> case LittleEndian of true -> - Init ++ + Init ++ copy_int_little(Base, Offset, NewOffset, SizeReg, UntaggedSrc) ++ End; false -> @@ -880,7 +878,7 @@ put_unsafe_dynamic_int(NewOffset, Src, Base, Offset, SizeReg, CCode, Aligned, true -> case LittleEndian of true -> - Init ++ + Init ++ copy_int_little(Base, Offset, NewOffset, SizeReg, UntaggedSrc) ++ End; false -> @@ -891,7 +889,7 @@ put_unsafe_dynamic_int(NewOffset, Src, Base, Offset, SizeReg, CCode, Aligned, false -> CCode end. - + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% @@ -902,7 +900,7 @@ put_unsafe_dynamic_int(NewOffset, Src, Base, Offset, SizeReg, CCode, Aligned, make_init_end(Src, CCode, TrueLblName) -> [CLbl, SuccessLbl] = create_lbls(2), [UntaggedSrc] = create_regs(1), - Init = [hipe_tagscheme:test_fixnum(Src, hipe_rtl:label_name(SuccessLbl), + Init = [hipe_tagscheme:test_fixnum(Src, hipe_rtl:label_name(SuccessLbl), hipe_rtl:label_name(CLbl), 0.99), SuccessLbl, hipe_tagscheme:untag_fixnum(UntaggedSrc,Src)], @@ -915,28 +913,28 @@ make_init_end(Src, TrueLblName) -> End = [hipe_rtl:mk_goto(TrueLblName)], {Init, End, UntaggedSrc}. -get_base_offset_size(Binary, SrcBase, SrcOffset, SrcSize, FLName) -> +get_base_offset_size(Binary, SrcBase, SrcOffset, SrcSize, FLName) -> [JoinLbl, EndLbl, SuccessLbl, SubLbl, OtherLbl, HeapLbl, REFCLbl] = Lbls = create_lbls(7), - [JoinLblName, EndLblName, SuccessLblName, SubLblName, + [JoinLblName, EndLblName, SuccessLblName, SubLblName, OtherLblName, HeapLblName, REFCLblName] = get_label_names(Lbls), - [BitSize,BitOffset] = create_regs(2), + [BitSize, BitOffset] = create_regs(2), [Orig] = create_vars(1), [hipe_tagscheme:test_bitstr(Binary, SuccessLblName, FLName, 0.99), SuccessLbl, - get_field_from_term({sub_binary,binsize}, Binary, SrcSize), + hipe_tagscheme:get_field_from_term({sub_binary,binsize}, Binary, SrcSize), hipe_rtl:mk_alu(SrcSize, SrcSize, sll, ?BYTE_SHIFT), hipe_tagscheme:test_subbinary(Binary, SubLblName, OtherLblName), SubLbl, - get_field_from_term({sub_binary,bitsize}, Binary, BitSize), - get_field_from_term({sub_binary,offset}, Binary, SrcOffset), + hipe_tagscheme:get_field_from_term({sub_binary,bitsize}, Binary, BitSize), + hipe_tagscheme:get_field_from_term({sub_binary,offset}, Binary, SrcOffset), hipe_rtl:mk_alu(SrcSize, SrcSize, add, BitSize), - get_field_from_term({sub_binary,bitoffset}, Binary, BitOffset), + hipe_tagscheme:get_field_from_term({sub_binary,bitoffset}, Binary, BitOffset), hipe_rtl:mk_alu(SrcOffset, SrcOffset, sll, ?BYTE_SHIFT), hipe_rtl:mk_alu(SrcOffset, SrcOffset, add, BitOffset), - get_field_from_term({sub_binary,orig}, Binary, Orig), + hipe_tagscheme:get_field_from_term({sub_binary,orig}, Binary, Orig), hipe_rtl:mk_goto(JoinLblName), - OtherLbl, + OtherLbl, hipe_rtl:mk_move(SrcOffset, hipe_rtl:mk_imm(0)), hipe_rtl:mk_move(Orig, Binary), JoinLbl, @@ -945,29 +943,29 @@ get_base_offset_size(Binary, SrcBase, SrcOffset, SrcSize, FLName) -> hipe_rtl:mk_alu(SrcBase, Orig, add, hipe_rtl:mk_imm(?HEAP_BIN_DATA-2)), hipe_rtl:mk_goto(EndLblName), REFCLbl, - get_field_from_term({proc_bin,bytes}, Orig, SrcBase), + hipe_tagscheme:get_field_from_term({proc_bin,bytes}, Orig, SrcBase), EndLbl]. copy_aligned_bytes(CopyBase, CopyOffset, Size, Base, Offset, NewOffset, TrueLblName) -> [BaseDst, BaseSrc] = create_unsafe_regs(2), [Iter, Extra, BothOffset] = create_regs(3), initializations(BaseSrc, BaseDst, BothOffset, CopyOffset, Offset, CopyBase, Base) ++ - [hipe_rtl:mk_alu(Extra, Size, 'and', ?LOW_BITS), - hipe_rtl:mk_alu(Iter, Size, srl, ?BYTE_SHIFT), + [hipe_rtl:mk_alu(Extra, Size, 'and', ?LOW_BITS), + hipe_rtl:mk_alu(Iter, Size, srl, ?BYTE_SHIFT), hipe_rtl:mk_alu(NewOffset, Offset, 'add', Size)] ++ easy_loop(BaseSrc, BaseDst, BothOffset, Iter, Extra, TrueLblName). copy_string(StringBase, StringSize, BinBase, BinOffset, NewOffset, TrueLblName) -> [TmpOffset,BothOffset,InitOffs] = create_regs(3), [NewBinBase] = create_unsafe_regs(1), - [EasyLbl,HardLbl] = create_lbls(2), + [EasyLbl, HardLbl] = create_lbls(2), [hipe_rtl:mk_alu(TmpOffset, BinOffset, srl, ?BYTE_SHIFT), hipe_rtl:mk_alu(NewBinBase, BinBase, add, TmpOffset), hipe_rtl:mk_move(BothOffset, hipe_rtl:mk_imm(0)), hipe_rtl:mk_alub(InitOffs, BinOffset, 'and', ?LOW_BITS, eq, hipe_rtl:label_name(EasyLbl), hipe_rtl:label_name(HardLbl)), EasyLbl, - hipe_rtl:mk_alu(NewOffset, BinOffset, add, + hipe_rtl:mk_alu(NewOffset, BinOffset, add, hipe_rtl:mk_imm(?bytes_to_bits(StringSize)))] ++ easy_loop(StringBase, NewBinBase, BothOffset, hipe_rtl:mk_imm(StringSize), hipe_rtl:mk_imm(0), TrueLblName) ++ @@ -983,9 +981,9 @@ small_check(SizeVar, CopySize, FalseLblName) -> hipe_rtl:label_name(SuccessLbl), FalseLblName), SuccessLbl]. -easy_loop(BaseSrc, BaseDst, BothOffset, Iterations, Extra, TrueLblName) -> - [Tmp1,Shift] = create_regs(2), - [LoopLbl,TopLbl,EndLbl,ExtraLbl] = create_lbls(4), +easy_loop(BaseSrc, BaseDst, BothOffset, Iterations, Extra, TrueLblName) -> + [Tmp1, Shift] = create_regs(2), + [LoopLbl, TopLbl, EndLbl, ExtraLbl] = create_lbls(4), [TopLbl, hipe_rtl:mk_branch(BothOffset, ne, Iterations, hipe_rtl:label_name(LoopLbl), hipe_rtl:label_name(EndLbl), 0.99), @@ -1005,17 +1003,17 @@ easy_loop(BaseSrc, BaseDst, BothOffset, Iterations, Extra, TrueLblName) -> hipe_rtl:mk_store(BaseDst, BothOffset, Tmp1, byte), hipe_rtl:mk_goto(TrueLblName)]. -hard_loop(BaseSrc, BaseDst, BothOffset, Iterations, +hard_loop(BaseSrc, BaseDst, BothOffset, Iterations, InitOffset, TrueLblName) -> [Tmp1, Tmp2, OldByte, NewByte, SaveByte] = create_regs(5), - [LoopLbl,EndLbl,TopLbl] = create_lbls(3), + [LoopLbl, EndLbl, TopLbl] = create_lbls(3), [hipe_rtl:mk_load(OldByte, BaseDst, BothOffset, byte, unsigned), - hipe_rtl:mk_alu(Tmp1, hipe_rtl:mk_imm(?BYTE_SIZE), sub, InitOffset), + hipe_rtl:mk_alu(Tmp1, hipe_rtl:mk_imm(?BYTE_SIZE), sub, InitOffset), TopLbl, - hipe_rtl:mk_branch(BothOffset, ne, Iterations, - hipe_rtl:label_name(LoopLbl), + hipe_rtl:mk_branch(BothOffset, ne, Iterations, + hipe_rtl:label_name(LoopLbl), hipe_rtl:label_name(EndLbl)), - LoopLbl, + LoopLbl, hipe_rtl:mk_load(NewByte, BaseSrc, BothOffset, byte, unsigned), hipe_rtl:mk_alu(Tmp2, NewByte, srl, InitOffset), hipe_rtl:mk_alu(SaveByte, OldByte, 'or', Tmp2), @@ -1037,12 +1035,12 @@ initializations(BaseTmp1, BaseTmp2, BothOffset, CopyOffset, Offset, CopyBase, Ba copy_int_little(Base, Offset, NewOffset, Size, Tmp1) when is_integer(Size) -> [Tmp2,TmpOffset] = create_regs(2), - ByteSize = Size div ?BYTE_SIZE, - [hipe_rtl:mk_alu(TmpOffset, Offset, srl, ?BYTE_SHIFT), - hipe_rtl:mk_alu(Tmp2, hipe_rtl:mk_imm(ByteSize), 'add', TmpOffset)] ++ - + ByteSize = Size div ?BYTE_SIZE, + [hipe_rtl:mk_alu(TmpOffset, Offset, srl, ?BYTE_SHIFT), + hipe_rtl:mk_alu(Tmp2, hipe_rtl:mk_imm(ByteSize), 'add', TmpOffset)] ++ + little_loop(Tmp1, Tmp2, TmpOffset, Base) ++ - + case Size band 7 of 0 -> [hipe_rtl:mk_alu(NewOffset, Offset, 'add', hipe_rtl:mk_imm(Size))]; @@ -1051,18 +1049,16 @@ copy_int_little(Base, Offset, NewOffset, Size, Tmp1) when is_integer(Size) -> hipe_rtl:mk_store(Base, TmpOffset, Tmp1, byte), hipe_rtl:mk_alu(NewOffset, Offset, 'add', hipe_rtl:mk_imm(Size))] end; - copy_int_little(Base, Offset, NewOffset, Size, Tmp1) -> [Tmp2, Tmp3, Tmp4, TmpOffset] = create_regs(4), - [hipe_rtl:mk_alu(Tmp2, Size, srl, ?BYTE_SHIFT), hipe_rtl:mk_alu(TmpOffset, Offset, srl, ?BYTE_SHIFT), hipe_rtl:mk_alu(Tmp3, Tmp2, 'add', TmpOffset)] ++ - + little_loop(Tmp1, Tmp3, TmpOffset, Base) ++ - + [hipe_rtl:mk_alu(Tmp4, Size, 'and', ?LOW_BITS), - hipe_rtl:mk_alu(Tmp4, hipe_rtl:mk_imm(?BYTE_SIZE), 'sub', Tmp4), + hipe_rtl:mk_alu(Tmp4, hipe_rtl:mk_imm(?BYTE_SIZE), 'sub', Tmp4), hipe_rtl:mk_alu(Tmp1, Tmp1, sll, Tmp4), hipe_rtl:mk_store(Base, TmpOffset, Tmp1, byte), hipe_rtl:mk_alu(NewOffset, Offset, 'add', Size)]. @@ -1097,37 +1093,37 @@ copy_int_big(_Base, Offset, NewOffset, 0, _Tmp1) -> [hipe_rtl:mk_move(NewOffset, Offset)]; copy_int_big(Base, Offset, NewOffset, ?BYTE_SIZE, Tmp1) -> TmpOffset = hipe_rtl:mk_new_reg(), - [hipe_rtl:mk_alu(TmpOffset, Offset, 'srl', hipe_rtl:mk_imm(3)), - hipe_rtl:mk_store(Base, TmpOffset, Tmp1, byte), - hipe_rtl:mk_alu(NewOffset, Offset, 'add', hipe_rtl:mk_imm(8))]; + [hipe_rtl:mk_alu(TmpOffset, Offset, 'srl', hipe_rtl:mk_imm(3)), + hipe_rtl:mk_store(Base, TmpOffset, Tmp1, byte), + hipe_rtl:mk_alu(NewOffset, Offset, 'add', hipe_rtl:mk_imm(8))]; copy_int_big(Base, Offset, NewOffset, 2*?BYTE_SIZE, Tmp1) -> TmpOffset = hipe_rtl:mk_new_reg(), - [hipe_rtl:mk_alu(TmpOffset, Offset, 'srl', hipe_rtl:mk_imm(3)), - hipe_rtl:mk_alu(TmpOffset, TmpOffset, 'add', hipe_rtl:mk_imm(1)), - hipe_rtl:mk_store(Base, TmpOffset, Tmp1, byte), - hipe_rtl:mk_alu(TmpOffset, TmpOffset, sub, hipe_rtl:mk_imm(1)), - hipe_rtl:mk_alu(Tmp1, Tmp1, 'sra', hipe_rtl:mk_imm(8)), - hipe_rtl:mk_store(Base, TmpOffset, Tmp1, byte), - hipe_rtl:mk_alu(NewOffset, Offset, 'add', hipe_rtl:mk_imm(16))]; + [hipe_rtl:mk_alu(TmpOffset, Offset, 'srl', hipe_rtl:mk_imm(3)), + hipe_rtl:mk_alu(TmpOffset, TmpOffset, 'add', hipe_rtl:mk_imm(1)), + hipe_rtl:mk_store(Base, TmpOffset, Tmp1, byte), + hipe_rtl:mk_alu(TmpOffset, TmpOffset, sub, hipe_rtl:mk_imm(1)), + hipe_rtl:mk_alu(Tmp1, Tmp1, 'sra', hipe_rtl:mk_imm(8)), + hipe_rtl:mk_store(Base, TmpOffset, Tmp1, byte), + hipe_rtl:mk_alu(NewOffset, Offset, 'add', hipe_rtl:mk_imm(16))]; copy_int_big(Base, Offset, NewOffset, 3*?BYTE_SIZE, Tmp1) -> - TmpOffset = hipe_rtl:mk_new_reg(), - [hipe_rtl:mk_alu(TmpOffset, Offset, srl, hipe_rtl:mk_imm(3)), - hipe_rtl:mk_alu(TmpOffset, TmpOffset, add, hipe_rtl:mk_imm(2)), - hipe_rtl:mk_store(Base, TmpOffset, Tmp1, byte), - hipe_rtl:mk_alu(TmpOffset, TmpOffset, sub, hipe_rtl:mk_imm(1)), - hipe_rtl:mk_alu(Tmp1, Tmp1, sra, hipe_rtl:mk_imm(8)), - hipe_rtl:mk_store(Base, TmpOffset, Tmp1, byte), - hipe_rtl:mk_alu(TmpOffset, TmpOffset, sub, hipe_rtl:mk_imm(1)), - hipe_rtl:mk_alu(Tmp1, Tmp1, sra, hipe_rtl:mk_imm(8)), - hipe_rtl:mk_store(Base, TmpOffset, Tmp1, byte), - hipe_rtl:mk_alu(NewOffset, Offset, add, hipe_rtl:mk_imm(24))]; + TmpOffset = hipe_rtl:mk_new_reg(), + [hipe_rtl:mk_alu(TmpOffset, Offset, srl, hipe_rtl:mk_imm(3)), + hipe_rtl:mk_alu(TmpOffset, TmpOffset, add, hipe_rtl:mk_imm(2)), + hipe_rtl:mk_store(Base, TmpOffset, Tmp1, byte), + hipe_rtl:mk_alu(TmpOffset, TmpOffset, sub, hipe_rtl:mk_imm(1)), + hipe_rtl:mk_alu(Tmp1, Tmp1, sra, hipe_rtl:mk_imm(8)), + hipe_rtl:mk_store(Base, TmpOffset, Tmp1, byte), + hipe_rtl:mk_alu(TmpOffset, TmpOffset, sub, hipe_rtl:mk_imm(1)), + hipe_rtl:mk_alu(Tmp1, Tmp1, sra, hipe_rtl:mk_imm(8)), + hipe_rtl:mk_store(Base, TmpOffset, Tmp1, byte), + hipe_rtl:mk_alu(NewOffset, Offset, add, hipe_rtl:mk_imm(24))]; copy_int_big(Base, Offset,NewOffset, 4*?BYTE_SIZE, Tmp1) -> copy_big_word(Base, Offset, NewOffset, Tmp1); copy_int_big(Base, Offset, NewOffset, Size, Tmp1) when is_integer(Size) -> [OldOffset, TmpOffset, Bits] = create_regs(3), ByteSize = (Size + 7) div ?BYTE_SIZE, - case Size band 7 of - 0 -> + case Size band 7 of + 0 -> [hipe_rtl:mk_alu(OldOffset, Offset, sra, hipe_rtl:mk_imm(3)), hipe_rtl:mk_alu(TmpOffset, OldOffset, add, hipe_rtl:mk_imm(ByteSize))]; Rest -> @@ -1138,7 +1134,7 @@ copy_int_big(Base, Offset, NewOffset, Size, Tmp1) when is_integer(Size) -> hipe_rtl:mk_alu(Tmp1, Tmp1, sra, hipe_rtl:mk_imm(Rest))] end ++ big_loop(Tmp1, OldOffset, TmpOffset, Base) ++ - [hipe_rtl:mk_alu(NewOffset, Offset, 'add', hipe_rtl:mk_imm(Size))]; + [hipe_rtl:mk_alu(NewOffset, Offset, 'add', hipe_rtl:mk_imm(Size))]; copy_int_big(Base, Offset, NewOffset, Size, Tmp1) -> Tmp2 = hipe_rtl:mk_new_reg(), Tmp3 = hipe_rtl:mk_new_reg(), @@ -1151,7 +1147,7 @@ copy_int_big(Base, Offset, NewOffset, Size, Tmp1) -> [hipe_rtl:mk_alu(Tmp2, Size, 'srl', hipe_rtl:mk_imm(3)), hipe_rtl:mk_alu(Tmp3, Offset, 'srl', hipe_rtl:mk_imm(3)), hipe_rtl:mk_alu(TmpOffset, Tmp2, 'add', Tmp3), - hipe_rtl:mk_alub(Tmp4, Size, 'and', hipe_rtl:mk_imm(7), 'eq', + hipe_rtl:mk_alub(Tmp4, Size, 'and', hipe_rtl:mk_imm(7), 'eq', hipe_rtl:label_name(EvenLbl), hipe_rtl:label_name(OddLbl)), OddLbl, hipe_rtl:mk_alu(Tmp6, hipe_rtl:mk_imm(8), 'sub', Tmp4), @@ -1159,9 +1155,7 @@ copy_int_big(Base, Offset, NewOffset, Size, Tmp1) -> hipe_rtl:mk_store(Base, TmpOffset, Tmp5, byte), EvenLbl, hipe_rtl:mk_alu(Tmp1, Tmp1, srl, Tmp4)] ++ - big_loop(Tmp1, Tmp3, TmpOffset, Base) ++ - [hipe_rtl:mk_alu(NewOffset, Offset, 'add', Size)]. copy_big_word(Base, Offset, NewOffset, Word) -> @@ -1224,8 +1218,8 @@ copy_offset_int_big(Base, Offset, NewOffset, Size, Tmp1) hipe_rtl:mk_alu(Tmp6, Tmp6, 'and', ?LOW_BITS), hipe_rtl:mk_alu(Tmp4, hipe_rtl:mk_imm(?BYTE_SIZE), 'sub', Tmp6), hipe_rtl:mk_move(Tmp5, Tmp1), - hipe_rtl:mk_alu(Tmp1, Tmp1, 'sll', Tmp6), - hipe_rtl:mk_branch(TmpOffset, 'ne', Tmp3, hipe_rtl:label_name(NextLbl), + hipe_rtl:mk_alu(Tmp1, Tmp1, 'sll', Tmp6), + hipe_rtl:mk_branch(TmpOffset, 'ne', Tmp3, hipe_rtl:label_name(NextLbl), hipe_rtl:label_name(EndLbl)), NextLbl, hipe_rtl:mk_store(Base, TmpOffset, Tmp1, byte), @@ -1272,7 +1266,7 @@ copy_float_big(_Base, _Offset, _NewOffset, _Src, FalseLblName, _TrueLblName, fai copy_float_big(Base, Offset, NewOffset, Src, _FalseLblName, TrueLblName,pass) -> FloatLo = hipe_rtl:mk_new_reg(), FloatHi = hipe_rtl:mk_new_reg(), - TmpOffset =hipe_rtl:mk_new_reg(), + TmpOffset = hipe_rtl:mk_new_reg(), hipe_tagscheme:unsafe_load_float(FloatLo, FloatHi, Src) ++ copy_big_word(Base, Offset, TmpOffset, FloatHi) ++ copy_big_word(Base, TmpOffset, NewOffset, FloatLo) ++ @@ -1285,7 +1279,7 @@ copy_float_big(Base, Offset, NewOffset, Src, FalseLblName, TrueLblName, var) -> is_divisible(_Dividend, 1, SuccLbl, _FailLbl) -> [hipe_rtl:mk_goto(SuccLbl)]; is_divisible(Dividend, Divisor, SuccLbl, FailLbl) -> - Log2 = floorlog2(Divisor), + Log2 = hipe_rtl_binary:floorlog2(Divisor), case Divisor =:= 1 bsl Log2 of true -> %% Divisor is a power of 2 %% Test that the Log2-1 lowest bits are clear diff --git a/lib/hipe/rtl/hipe_rtl_lcm.erl b/lib/hipe/rtl/hipe_rtl_lcm.erl index ef866d0843..71bd06c0df 100644 --- a/lib/hipe/rtl/hipe_rtl_lcm.erl +++ b/lib/hipe/rtl/hipe_rtl_lcm.erl @@ -63,10 +63,10 @@ rtl_lcm(CFG, Options) -> pp_debug("-------------------------------------------------~n",[]), %% pp_debug( "~w~n", [MFA]), - + %% A check if we should pretty print the result. case proplists:get_bool(pp_rtl_lcm, Options) of - true-> + true -> pp_debug("-------------------------------------------------~n",[]), %% pp_debug("AllExpr: ~w~n", [AllExpr]), pp_debug("AllExpr:~n", []), @@ -76,21 +76,21 @@ rtl_lcm(CFG, Options) -> _ -> ok end, - + pp_debug("-------------------------------------------------~n",[]), - ?option_time({CFG1, MoveSet} = perform_lcm(CFG, NodeInfo, EdgeInfo, ExprMap, - IdMap, AllExpr, mk_edge_bb_map(), + {CFG1, MoveSet} = ?option_time(perform_lcm(CFG, NodeInfo, EdgeInfo, ExprMap, + IdMap, AllExpr, mk_edge_bb_map(), ?SETS:new(), Labels), - "RTL LCM perform_lcm", Options), + "RTL LCM perform_lcm", Options), %% Scan through list of moved expressions and replace their %% assignments with the new temporary created for that expression MoveList = ?SETS:to_list(MoveSet), - ?option_time(CFG2 = moved_expr_replace_assignments(CFG1, ExprMap, IdMap, + CFG2 = ?option_time(moved_expr_replace_assignments(CFG1, ExprMap, IdMap, MoveList), - "RTL LCM moved_expr_replace_assignments", Options), + "RTL LCM moved_expr_replace_assignments", Options), pp_debug("-------------------------------------------------~n~n",[]), - + CFG2. %%============================================================================= @@ -466,10 +466,10 @@ expr_clear_dst(I) -> %% easy access later. lcm_precalc(CFG, Options) -> %% Calculate use map and expression map. - ?option_time({ExprMap, IdMap} = mk_expr_map(CFG), - "RTL LCM mk_expr_map", Options), - ?option_time(UseMap = mk_use_map(CFG, ExprMap), - "RTL LCM mk_use_map", Options), + {ExprMap, IdMap} = ?option_time(mk_expr_map(CFG), + "RTL LCM mk_expr_map", Options), + UseMap = ?option_time(mk_use_map(CFG, ExprMap), + "RTL LCM mk_use_map", Options), %% Labels = hipe_rtl_cfg:reverse_postorder(CFG), Labels = hipe_rtl_cfg:labels(CFG), %% StartLabel = hipe_rtl_cfg:start_label(CFG), @@ -477,28 +477,28 @@ lcm_precalc(CFG, Options) -> AllExpr = ?SETS:from_list(gb_trees:keys(IdMap)), %% Calculate the data sets. - ?option_time(NodeInfo0 = mk_node_info(Labels), "RTL LCM mk_node_info", - Options), + NodeInfo0 = ?option_time(mk_node_info(Labels), + "RTL LCM mk_node_info", Options), %% ?option_time(EdgeInfo0 = mk_edge_info(), "RTL LCM mk_edge_info", %% Options), EdgeInfo0 = mk_edge_info(), - ?option_time(NodeInfo1 = calc_up_exp(CFG, ExprMap, NodeInfo0, Labels), - "RTL LCM calc_up_exp", Options), - ?option_time(NodeInfo2 = calc_down_exp(CFG, ExprMap, NodeInfo1, Labels), - "RTL LCM calc_down_exp", Options), - ?option_time(NodeInfo3 = calc_killed_expr(CFG, NodeInfo2, UseMap, AllExpr, + NodeInfo1 = ?option_time(calc_up_exp(CFG, ExprMap, NodeInfo0, Labels), + "RTL LCM calc_up_exp", Options), + NodeInfo2 = ?option_time(calc_down_exp(CFG, ExprMap, NodeInfo1, Labels), + "RTL LCM calc_down_exp", Options), + NodeInfo3 = ?option_time(calc_killed_expr(CFG, NodeInfo2, UseMap, AllExpr, IdMap, Labels), - "RTL LCM calc_killed_exp", Options), - ?option_time(NodeInfo4 = calc_avail(CFG, NodeInfo3), - "RTL LCM calc_avail", Options), - ?option_time(NodeInfo5 = calc_antic(CFG, NodeInfo4, AllExpr), - "RTL LCM calc_antic", Options), - ?option_time(EdgeInfo1 = calc_earliest(CFG, NodeInfo5, EdgeInfo0, Labels), - "RTL LCM calc_earliest", Options), - ?option_time({NodeInfo6, EdgeInfo2} = calc_later(CFG, NodeInfo5, EdgeInfo1), - "RTL LCM calc_later", Options), - ?option_time(NodeInfo7 = calc_delete(CFG, NodeInfo6, Labels), - "RTL LCM calc_delete", Options), + "RTL LCM calc_killed_exp", Options), + NodeInfo4 = ?option_time(calc_avail(CFG, NodeInfo3), + "RTL LCM calc_avail", Options), + NodeInfo5 = ?option_time(calc_antic(CFG, NodeInfo4, AllExpr), + "RTL LCM calc_antic", Options), + EdgeInfo1 = ?option_time(calc_earliest(CFG, NodeInfo5, EdgeInfo0, Labels), + "RTL LCM calc_earliest", Options), + {NodeInfo6, EdgeInfo2} = ?option_time(calc_later(CFG, NodeInfo5, EdgeInfo1), + "RTL LCM calc_later", Options), + NodeInfo7 = ?option_time(calc_delete(CFG, NodeInfo6, Labels), + "RTL LCM calc_delete", Options), {NodeInfo7, EdgeInfo2, AllExpr, ExprMap, IdMap, Labels}. %%%%%%%%%%%%%%%%%%% AVAILABLE IN/OUT FLOW ANALYSIS %%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -941,15 +941,16 @@ calc_insert_edge(NodeInfo, EdgeInfo, From, To) -> calc_delete(_, NodeInfo, []) -> NodeInfo; calc_delete(CFG, NodeInfo, [Label|Labels]) -> - case Label =:= hipe_rtl_cfg:start_label(CFG) of - true -> - NewNodeInfo = set_delete(NodeInfo, Label, ?SETS:new()); - false -> - UpExp = up_exp(NodeInfo, Label), - LaterIn = later_in(NodeInfo, Label), - Delete = ?SETS:subtract(UpExp, LaterIn), - NewNodeInfo = set_delete(NodeInfo, Label, Delete) - end, + NewNodeInfo = + case Label =:= hipe_rtl_cfg:start_label(CFG) of + true -> + set_delete(NodeInfo, Label, ?SETS:new()); + false -> + UpExp = up_exp(NodeInfo, Label), + LaterIn = later_in(NodeInfo, Label), + Delete = ?SETS:subtract(UpExp, LaterIn), + set_delete(NodeInfo, Label, Delete) + end, calc_delete(CFG, NewNodeInfo, Labels). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/lib/hipe/rtl/hipe_rtl_ssapre.erl b/lib/hipe/rtl/hipe_rtl_ssapre.erl index e248457806..df1a4b9376 100644 --- a/lib/hipe/rtl/hipe_rtl_ssapre.erl +++ b/lib/hipe/rtl/hipe_rtl_ssapre.erl @@ -107,7 +107,7 @@ rtl_ssapre(RtlSSACfg, Options) -> case XsiList of [] -> %% No Xsi - ?option_time(?pp_debug("~n~n################ No Xsi Inserted ################~n",[]),"RTL A-SSAPRE No Xsi inserted (skip Downsafety and Will Be Available)",Options), + ?pp_debug("~n~n################ No Xsi Inserted ################~n",[]), ok; _ -> ?pp_debug("~n############ Downsafety ##########~n",[]), @@ -126,7 +126,7 @@ rtl_ssapre(RtlSSACfg, Options) -> ?pp_debug("~n~n################ Xsi CFG ################~n",[]),pp_cfg(CFG2,XsiGraph), init_redundancy_count(), - ?option_time(FinalCFG=perform_code_motion(Labels,CFG2,XsiGraph),"RTL A-SSAPRE Code Motion",Options), + FinalCFG = ?option_time(perform_code_motion(Labels,CFG2,XsiGraph),"RTL A-SSAPRE Code Motion",Options), ?pp_debug("\n############ No more need for the Xsi Graph....Deleting...",[]),?GRAPH:delete(XsiGraph), @@ -146,7 +146,7 @@ perform_Xsi_insertion(Cfg, Options) -> init_counters(), %% Init counters for Bottoms and Temps DigraphOpts = [cyclic, private], XsiGraph = digraph:new(DigraphOpts), - %% Be carefull, the digraph component is NOT garbage collected, + %% Be careful, the digraph component is NOT garbage collected, %% so don't create 20 millions of instances! %% finds the longest depth %% Depth-first, preorder traversal over Basic Blocks. @@ -154,13 +154,13 @@ perform_Xsi_insertion(Cfg, Options) -> Labels = ?CFG:preorder(Cfg), ?pp_debug("~n~n############# Finding definitions for computation~n~n",[]), - ?option_time({Cfg2,XsiGraph} = find_definition_for_computations(Labels,Cfg,XsiGraph),"RTL A-SSAPRE Xsi Insertion, searching from instructions",Options), + {Cfg2,XsiGraph} = ?option_time(find_definition_for_computations(Labels,Cfg,XsiGraph),"RTL A-SSAPRE Xsi Insertion, searching from instructions",Options), %% Active List creation GeneratorXsiList = lists:sort(?GRAPH:vertices(XsiGraph)), ?pp_debug("~n~n############# Inserted Xsis ~w",[GeneratorXsiList]), ?pp_debug("~n~n############# Finding operands~n",[]), - ?option_time({Cfg3,XsiGraph} = find_operands(Cfg2,XsiGraph,GeneratorXsiList,0),"RTL A-SSAPRE Xsi Insertion, finding operands",Options), + {Cfg3,XsiGraph} = ?option_time(find_operands(Cfg2,XsiGraph,GeneratorXsiList,0),"RTL A-SSAPRE Xsi Insertion, finding operands",Options), %% Creating the CFGGraph ?pp_debug("~n~n############# Creating CFG Graph",[]), @@ -170,9 +170,9 @@ perform_Xsi_insertion(Cfg, Options) -> ?pp_debug("~nAdding a vertex for the start label: ~w",[StartLabel]), ?GRAPH:add_vertex(CFGGraph, StartLabel, #block{type = top}), % Doing the others - ?option_time(MPs=create_cfggraph(Others,Cfg3,CFGGraph,[],[],[],XsiGraph),"RTL A-SSAPRE Xsi Insertion, creating intermediate 'SSAPRE Graph'",Options), + MPs = ?option_time(create_cfggraph(Others,Cfg3,CFGGraph,[],[],[],XsiGraph),"RTL A-SSAPRE Xsi Insertion, creating intermediate 'SSAPRE Graph'",Options), - %% Return the bloody collected information + %% Return the collected information {Cfg3,XsiGraph,CFGGraph,MPs}. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -221,22 +221,21 @@ find_definition_for_computations_in_block(BlockLabel,[Inst|Rest],Cfg, ?pp_debug(" Inserting Xsi: ",[]),pp_xsi(Xsi), Label = Xsi#xsi.label, - case BlockLabel =:= Label of - false -> - %% Insert the Xsi in the appropriate block - Code = hipe_bb:code(?CFG:bb(Cfg,Label)), - {BeforeCode,AfterCode} = split_for_xsi(lists:reverse(Code),[]), - NewCode = BeforeCode++[XsiLink|AfterCode], - NewBB = hipe_bb:mk_bb(NewCode), - NewCfg = ?CFG:bb_add(Cfg,Label,NewBB), - NewVisited = [NewInst|VisitedInstructions]; - _-> - {BeforeCode,AfterCode} = split_for_xsi(VisitedInstructions,[]), - TempVisited = BeforeCode++[XsiLink|AfterCode], - TempVisited2 = lists:reverse(TempVisited), - NewVisited = [NewInst|TempVisited2], - NewCfg = Cfg - end, + {NewCfg, NewVisited} = + case BlockLabel =:= Label of + false -> + %% Insert the Xsi in the appropriate block + Code = hipe_bb:code(?CFG:bb(Cfg,Label)), + {BeforeCode,AfterCode} = split_for_xsi(lists:reverse(Code),[]), + NewCode = BeforeCode++[XsiLink|AfterCode], + NewBB = hipe_bb:mk_bb(NewCode), + {?CFG:bb_add(Cfg,Label,NewBB), [NewInst|VisitedInstructions]}; + _-> + {BeforeCode,AfterCode} = split_for_xsi(VisitedInstructions,[]), + TempVisited = BeforeCode++[XsiLink|AfterCode], + TempVisited2 = lists:reverse(TempVisited), + {Cfg, [NewInst|TempVisited2]} + end, find_definition_for_computations_in_block(BlockLabel, Rest, NewCfg, NewVisited, XsiGraph) end; @@ -787,14 +786,15 @@ create_cfggraph([Label|Ls],Cfg,CFGGraph,ToBeFactorizedAcc,MPAcc,LateEdges,XsiGra Defs = get_defs_in_non_merge_block(Code, []), ?pp_debug("~nAdding a vertex for ~w", [Label]), Succs = ?CFG:succ(Cfg, Label), - case Succs of - [] -> %% Exit point - ?GRAPH:add_vertex(CFGGraph, Label, #block{type = exit}), - NewToBeFactorizedAcc = ToBeFactorizedAcc; - _ -> %% Split point - ?GRAPH:add_vertex(CFGGraph,Label,#block{type=not_mp,attributes={P,Succs}}), - NewToBeFactorizedAcc = [Label|ToBeFactorizedAcc] - end, + NewToBeFactorizedAcc = + case Succs of + [] -> %% Exit point + ?GRAPH:add_vertex(CFGGraph, Label, #block{type = exit}), + ToBeFactorizedAcc; + _ -> %% Split point + ?GRAPH:add_vertex(CFGGraph,Label,#block{type=not_mp,attributes={P,Succs}}), + [Label|ToBeFactorizedAcc] + end, ?pp_debug("~nAdding an edge ~w -> ~w (~w)",[P,Label,Defs]), case ?GRAPH:add_edge(CFGGraph,P,Label,Defs) of {error,Reason} -> @@ -862,56 +862,53 @@ add_edges_for_mp([P|Ps], Label, LateEdges) -> %% Doesn't do anything so far add_map_and_uses([], _Key, Maps, Uses) -> - {Maps,Uses}; + {Maps, Uses}; add_map_and_uses([XsiOp|Ops], Key, Maps, Uses) -> - case XsiOp#xsi_op.op of - #bottom{} -> - Set = case gb_trees:lookup(XsiOp,Maps) of - {value, V} -> - ?SETS:add_element(Key,V); - none -> - ?SETS:from_list([Key]) - end, - NewMaps = gb_trees:enter(XsiOp,Set,Maps), - NewUses = Uses; - #temp{} -> - Set = case gb_trees:lookup(XsiOp,Maps) of - {value, V} -> - ?SETS:add_element(Key,V); - none -> - ?SETS:from_list([Key]) - end, - NewMaps = gb_trees:enter(XsiOp,Set,Maps), - Pred = XsiOp#xsi_op.pred, - OOP = XsiOp#xsi_op.op, - SSet = case gb_trees:lookup(Pred,Uses) of - {value, VV} -> - ?SETS:add_element(OOP#temp.key,VV); - none -> - ?SETS:from_list([OOP#temp.key]) - end, - NewUses = gb_trees:enter(Pred,SSet,Uses); - #eop{} -> - Set = case gb_trees:lookup(XsiOp,Maps) of - {value, V} -> - ?SETS:add_element(Key,V); - none -> - ?SETS:from_list([Key]) - end, - NewMaps = gb_trees:enter(XsiOp,Set,Maps), - Pred = XsiOp#xsi_op.pred, - Op = XsiOp#xsi_op.op, - SSet = case gb_trees:lookup(Pred,Uses) of - {value, VV} -> - ?SETS:add_element(Op#eop.stopped_by,VV); - none -> - ?SETS:from_list([Op#eop.stopped_by]) - end, - NewUses = gb_trees:enter(Pred,SSet,Uses); - _-> - NewMaps = Maps, - NewUses = Uses - end, + {NewMaps, NewUses} = + case XsiOp#xsi_op.op of + #bottom{} -> + Set = case gb_trees:lookup(XsiOp, Maps) of + {value, V} -> + ?SETS:add_element(Key, V); + none -> + ?SETS:from_list([Key]) + end, + {gb_trees:enter(XsiOp, Set, Maps), Uses}; + #temp{} -> + Set = case gb_trees:lookup(XsiOp, Maps) of + {value, V} -> + ?SETS:add_element(Key, V); + none -> + ?SETS:from_list([Key]) + end, + Pred = XsiOp#xsi_op.pred, + OOP = XsiOp#xsi_op.op, + SSet = case gb_trees:lookup(Pred, Uses) of + {value, VV} -> + ?SETS:add_element(OOP#temp.key, VV); + none -> + ?SETS:from_list([OOP#temp.key]) + end, + {gb_trees:enter(XsiOp, Set, Maps), gb_trees:enter(Pred, SSet, Uses)}; + #eop{} -> + Set = case gb_trees:lookup(XsiOp, Maps) of + {value, V} -> + ?SETS:add_element(Key, V); + none -> + ?SETS:from_list([Key]) + end, + Pred = XsiOp#xsi_op.pred, + Op = XsiOp#xsi_op.op, + SSet = case gb_trees:lookup(Pred, Uses) of + {value, VV} -> + ?SETS:add_element(Op#eop.stopped_by, VV); + none -> + ?SETS:from_list([Op#eop.stopped_by]) + end, + {gb_trees:enter(XsiOp, Set, Maps), gb_trees:enter(Pred, SSet, Uses)}; + _-> + {Maps, Uses} + end, add_map_and_uses(Ops, Key, NewMaps, NewUses). post_process([], _CFGGraph) -> ok; @@ -1162,37 +1159,38 @@ code_motion_in_block(L,[Inst|Insts],Cfg,XsiG,Visited,InsertionsAcc) -> #pre_candidate{} -> Def = Inst#pre_candidate.def, Alu = Inst#pre_candidate.alu, - case Def of - bottom -> - InstToAdd = Alu; - #temp{} -> - Key = Def#temp.key, - {_V,Xsi} = ?GRAPH:vertex(XsiG,Key), - case Xsi#xsi.wba of - true -> - %% Turn into a move - Dst = ?RTL:alu_dst(Alu), - Move = ?RTL:mk_move(Dst,Def#temp.var), - pp_instr(Inst#pre_candidate.alu,nil), ?pp_debug(" ==> ",[]), pp_instr(Move,nil), - %% Counting redundancies - redundancy_add(), - InstToAdd = Move; - _ -> - InstToAdd = Alu - end; - _ -> %% Def is a real variable - %% Turn into a move - Dst = ?RTL:alu_dst(Alu), - Move = ?RTL:mk_move(Dst,Def), - pp_instr(Alu,nil), ?pp_debug(" ==> ",[]), pp_instr(Move,nil), - %% Counting redundancies - redundancy_add(), - InstToAdd = Move - end, + InstToAdd = + case Def of + bottom -> + Alu; + #temp{} -> + Key = Def#temp.key, + {_V,Xsi} = ?GRAPH:vertex(XsiG,Key), + case Xsi#xsi.wba of + true -> + %% Turn into a move + Dst = ?RTL:alu_dst(Alu), + Move = ?RTL:mk_move(Dst,Def#temp.var), + pp_instr(Inst#pre_candidate.alu,nil), ?pp_debug(" ==> ",[]), pp_instr(Move,nil), + %% Counting redundancies + redundancy_add(), + Move; + _ -> + Alu + end; + _ -> %% Def is a real variable + %% Turn into a move + Dst = ?RTL:alu_dst(Alu), + Move = ?RTL:mk_move(Dst,Def), + pp_instr(Alu,nil), ?pp_debug(" ==> ",[]), pp_instr(Move,nil), + %% Counting redundancies + redundancy_add(), + Move + end, code_motion_in_block(L,Insts,Cfg,XsiG,[InstToAdd|Visited],InsertionsAcc); #xsi_link{} -> Key = Inst#xsi_link.num, - {_V,Xsi} = ?GRAPH:vertex(XsiG,Key), + {_V,Xsi} = ?GRAPH:vertex(XsiG,Key), case Xsi#xsi.wba of true -> %% Xsi is a WBA, it might trigger insertions @@ -1235,139 +1233,133 @@ get_insertions([],OpAcc,InsertionsAcc,_Visited,_Expr,_XsiG) -> get_insertions([XsiOp|Ops],OpAcc,InsertionsAcc,Visited,Expr,XsiG) -> Pred = XsiOp#xsi_op.pred, Op = XsiOp#xsi_op.op, - case Op of - #bottom{} -> - case gb_trees:lookup(Pred,InsertionsAcc) of - {value,Insertion} -> - From = Insertion#insertion.from, - case lists:keyfind(Op, 1, From) of - false -> - ?pp_debug("~nThere has been insertions along the edge L~w already, but not for that operand | Op=",[Pred]),pp_arg(Op), - Dst = Op#bottom.var, - Expr2 = ?RTL:alu_dst_update(Expr,Dst), - Inst = manufacture_computation(Pred,Expr2,Visited), - Code = Insertion#insertion.code, - NewInsertion = Insertion#insertion{from=[{Op,Dst}|From],code=[Inst|Code]}, - NewInsertionsAcc = gb_trees:update(Pred,NewInsertion,InsertionsAcc); - {_, Val} -> - ?pp_debug("~nThere has been insertions along the edge L~w already, and for that operand too | Op=",[Pred]),pp_arg(Op), - Dst = Val, - NewInsertionsAcc = InsertionsAcc - end; - none -> - ?pp_debug("~nThere has been no insertion along the edge L~w, (and not for that operand, of course)| Op=",[Pred]),pp_arg(Op), - Dst = Op#bottom.var, - Expr2 = ?RTL:alu_dst_update(Expr,Dst), - Inst = manufacture_computation(Pred,Expr2,Visited), - NewInsertion = #insertion{from=[{Op,Dst}],code=[Inst]}, - NewInsertionsAcc = gb_trees:insert(Pred,NewInsertion,InsertionsAcc) - end; - #const_expr{} -> - case gb_trees:lookup(Pred,InsertionsAcc) of - {value,Insertion} -> - From = Insertion#insertion.from, - case lists:keyfind(Op, 1, From) of - false -> - ?pp_debug("~nThere have been insertions along the edge L~w already, but not for that operand | Op=",[Pred]),pp_arg(Op), - Dst = Op#const_expr.var, - Val = Op#const_expr.value, - Inst = ?RTL:mk_move(Dst,Val), - Code = Insertion#insertion.code, - NewInsertion = Insertion#insertion{from=[{Op,Dst}|From],code=[Inst|Code]}, - NewInsertionsAcc = gb_trees:update(Pred,NewInsertion,InsertionsAcc); - {_, Val} -> - ?pp_debug("~nThere have been insertions along the edge L~w already, and for that operand too | Op=",[Pred]),pp_arg(Op), - Dst = Val, - NewInsertionsAcc = InsertionsAcc - end; - none -> - ?pp_debug("~nThere has been no insertion along the edge L~w, (and not for that operand, of course)| Op=",[Pred]),pp_arg(Op), - Dst = Op#const_expr.var, - Val = Op#const_expr.value, - Inst = ?RTL:mk_move(Dst,Val), - NewInsertion = #insertion{from=[{Op,Dst}],code=[Inst]}, - NewInsertionsAcc = gb_trees:insert(Pred,NewInsertion,InsertionsAcc) - end; - #eop{} -> - %% We treat expressions like bottoms - %% The value must be recomputed, and therefore not available... - case gb_trees:lookup(Pred,InsertionsAcc) of - {value,Insertion} -> - From = Insertion#insertion.from, - case lists:keyfind(Op, 1, From) of - false -> - ?pp_debug("~nThere has been insertions along the edge L~w already, but not for that operand | Op=",[Pred]),pp_arg(Op), - Dst = Op#eop.var, - Expr2 = ?RTL:alu_dst_update(Expr,Dst), - Inst = manufacture_computation(Pred,Expr2,Visited), - Code = Insertion#insertion.code, - NewInsertion = Insertion#insertion{from=[{Op,Dst}|From],code=[Inst|Code]}, - NewInsertionsAcc = gb_trees:update(Pred,NewInsertion,InsertionsAcc); - {_, Val} -> - ?pp_debug("~nThere has been insertions along the edge L~w already, and for that operand too | Op=",[Pred]),pp_arg(Op), - Dst = Val, - NewInsertionsAcc = InsertionsAcc - end; - none -> - ?pp_debug("~nThere has been no insertion along the edge L~w, (and not for that operand, of course)| Op=",[Pred]),pp_arg(Op), - Dst = Op#eop.var, - Expr2 = ?RTL:alu_dst_update(Expr,Dst), - Inst = manufacture_computation(Pred,Expr2,Visited), - NewInsertion = #insertion{from=[{Op,Dst}],code=[Inst]}, - NewInsertionsAcc = gb_trees:insert(Pred,NewInsertion,InsertionsAcc) - end; - #temp{} -> - case gb_trees:lookup(Pred,InsertionsAcc) of - {value,Insertion} -> - From = Insertion#insertion.from, - case lists:keyfind(Op, 1, From) of - false -> - ?pp_debug("~nThere has been insertions along the edge L~w already, but not for that operand | Op=",[Pred]),pp_arg(Op), - Key = Op#temp.key, - {_V,Xsi} = ?GRAPH:vertex(XsiG,Key), - case Xsi#xsi.wba of - true -> - ?pp_debug("~nBut the operand is a WBA Xsi: no need for insertion",[]), - Dst = Op#temp.var, - NewInsertionsAcc = InsertionsAcc; - _ -> - ?pp_debug("~nBut the operand is a NOT WBA Xsi: we must make an insertion",[]), - Dst = ?RTL:mk_new_var(), - Expr2 = ?RTL:alu_dst_update(Expr,Dst), - Inst = manufacture_computation(Pred,Expr2,Visited), - Code = Insertion#insertion.code, - NewInsertion = Insertion#insertion{from=[{Op,Dst}|From],code=[Inst|Code]}, - NewInsertionsAcc = gb_trees:update(Pred,NewInsertion,InsertionsAcc) - end; - {_, Val} -> - ?pp_debug("~nThere has been insertions along the edge L~w already, and for that operand too (Op=~w)",[Pred,Op]), - ?pp_debug("~nThis means, this temp is a WBA Xsi's definition",[]), - Dst = Val, - NewInsertionsAcc = InsertionsAcc - end; - none -> - ?pp_debug("~nThere has been no insertion along the edge L~w, (and not for that operand, of course | Op=",[Pred]),pp_arg(Op), - Key = Op#temp.key, - {_V,Xsi} = ?GRAPH:vertex(XsiG,Key), - case Xsi#xsi.wba of - true -> - ?pp_debug("~nBut the operand is a WBA Xsi: no need for insertion",[]), - Dst = Op#temp.var, - NewInsertionsAcc = InsertionsAcc; - _ -> - ?pp_debug("~nBut the operand is a NOT WBA Xsi: we must make an insertion",[]), - Dst = ?RTL:mk_new_var(), - Expr2 = ?RTL:alu_dst_update(Expr,Dst), - Inst = manufacture_computation(Pred,Expr2,Visited), - NewInsertion = #insertion{from=[{Op,Dst}],code=[Inst]}, - NewInsertionsAcc = gb_trees:insert(Pred,NewInsertion,InsertionsAcc) - end - end; - _ -> - ?pp_debug("~nThe operand (Op=",[]),pp_arg(Op),?pp_debug(") is a real variable, no need for insertion along L~w",[Pred]), - Dst = Op, - NewInsertionsAcc = InsertionsAcc - end, + {Dst, NewInsertionsAcc} = + case Op of + #bottom{} -> + case gb_trees:lookup(Pred,InsertionsAcc) of + {value,Insertion} -> + From = Insertion#insertion.from, + case lists:keyfind(Op, 1, From) of + false -> + ?pp_debug("~nThere has been insertions along the edge L~w already, but not for that operand | Op=",[Pred]),pp_arg(Op), + D = Op#bottom.var, + Expr2 = ?RTL:alu_dst_update(Expr,D), + Inst = manufacture_computation(Pred,Expr2,Visited), + Code = Insertion#insertion.code, + NewInsertion = Insertion#insertion{from=[{Op,D}|From],code=[Inst|Code]}, + {D, gb_trees:update(Pred, NewInsertion, InsertionsAcc)}; + {_, Val} -> + ?pp_debug("~nThere has been insertions along the edge L~w already, and for that operand too | Op=",[Pred]),pp_arg(Op), + {Val, InsertionsAcc} + end; + none -> + ?pp_debug("~nThere has been no insertion along the edge L~w, (and not for that operand, of course)| Op=",[Pred]),pp_arg(Op), + D = Op#bottom.var, + Expr2 = ?RTL:alu_dst_update(Expr, D), + Inst = manufacture_computation(Pred,Expr2,Visited), + NewInsertion = #insertion{from=[{Op,D}],code=[Inst]}, + {D, gb_trees:insert(Pred,NewInsertion, InsertionsAcc)} + end; + #const_expr{} -> + case gb_trees:lookup(Pred,InsertionsAcc) of + {value,Insertion} -> + From = Insertion#insertion.from, + case lists:keyfind(Op, 1, From) of + false -> + ?pp_debug("~nThere have been insertions along the edge L~w already, but not for that operand | Op=",[Pred]),pp_arg(Op), + D = Op#const_expr.var, + Val = Op#const_expr.value, + Inst = ?RTL:mk_move(D, Val), + Code = Insertion#insertion.code, + NewInsertion = Insertion#insertion{from=[{Op,D}|From],code=[Inst|Code]}, + {D, gb_trees:update(Pred,NewInsertion,InsertionsAcc)}; + {_, Val} -> + ?pp_debug("~nThere have been insertions along the edge L~w already, and for that operand too | Op=",[Pred]),pp_arg(Op), + {Val, InsertionsAcc} + end; + none -> + ?pp_debug("~nThere has been no insertion along the edge L~w, (and not for that operand, of course)| Op=",[Pred]),pp_arg(Op), + D = Op#const_expr.var, + Val = Op#const_expr.value, + Inst = ?RTL:mk_move(D, Val), + NewInsertion = #insertion{from=[{Op,D}],code=[Inst]}, + {D, gb_trees:insert(Pred,NewInsertion, InsertionsAcc)} + end; + #eop{} -> + %% We treat expressions like bottoms + %% The value must be recomputed, and therefore not available... + case gb_trees:lookup(Pred,InsertionsAcc) of + {value,Insertion} -> + From = Insertion#insertion.from, + case lists:keyfind(Op, 1, From) of + false -> + ?pp_debug("~nThere has been insertions along the edge L~w already, but not for that operand | Op=",[Pred]),pp_arg(Op), + D = Op#eop.var, + Expr2 = ?RTL:alu_dst_update(Expr, D), + Inst = manufacture_computation(Pred,Expr2,Visited), + Code = Insertion#insertion.code, + NewInsertion = Insertion#insertion{from=[{Op,D}|From],code=[Inst|Code]}, + {D, gb_trees:update(Pred,NewInsertion, InsertionsAcc)}; + {_, Val} -> + ?pp_debug("~nThere has been insertions along the edge L~w already, and for that operand too | Op=",[Pred]),pp_arg(Op), + {Val, InsertionsAcc} + end; + none -> + ?pp_debug("~nThere has been no insertion along the edge L~w, (and not for that operand, of course)| Op=",[Pred]),pp_arg(Op), + D = Op#eop.var, + Expr2 = ?RTL:alu_dst_update(Expr, D), + Inst = manufacture_computation(Pred,Expr2,Visited), + NewInsertion = #insertion{from=[{Op,D}],code=[Inst]}, + {D, gb_trees:insert(Pred, NewInsertion, InsertionsAcc)} + end; + #temp{} -> + case gb_trees:lookup(Pred,InsertionsAcc) of + {value,Insertion} -> + From = Insertion#insertion.from, + case lists:keyfind(Op, 1, From) of + false -> + ?pp_debug("~nThere has been insertions along the edge L~w already, but not for that operand | Op=",[Pred]),pp_arg(Op), + Key = Op#temp.key, + {_V,Xsi} = ?GRAPH:vertex(XsiG,Key), + case Xsi#xsi.wba of + true -> + ?pp_debug("~nBut the operand is a WBA Xsi: no need for insertion",[]), + {Op#temp.var, InsertionsAcc}; + _ -> + ?pp_debug("~nBut the operand is a NOT WBA Xsi: we must make an insertion",[]), + D = ?RTL:mk_new_var(), + Expr2 = ?RTL:alu_dst_update(Expr, D), + Inst = manufacture_computation(Pred,Expr2,Visited), + Code = Insertion#insertion.code, + NewInsertion = Insertion#insertion{from=[{Op,D}|From],code=[Inst|Code]}, + {D, gb_trees:update(Pred, NewInsertion, InsertionsAcc)} + end; + {_, Val} -> + ?pp_debug("~nThere has been insertions along the edge L~w already, and for that operand too (Op=~w)",[Pred,Op]), + ?pp_debug("~nThis means, this temp is a WBA Xsi's definition",[]), + {Val, InsertionsAcc} + end; + none -> + ?pp_debug("~nThere has been no insertion along the edge L~w, (and not for that operand, of course | Op=",[Pred]),pp_arg(Op), + Key = Op#temp.key, + {_V,Xsi} = ?GRAPH:vertex(XsiG,Key), + case Xsi#xsi.wba of + true -> + ?pp_debug("~nBut the operand is a WBA Xsi: no need for insertion",[]), + {Op#temp.var, InsertionsAcc}; + _ -> + ?pp_debug("~nBut the operand is a NOT WBA Xsi: we must make an insertion",[]), + D = ?RTL:mk_new_var(), + Expr2 = ?RTL:alu_dst_update(Expr, D), + Inst = manufacture_computation(Pred,Expr2,Visited), + NewInsertion = #insertion{from=[{Op,D}],code=[Inst]}, + {D, gb_trees:insert(Pred, NewInsertion, InsertionsAcc)} + end + end; + _ -> + ?pp_debug("~nThe operand (Op=",[]),pp_arg(Op),?pp_debug(") is a real variable, no need for insertion along L~w",[Pred]), + {Op, InsertionsAcc} + end, NewXsiOp = XsiOp#xsi_op{op=Dst}, get_insertions(Ops, [NewXsiOp|OpAcc], NewInsertionsAcc, Visited, Expr, XsiG). diff --git a/lib/hipe/sparc/Makefile b/lib/hipe/sparc/Makefile index 9fea887ebd..0e36a43d8e 100644 --- a/lib/hipe/sparc/Makefile +++ b/lib/hipe/sparc/Makefile @@ -76,7 +76,7 @@ DOC_FILES= $(MODULES:%=$(DOCS)/%.html) include ../native.mk -ERL_COMPILE_FLAGS += +warn_exported_vars +ERL_COMPILE_FLAGS += -Werror +warn_export_vars # ---------------------------------------------------- # Targets diff --git a/lib/hipe/test/Makefile b/lib/hipe/test/Makefile index 09f4fd2129..544888719f 100644 --- a/lib/hipe/test/Makefile +++ b/lib/hipe/test/Makefile @@ -6,7 +6,8 @@ include $(ERL_TOP)/make/$(TARGET)/otp.mk # ---------------------------------------------------- MODULES= \ - hipe_SUITE + hipe_SUITE \ + opt_verify_SUITE # .erl files for these modules are automatically generated GEN_MODULES= \ @@ -79,4 +80,4 @@ release_tests_spec: make_emakefile @tar cf - *_SUITE_data | (cd "$(RELSYSDIR)"; tar xf -) cd "$(RELSYSDIR)";\ erlc hipe_testsuite_driver.erl;\ - erl -noshell -run hipe_testsuite_driver create_all_suites -s erlang halt + erl -noshell -run hipe_testsuite_driver create_all_suites $(GEN_MODULES) -s erlang halt diff --git a/lib/hipe/test/hipe_testsuite_driver.erl b/lib/hipe/test/hipe_testsuite_driver.erl index 64c5c0a7c9..03ec7adfd0 100644 --- a/lib/hipe/test/hipe_testsuite_driver.erl +++ b/lib/hipe/test/hipe_testsuite_driver.erl @@ -1,6 +1,6 @@ -module(hipe_testsuite_driver). --export([create_all_suites/0, run/3]). +-export([create_all_suites/1, run/3]). -include_lib("kernel/include/file.hrl"). @@ -16,25 +16,17 @@ outputfile :: file:io_device(), testcases :: [testcase()]}). --spec create_all_suites() -> 'ok'. +-spec create_all_suites([string()]) -> 'ok'. -create_all_suites() -> - {ok, Cwd} = file:get_cwd(), - Suites = get_suites(Cwd), +create_all_suites(SuitesWithSuiteSuffix) -> + Suites = get_suites(SuitesWithSuiteSuffix), lists:foreach(fun create_suite/1, Suites). --spec get_suites(file:filename()) -> [string()]. +-spec get_suites([string()]) -> [string()]. -get_suites(Dir) -> - case file:list_dir(Dir) of - {error, _} -> []; - {ok, Filenames} -> - FullFilenames = [filename:join(Dir, F) || F <- Filenames], - Dirs = [suffix(filename:basename(F), ?suite_data) || - F <- FullFilenames, - file_type(F) =:= {ok, 'directory'}], - [S || {yes, S} <- Dirs] - end. +get_suites(SuitesWithSuiteSuffix) -> + Prefixes = [suffix(F, ?suite_suffix) || F <- SuitesWithSuiteSuffix], + [S || {yes, S} <- Prefixes]. suffix(String, Suffix) -> case string:rstr(String, Suffix) of diff --git a/lib/hipe/test/opt_verify_SUITE.erl b/lib/hipe/test/opt_verify_SUITE.erl new file mode 100644 index 0000000000..61952e81d7 --- /dev/null +++ b/lib/hipe/test/opt_verify_SUITE.erl @@ -0,0 +1,62 @@ +-module(opt_verify_SUITE). + +-compile([export_all]). + +all() -> + [call_elim]. + +groups() -> + []. + +init_per_suite(Config) -> + case erlang:system_info(hipe_architecture) of + undefined -> {skip, "HiPE not available or enabled"}; + _ -> Config + end. + +end_per_suite(_Config) -> + ok. + +init_per_group(_GroupName, Config) -> + Config. + +end_per_group(_GroupName, Config) -> + Config. + +call_elim_test_file(Config, FileName, Option) -> + PrivDir = test_server:lookup_config(priv_dir, Config), + TempOut = test_server:temp_name(filename:join(PrivDir, "call_elim_out")), + {ok, TestCase} = compile:file(FileName), + {ok, TestCase} = hipe:c(TestCase, [Option, {pp_range_icode, {file, TempOut}}]), + {ok, Icode} = file:read_file(TempOut), + ok = file:delete(TempOut), + Icode. + +substring_count(Icode, Substring) -> + substring_count(Icode, Substring, 0). +substring_count(Icode, Substring, N) -> + case string:str(Icode, Substring) of + 0 -> N; + I -> substring_count(lists:nthtail(I, Icode), Substring, N+1) + end. + +call_elim() -> + [{doc, "Test that the call elimination optimization pass is ok"}]. +call_elim(Config) -> + DataDir = test_server:lookup_config(data_dir, Config), + F1 = filename:join(DataDir, "call_elim_test.erl"), + Icode1 = call_elim_test_file(Config, F1, icode_call_elim), + 0 = substring_count(binary:bin_to_list(Icode1), "is_key"), + Icode2 = call_elim_test_file(Config, F1, no_icode_call_elim), + true = (0 /= substring_count(binary:bin_to_list(Icode2), "is_key")), + F2 = filename:join(DataDir, "call_elim_test_branches_no_opt_poss.erl"), + Icode3 = call_elim_test_file(Config, F2, icode_call_elim), + 3 = substring_count(binary:bin_to_list(Icode3), "is_key"), + Icode4 = call_elim_test_file(Config, F2, no_icode_call_elim), + 3 = substring_count(binary:bin_to_list(Icode4), "is_key"), + F3 = filename:join(DataDir, "call_elim_test_branches_opt_poss.erl"), + Icode5 = call_elim_test_file(Config, F3, icode_call_elim), + 0 = substring_count(binary:bin_to_list(Icode5), "is_key"), + Icode6 = call_elim_test_file(Config, F3, no_icode_call_elim), + 3 = substring_count(binary:bin_to_list(Icode6), "is_key"), + ok. diff --git a/lib/hipe/test/opt_verify_SUITE_data/call_elim_test.erl b/lib/hipe/test/opt_verify_SUITE_data/call_elim_test.erl new file mode 100644 index 0000000000..8b725f8ffe --- /dev/null +++ b/lib/hipe/test/opt_verify_SUITE_data/call_elim_test.erl @@ -0,0 +1,12 @@ +-module(call_elim_test). + +-export([test/0]). + +test() -> + true = has_1_field(#{1=>true}), + true = has_1_field(#{1=>"hej", b=>2}), + true = has_1_field(#{b=>3, 1=>4}), + ok. + +has_1_field(#{1:=_}) -> true; +has_1_field(#{}) -> false. diff --git a/lib/hipe/test/opt_verify_SUITE_data/call_elim_test_branches_no_opt_poss.erl b/lib/hipe/test/opt_verify_SUITE_data/call_elim_test_branches_no_opt_poss.erl new file mode 100644 index 0000000000..7ffae86797 --- /dev/null +++ b/lib/hipe/test/opt_verify_SUITE_data/call_elim_test_branches_no_opt_poss.erl @@ -0,0 +1,32 @@ +-module(call_elim_test_branches_no_opt_poss). + +-export([test/1]). + +test(A) -> + if A > 0 -> + false = has_a_field(#{b=>true}), + true = has_a_field(#{b=>1, a=>"2"}), + false = has_a_field(#{b=>5, c=>4}), + false = has_tuple_field(#{{ab, 2}=><<"qq">>, 1 =>0}), + false = has_tuple_field(#{up =>down, {ab, 2}=>[]}), + false = has_tuple_field(#{{ab, 2}=>42}); + A =< 0 -> + true = has_a_field(#{a=>q, 'A' =>nej}), + true = has_a_field(#{a=>"hej", false=>true}), + true = has_a_field(#{a=>3}), + true = has_tuple_field(#{{ab, 1}=>q, 'A' =>nej}), + true = has_tuple_field(#{{ab, 1}=>"hej", false=>true}), + true = has_tuple_field(#{{ab, 1}=>3}) + end, + true = has_nil_field(#{[] =>3, b=>"seven"}), + true = has_nil_field(#{"seventeen"=>17}), + ok. + +has_tuple_field(#{{ab, 1}:=_}) -> true; +has_tuple_field(#{}) -> false. + +has_a_field(#{a:=_}) -> true; +has_a_field(#{}) -> false. + +has_nil_field(#{[]:=_}) -> true; +has_nil_field(#{}) -> false. diff --git a/lib/hipe/test/opt_verify_SUITE_data/call_elim_test_branches_opt_poss.erl b/lib/hipe/test/opt_verify_SUITE_data/call_elim_test_branches_opt_poss.erl new file mode 100644 index 0000000000..c8ddfa1e75 --- /dev/null +++ b/lib/hipe/test/opt_verify_SUITE_data/call_elim_test_branches_opt_poss.erl @@ -0,0 +1,32 @@ +-module(call_elim_test_branches_opt_poss). + +-export([test/1]). + +test(A) -> + if A > 0 -> + true = has_a_field(#{a=>true}), + true = has_a_field(#{b=>1, a=>"2"}), + true = has_a_field(#{a=>5, c=>4}), + true = has_tuple_field(#{{ab, 1}=><<"qq">>, 1 =>0}), + true = has_tuple_field(#{up =>down, {ab, 1}=>[]}), + true = has_tuple_field(#{{ab, 1}=>42}); + A =< 0 -> + true = has_a_field(#{a=>q, 'A' =>nej}), + true = has_a_field(#{a=>"hej", false=>true}), + true = has_a_field(#{a=>3}), + true = has_tuple_field(#{{ab, 1}=>q, 'A' =>nej}), + true = has_tuple_field(#{{ab, 1}=>"hej", false=>true}), + true = has_tuple_field(#{{ab, 1}=>3}) + end, + true = has_nil_field(#{[] =>3, b =>"seven"}), + true = has_nil_field(#{"seventeen"=>17, []=>nil}), + ok. + +has_tuple_field(#{{ab, 1}:=_}) -> true; +has_tuple_field(#{}) -> false. + +has_a_field(#{a:=_}) -> true; +has_a_field(#{}) -> false. + +has_nil_field(#{[]:=_}) -> true; +has_nil_field(#{}) -> false. diff --git a/lib/hipe/tools/Makefile b/lib/hipe/tools/Makefile index 4e3b93d464..7a62896c31 100644 --- a/lib/hipe/tools/Makefile +++ b/lib/hipe/tools/Makefile @@ -65,7 +65,7 @@ DOC_FILES= $(MODULES:%=$(DOCS)/%.html) include ../native.mk -ERL_COMPILE_FLAGS += +warn_exported_vars +warn_missing_spec +warn_untyped_record +ERL_COMPILE_FLAGS += -Werror +warn_export_vars +warn_missing_spec +warn_untyped_record # ---------------------------------------------------- # Targets diff --git a/lib/hipe/util/Makefile b/lib/hipe/util/Makefile index 32135d60dd..66e9421c25 100644 --- a/lib/hipe/util/Makefile +++ b/lib/hipe/util/Makefile @@ -69,7 +69,7 @@ DOC_FILES= $(MODULES:%=$(DOCS)/%.html) include ../native.mk -ERL_COMPILE_FLAGS += +warn_exported_vars +warn_missing_spec +warn_untyped_record +ERL_COMPILE_FLAGS += -Werror +warn_export_vars +warn_missing_spec +warn_untyped_record # ---------------------------------------------------- # Targets diff --git a/lib/hipe/x86/Makefile b/lib/hipe/x86/Makefile index e8a73bbc42..93f8b955dd 100644 --- a/lib/hipe/x86/Makefile +++ b/lib/hipe/x86/Makefile @@ -84,7 +84,7 @@ DOC_FILES= $(MODULES:%=$(DOCS)/%.html) include ../native.mk -ERL_COMPILE_FLAGS += +warn_exported_vars +ERL_COMPILE_FLAGS += -Werror +warn_export_vars # ---------------------------------------------------- # Targets diff --git a/lib/kernel/doc/src/inet.xml b/lib/kernel/doc/src/inet.xml index bca04aa244..5ff167bcb3 100644 --- a/lib/kernel/doc/src/inet.xml +++ b/lib/kernel/doc/src/inet.xml @@ -11,7 +11,7 @@ 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 @@ -207,6 +207,10 @@ fe80::204:acff:fe17:bf38 <desc> <p>Returns a <c>hostent</c> record for the host with the specified hostname.</p> + <p>If resolver option <c>inet6</c> is <c>true</c>, + an IPv6 address is looked up. If that fails, + the IPv4 address is looked up and returned on + IPv6-mapped IPv4 format.</p> </desc> </func> @@ -1267,4 +1271,3 @@ inet:setopts(Sock,[{raw,6,8,<<30:32/native>>}]),]]></code> </list> </section> </erlref> - diff --git a/lib/kernel/src/inet.erl b/lib/kernel/src/inet.erl index c1ae99ea24..713a9cf725 100644 --- a/lib/kernel/src/inet.erl +++ b/lib/kernel/src/inet.erl @@ -439,7 +439,12 @@ getstat(Socket,What) -> Hostent :: hostent(). gethostbyname(Name) -> - gethostbyname_tm(Name, inet, false). + case inet_db:res_option(inet6) of + true -> + gethostbyname_tm(Name, inet6, false); + false -> + gethostbyname_tm(Name, inet, false) + end. -spec gethostbyname(Hostname, Family) -> {ok, Hostent} | {error, posix()} when diff --git a/lib/kernel/src/inet_tcp_dist.erl b/lib/kernel/src/inet_tcp_dist.erl index 64b28bb49b..f91d7ef7c3 100644 --- a/lib/kernel/src/inet_tcp_dist.erl +++ b/lib/kernel/src/inet_tcp_dist.erl @@ -73,7 +73,8 @@ gen_listen(Driver, Name) -> {ok, Socket} -> TcpAddress = get_tcp_address(Driver, Socket), {_,Port} = TcpAddress#net_address.address, - case erl_epmd:register_node(Name, Port) of + ErlEpmd = net_kernel:epmd_module(), + case ErlEpmd:register_node(Name, Port) of {ok, Creation} -> {ok, {Socket, TcpAddress, Creation}}; Error -> @@ -280,7 +281,8 @@ do_setup(Driver, Kernel, Node, Type, MyNode, LongOrShortNames, SetupTime) -> case inet:getaddr(Address, AddressFamily) of {ok, Ip} -> Timer = dist_util:start_timer(SetupTime), - case erl_epmd:port_please(Name, Ip) of + ErlEpmd = net_kernel:epmd_module(), + case ErlEpmd:port_please(Name, Ip) of {port, TcpPort, Version} -> ?trace("port_please(~p) -> version ~p~n", [Node,Version]), diff --git a/lib/kernel/src/kernel.app.src b/lib/kernel/src/kernel.app.src index 15e0ec02a9..1acd6803b2 100644 --- a/lib/kernel/src/kernel.app.src +++ b/lib/kernel/src/kernel.app.src @@ -116,6 +116,6 @@ {applications, []}, {env, [{error_logger, tty}]}, {mod, {kernel, []}}, - {runtime_dependencies, ["erts-8.0", "stdlib-2.6", "sasl-2.6"]} + {runtime_dependencies, ["erts-8.0", "stdlib-3.0", "sasl-3.0"]} ] }. diff --git a/lib/kernel/src/net_adm.erl b/lib/kernel/src/net_adm.erl index a38356c224..8ec275b88b 100644 --- a/lib/kernel/src/net_adm.erl +++ b/lib/kernel/src/net_adm.erl @@ -96,7 +96,8 @@ names() -> Reason :: address | file:posix(). names(Hostname) -> - erl_epmd:names(Hostname). + ErlEpmd = net_kernel:epmd_module(), + ErlEpmd:names(Hostname). -spec dns_hostname(Host) -> {ok, Name} | {error, Host} when Host :: atom() | string(), diff --git a/lib/kernel/test/init_SUITE.erl b/lib/kernel/test/init_SUITE.erl index e7b44a714c..a332e7966b 100644 --- a/lib/kernel/test/init_SUITE.erl +++ b/lib/kernel/test/init_SUITE.erl @@ -27,7 +27,7 @@ -export([get_arguments/1, get_argument/1, boot_var/1, restart/1, many_restarts/0, many_restarts/1, get_plain_arguments/1, - reboot/1, stop/1, get_status/1, script_id/1]). + reboot/1, stop_status/1, stop/1, get_status/1, script_id/1]). -export([boot1/1, boot2/1]). -export([init_per_testcase/2, end_per_testcase/2]). @@ -48,7 +48,7 @@ suite() -> all() -> [get_arguments, get_argument, boot_var, many_restarts, - get_plain_arguments, restart, get_status, script_id, + get_plain_arguments, restart, stop_status, get_status, script_id, {group, boot}]. groups() -> @@ -465,6 +465,20 @@ reboot(Config) when is_list(Config) -> %% ------------------------------------------------ %% %% ------------------------------------------------ +stop_status(Config) when is_list(Config) -> + badarg = catch_stop([65,[66],67]), % flat strings only + badarg = catch_stop([65, 666, 67]), % only bytes in string + badarg = catch_stop(abort), % 'abort' not allowed + badarg = catch_stop(true), % other atoms not allowed + badarg = catch_stop(-1), % no negative statuses + ok. + +catch_stop(Status) -> + try init:stop(Status) catch error:badarg -> badarg end. + +%% ------------------------------------------------ +%% +%% ------------------------------------------------ stop(Config) when is_list(Config) -> Args = args(), {ok, Node} = start_node(init_test, Args), diff --git a/lib/kernel/test/prim_file_SUITE.erl b/lib/kernel/test/prim_file_SUITE.erl index cc7f2f6713..8be94f1e57 100644 --- a/lib/kernel/test/prim_file_SUITE.erl +++ b/lib/kernel/test/prim_file_SUITE.erl @@ -1023,7 +1023,7 @@ file_write_file_info_opts(Config) when is_list(Config) -> Time <- [ 0,1,-1,100,-100,1000,-1000,10000,-10000 ] ]), - %% REM: determine date range dependent on time_t = Uint32 | Sint32 | Sint64 + %% REM: determine date range dependent on time_t = Uint32 | Sint32 | Sint64 | Uint64 %% Determine time_t on os:type()? lists:foreach(fun ({FI, Opts}) -> ok = ?PRIM_FILE_call(write_file_info, Handle, [Name, FI, Opts]) @@ -1072,9 +1072,10 @@ file_write_read_file_info_opts(Config) when is_list(Config) -> %ok = file_write_read_file_info_opts(Handle, Name, {{1930, 04, 28}, {19,30,22}}, [{time, local}]), %ok = file_write_read_file_info_opts(Handle, Name, {{1930, 04, 28}, {19,30,22}}, [{time, universal}]), ok = file_write_read_file_info_opts(Handle, Name, 1, [{time, posix}]), - ok = file_write_read_file_info_opts(Handle, Name, -1, [{time, posix}]), + %% will not work on platforms with unsigned time_t + %ok = file_write_read_file_info_opts(Handle, Name, -1, [{time, posix}]), + %ok = file_write_read_file_info_opts(Handle, Name, -300000, [{time, posix}]), ok = file_write_read_file_info_opts(Handle, Name, 300000, [{time, posix}]), - ok = file_write_read_file_info_opts(Handle, Name, -300000, [{time, posix}]), ok = file_write_read_file_info_opts(Handle, Name, 0, [{time, posix}]), ok = ?PRIM_FILE:stop(Handle), diff --git a/lib/observer/doc/src/observer_ug.xml b/lib/observer/doc/src/observer_ug.xml index ca354df864..6eb72f3e58 100644 --- a/lib/observer/doc/src/observer_ug.xml +++ b/lib/observer/doc/src/observer_ug.xml @@ -168,7 +168,7 @@ <item><p>The length of the message queue for the process.</p></item> </taglist> - <p>Option <em>Process info</em> opens a detailed information window on the selected process, + <p>Option <em>Process info</em> opens a detailed information window on the process under the mouse pointer, including the following:</p> <taglist> <tag>Process Information</tag> @@ -195,12 +195,53 @@ </p> </note> - <p>Option <em>Trace Processes</em> adds the selected process identifiers to tab + <p>Option <em>Trace selected processes</em> adds the selected process identifiers to tab <em>Trace Overview</em> plus the node that the processes reside on. </p> - <p>Option <em>Trace Named Processes</em> adds the registered name of the processes. This can be + <p>Option <em>Trace selected processes by name</em> adds the registered name of the processes. This can be useful when tracing is done on many nodes, as processes with that name are then traced on all traced nodes.</p> + <p>Option <em>Kill process</em> brutally kills the processes under + the mouse pointer by sending an exit signal with + reason <c>kill</c>.</p> + + </section> + + <section> + <title>Ports Tab</title> + <p>Tab <em>Ports</em> lists port information in columns. + For each port the following information is displayed: + </p> + <taglist> + <tag>Id</tag> + <item><p>The port identifier.</p></item> + <tag>Connected</tag> + <item><p>The process identifier for the process that owns the + port.</p></item> + <tag>Name</tag> + <item><p>The registered name of the port, if any.</p></item> + <tag>Controls</tag> + <item><p>The name of the command set by <seealso marker="erts:erlang#open_port-2"><c>erlang:open_port/2</c></seealso>.</p></item> + <tag>Slot</tag> + <item><p>The internal index of the port.</p></item> + </taglist> + + <p>Option <em>Port info</em> opens a detailed information window + for the port under the mouse pointer. In addition to the + information above, it also shows links and monitors.</p> + + <p>Option <em>Trace selected ports</em> adds the selected port + identifiers, and the nodes that the ports reside on, + to tab <em>Trace Overview</em>.</p> + + <p>Option <em>Trace selected ports by name</em> adds the + registered name of the port to tab <em>Trace Overview</em>. This + can be useful when tracing is done on many nodes, as ports with + that name are then traced on all traced nodes.</p> + + <p>Option <em>Close</em> + executes <seealso marker="erts:erlang#port_close-1"><c>erlang:port_close/1</c></seealso> + on the port under the mouse pointer.</p> </section> @@ -211,8 +252,11 @@ applications are not diplayed. Use menu <em>View</em> to view "system" ETS tables, unreadable ETS tables, or Mnesia tables. </p> - <p>Double-click to view the table content. To view table information, select the table - and activate menu <em>View > Table information</em>.</p> + <p>Double-click to view the table content, or right-click and + select option <em>Show Table Content</em>. To view table + information, select the table and activate menu <em>View > + Table information</em>, or right-click and select option <em>Table + info</em>.</p> <p>You can use <seealso marker="stdlib:re">regular expressions</seealso> and search for objects, and edit or delete them. </p> @@ -220,11 +264,12 @@ <section> <title>Trace Overview Tab</title> - <p>Tab <em>Trace Overview</em> handles tracing. Trace - by selecting the processes to be traced and how to trace - them. You can trace messages, function calls, and events, where - events are process-related events such as <c>spawn</c>, - <c>exit</c>, and many others. + <p>Tab <em>Trace Overview</em> handles tracing. Trace by selecting + the processes or ports to be traced and how to trace them. For + processes, you can trace messages, function calls, scheduling, + garbage collections, and process-related events such + as <c>spawn</c>, <c>exit</c>, and many others. For ports, you can + trace messages, scheduling and port-related events. </p> <p>To trace function calls, you also need to set up @@ -234,27 +279,51 @@ specifications can also be used to trigger more information in the trace messages. </p> - <note><p>Trace patterns only apply to the traced processes.</p></note> + + <p>You can also set match specifications on messages. By default, + if tracing messages, all messages sent and/or received by the + process or port are traced. Match specifications can be used to + reduce the number of traced messages and/or to trigger more + information in the trace messages.</p> + + <note><p>Trace patterns only apply to the traced processes and + ports.</p></note> <p> - Processes are added from the <em>Applications</em> or <em>Processes</em> tabs. - A special <em>new</em> identifier, meaning all processes spawned after trace - start, can be added with button <em>Add 'new' Process</em>. + Processes are added from the <em>Applications</em> + or <em>Processes</em> tabs. Ports are added from + the <em>Ports</em> tab. A special <em>new</em> identifier, + meaning all processes, or ports, started after trace start, can + be added with buttons <em>Add 'new' Processes</em> and <em>Add + 'new' Ports</em>, respecively. </p> <p> - When adding processes, a window with trace options is displayed. The chosen - options are set for the selected processes. - Process options can be changed by right-clicking a process. + When adding processes or ports, a window with trace options is + displayed. The chosen options are set for the selected + processes/ports. To change the options, right-click the process + or port and select <em>Edit process options</em>. To remove a + process or port from the list, right-click and select <em>Remove + process</em> or <em>Remove port</em>, respectively. </p> <p> - Processes added by process identifiers add the nodes these - processes reside on in the node list. More nodes can be added by clicking - button <em>Add Nodes</em>. + Processes and ports added by process/port identifiers add the + nodes these processes/ports reside on in the node list. More + nodes can be added by clicking button <em>Add Nodes</em>, or by + right-clicking in the <em>Nodes</em> list and select <em>Add + Nodes</em>. To remove nodes, select them, then right-click and + choose <em>Remove nodes</em>. </p> <p> If function calls are traced, trace patterns must be added by clicking button <em>Add Trace Pattern</em>. Select a module, function(s), and a match specification. - If no functions are selected, all functions in the module are traced. + If no functions are selected, all functions in the module are traced.</p> + <p> + Trace patterns can also be added for traced messages. Click + button <em>Add Trace Pattern</em> and select <em>Messages + sent</em> or <em>Messages received</em>, and a match + specification. + </p> + <p> A few basic match specifications are provided in the tool, and you can provide your own match specifications. The syntax of match specifications is described in the <seealso diff --git a/lib/observer/doc/src/ttb.xml b/lib/observer/doc/src/ttb.xml index 2b637551db..94ecef24b4 100644 --- a/lib/observer/doc/src/ttb.xml +++ b/lib/observer/doc/src/ttb.xml @@ -229,27 +229,33 @@ ttb:p(all, call).</input></pre> </func> <func> - <name>p(Procs,Flags) -> Return</name> - <fsummary>Set the specified trace flags on the specified processes.</fsummary> + <name>p(Item,Flags) -> Return</name> + <fsummary>Set the specified trace flags on the specified processes or ports.</fsummary> <type> - <v>Return = {ok,[{Procs,MatchDesc}]}</v> - <v>Procs = Process | [Process] | all | new | existing</v> - <v>Process = pid() | atom() | {global,atom()}</v> + <v>Return = {ok,[{Item,MatchDesc}]}</v> + <v>Items = Item | [Item]</v> + <v>Item = pid() | port() | RegName | {global,GlobalRegName} | + all | processes | ports | + existing | existing_processes | existing_ports | + new | new_processes | new_ports</v> + <v>RegName = atom()</v> + <v>GlobalRegName = term()</v> <v>Flags = Flag | [Flag]</v> </type> <desc> - <p>Sets the specified trace flags on the specified - processes. Flag <c>timestamp</c> is always turned on. + <p>Sets the specified trace flags on the specified processes + or ports. Flag <c>timestamp</c> is always turned on. </p> <p>See the Reference Manual for module <seealso marker="runtime_tools:dbg"><c>dbg</c></seealso> - and the possible trace flags. Parameter + for the possible trace flags. Parameter <c>MatchDesc</c> is the same as returned from <c>dbg:p/2</c>.</p> <p>Processes can be specified as registered names, globally - registered names, or process identifiers. If a registered name - is specified, the flags are set on processes with this name on all - active nodes.</p> + registered names, or process identifiers. Ports can be + specified as registered names or port identifiers. If a + registered name is specified, the flags are set on + processes/ports with this name on all active nodes.</p> <p>Issuing this command starts the timer for this trace if option <c>timer</c> is specified with <c>tracer/2</c>. </p> @@ -257,17 +263,23 @@ ttb:p(all, call).</input></pre> </func> <func> - <name>tp, tpl, ctp, ctpl, ctpg</name> + <name>tp, tpl, tpe, ctp, ctpl, ctpg, ctpe</name> <fsummary>Set and clear trace patterns.</fsummary> <desc> - <p>These functions are to be used with - trace flag <c>call</c> for setting and clearing trace - patterns. When trace flag <c>call</c> is set on a process, + <p>These functions are to be used with trace + flag <c>call</c>, <c>send</c>, and <c>'receive'</c> for + setting and clearing trace patterns.</p> + <p>When trace flag <c>call</c> is set on a process, function calls are traced on that process if a trace - pattern is set for the called function. Trace patterns - specify how to trace a function by using match - specifications. Match specifications are described in the - <seealso marker="erts:users_guide"><c>ERTS User's Guide</c></seealso>. + pattern is set for the called function.</p> + <p>The <c>send</c> and <c>'receive'</c> flags enable tracing + of all messages sent and received by the process/port. Trace + patterns set with <c>tpe</c> may limit traced messages based + on the message content, the sender, and/or the receiver.</p> + <p>Trace patterns specify how to trace a function or a message + by using match specifications. Match specifications are + described in the + <seealso marker="erts:match_spec"><c>ERTS User's Guide</c></seealso>. </p> <p>These functions are equivalent to the corresponding functions in module @@ -284,6 +296,8 @@ ttb:p(all, call).</input></pre> <item><p>Sets trace patterns on global function calls.</p></item> <tag><c>tpl</c></tag> <item><p>Sets trace patterns on local and global function calls.</p></item> + <tag><c>tpe</c></tag> + <item><p>Sets trace patterns on messages.</p></item> <tag><c>ctp</c></tag> <item><p>Clears trace patterns on local and global function calls.</p></item> @@ -291,13 +305,15 @@ ttb:p(all, call).</input></pre> <item><p>Clears trace patterns on local function calls.</p></item> <tag><c>ctpg</c></tag> <item><p>Clears trace patterns on global function calls.</p></item> + <tag><c>ctpe</c></tag> + <item><p>Clears trace patterns on messages.</p></item> </taglist> <p>With <c>tp</c> and <c>tpl</c>, one of the match specification shortcuts can be used (for example, <c>ttb:tp(foo_module, caller)</c>).</p> <p>The shortcuts are as follows:</p> <list type="bulleted"> <item><c>return</c> - for <c>[{'_',[],[{return_trace}]}]</c> - (report the return value)</item> + (report the return value from a traced function)</item> <item><c>caller</c> - for <c>[{'_',[],[{message,{caller}}]}]</c> (report the calling function)</item> <item><c>{codestr, Str}</c> - for <c>dbg:fun2ms/1</c> arguments diff --git a/lib/observer/src/Makefile b/lib/observer/src/Makefile index 85dc5933c1..dd7831fa2b 100644 --- a/lib/observer/src/Makefile +++ b/lib/observer/src/Makefile @@ -67,6 +67,7 @@ MODULES= \ observer_html_lib \ observer_lib \ observer_perf_wx \ + observer_port_wx \ observer_pro_wx \ observer_procinfo \ observer_sys_wx \ diff --git a/lib/observer/src/observer.app.src b/lib/observer/src/observer.app.src index 5ddf65fa59..3a5bd172e7 100644 --- a/lib/observer/src/observer.app.src +++ b/lib/observer/src/observer.app.src @@ -51,6 +51,7 @@ observer_html_lib, observer_lib, observer_perf_wx, + observer_port_wx, observer_pro_wx, observer_procinfo, observer_sys_wx, diff --git a/lib/observer/src/observer_app_wx.erl b/lib/observer/src/observer_app_wx.erl index cef83037d0..936b2783e2 100644 --- a/lib/observer/src/observer_app_wx.erl +++ b/lib/observer/src/observer_app_wx.erl @@ -221,21 +221,21 @@ handle_event(#wx{id=?ID_PROC_KILL, event=#wxCommand{type=command_menu_selected}} %%% Trace api handle_event(#wx{id=?ID_TRACE_PID, event=#wxCommand{type=command_menu_selected}}, State = #state{sel={Box,_}}) -> - observer_trace_wx:add_processes(observer_wx:get_tracer(), [box_to_pid(Box)]), + observer_trace_wx:add_processes([box_to_pid(Box)]), {noreply, State}; handle_event(#wx{id=?ID_TRACE_NAME, event=#wxCommand{type=command_menu_selected}}, State = #state{sel={Box,_}}) -> - observer_trace_wx:add_processes(observer_wx:get_tracer(), [box_to_reg(Box)]), + observer_trace_wx:add_processes([box_to_reg(Box)]), {noreply, State}; handle_event(#wx{id=?ID_TRACE_TREE_PIDS, event=#wxCommand{type=command_menu_selected}}, State = #state{sel=Sel}) -> Get = fun(Box) -> box_to_pid(Box) end, - observer_trace_wx:add_processes(observer_wx:get_tracer(), tree_map(Sel, Get)), + observer_trace_wx:add_processes(tree_map(Sel, Get)), {noreply, State}; handle_event(#wx{id=?ID_TRACE_TREE_NAMES, event=#wxCommand{type=command_menu_selected}}, State = #state{sel=Sel}) -> Get = fun(Box) -> box_to_reg(Box) end, - observer_trace_wx:add_processes(observer_wx:get_tracer(), tree_map(Sel, Get)), + observer_trace_wx:add_processes(tree_map(Sel, Get)), {noreply, State}; handle_event(Event, _State) -> diff --git a/lib/observer/src/observer_port_wx.erl b/lib/observer/src/observer_port_wx.erl new file mode 100644 index 0000000000..3b788642cc --- /dev/null +++ b/lib/observer/src/observer_port_wx.erl @@ -0,0 +1,479 @@ +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 2011-2014. 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% +-module(observer_port_wx). + +-export([start_link/2]). + +%% wx_object callbacks +-export([init/1, handle_info/2, terminate/2, code_change/3, handle_call/3, + handle_event/2, handle_sync_event/3, handle_cast/2]). + +-behaviour(wx_object). +-include_lib("wx/include/wx.hrl"). +-include("observer_defs.hrl"). + +-define(GRID, 300). +-define(ID_REFRESH, 301). +-define(ID_REFRESH_INTERVAL, 302). +-define(ID_PORT_INFO, 303). +-define(ID_PORT_INFO_SELECTED, 304). +-define(ID_TRACE_PORTS, 305). +-define(ID_TRACE_NAMES, 306). +-define(ID_TRACE_NEW, 307). +-define(ID_TRACE_ALL, 308). +-define(ID_CLOSE_PORT, 309). + +-define(TRACE_PORTS_STR, "Trace selected ports"). +-define(TRACE_NAMES_STR, "Trace selected ports, " + "if a process have a registered name " + "processes with same name will be traced on all nodes"). + +-record(port, + {id, + connected, + name, + controls, + slot, + id_str, + links, + monitors}). + +-record(opt, {sort_key=2, + sort_incr=true + }). + +-record(state, + { + parent, + grid, + panel, + node=node(), + opt=#opt{}, + right_clicked_port, + ports, + timer, + open_wins=[] + }). + +start_link(Notebook, Parent) -> + wx_object:start_link(?MODULE, [Notebook, Parent], []). + +init([Notebook, Parent]) -> + Panel = wxPanel:new(Notebook), + Sizer = wxBoxSizer:new(?wxVERTICAL), + Style = ?wxLC_REPORT bor ?wxLC_HRULES, + Grid = wxListCtrl:new(Panel, [{winid, ?GRID}, {style, Style}]), + wxSizer:add(Sizer, Grid, [{flag, ?wxEXPAND bor ?wxALL}, + {proportion, 1}, {border, 5}]), + wxWindow:setSizer(Panel, Sizer), + Li = wxListItem:new(), + AddListEntry = fun({Name, Align, DefSize}, Col) -> + wxListItem:setText(Li, Name), + wxListItem:setAlign(Li, Align), + wxListCtrl:insertColumn(Grid, Col, Li), + wxListCtrl:setColumnWidth(Grid, Col, DefSize), + Col + 1 + end, + ListItems = [{"Id", ?wxLIST_FORMAT_LEFT, 150}, + {"Connected", ?wxLIST_FORMAT_LEFT, 150}, + {"Name", ?wxLIST_FORMAT_LEFT, 150}, + {"Controls", ?wxLIST_FORMAT_LEFT, 200}, + {"Slot", ?wxLIST_FORMAT_RIGHT, 50}], + lists:foldl(AddListEntry, 0, ListItems), + wxListItem:destroy(Li), + + wxListCtrl:connect(Grid, command_list_item_right_click), + wxListCtrl:connect(Grid, command_list_item_activated), + wxListCtrl:connect(Grid, command_list_col_click), + wxListCtrl:connect(Grid, size, [{skip, true}]), + + wxWindow:setFocus(Grid), + {Panel, #state{grid=Grid, parent=Parent, panel=Panel, timer={false, 10}}}. + +handle_event(#wx{id=?ID_REFRESH}, + State = #state{node=Node, grid=Grid, opt=Opt}) -> + Ports0 = get_ports(Node), + Ports = update_grid(Grid, Opt, Ports0), + {noreply, State#state{ports=Ports}}; + +handle_event(#wx{obj=Obj, event=#wxClose{}}, #state{open_wins=Opened} = State) -> + NewOpened = + case lists:keytake(Obj,2,Opened) of + false -> Opened; + {value,_,Rest} -> Rest + end, + {noreply, State#state{open_wins=NewOpened}}; + +handle_event(#wx{event=#wxList{type=command_list_col_click, col=Col}}, + State = #state{node=Node, grid=Grid, + opt=Opt0=#opt{sort_key=Key, sort_incr=Bool}}) -> + Opt = case Col+2 of + Key -> Opt0#opt{sort_incr=not Bool}; + NewKey -> Opt0#opt{sort_key=NewKey} + end, + Ports0 = get_ports(Node), + Ports = update_grid(Grid, Opt, Ports0), + wxWindow:setFocus(Grid), + {noreply, State#state{opt=Opt, ports=Ports}}; + +handle_event(#wx{event=#wxSize{size={W,_}}}, State=#state{grid=Grid}) -> + observer_lib:set_listctrl_col_size(Grid, W), + {noreply, State}; + +handle_event(#wx{event=#wxList{type=command_list_item_activated, + itemIndex=Index}}, + State=#state{grid=Grid, ports=Ports, open_wins=Opened}) -> + Port = lists:nth(Index+1, Ports), + NewOpened = display_port_info(Grid, Port, Opened), + {noreply, State#state{open_wins=NewOpened}}; + +handle_event(#wx{event=#wxList{type=command_list_item_right_click, + itemIndex=Index}}, + State=#state{panel=Panel, ports=Ports}) -> + case Index of + -1 -> + {noreply, State}; + _ -> + Port = lists:nth(Index+1, Ports), + Menu = wxMenu:new(), + wxMenu:append(Menu, ?ID_PORT_INFO, + "Port info for " ++ erlang:port_to_list(Port#port.id)), + wxMenu:append(Menu, ?ID_TRACE_PORTS, + "Trace selected ports", + [{help, ?TRACE_PORTS_STR}]), + wxMenu:append(Menu, ?ID_TRACE_NAMES, + "Trace selected ports by name (all nodes)", + [{help, ?TRACE_NAMES_STR}]), + wxMenu:append(Menu, ?ID_CLOSE_PORT, + "Close " ++ erlang:port_to_list(Port#port.id)), + wxWindow:popupMenu(Panel, Menu), + wxMenu:destroy(Menu), + {noreply, State#state{right_clicked_port=Port}} + end; + +handle_event(#wx{id=?ID_PORT_INFO}, + State = #state{grid=Grid, right_clicked_port=Port, + open_wins=Opened}) -> + case Port of + undefined -> + {noreply, State}; + _ -> + NewOpened = display_port_info(Grid, Port, Opened), + {noreply, State#state{right_clicked_port=undefined, + open_wins=NewOpened}} + end; + +handle_event(#wx{id=?ID_PORT_INFO_SELECTED}, + State = #state{grid=Grid, ports=Ports, open_wins=Opened}) -> + case get_selected_items(Grid,Ports) of + [] -> + observer_wx:create_txt_dialog(State#state.panel, "No selected ports", + "Port Info", ?wxICON_EXCLAMATION), + {noreply, State}; + Selected -> + NewOpened = lists:foldl(fun(P,O) -> display_port_info(Grid, P, O) end, + Opened, Selected), + {noreply, State#state{open_wins = NewOpened}} + end; + +handle_event(#wx{id=?ID_CLOSE_PORT}, State = #state{right_clicked_port=Port}) -> + case Port of + undefined -> + {noreply, State}; + _ -> + erlang:port_close(Port#port.id), + {noreply, State#state{right_clicked_port=undefined}} + end; + +handle_event(#wx{id=?ID_TRACE_PORTS}, #state{grid=Grid, ports=Ports}=State) -> + case get_selected_items(Grid, Ports) of + [] -> + observer_wx:create_txt_dialog(State#state.panel, "No selected ports", + "Tracer", ?wxICON_EXCLAMATION); + Selected -> + SelectedIds = [Port#port.id || Port <- Selected], + observer_trace_wx:add_ports(SelectedIds) + end, + {noreply, State}; + +handle_event(#wx{id=?ID_TRACE_NAMES}, #state{grid=Grid, ports=Ports}=State) -> + case get_selected_items(Grid, Ports) of + [] -> + observer_wx:create_txt_dialog(State#state.panel, "No selected ports", + "Tracer", ?wxICON_EXCLAMATION); + Selected -> + IdsOrRegs = + [case Port#port.name of + [] -> Port#port.id; + Name -> Name + end || Port <- Selected], + observer_trace_wx:add_ports(IdsOrRegs) + end, + {noreply, State}; + +handle_event(#wx{id=?ID_TRACE_NEW, event=#wxCommand{type=command_menu_selected}}, State) -> + observer_trace_wx:add_ports([new_ports]), + {noreply, State}; + +handle_event(#wx{id=?ID_REFRESH_INTERVAL}, + State = #state{grid=Grid, timer=Timer0}) -> + Timer = observer_lib:interval_dialog(Grid, Timer0, 10, 5*60), + {noreply, State#state{timer=Timer}}; + +handle_event(#wx{event=#wxMouse{type=left_down}, userData=TargetPid}, State) -> + observer ! {open_link, TargetPid}, + {noreply, State}; + +handle_event(#wx{obj=Obj, event=#wxMouse{type=enter_window}}, State) -> + wxTextCtrl:setForegroundColour(Obj,{0,0,100,255}), + {noreply, State}; + +handle_event(#wx{obj=Obj, event=#wxMouse{type=leave_window}}, State) -> + wxTextCtrl:setForegroundColour(Obj,?wxBLUE), + {noreply, State}; + +handle_event(Event, _State) -> + error({unhandled_event, Event}). + +handle_sync_event(_Event, _Obj, _State) -> + ok. + +handle_call(Event, From, _State) -> + error({unhandled_call, Event, From}). + +handle_cast(Event, _State) -> + error({unhandled_cast, Event}). + +handle_info({portinfo_open, PortIdStr}, + State = #state{grid=Grid, ports=Ports, open_wins=Opened}) -> + Port = lists:keyfind(PortIdStr,#port.id_str,Ports), + NewOpened = display_port_info(Grid, Port, Opened), + {noreply, State#state{open_wins = NewOpened}}; + +handle_info(refresh_interval, State = #state{node=Node, grid=Grid, opt=Opt, + ports=OldPorts}) -> + case get_ports(Node) of + OldPorts -> + %% no change + {noreply, State}; + Ports0 -> + Ports = update_grid(Grid, Opt, Ports0), + {noreply, State#state{ports=Ports}} + end; + +handle_info({active, Node}, State = #state{parent=Parent, grid=Grid, opt=Opt, + timer=Timer0}) -> + Ports0 = get_ports(Node), + Ports = update_grid(Grid, Opt, Ports0), + wxWindow:setFocus(Grid), + create_menus(Parent), + Timer = observer_lib:start_timer(Timer0), + {noreply, State#state{node=Node, ports=Ports, timer=Timer}}; + +handle_info(not_active, State = #state{timer = Timer0}) -> + Timer = observer_lib:stop_timer(Timer0), + {noreply, State#state{timer=Timer}}; + +handle_info({error, Error}, State) -> + handle_error(Error), + {noreply, State}; + +handle_info(_Event, State) -> + {noreply, State}. + +terminate(_Event, _State) -> + ok. + +code_change(_, _, State) -> + State. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +create_menus(Parent) -> + MenuEntries = + [{"View", + [#create_menu{id = ?ID_PORT_INFO_SELECTED, + text = "Port info for selected ports\tCtrl-I"}, + separator, + #create_menu{id = ?ID_REFRESH, text = "Refresh\tCtrl-R"}, + #create_menu{id = ?ID_REFRESH_INTERVAL, text = "Refresh Interval..."} + ]}, + {"Trace", + [#create_menu{id=?ID_TRACE_PORTS, text="Trace selected ports"}, + #create_menu{id=?ID_TRACE_NAMES, text="Trace selected ports by name (all nodes)"}, + #create_menu{id=?ID_TRACE_NEW, text="Trace new ports"} + ]} + ], + observer_wx:create_menus(Parent, MenuEntries). + +get_ports(Node) -> + case get_ports2(Node) of + Error = {error, _} -> + self() ! Error, + []; + Res -> + Res + end. +get_ports2(Node) -> + case rpc:call(Node, observer_backend, get_port_list, []) of + {badrpc, Error} -> + {error, Error}; + Error = {error, _} -> + Error; + Result -> + [list_to_portrec(Port) || Port <- Result] + end. + +list_to_portrec(PL) -> + %% PortInfo: + %% {registered_name, RegisteredName :: atom()} | + %% {id, Index :: integer() >= 0} | + %% {connected, Pid :: pid()} | + %% {links, Pids :: [pid()]} | + %% {name, String :: string()} | + %% {input, Bytes :: integer() >= 0} | + %% {output, Bytes :: integer() >= 0} | + %% {os_pid, OsPid :: integer() >= 0 | undefined}, + PortId = proplists:get_value(port_id, PL), + #port{id = PortId, + id_str = erlang:port_to_list(PortId), + slot = proplists:get_value(id, PL), + connected = proplists:get_value(connected, PL), + links = proplists:get_value(links, PL, []), + name = proplists:get_value(registered_name, PL, []), + monitors = proplists:get_value(monitors, PL, []), + controls = proplists:get_value(name, PL)}. + +portrec_to_list(#port{id = Id, + slot = Slot, + connected = Connected, + links = Links, + name = Name, + monitors = Monitors, + controls = Controls}) -> + [{id,Id}, + {slot,Slot}, + {connected,Connected}, + {links,Links}, + {name,Name}, + {monitors,Monitors}, + {controls,Controls}]. + +display_port_info(Parent, PortRec, Opened) -> + PortIdStr = PortRec#port.id_str, + case lists:keyfind(PortIdStr,1,Opened) of + false -> + Frame = do_display_port_info(Parent, PortRec), + [{PortIdStr,Frame}|Opened]; + {_,Win} -> + wxFrame:raise(Win), + Opened + end. + +do_display_port_info(Parent0, PortRec) -> + Parent = observer_lib:get_wx_parent(Parent0), + Title = "Port Info: " ++ PortRec#port.id_str, + Frame = wxMiniFrame:new(Parent, ?wxID_ANY, Title, + [{style, ?wxSYSTEM_MENU bor ?wxCAPTION + bor ?wxCLOSE_BOX bor ?wxRESIZE_BORDER}]), + + Port = portrec_to_list(PortRec), + Fields0 = port_info_fields(Port), + {_FPanel, _Sizer, _UpFields} = observer_lib:display_info(Frame, Fields0), + wxFrame:center(Frame), + wxFrame:connect(Frame, close_window, [{skip, true}]), + wxFrame:show(Frame), + Frame. + + +port_info_fields(Port) -> + Struct = + [{"Overview", + [{"Name", name}, + {"Connected", {click,connected}}, + {"Slot", slot}, + {"Controls", controls}]}, + {scroll_boxes, + [{"Links",1,{click,links}}, + {"Monitors",1,{click,filter_monitor_info()}}]}], + observer_lib:fill_info(Struct, Port). + +filter_monitor_info() -> + fun(Data) -> + Ms = proplists:get_value(monitors, Data), + [Pid || {process, Pid} <- Ms] + end. + + +handle_error(Foo) -> + Str = io_lib:format("ERROR: ~s~n",[Foo]), + observer_lib:display_info_dialog(Str). + +update_grid(Grid, Opt, Ports) -> + wx:batch(fun() -> update_grid2(Grid, Opt, Ports) end). +update_grid2(Grid, #opt{sort_key=Sort,sort_incr=Dir}, Ports) -> + wxListCtrl:deleteAllItems(Grid), + Update = + fun(#port{id = Id, + slot = Slot, + connected = Connected, + name = Name, + controls = Ctrl}, + Row) -> + _Item = wxListCtrl:insertItem(Grid, Row, ""), + if (Row rem 2) =:= 0 -> + wxListCtrl:setItemBackgroundColour(Grid, Row, ?BG_EVEN); + true -> ignore + end, + + lists:foreach(fun({Col, Val}) -> + wxListCtrl:setItem(Grid, Row, Col, + observer_lib:to_str(Val)) + end, + [{0,Id},{1,Connected},{2,Name},{3,Ctrl},{4,Slot}]), + Row + 1 + end, + PortInfo = case Dir of + false -> lists:reverse(lists:keysort(Sort, Ports)); + true -> lists:keysort(Sort, Ports) + end, + lists:foldl(Update, 0, PortInfo), + PortInfo. + + +get_selected_items(Grid, Data) -> + get_indecies(get_selected_items(Grid, -1, []), Data). +get_selected_items(Grid, Index, ItemAcc) -> + Item = wxListCtrl:getNextItem(Grid, Index, [{geometry, ?wxLIST_NEXT_ALL}, + {state, ?wxLIST_STATE_SELECTED}]), + case Item of + -1 -> + lists:reverse(ItemAcc); + _ -> + get_selected_items(Grid, Item, [Item | ItemAcc]) + end. + +get_indecies(Items, Data) -> + get_indecies(Items, 0, Data). +get_indecies([I|Rest], I, [H|T]) -> + [H|get_indecies(Rest, I+1, T)]; +get_indecies(Rest = [_|_], I, [_|T]) -> + get_indecies(Rest, I+1, T); +get_indecies(_, _, _) -> + []. diff --git a/lib/observer/src/observer_pro_wx.erl b/lib/observer/src/observer_pro_wx.erl index bd914cdf65..ee6829b847 100644 --- a/lib/observer/src/observer_pro_wx.erl +++ b/lib/observer/src/observer_pro_wx.erl @@ -83,6 +83,7 @@ timer, procinfo_menu_pids=[], sel={[], []}, + right_clicked_pid, holder}). start_link(Notebook, Parent) -> @@ -303,13 +304,14 @@ handle_event(#wx{id=?ID_REFRESH_INTERVAL}, Timer = observer_lib:interval_dialog(Panel, Timer0, 1, 5*60), {noreply, State#state{timer=Timer}}; -handle_event(#wx{id=?ID_KILL}, #state{sel={[_|Ids], [ToKill|Pids]}}=State) -> - exit(ToKill, kill), - {noreply, State#state{sel={Ids,Pids}}}; +handle_event(#wx{id=?ID_KILL}, #state{right_clicked_pid=Pid, sel=Sel0}=State) -> + exit(Pid, kill), + Sel = rm_selected(Pid,Sel0), + {noreply, State#state{sel=Sel}}; handle_event(#wx{id=?ID_PROC}, - #state{panel=Panel, sel={_, [Pid|_]},procinfo_menu_pids=Opened}=State) -> + #state{panel=Panel, right_clicked_pid=Pid, procinfo_menu_pids=Opened}=State) -> Opened2 = start_procinfo(Pid, Panel, Opened), {noreply, State#state{procinfo_menu_pids=Opened2}}; @@ -319,7 +321,7 @@ handle_event(#wx{id=?ID_TRACE_PIDS}, #state{sel={_, Pids}, panel=Panel}=State) observer_wx:create_txt_dialog(Panel, "No selected processes", "Tracer", ?wxICON_EXCLAMATION), {noreply, State}; Pids -> - observer_trace_wx:add_processes(observer_wx:get_tracer(), Pids), + observer_trace_wx:add_processes(Pids), {noreply, State} end; @@ -330,12 +332,12 @@ handle_event(#wx{id=?ID_TRACE_NAMES}, #state{sel={SelIds,_Pids}, holder=Holder, {noreply, State}; _ -> PidsOrReg = call(Holder, {get_name_or_pid, self(), SelIds}), - observer_trace_wx:add_processes(observer_wx:get_tracer(), PidsOrReg), + observer_trace_wx:add_processes(PidsOrReg), {noreply, State} end; handle_event(#wx{id=?ID_TRACE_NEW, event=#wxCommand{type=command_menu_selected}}, State) -> - observer_trace_wx:add_processes(observer_wx:get_tracer(), [new]), + observer_trace_wx:add_processes([new_processes]), {noreply, State}; handle_event(#wx{event=#wxSize{size={W,_}}}, @@ -347,20 +349,26 @@ handle_event(#wx{event=#wxList{type=command_list_item_right_click, itemIndex=Row}}, #state{panel=Panel, holder=Holder}=State) -> - case call(Holder, {get_row, self(), Row, pid}) of - {error, undefined} -> - undefined; - {ok, _} -> - Menu = wxMenu:new(), - wxMenu:append(Menu, ?ID_PROC, "Process info"), - wxMenu:append(Menu, ?ID_TRACE_PIDS, "Trace processes", [{help, ?TRACE_PIDS_STR}]), - wxMenu:append(Menu, ?ID_TRACE_NAMES, "Trace named processes (all nodes)", - [{help, ?TRACE_NAMES_STR}]), - wxMenu:append(Menu, ?ID_KILL, "Kill Process"), - wxWindow:popupMenu(Panel, Menu), - wxMenu:destroy(Menu) - end, - {noreply, State}; + Pid = + case call(Holder, {get_row, self(), Row, pid}) of + {error, undefined} -> + undefined; + {ok, P} -> + Menu = wxMenu:new(), + wxMenu:append(Menu, ?ID_PROC, + "Process info for " ++ pid_to_list(P)), + wxMenu:append(Menu, ?ID_TRACE_PIDS, + "Trace selected processes", + [{help, ?TRACE_PIDS_STR}]), + wxMenu:append(Menu, ?ID_TRACE_NAMES, + "Trace selected processes by name (all nodes)", + [{help, ?TRACE_NAMES_STR}]), + wxMenu:append(Menu, ?ID_KILL, "Kill process " ++ pid_to_list(P)), + wxWindow:popupMenu(Panel, Menu), + wxMenu:destroy(Menu), + P + end, + {noreply, State#state{right_clicked_pid=Pid}}; handle_event(#wx{event=#wxList{type=command_list_item_focused, itemIndex=Row}}, @@ -432,6 +440,17 @@ set_focus([Old|_], [New|_], Grid) -> wxListCtrl:setItemState(Grid, Old, 0, ?wxLIST_STATE_FOCUSED), wxListCtrl:setItemState(Grid, New, 16#FFFF, ?wxLIST_STATE_FOCUSED). +rm_selected(Pid, {Ids, Pids}) -> + rm_selected(Pid, Ids, Pids, [], []). + +rm_selected(Pid, [_Id|Ids], [Pid|Pids], AccIds, AccPids) -> + {lists:reverse(AccIds)++Ids,lists:reverse(AccPids)++Pids}; +rm_selected(Pid, [Id|Ids], [OtherPid|Pids], AccIds, AccPids) -> + rm_selected(Pid, Ids, Pids, [Id|AccIds], [OtherPid|AccPids]); +rm_selected(_, [], [], AccIds, AccPids) -> + {lists:reverse(AccIds), lists:reverse(AccPids)}. + + %%%%%%%%%%%%%%%%%%%%%%%%%%%TABLE HOLDER%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% init_table_holder(Parent, Attrs) -> diff --git a/lib/observer/src/observer_trace_wx.erl b/lib/observer/src/observer_trace_wx.erl index 9c0243e4a7..af90e2100c 100644 --- a/lib/observer/src/observer_trace_wx.erl +++ b/lib/observer/src/observer_trace_wx.erl @@ -19,7 +19,7 @@ -module(observer_trace_wx). --export([start_link/2, add_processes/2]). +-export([start_link/2, add_processes/1, add_ports/1]). -export([init/1, handle_info/2, terminate/2, code_change/3, handle_call/3, handle_event/2, handle_cast/2]). @@ -31,11 +31,15 @@ -define(SAVE_TRACEOPTS, 305). -define(LOAD_TRACEOPTS, 306). -define(TOGGLE_TRACE, 307). --define(ADD_NEW, 308). --define(ADD_TP, 309). --define(TRACE_OUTPUT, 310). --define(TRACE_DEFMS, 311). --define(TRACE_DEFPS, 312). +-define(ADD_NEW_PROCS, 308). +-define(ADD_NEW_PORTS, 309). +-define(ADD_TP, 310). +-define(TRACE_OUTPUT, 311). +-define(DEF_MS_FUNCS, 312). +-define(DEF_MS_SEND, 313). +-define(DEF_MS_RECV, 314). +-define(DEF_PROC_OPTS, 315). +-define(DEF_PORT_OPTS, 316). -define(NODES_WIN, 330). -define(ADD_NODES, 331). @@ -45,36 +49,53 @@ -define(EDIT_PROCS, 341). -define(REMOVE_PROCS, 342). --define(MODULES_WIN, 350). +-define(PORT_WIN, 350). +-define(EDIT_PORTS, 351). +-define(REMOVE_PORTS, 352). --define(FUNCS_WIN, 360). --define(EDIT_FUNCS_MS, 361). --define(REMOVE_FUNCS_MS, 362). +-define(MODULES_WIN, 360). +-define(REMOVE_MOD_MS, 361). --define(LOG_WIN, 370). --define(LOG_SAVE, 321). --define(LOG_CLEAR, 322). +-define(FUNCS_WIN, 370). +-define(EDIT_FUNCS_MS, 371). +-define(REMOVE_FUNCS_MS, 372). + +-define(LOG_WIN, 380). +-define(LOG_SAVE, 381). +-define(LOG_CLEAR, 382). + +-define(NO_NODES_HELP,"Right click to add nodes"). +-define(NODES_HELP,"Select nodes to see traced processes and ports"). +-define(NO_P_HELP,"Add items from Processes/Ports tab"). +-define(P_HELP,"Select nodes to see traced processes and ports"). +-define(NO_TP_HELP,"Add trace pattern with button below"). +-define(TP_HELP,"Select module to see trace patterns"). -record(state, {parent, panel, - n_view, p_view, m_view, f_view, %% The listCtrl's + n_view, proc_view, port_view, m_view, f_view, %% The listCtrl's logwin, %% The latest log window nodes = [], toggle_button, - tpids = [], %% #tpid - def_trace_opts = [], + tpids = [], % #titem + tports = [], % #titem + def_proc_flags = [], + def_port_flags = [], output = [], tpatterns = dict:new(), % Key =:= Module::atom, Value =:= {M, F, A, MatchSpec} match_specs = []}). % [ #match_spec{} ] --record(tpid, {pid, opts}). +-record(titem, {id, opts}). start_link(Notebook, ParentPid) -> wx_object:start_link(?MODULE, [Notebook, ParentPid], []). -add_processes(Tracer, Pids) when is_list(Pids) -> - wx_object:cast(Tracer, {add_processes, Pids}). +add_processes(Pids) when is_list(Pids) -> + wx_object:cast(observer_wx:get_tracer(), {add_processes, Pids}). + +add_ports(Ports) when is_list(Ports) -> + wx_object:cast(observer_wx:get_tracer(), {add_ports, Ports}). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -87,11 +108,13 @@ create_window(Notebook, ParentPid) -> Sizer = wxBoxSizer:new(?wxVERTICAL), Splitter = wxSplitterWindow:new(Panel, [{size, wxWindow:getClientSize(Panel)}, {style, ?SASH_STYLE}]), - {NodeProcView, NodeView, ProcessView} = create_process_view(Splitter), + {NodeProcView, NodeView, ProcessView, PortView} = + create_proc_port_view(Splitter), {MatchSpecView,ModView,FuncView} = create_matchspec_view(Splitter), wxSplitterWindow:setSashGravity(Splitter, 0.5), wxSplitterWindow:setMinimumPaneSize(Splitter,50), - wxSplitterWindow:splitHorizontally(Splitter, NodeProcView, MatchSpecView), + wxSplitterWindow:splitHorizontally(Splitter, NodeProcView, MatchSpecView, + [{sashPosition,368}]), wxSizer:add(Sizer, Splitter, [{flag, ?wxEXPAND bor ?wxALL}, {border, 5}, {proportion, 1}]), %% Buttons Buttons = wxBoxSizer:new(?wxHORIZONTAL), @@ -99,7 +122,8 @@ create_window(Notebook, ParentPid) -> wxSizer:add(Buttons, ToggleButton, [{flag, ?wxALIGN_CENTER_VERTICAL}]), wxSizer:addSpacer(Buttons, 15), wxSizer:add(Buttons, wxButton:new(Panel, ?ADD_NODES, [{label, "Add Nodes"}])), - wxSizer:add(Buttons, wxButton:new(Panel, ?ADD_NEW, [{label, "Add 'new' Process"}])), + wxSizer:add(Buttons, wxButton:new(Panel, ?ADD_NEW_PROCS, [{label, "Add 'new' Processes"}])), + wxSizer:add(Buttons, wxButton:new(Panel, ?ADD_NEW_PORTS, [{label, "Add 'new' Ports"}])), wxSizer:add(Buttons, wxButton:new(Panel, ?ADD_TP, [{label, "Add Trace Pattern"}])), wxMenu:connect(Panel, command_togglebutton_clicked, [{skip, true}]), wxMenu:connect(Panel, command_button_clicked, [{skip, true}]), @@ -107,24 +131,47 @@ create_window(Notebook, ParentPid) -> {border, 5}, {proportion,0}]), wxWindow:setSizer(Panel, Sizer), {Panel, #state{parent=ParentPid, panel=Panel, - n_view=NodeView, p_view=ProcessView, m_view=ModView, f_view=FuncView, + n_view=NodeView, proc_view=ProcessView, port_view=PortView, + m_view=ModView, f_view=FuncView, toggle_button = ToggleButton, match_specs=default_matchspecs()}}. default_matchspecs() -> - Ms = [{"Return Trace", [{'_', [], [{return_trace}]}], "fun(_) -> return_trace() end"}, - {"Exception Trace", [{'_', [], [{exception_trace}]}], "fun(_) -> exception_trace() end"}, - {"Message Caller", [{'_', [], [{message,{caller}}]}], "fun(_) -> message(caller()) end"}, - {"Message Dump", [{'_', [], [{message,{process_dump}}]}], "fun(_) -> message(process_dump()) end"}], + [{Key,default_matchspecs(Key)} || Key <- [funcs,send,'receive']]. +default_matchspecs(Key) -> + Ms = get_default_matchspecs(Key), [make_ms(Name,Term,FunStr) || {Name,Term,FunStr} <- Ms]. -create_process_view(Parent) -> +get_default_matchspecs(funcs) -> + [{"Return Trace", [{'_', [], [{return_trace}]}], + "fun(_) -> return_trace() end"}, + {"Exception Trace", [{'_', [], [{exception_trace}]}], + "fun(_) -> exception_trace() end"}, + {"Message Caller", [{'_', [], [{message,{caller}}]}], + "fun(_) -> message(caller()) end"}, + {"Message Dump", [{'_', [], [{message,{process_dump}}]}], + "fun(_) -> message(process_dump()) end"}]; +get_default_matchspecs(send) -> + [{"To local node", [{['$1','_'], [{'==',{node,'$1'},{node}}], []}], + "fun([Pid,_]) when node(Pid)==node() ->\n true\nend"}, + {"To remote node", [{['$1','_'], [{'=/=',{node,'$1'},{node}}], []}], + "fun([Pid,_]) when node(Pid)=/=node() ->\n true\nend"}]; +get_default_matchspecs('receive') -> + [{"From local node", [{['$1','_','_'], [{'==','$1',{node}}], []}], + "fun([Node,_,_]) when Node==node() ->\n true\nend"}, + {"From remote node", [{['$1','_','_'], [{'=/=','$1',{node}}], []}], + "fun([Node,_,_]) when Node=/=node() ->\n true\nend"}]. + + +create_proc_port_view(Parent) -> Panel = wxPanel:new(Parent), MainSz = wxBoxSizer:new(?wxHORIZONTAL), Style = ?wxLC_REPORT bor ?wxLC_HRULES, Splitter = wxSplitterWindow:new(Panel, [{style, ?SASH_STYLE}]), Nodes = wxListCtrl:new(Splitter, [{winid, ?NODES_WIN}, {style, Style}]), - Procs = wxListCtrl:new(Splitter, [{winid, ?PROC_WIN}, {style, Style}]), + ProcsPortsSplitter = wxSplitterWindow:new(Splitter, [{style, ?SASH_STYLE}]), + Procs = wxListCtrl:new(ProcsPortsSplitter, [{winid,?PROC_WIN},{style,Style}]), + Ports = wxListCtrl:new(ProcsPortsSplitter, [{winid,?PORT_WIN},{style,Style}]), Li = wxListItem:new(), wxListItem:setText(Li, "Nodes"), wxListCtrl:insertColumn(Nodes, 0, Li), @@ -136,31 +183,57 @@ create_process_view(Parent) -> wxListCtrl:setColumnWidth(Procs, Col, DefSize), Col + 1 end, - ListItems = [{"Process Id", ?wxLIST_FORMAT_CENTER, 120}, - {"Trace Options", ?wxLIST_FORMAT_LEFT, 300}], - lists:foldl(AddProc, 0, ListItems), + ProcListItems = [{"Process Id", ?wxLIST_FORMAT_CENTER, 120}, + {"Trace Options", ?wxLIST_FORMAT_LEFT, 300}], + lists:foldl(AddProc, 0, ProcListItems), + + AddPort = fun({Name, Align, DefSize}, Col) -> + wxListItem:setText(Li, Name), + wxListItem:setAlign(Li, Align), + wxListCtrl:insertColumn(Ports, Col, Li), + wxListCtrl:setColumnWidth(Ports, Col, DefSize), + Col + 1 + end, + PortListItems = [{"Port Id", ?wxLIST_FORMAT_CENTER, 120}, + {"Trace Options", ?wxLIST_FORMAT_LEFT, 300}], + lists:foldl(AddPort, 0, PortListItems), + wxListItem:destroy(Li), wxSplitterWindow:setSashGravity(Splitter, 0.0), wxSplitterWindow:setMinimumPaneSize(Splitter,50), - wxSplitterWindow:splitVertically(Splitter, Nodes, Procs, [{sashPosition, 155}]), + wxSplitterWindow:splitVertically(Splitter, Nodes, ProcsPortsSplitter, + [{sashPosition, 155}]), wxSizer:add(MainSz, Splitter, [{flag, ?wxEXPAND}, {proportion, 1}]), + wxSplitterWindow:setSashGravity(ProcsPortsSplitter, 0.5), + wxSplitterWindow:setMinimumPaneSize(ProcsPortsSplitter,50), + wxSplitterWindow:splitHorizontally(ProcsPortsSplitter, Procs, Ports, + [{sashPosition, 182}]), + wxListCtrl:connect(Procs, command_list_item_right_click), + wxListCtrl:connect(Ports, command_list_item_right_click), wxListCtrl:connect(Nodes, command_list_item_right_click), + wxListCtrl:connect(Nodes, command_list_item_selected), wxListCtrl:connect(Procs, size, [{skip, true}]), + wxListCtrl:connect(Ports, size, [{skip, true}]), wxListCtrl:connect(Nodes, size, [{skip, true}]), + wxListCtrl:setToolTip(Nodes, ?NO_NODES_HELP), + wxListCtrl:setToolTip(Procs, ?NO_P_HELP), + wxListCtrl:setToolTip(Ports, ?NO_P_HELP), + wxPanel:setSizer(Panel, MainSz), wxWindow:setFocus(Procs), - {Panel, Nodes, Procs}. + {Panel, Nodes, Procs, Ports}. create_matchspec_view(Parent) -> Panel = wxPanel:new(Parent), MainSz = wxBoxSizer:new(?wxHORIZONTAL), Style = ?wxLC_REPORT bor ?wxLC_HRULES, Splitter = wxSplitterWindow:new(Panel, [{style, ?SASH_STYLE}]), - Modules = wxListCtrl:new(Splitter, [{winid, ?MODULES_WIN}, {style, Style}]), + Modules = wxListCtrl:new(Splitter, [{winid, ?MODULES_WIN}, + {style, Style bor ?wxLC_SINGLE_SEL}]), Funcs = wxListCtrl:new(Splitter, [{winid, ?FUNCS_WIN}, {style, Style}]), Li = wxListItem:new(), @@ -182,7 +255,9 @@ create_matchspec_view(Parent) -> wxListCtrl:connect(Modules, size, [{skip, true}]), wxListCtrl:connect(Funcs, size, [{skip, true}]), wxListCtrl:connect(Modules, command_list_item_selected), + wxListCtrl:connect(Modules, command_list_item_right_click), wxListCtrl:connect(Funcs, command_list_item_right_click), + wxListCtrl:setToolTip(Panel, ?NO_TP_HELP), wxPanel:setSizer(Panel, MainSz), {Panel, Modules, Funcs}. @@ -192,8 +267,11 @@ create_menues(Parent) -> #create_menu{id = ?SAVE_TRACEOPTS, text = "Save settings"}]}, {"Options", [#create_menu{id = ?TRACE_OUTPUT, text = "Output"}, - #create_menu{id = ?TRACE_DEFMS, text = "Match Specifications"}, - #create_menu{id = ?TRACE_DEFPS, text = "Default Process Options"}]} + #create_menu{id = ?DEF_MS_FUNCS, text = "Default Match Specifications for Functions"}, + #create_menu{id = ?DEF_MS_SEND, text = "Default Match Specifications for 'send'"}, + #create_menu{id = ?DEF_MS_RECV, text = "Default Match Specifications for 'receive'"}, + #create_menu{id = ?DEF_PROC_OPTS, text = "Default Process Options"}, + #create_menu{id = ?DEF_PORT_OPTS, text = "Default Port Options"}]} ], observer_wx:create_menus(Parent, Menus). @@ -206,11 +284,19 @@ handle_event(#wx{obj=Obj, event=#wxSize{size={W,_}}}, State) -> end, {noreply, State}; -handle_event(#wx{id=?ADD_NEW}, State = #state{panel=Parent, def_trace_opts=TraceOpts}) -> +handle_event(#wx{id=?ADD_NEW_PROCS}, State = #state{panel=Parent, def_proc_flags=TraceOpts}) -> try Opts = observer_traceoptions_wx:process_trace(Parent, TraceOpts), - Process = #tpid{pid=new, opts=Opts}, - {noreply, do_add_processes([Process], State#state{def_trace_opts=Opts})} + Process = #titem{id=new_processes, opts=Opts}, + {noreply, do_add_processes([Process], State#state{def_proc_flags=Opts})} + catch cancel -> {noreply, State} + end; + +handle_event(#wx{id=?ADD_NEW_PORTS}, State = #state{panel=Parent, def_port_flags=TraceOpts}) -> + try + Opts = observer_traceoptions_wx:port_trace(Parent, TraceOpts), + Port = #titem{id=new_ports, opts=Opts}, + {noreply, do_add_ports([Port], State#state{def_port_flags=Opts})} catch cancel -> {noreply, State} end; @@ -233,26 +319,36 @@ handle_event(#wx{id=?MODULES_WIN, event=#wxList{type=command_list_item_selected, update_functions_view(dict:fetch(Module, TPs), Fview), {noreply, State}; +handle_event(#wx{id=?NODES_WIN, + event=#wxList{type=command_list_item_selected}}, + State = #state{tpids=Tpids, tports=Tports, n_view=Nview, + proc_view=ProcView, port_view=PortView, nodes=Ns}) -> + Nodes = get_selected_items(Nview, Ns), + update_p_view(Tpids, ProcView, Nodes), + update_p_view(Tports, PortView, Nodes), + {noreply, State}; + handle_event(#wx{event = #wxCommand{type = command_togglebutton_clicked, commandInt = 1}}, #state{panel = Panel, nodes = Nodes, tpids = TProcs, + tports = TPorts, tpatterns = TPs0, toggle_button = ToggleBtn, output = Opts } = State) -> try TPs = dict:to_list(TPs0), - (TProcs == []) andalso throw({error, "No processes traced"}), + (TProcs == []) andalso (TPorts == []) andalso throw({error, "No processes or ports traced"}), (Nodes == []) andalso throw({error, "No nodes traced"}), - HaveCallTrace = fun(#tpid{opts=Os}) -> lists:member(functions,Os) end, + HaveCallTrace = fun(#titem{opts=Os}) -> lists:member(functions,Os) end, WStr = "Call trace actived but no trace patterns used", (TPs == []) andalso lists:any(HaveCallTrace, TProcs) andalso observer_wx:create_txt_dialog(Panel, WStr, "Warning", ?wxICON_WARNING), {TTB, LogWin} = ttb_output_args(Panel, Opts), {ok, _} = ttb:tracer(Nodes, TTB), - setup_ttb(TPs, TProcs), + setup_ttb(TPs, TProcs, TPorts), wxToggleButton:setLabel(ToggleBtn, "Stop Trace"), {noreply, State#state{logwin=LogWin}} catch {error, Msg} -> @@ -302,7 +398,8 @@ handle_event(#wx{id=?LOG_SAVE, userData=TCtrl}, #state{panel=Panel} = State) -> handle_event(#wx{id = ?SAVE_TRACEOPTS}, #state{panel = Panel, - def_trace_opts = TraceOpts, + def_proc_flags = ProcFlags, + def_port_flags = PortFlags, match_specs = MatchSpecs, tpatterns = TracePatterns, output = Output @@ -312,7 +409,7 @@ handle_event(#wx{id = ?SAVE_TRACEOPTS}, ?wxID_OK -> Path = wxFileDialog:getPath(Dialog), write_file(Panel, Path, - TraceOpts, MatchSpecs, Output, + ProcFlags, PortFlags, MatchSpecs, Output, dict:to_list(TracePatterns) ); _ -> @@ -333,52 +430,159 @@ handle_event(#wx{id = ?LOAD_TRACEOPTS}, #state{panel = Panel} = State) -> wxDialog:destroy(Dialog), {noreply, State2}; -handle_event(#wx{id=Type, event=#wxList{type=command_list_item_right_click}}, - State = #state{panel=Panel}) -> - Menus = case Type of - ?PROC_WIN -> - [{?EDIT_PROCS, "Edit process options"}, - {?REMOVE_PROCS, "Remove processes"}]; - ?FUNCS_WIN -> - [{?EDIT_FUNCS_MS, "Edit matchspecs"}, - {?REMOVE_FUNCS_MS, "Remove trace patterns"}]; - ?NODES_WIN -> - [{?ADD_NODES, "Trace other nodes"}, - {?REMOVE_NODES, "Remove nodes"}] - end, - Menu = wxMenu:new(), - [wxMenu:append(Menu,Id,Str) || {Id,Str} <- Menus], - wxWindow:popupMenu(Panel, Menu), - wxMenu:destroy(Menu), +handle_event(#wx{id=?PROC_WIN, event=#wxList{type=command_list_item_right_click}}, + State = #state{panel=Panel, proc_view=LCtrl, tpids=Tpids, + n_view=Nview, nodes=Nodes}) -> + case get_visible_ps(Tpids, Nodes, Nview) of + [] -> + ok; + Visible -> + case get_selected_items(LCtrl, Visible) of + [] -> + ok; + _ -> + create_right_click_menu( + Panel, + [{?EDIT_PROCS, "Edit process options"}, + {?REMOVE_PROCS, "Remove processes"}]) + end + end, + {noreply, State}; + +handle_event(#wx{id=?PORT_WIN, event=#wxList{type=command_list_item_right_click}}, + State = #state{panel=Panel, port_view=LCtrl, tports=Tports, + n_view=Nview, nodes=Nodes}) -> + case get_visible_ps(Tports, Nodes, Nview) of + [] -> + ok; + Visible -> + case get_selected_items(LCtrl, Visible) of + [] -> + ok; + _ -> + create_right_click_menu( + Panel, + [{?EDIT_PORTS, "Edit port options"}, + {?REMOVE_PORTS, "Remove ports"}]) + end + end, + {noreply, State}; + +handle_event(#wx{id=?MODULES_WIN,event=#wxList{type=command_list_item_right_click}}, + State = #state{panel=Panel, m_view=Mview, tpatterns=TPs}) -> + case get_selected_items(Mview, lists:sort(dict:fetch_keys(TPs))) of + [] -> + ok; + _ -> + create_right_click_menu( + Panel, + [{?REMOVE_MOD_MS, "Remove trace patterns"}]) + end, + {noreply,State}; + +handle_event(#wx{id=?FUNCS_WIN,event=#wxList{type=command_list_item_right_click}}, + State = #state{panel=Panel, m_view=Mview, f_view=Fview, + tpatterns=TPs}) -> + case get_selected_items(Mview, lists:sort(dict:fetch_keys(TPs))) of + [] -> + ok; + [Module] -> + case get_selected_items(Fview, dict:fetch(Module, TPs)) of + [] -> + ok; + _ -> + create_right_click_menu( + Panel, + [{?EDIT_FUNCS_MS, "Edit matchspecs"}, + {?REMOVE_FUNCS_MS, "Remove trace patterns"}]) + end + end, + {noreply,State}; + +handle_event(#wx{id=?NODES_WIN,event=#wxList{type=command_list_item_right_click}}, + State = #state{panel=Panel, n_view=Nview, nodes=Nodes}) -> + Menu = + case get_selected_items(Nview, Nodes) of + [] -> + [{?ADD_NODES, "Add nodes"}]; + _ -> + [{?ADD_NODES, "Add nodes"}, + {?REMOVE_NODES, "Remove nodes"}] + end, + create_right_click_menu(Panel,Menu), {noreply, State}; -handle_event(#wx{id=?EDIT_PROCS}, #state{panel=Panel, tpids=Tpids, p_view=Ps} = State) -> +handle_event(#wx{id=?EDIT_PROCS}, #state{panel=Panel, tpids=Tpids, proc_view=Procs} = State) -> try - [#tpid{opts=DefOpts}|_] = Selected = get_selected_items(Ps, Tpids), + [#titem{opts=DefOpts}|_] = Selected = get_selected_items(Procs, Tpids), Opts = observer_traceoptions_wx:process_trace(Panel, DefOpts), - Changed = [Tpid#tpid{opts=Opts} || Tpid <- Selected], - {noreply, do_add_processes(Changed, State#state{def_trace_opts=Opts})} + Changed = [Tpid#titem{opts=Opts} || Tpid <- Selected], + {noreply, do_add_processes(Changed, State#state{def_proc_flags=Opts})} catch _:_ -> {noreply, State} end; -handle_event(#wx{id=?REMOVE_PROCS}, #state{tpids=Tpids, p_view=LCtrl} = State) -> +handle_event(#wx{id=?REMOVE_PROCS}, + #state{tpids=Tpids, proc_view=LCtrl, + n_view=Nview, nodes=Nodes} = State) -> Selected = get_selected_items(LCtrl, Tpids), Pids = Tpids -- Selected, - update_process_view(Pids, LCtrl), + update_p_view(Pids, LCtrl, Nodes, Nview), {noreply, State#state{tpids=Pids}}; -handle_event(#wx{id=?TRACE_DEFPS}, #state{panel=Panel, def_trace_opts=PO} = State) -> +handle_event(#wx{id=?EDIT_PORTS}, #state{panel=Panel, tports=Tports, port_view=Ports} = State) -> + try + [#titem{opts=DefOpts}|_] = Selected = get_selected_items(Ports, Tports), + Opts = observer_traceoptions_wx:port_trace(Panel, DefOpts), + Changed = [Tport#titem{opts=Opts} || Tport <- Selected], + {noreply, do_add_ports(Changed, State#state{def_port_flags=Opts})} + catch _:_ -> + {noreply, State} + end; + +handle_event(#wx{id=?REMOVE_PORTS}, + #state{tports=Tports, port_view=LCtrl, + n_view=Nview, nodes=Nodes} = State) -> + Selected = get_selected_items(LCtrl, Tports), + Ports = Tports -- Selected, + update_p_view(Ports, LCtrl, Nodes, Nview), + {noreply, State#state{tports=Ports}}; + +handle_event(#wx{id=?DEF_PROC_OPTS}, #state{panel=Panel, def_proc_flags=PO} = State) -> try Opts = observer_traceoptions_wx:process_trace(Panel, PO), - {noreply, State#state{def_trace_opts=Opts}} + {noreply, State#state{def_proc_flags=Opts}} catch _:_ -> {noreply, State} end; -handle_event(#wx{id=?TRACE_DEFMS}, #state{panel=Panel, match_specs=Ms} = State) -> +handle_event(#wx{id=?DEF_PORT_OPTS}, #state{panel=Panel, def_port_flags=PO} = State) -> + try + Opts = observer_traceoptions_wx:port_trace(Panel, PO), + {noreply, State#state{def_port_flags=Opts}} + catch _:_ -> + {noreply, State} + end; + +handle_event(#wx{id=?DEF_MS_FUNCS}, #state{panel=Panel, match_specs=Ms} = State) -> try %% Return selected MS and sends new MS's to us - observer_traceoptions_wx:select_matchspec(self(), Panel, Ms) + observer_traceoptions_wx:select_matchspec(self(), Panel, Ms, funcs) + catch _:_ -> + cancel + end, + {noreply, State}; + +handle_event(#wx{id=?DEF_MS_SEND}, #state{panel=Panel, match_specs=Ms} = State) -> + try %% Return selected MS and sends new MS's to us + observer_traceoptions_wx:select_matchspec(self(), Panel, Ms, send) + catch _:_ -> + cancel + end, + {noreply, State}; + +handle_event(#wx{id=?DEF_MS_RECV}, #state{panel=Panel, match_specs=Ms} = State) -> + try %% Return selected MS and sends new MS's to us + observer_traceoptions_wx:select_matchspec(self(), Panel, Ms, 'receive') catch _:_ -> cancel end, @@ -389,12 +593,34 @@ handle_event(#wx{id=?EDIT_FUNCS_MS}, #state{panel=Panel, tpatterns=TPs, match_specs=Mss } = State) -> try - [Module] = get_selected_items(Mview, lists:sort(dict:fetch_keys(TPs))), - Selected = get_selected_items(LCtrl, dict:fetch(Module, TPs)), - Ms = observer_traceoptions_wx:select_matchspec(self(), Panel, Mss), - Changed = [TP#tpattern{ms=Ms} || TP <- Selected], - {noreply, do_add_patterns({Module, Changed}, State)} - catch _:_ -> + case get_selected_items(Mview, lists:sort(dict:fetch_keys(TPs))) of + [] -> + throw({error,"No module selected"}); + [Module] -> + Selected = get_selected_items(LCtrl, dict:fetch(Module, TPs)), + Key = case Module of + 'Events' -> + SelectedEvents = + [Event || #tpattern{fa=Event} <- Selected], + E1 = hd(SelectedEvents), + case lists:all(fun(E) when E==E1 -> true; + (_) -> false + end, + SelectedEvents) of + true -> E1; + false -> throw({error,"Can not set match specs for multiple event types"}) + end; + _ -> funcs + end, + Ms = observer_traceoptions_wx:select_matchspec(self(), Panel, + Mss, Key), + Changed = [TP#tpattern{ms=Ms} || TP <- Selected], + {noreply, do_add_patterns({Module, Changed}, State)} + end + catch {error, Msg} -> + observer_wx:create_txt_dialog(Panel, Msg, "Error", ?wxICON_ERROR), + {noreply, State}; + cancel -> {noreply, State} end; @@ -417,6 +643,16 @@ handle_event(#wx{id=?REMOVE_FUNCS_MS}, #state{tpatterns=TPs0, f_view=LCtrl, m_vi {noreply, State#state{tpatterns=TPs}} end; +handle_event(#wx{id=?REMOVE_MOD_MS}, #state{tpatterns=TPs0, f_view=LCtrl, m_view=Mview} = State) -> + case get_selected_items(Mview, lists:sort(dict:fetch_keys(TPs0))) of + [] -> {noreply, State}; + [Module] -> + update_functions_view([], LCtrl), + TPs = dict:erase(Module, TPs0), + update_modules_view(lists:sort(dict:fetch_keys(TPs)), Module, Mview), + {noreply, State#state{tpatterns=TPs}} + end; + handle_event(#wx{id=?TRACE_OUTPUT}, #state{panel=Panel, output=Out0} = State) -> try Out = observer_traceoptions_wx:output(Panel, Out0), @@ -458,11 +694,20 @@ handle_call(Msg, From, _State) -> error({unhandled_call, Msg, From}). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -handle_cast({add_processes, Pids}, State = #state{panel=Parent, def_trace_opts=TraceOpts}) -> +handle_cast({add_processes, Pids}, State = #state{panel=Parent, def_proc_flags=TraceOpts}) -> try Opts = observer_traceoptions_wx:process_trace(Parent, TraceOpts), - POpts = [#tpid{pid=Pid, opts=Opts} || Pid <- Pids], - S = do_add_processes(POpts, State#state{def_trace_opts=Opts}), + POpts = [#titem{id=Pid, opts=Opts} || Pid <- Pids], + S = do_add_processes(POpts, State#state{def_proc_flags=Opts}), + {noreply, S} + catch cancel -> + {noreply, State} + end; +handle_cast({add_ports, Ports}, State = #state{panel=Parent, def_port_flags=TraceOpts}) -> + try + Opts = observer_traceoptions_wx:port_trace(Parent, TraceOpts), + POpts = [#titem{id=Id, opts=Opts} || Id <- Ports], + S = do_add_ports(POpts, State#state{def_port_flags=Opts}), {noreply, S} catch cancel -> {noreply, State} @@ -510,45 +755,93 @@ do_add_patterns({Module, NewPs}, State=#state{tpatterns=TPs0, m_view=Mview, f_vi State#state{tpatterns=TPs} end. -do_add_processes(POpts, S0=#state{n_view=Nview, p_view=LCtrl, tpids=OldPids, nodes=Ns0}) -> - case merge_pids(POpts, OldPids) of - {OldPids, [], []} -> - S0; - {Pids, New, _Changed} -> - update_process_view(Pids, LCtrl), - Ns1 = lists:usort([node(Pid) || #tpid{pid=Pid} <- New, is_pid(Pid)]), +do_add_processes(POpts, S0=#state{n_view=Nview, proc_view=LCtrl, tpids=OldPids, nodes=OldNodes}) -> + CheckFun = fun(Pid) -> is_pid(Pid) end, + {Pids, Nodes} = do_add_pid_or_port(POpts, Nview, LCtrl, + OldPids, OldNodes, CheckFun), + S0#state{tpids=Pids, nodes=Nodes}. + +do_add_ports(POpts, S0=#state{n_view=Nview, port_view=LCtrl, tports=OldPorts, nodes=OldNodes}) -> + CheckFun = fun(Port) -> is_port(Port) end, + {Ports, Nodes} = do_add_pid_or_port(POpts, Nview, LCtrl, + OldPorts, OldNodes, CheckFun), + S0#state{tports=Ports, nodes=Nodes}. + +do_add_pid_or_port(POpts, Nview, LCtrl, OldPs, Ns0, Check) -> + case merge_trace_items(POpts, OldPs) of + {OldPs, [], []} -> + {OldPs,Ns0}; + {Ps, New, _Changed} -> + Ns1 = lists:usort([node(Id) || #titem{id=Id} <- New, Check(Id)]), Nodes = case ordsets:subtract(Ns1, Ns0) of + [] when Ns0==[] -> [observer_wx:get_active_node()]; [] -> Ns0; %% No new Nodes - NewNs -> - %% if dynamicly updates add trace patterns for new nodes - All = ordsets:union(NewNs, Ns0), - update_nodes_view(All, Nview), - All + NewNs -> ordsets:union(NewNs, Ns0) end, - S0#state{tpids=Pids, nodes=Nodes} + update_nodes_view(Nodes, Nview), + update_p_view(Ps, LCtrl, Nodes, Nview), + {Ps, Nodes} end. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -update_process_view(Pids, LCtrl) -> +get_visible_ps(PidsOrPorts, [Node], _Nview) -> + %% If only one node, treat this as selected + get_visible_ps(PidsOrPorts, [Node]); +get_visible_ps(PidsOrPorts, Nodes, Nview) -> + get_visible_ps(PidsOrPorts, get_selected_items(Nview, Nodes)). + +get_visible_ps(PidsOrPorts, Nodes) -> + %% Show pids/ports belonging to the selected nodes only (+ named pids/ports) + [P || P <- PidsOrPorts, + is_atom(P#titem.id) orelse + lists:member(node(P#titem.id),Nodes)]. + +update_p_view(PidsOrPorts, LCtrl, Nodes, Nview) -> + update_p_view(get_visible_ps(PidsOrPorts, Nodes, Nview), LCtrl). +update_p_view(PidsOrPorts, LCtrl, Nodes) -> + update_p_view(get_visible_ps(PidsOrPorts, Nodes), LCtrl). + +update_p_view(PidsOrPorts, LCtrl) -> + %% pid- or port-view wxListCtrl:deleteAllItems(LCtrl), - wx:foldl(fun(#tpid{pid=Pid, opts=Opts}, Row) -> + wx:foldl(fun(#titem{id=Id, opts=Opts}, Row) -> _Item = wxListCtrl:insertItem(LCtrl, Row, ""), ?EVEN(Row) andalso wxListCtrl:setItemBackgroundColour(LCtrl, Row, ?BG_EVEN), - wxListCtrl:setItem(LCtrl, Row, 0, observer_lib:to_str(Pid)), + wxListCtrl:setItem(LCtrl, Row, 0, observer_lib:to_str(Id)), wxListCtrl:setItem(LCtrl, Row, 1, observer_lib:to_str(Opts)), Row+1 - end, 0, Pids). + end, 0, PidsOrPorts), + case PidsOrPorts of + [] -> + wxListCtrl:setToolTip(LCtrl,?NO_P_HELP); + _ -> + wxListCtrl:setToolTip(LCtrl,?P_HELP) + end. update_nodes_view(Nodes, LCtrl) -> + Selected = + case Nodes of + [_] -> Nodes; + _ -> get_selected_items(LCtrl, Nodes) + end, wxListCtrl:deleteAllItems(LCtrl), wx:foldl(fun(Node, Row) -> _Item = wxListCtrl:insertItem(LCtrl, Row, ""), ?EVEN(Row) andalso wxListCtrl:setItemBackgroundColour(LCtrl, Row, ?BG_EVEN), wxListCtrl:setItem(LCtrl, Row, 0, observer_lib:to_str(Node)), + lists:member(Node,Selected) andalso % keep selection + wxListCtrl:setItemState(LCtrl, Row, 16#FFFF, + ?wxLIST_STATE_SELECTED), Row+1 - end, 0, Nodes). + end, 0, Nodes), + case Nodes of + [] -> + wxListCtrl:setToolTip(LCtrl,?NO_NODES_HELP); + _ -> + wxListCtrl:setToolTip(LCtrl,?NODES_HELP) + end. update_modules_view(Mods, Module, LCtrl) -> wxListCtrl:deleteAllItems(LCtrl), @@ -560,33 +853,51 @@ update_modules_view(Mods, Module, LCtrl) -> (Mod =:= Module) andalso wxListCtrl:setItemState(LCtrl, Row, 16#FFFF, ?wxLIST_STATE_SELECTED), Row+1 - end, 0, Mods). + end, 0, Mods), + Parent = wxListCtrl:getParent(LCtrl), + case Mods of + [] -> + wxListCtrl:setToolTip(Parent,?NO_TP_HELP); + _ -> + wxListCtrl:setToolTip(Parent,?TP_HELP) + end. update_functions_view(Funcs, LCtrl) -> wxListCtrl:deleteAllItems(LCtrl), - wx:foldl(fun(#tpattern{fa=FA, ms=#match_spec{str=Ms}}, Row) -> + wx:foldl(fun(#tpattern{m=M, fa=FA, ms=#match_spec{str=Ms}}, Row) -> _Item = wxListCtrl:insertItem(LCtrl, Row, ""), ?EVEN(Row) andalso wxListCtrl:setItemBackgroundColour(LCtrl, Row, ?BG_EVEN), - wxListCtrl:setItem(LCtrl, Row, 0, observer_lib:to_str({func,FA})), + FuncStr = + case M of + 'Events' -> + observer_lib:to_str(FA); + _ -> + observer_lib:to_str({func,FA}) + end, + wxListCtrl:setItem(LCtrl, Row, 0, FuncStr), wxListCtrl:setItem(LCtrl, Row, 1, Ms), Row+1 end, 0, Funcs). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -merge_pids([N1=#tpid{pid=new}|Ns], [N2=#tpid{pid=new}|Old]) -> - {Pids, New, Changed} = merge_pids_1(Ns,Old), - {[N1|Pids], New, [{N2,N2}|Changed]}; -merge_pids([N1=#tpid{pid=new}|Ns], Old) -> - {Pids, New, Changed} = merge_pids_1(Ns,Old), - {[N1|Pids], [N1|New], Changed}; -merge_pids(Ns, [N2=#tpid{pid=new}|Old]) -> - {Pids, New, Changed} = merge_pids_1(Ns,Old), - {[N2|Pids], New, Changed}; -merge_pids(New, Old) -> - merge_pids_1(New, Old). - -merge_pids_1(New, Old) -> - merge(lists:sort(New), Old, #tpid.pid, [], [], []). +%% Trace items are processes and ports +merge_trace_items([N1=#titem{id=NewP}|Ns], [N2=#titem{id=NewP}|Old]) + when NewP==new_processes; NewP==new_ports -> + {Ids, New, Changed} = merge_trace_items_1(Ns,Old), + {[N1|Ids], New, [{N2,N2}|Changed]}; +merge_trace_items([N1=#titem{id=NewP}|Ns], Old) + when NewP==new_processes; NewP==new_ports -> + {Ids, New, Changed} = merge_trace_items_1(Ns,Old), + {[N1|Ids], [N1|New], Changed}; +merge_trace_items(Ns, [N2=#titem{id=NewP}|Old]) + when NewP==new_processes; NewP==new_ports -> + {Ids, New, Changed} = merge_trace_items_1(Ns,Old), + {[N2|Ids], New, Changed}; +merge_trace_items(New, Old) -> + merge_trace_items_1(New, Old). + +merge_trace_items_1(New, Old) -> + merge(lists:sort(New), Old, #titem.id, [], [], []). merge_patterns(New, Old) -> merge(lists:sort(New), Old, #tpattern.fa, [], [], []). @@ -676,10 +987,12 @@ create_logwindow(Parent, true) -> wxFrame:show(LogWin), {LogWin, Text}. -setup_ttb(TPs, TPids) -> +setup_ttb(TPs, TPids, TPorts) -> _R1 = [setup_tps(FTP, []) || {_, FTP} <- TPs], - _R2 = [ttb:p(Pid, dbg_flags(Flags)) || #tpid{pid=Pid, opts=Flags} <- TPids], - [#tpid{pid=_Pid, opts=_Flags}|_] = TPids, + _R2 = [ttb:p(Pid, dbg_flags(proc,Flags)) || + #titem{id=Pid, opts=Flags} <- TPids], + _R3 = [ttb:p(Port, dbg_flags(port,Flags)) || + #titem{id=Port, opts=Flags} <- TPorts], ok. %% Sigh order is important @@ -695,20 +1008,24 @@ setup_tps([First|Rest], Prev) -> setup_tps([], Prev) -> [setup_tp(TP) || TP <- lists:reverse(Prev)]. +setup_tp(#tpattern{m='Events',fa=Event, ms=#match_spec{term=Ms}}) -> + ttb:tpe(Event,Ms); setup_tp(#tpattern{m=M,fa={F,A}, ms=#match_spec{term=Ms}}) -> ttb:tpl(M,F,A,Ms). -dbg_flags(Flags) -> - [dbg_flag(Flag) || Flag <- Flags]. +dbg_flags(Type,Flags) -> + [dbg_flag(Type,Flag) || Flag <- Flags]. -dbg_flag(send) -> s; -dbg_flag('receive') -> r; -dbg_flag(functions) -> c; -dbg_flag(on_spawn) -> sos; -dbg_flag(on_link) -> sol; -dbg_flag(on_first_spawn) -> sofs; -dbg_flag(on_first_link) -> sofl; -dbg_flag(events) -> p. +dbg_flag(_,send) -> s; +dbg_flag(_,'receive') -> r; +dbg_flag(proc,functions) -> c; +dbg_flag(proc,on_spawn) -> sos; +dbg_flag(proc,on_link) -> sol; +dbg_flag(proc,on_first_spawn) -> sofs; +dbg_flag(proc,on_first_link) -> sofl; +dbg_flag(proc,events) -> p; +dbg_flag(port,events) -> ports; +dbg_flag(_,Flag) -> Flag. textformat(Trace) when element(1, Trace) == trace_ts, tuple_size(Trace) >= 4 -> format_trace(Trace, tuple_size(Trace)-1, element(tuple_size(Trace),Trace)); @@ -784,23 +1101,28 @@ ftup(Trace, Index, Size) -> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -write_file(Frame, Filename, TraceOps, MatchSpecs, Output, TPs) -> - FormatMS = fun(#match_spec{name=Id, term=T, func=F}) -> - io_lib:format("[{name,\"~s\"}, {term, ~w}, {func, \"~s\"}]", - [Id, T, F]) - end, - FormatTP = fun({Module, FTPs}) -> - List = format_ftp(FTPs, FormatMS), - io_lib:format("{tp, ~w, [~s]}.~n",[Module, List]) +write_file(Frame, Filename, ProcFlags, PortFlags, MatchSpecs, Output, TPs) -> + MSToList = fun(#match_spec{name=Id, term=T, func=F}) -> + [{name,Id},{term,T},{func,F}] end, + MSTermList = [{ms,Key,[MSToList(MS) || MS <- MSs]} || + {Key,MSs} <- MatchSpecs], + TPToTuple = fun(#tpattern{fa={F,A}, ms=Ms}) -> + {F,A,MSToList(Ms)} + end, + ModuleTermList = [{tp, Module, [TPToTuple(FTP) || FTP <- FTPs]} || + {Module,FTPs} <- TPs], + Str = ["%%%\n%%% This file is generated by Observer\n", "%%%\n%%% DO NOT EDIT!\n%%%\n", - [["{ms, ", FormatMS(Ms), "}.\n"] || Ms <- MatchSpecs], - "{traceopts, ", io_lib:format("~w",[TraceOps]) ,"}.\n", - "{output, ", io_lib:format("~w",[Output]) ,"}.\n", - [FormatTP(TP) || TP <- TPs] + [io_lib:format("~p.~n",[MSTerm]) || MSTerm <- MSTermList], + io_lib:format("~p.~n",[{procflags,ProcFlags}]), + io_lib:format("~p.~n",[{portflags,PortFlags}]), + io_lib:format("~p.~n",[{output,Output}]), + [io_lib:format("~p.~n",[ModuleTerm]) || ModuleTerm <- ModuleTermList] ], + case file:write_file(Filename, list_to_binary(Str)) of ok -> success; @@ -809,38 +1131,66 @@ write_file(Frame, Filename, TraceOps, MatchSpecs, Output, TPs) -> observer_wx:create_txt_dialog(Frame, FailMsg, "Error", ?wxICON_ERROR) end. -format_ftp([#tpattern{fa={F,A}, ms=Ms}], FormatMS) -> - io_lib:format("{~w, ~w, ~s}", [F,A,FormatMS(Ms)]); -format_ftp([#tpattern{fa={F,A}, ms=Ms}|Rest], FormatMS) -> - [io_lib:format("{~w, ~w, ~s},~n ", [F,A,FormatMS(Ms)]), - format_ftp(Rest, FormatMS)]. - -read_settings(Filename, #state{match_specs=Ms0, def_trace_opts=TO0} = State) -> +read_settings(Filename, #state{match_specs=Ms0, def_proc_flags=ProcFs0, def_port_flags=PortFs0} = State) -> case file:consult(Filename) of {ok, Terms} -> - Ms = lists:usort(Ms0 ++ [parse_ms(MsList) || {ms, MsList} <- Terms]), - TOs = lists:usort(TO0 ++ proplists:get_value(traceopts, Terms, [])), + Ms = parse_ms(Terms, Ms0), + ProcFs1 = proplists:get_value(procflags, Terms, []) ++ + proplists:get_value(traceopts, Terms, []), % for backwards comp. + ProcFs = lists:usort(ProcFs0 ++ ProcFs1), + PortFs = lists:usort(PortFs0 ++ + proplists:get_value(portflags, Terms, [])), Out = proplists:get_value(output, Terms, []), lists:foldl(fun parse_tp/2, - State#state{match_specs=Ms, def_trace_opts=TOs, output=Out}, + State#state{match_specs=Ms, def_proc_flags=ProcFs, + def_port_flags=PortFs, output=Out}, Terms); {error, _} -> - observer_wx:create_txt_dialog(State#state.panel, "Could not load settings", + observer_wx:create_txt_dialog(State#state.panel, + "Could not load settings", "Error", ?wxICON_ERROR), State end. -parse_ms(Opts) -> - Name = proplists:get_value(name, Opts, "TracePattern"), - Term = proplists:get_value(term, Opts, [{'_',[],[ok]}]), - FunStr = proplists:get_value(term, Opts, "fun(_) -> ok end"), - make_ms(Name, Term, FunStr). +parse_ms(Terms, OldMSs) -> + MSs = + case [{Key,[make_ms(MS) || MS <- MSs]} || {ms,Key,MSs} <- Terms] of + [] -> + case [make_ms(MS) || {ms,MS} <- Terms] of + [] -> + []; + FuncMSs -> % for backwards compatibility + [{funcs,FuncMSs}] + end; + KeyMSs -> + KeyMSs + end, + parse_ms_1(MSs, dict:from_list(OldMSs)). + +parse_ms_1([{Key,MSs} | T], Dict) -> + parse_ms_1(T, dict:append_list(Key,MSs,Dict)); +parse_ms_1([],Dict) -> + [{Key,rm_dups(MSs,[])} || {Key,MSs} <- dict:to_list(Dict)]. + +rm_dups([H|T],Acc) -> + case lists:member(H,Acc) of + true -> + rm_dups(T,Acc); + false -> + rm_dups(T,[H|Acc]) + end; +rm_dups([],Acc) -> + lists:reverse(Acc). + +make_ms(MS) -> + [{func,FunStr},{name,Name},{term,Term}] = lists:keysort(1,MS), + make_ms(Name,Term,FunStr). make_ms(Name, Term, FunStr) -> #match_spec{name=Name, term=Term, str=io_lib:format("~w", Term), func = FunStr}. parse_tp({tp, Mod, FAs}, State) -> - Patterns = [#tpattern{m=Mod,fa={F,A}, ms=parse_ms(List)} || + Patterns = [#tpattern{m=Mod,fa={F,A}, ms=make_ms(List)} || {F,A,List} <- FAs], do_add_patterns({Mod, Patterns}, State); parse_tp(_, State) -> @@ -866,3 +1216,9 @@ get_indecies(Rest = [_|_], I, [_|T]) -> get_indecies(Rest, I+1, T); get_indecies(_, _, _) -> []. + +create_right_click_menu(Panel,Menus) -> + Menu = wxMenu:new(), + [wxMenu:append(Menu,Id,Str) || {Id,Str} <- Menus], + wxWindow:popupMenu(Panel, Menu), + wxMenu:destroy(Menu). diff --git a/lib/observer/src/observer_traceoptions_wx.erl b/lib/observer/src/observer_traceoptions_wx.erl index 9ba9b72b6f..285c298c4b 100644 --- a/lib/observer/src/observer_traceoptions_wx.erl +++ b/lib/observer/src/observer_traceoptions_wx.erl @@ -22,8 +22,8 @@ -include_lib("wx/include/wx.hrl"). -include("observer_defs.hrl"). --export([process_trace/2, trace_pattern/4, select_nodes/2, - output/2, select_matchspec/3]). +-export([process_trace/2, port_trace/2, trace_pattern/4, select_nodes/2, + output/2, select_matchspec/4]). process_trace(Parent, Default) -> Dialog = wxDialog:new(Parent, ?wxID_ANY, "Process Options", @@ -36,12 +36,20 @@ process_trace(Parent, Default) -> FuncBox = wxCheckBox:new(Panel, ?wxID_ANY, "Trace function call", []), check_box(FuncBox, lists:member(functions, Default)), + ArityBox = wxCheckBox:new(Panel, ?wxID_ANY, "Trace arity instead of arguments", []), + check_box(ArityBox, lists:member(functions, Default)), SendBox = wxCheckBox:new(Panel, ?wxID_ANY, "Trace send message", []), check_box(SendBox, lists:member(send, Default)), RecBox = wxCheckBox:new(Panel, ?wxID_ANY, "Trace receive message", []), check_box(RecBox, lists:member('receive', Default)), EventBox = wxCheckBox:new(Panel, ?wxID_ANY, "Trace process events", []), check_box(EventBox, lists:member(events, Default)), + SchedBox = wxCheckBox:new(Panel, ?wxID_ANY, "Trace scheduling of processes", []), + check_box(SchedBox, lists:member(running_procs, Default)), + ExitBox = wxCheckBox:new(Panel, ?wxID_ANY, "Trace scheduling of exiting processes", []), + check_box(ExitBox, lists:member(exiting, Default)), + GCBox = wxCheckBox:new(Panel, ?wxID_ANY, "Trace garbage collections", []), + check_box(GCBox, lists:member(garbage_collection, Default)), {SpawnBox, SpwnAllRadio, SpwnFirstRadio} = optionpage_top_right(Panel, RightSz, [{flag, ?wxBOTTOM},{border, 5}], "spawn"), @@ -57,7 +65,7 @@ process_trace(Parent, Default) -> {Radio, Opt} <- [{SpwnAllRadio, on_spawn}, {SpwnFirstRadio, on_first_spawn}, {LinkAllRadio, on_link}, {LinkFirstRadio, on_first_link}]], - [wxSizer:add(LeftSz, CheckBox, []) || CheckBox <- [FuncBox,SendBox,RecBox,EventBox]], + [wxSizer:add(LeftSz, CheckBox, []) || CheckBox <- [FuncBox,ArityBox,SendBox,RecBox,EventBox,SchedBox,ExitBox,GCBox]], wxSizer:add(LeftSz, 150, -1), wxSizer:add(PanelSz, LeftSz, [{flag, ?wxEXPAND}, {proportion,1}]), @@ -80,7 +88,9 @@ process_trace(Parent, Default) -> case wxDialog:showModal(Dialog) of ?wxID_OK -> All = [{SendBox, send}, {RecBox, 'receive'}, - {FuncBox, functions}, {EventBox, events}, + {FuncBox, functions}, {ArityBox, arity}, + {EventBox, events}, {SchedBox, running_procs}, + {ExitBox, exiting}, {GCBox, garbage_collection}, {{SpawnBox, SpwnAllRadio}, on_spawn}, {{SpawnBox,SpwnFirstRadio}, on_first_spawn}, {{LinkBox, LinkAllRadio}, on_link}, @@ -98,12 +108,57 @@ process_trace(Parent, Default) -> throw(cancel) end. +port_trace(Parent, Default) -> + Dialog = wxDialog:new(Parent, ?wxID_ANY, "Port Options", + [{style, ?wxDEFAULT_DIALOG_STYLE bor ?wxRESIZE_BORDER}]), + Panel = wxPanel:new(Dialog), + MainSz = wxBoxSizer:new(?wxVERTICAL), + OptsSz = wxStaticBoxSizer:new(?wxVERTICAL, Panel, [{label, "Tracing options"}]), + + SendBox = wxCheckBox:new(Panel, ?wxID_ANY, "Trace send message", []), + check_box(SendBox, lists:member(send, Default)), + RecBox = wxCheckBox:new(Panel, ?wxID_ANY, "Trace receive message", []), + check_box(RecBox, lists:member('receive', Default)), + EventBox = wxCheckBox:new(Panel, ?wxID_ANY, "Trace port events", []), + check_box(EventBox, lists:member(events, Default)), + SchedBox = wxCheckBox:new(Panel, ?wxID_ANY, "Trace scheduling of ports", []), + check_box(SchedBox, lists:member(running_ports, Default)), + + [wxSizer:add(OptsSz, CheckBox, []) || CheckBox <- [SendBox,RecBox,EventBox,SchedBox]], + wxSizer:add(OptsSz, 150, -1), + + wxPanel:setSizer(Panel, OptsSz), + wxSizer:add(MainSz, Panel, [{flag, ?wxEXPAND}, {proportion,1}]), + Buttons = wxDialog:createButtonSizer(Dialog, ?wxOK bor ?wxCANCEL), + wxSizer:add(MainSz, Buttons, [{flag, ?wxEXPAND bor ?wxALL}, {border, 5}]), + wxWindow:setSizerAndFit(Dialog, MainSz), + wxSizer:setSizeHints(MainSz, Dialog), + + case wxDialog:showModal(Dialog) of + ?wxID_OK -> + All = [{SendBox, send}, {RecBox, 'receive'}, + {EventBox, events}, {SchedBox, running_ports}], + Opts = [Id || {Tick, Id} <- All, wxCheckBox:getValue(Tick)], + wxDialog:destroy(Dialog), + lists:reverse(Opts); + ?wxID_CANCEL -> + wxDialog:destroy(Dialog), + throw(cancel) + end. + trace_pattern(ParentPid, Parent, Node, MatchSpecs) -> try - Module = module_selector(Parent, Node), - MFAs = function_selector(Parent, Node, Module), - MatchSpec = select_matchspec(ParentPid, Parent, MatchSpecs), - {Module, [#tpattern{m=M,fa={F,A},ms=MatchSpec} || {M,F,A} <- MFAs]} + {Module,MFAs,MatchSpec} = + case module_selector(Parent, Node) of + {'$trace_event',Event} -> + MS = select_matchspec(ParentPid, Parent, MatchSpecs, Event), + {'Events',[{'Events',Event}],MS}; + Mod -> + MFAs0 = function_selector(Parent, Node, Mod), + MS = select_matchspec(ParentPid, Parent, MatchSpecs, funcs), + {Mod,MFAs0,MS} + end, + {Module, [#tpattern{m=M,fa=FA,ms=MatchSpec} || {M,FA} <- MFAs]} catch cancel -> cancel end. @@ -112,7 +167,7 @@ select_nodes(Parent, Nodes) -> check_selector(Parent, Choices). module_selector(Parent, Node) -> - Dialog = wxDialog:new(Parent, ?wxID_ANY, "Select Module", + Dialog = wxDialog:new(Parent, ?wxID_ANY, "Select Module or Event", [{style, ?wxDEFAULT_DIALOG_STYLE bor ?wxRESIZE_BORDER}, {size, {400, 400}}]), Panel = wxPanel:new(Dialog), @@ -136,7 +191,9 @@ module_selector(Parent, Node) -> wxWindow:setFocus(TxtCtrl), %% init data Modules = get_modules(Node), - AllModules = [{atom_to_list(X), X} || X <- Modules], + Events = [{"Messages sent",{'$trace_event',send}}, + {"Messages received",{'$trace_event','receive'}}], + AllModules = Events ++ [{atom_to_list(X), X} || X <- Modules], filter_listbox_data("", AllModules, ListBox), wxTextCtrl:connect(TxtCtrl, command_text_updated, [{callback, fun(#wx{event=#wxCommand{cmdString=Input}}, _) -> @@ -174,9 +231,9 @@ function_selector(Parent, Node, Module) -> not(erl_internal:guard_bif(Name, Arity))]), ParsedChoices = parse_function_names(Choices), case check_selector(Parent, ParsedChoices) of - [] -> [{Module, '_', '_'}]; + [] -> [{Module, {'_', '_'}}]; FAs -> - [{Module, F, A} || {F,A} <- FAs] + [{Module, {F, A}} || {F,A} <- FAs] end. check_selector(Parent, ParsedChoices) -> @@ -268,7 +325,12 @@ get_checked(ListBox, Acc) -> lists:reverse(Acc) end. -select_matchspec(Pid, Parent, MatchSpecs) -> +select_matchspec(Pid, Parent, AllMatchSpecs, Key) -> + {MatchSpecs,RestMS} = + case lists:keytake(Key,1,AllMatchSpecs) of + {value,{Key,MSs0},Rest} -> {MSs0,Rest}; + false -> {[],AllMatchSpecs} + end, Dialog = wxDialog:new(Parent, ?wxID_ANY, "Trace Match Specifications", [{style, ?wxDEFAULT_DIALOG_STYLE bor ?wxRESIZE_BORDER}, {size, {400, 400}}]), @@ -313,8 +375,12 @@ select_matchspec(Pid, Parent, MatchSpecs) -> filter_listbox_data("", Choices, ListBox), Add = fun(_,_) -> - case edit_ms(TextCtrl, new, Parent) of - Ms = #match_spec{} -> add_and_select(-1, Ms, ListBox); + case edit_ms(TextCtrl, new, Dialog) of + Ms = #match_spec{} -> + add_and_select(-1, Ms, ListBox), + wxWindow:enable(OkButt), + wxWindow:enable(EditMsBtn), + wxWindow:enable(DelMsBtn); Else -> Else end end, @@ -323,8 +389,12 @@ select_matchspec(Pid, Parent, MatchSpecs) -> case SelId >= 0 of true -> #match_spec{name=Name} = wxListBox:getClientData(ListBox,SelId), - case edit_ms(TextCtrl, Name, Parent) of - Ms = #match_spec{} -> add_and_select(SelId, Ms, ListBox); + case edit_ms(TextCtrl, Name, Dialog) of + Ms = #match_spec{} -> + add_and_select(SelId, Ms, ListBox), + wxWindow:enable(OkButt), + wxWindow:enable(EditMsBtn), + wxWindow:enable(DelMsBtn); Else -> Else end; false -> @@ -367,7 +437,7 @@ select_matchspec(Pid, Parent, MatchSpecs) -> Count = wxListBox:getCount(ListBox), MSs = [wxListBox:getClientData(ListBox, Id) || Id <- lists:seq(0, Count-1)], - Pid ! {update_ms, MSs}, + Pid ! {update_ms, [{Key,MSs}|RestMS]}, MS = lists:nth(SelId+1, MSs), wxDialog:destroy(Dialog), MS; diff --git a/lib/observer/src/observer_tv_wx.erl b/lib/observer/src/observer_tv_wx.erl index 1860f2f469..59f6443551 100644 --- a/lib/observer/src/observer_tv_wx.erl +++ b/lib/observer/src/observer_tv_wx.erl @@ -37,7 +37,8 @@ -define(ID_UNREADABLE, 405). -define(ID_SYSTEM_TABLES, 406). -define(ID_TABLE_INFO, 407). - +-define(ID_SHOW_TABLE, 408). + -record(opt, {type=ets, sys_hidden=true, unread_hidden=true, @@ -49,6 +50,7 @@ { parent, grid, + panel, node=node(), opt=#opt{}, selected, @@ -86,12 +88,13 @@ init([Notebook, Parent]) -> wxListItem:destroy(Li), wxListCtrl:connect(Grid, command_list_item_activated), + wxListCtrl:connect(Grid, command_list_item_right_click), wxListCtrl:connect(Grid, command_list_item_selected), wxListCtrl:connect(Grid, command_list_col_click), wxListCtrl:connect(Grid, size, [{skip, true}]), wxWindow:setFocus(Grid), - {Panel, #state{grid=Grid, parent=Parent, timer={false, 10}}}. + {Panel, #state{grid=Grid, parent=Parent, panel=Panel, timer={false, 10}}}. handle_event(#wx{id=?ID_REFRESH}, State = #state{node=Node, grid=Grid, opt=Opt}) -> @@ -145,6 +148,16 @@ handle_event(#wx{event=#wxList{type=command_list_item_activated, end, {noreply, State}; +handle_event(#wx{event=#wxList{type=command_list_item_right_click}}, + State=#state{panel=Panel}) -> + + Menu = wxMenu:new(), + wxMenu:append(Menu, ?ID_TABLE_INFO, "Table info"), + wxMenu:append(Menu, ?ID_SHOW_TABLE, "Show Table Content"), + wxWindow:popupMenu(Panel, Menu), + wxMenu:destroy(Menu), + {noreply, State}; + handle_event(#wx{event=#wxList{type=command_list_item_selected, itemIndex=Index}}, State) -> {noreply, State#state{selected=Index}}; @@ -160,6 +173,22 @@ handle_event(#wx{id=?ID_TABLE_INFO}, {noreply, State} end; +handle_event(#wx{id=?ID_SHOW_TABLE}, + State=#state{grid=Grid, node=Node, opt=#opt{type=Type}, tabs=Tabs, selected=Sel}) -> + case Sel of + undefined -> + {noreply, State}; + R when is_integer(R) -> + Table = lists:nth(Sel+1, Tabs), + case Table#tab.protection of + private -> + self() ! {error, "Table has 'private' protection and can not be read"}; + _ -> + observer_tv_table:start_link(Grid, [{node,Node}, {type,Type}, {table,Table}]) + end, + {noreply, State} + end; + handle_event(#wx{id=?ID_REFRESH_INTERVAL}, State = #state{grid=Grid, timer=Timer0}) -> Timer = observer_lib:interval_dialog(Grid, Timer0, 10, 5*60), @@ -315,6 +344,7 @@ display_table_info(Parent0, Node, Source, Table) -> {_, Sizer, _} = observer_lib:display_info(Frame, [IdInfo,Settings,Memory]), wxSizer:setSizeHints(Sizer, Frame), + wxWindow:setMinSize(Frame, {300, -1}), wxFrame:center(Frame), wxFrame:show(Frame). diff --git a/lib/observer/src/observer_wx.erl b/lib/observer/src/observer_wx.erl index 30bd4043e4..301bb4b32f 100644 --- a/lib/observer/src/observer_wx.erl +++ b/lib/observer/src/observer_wx.erl @@ -21,8 +21,8 @@ -behaviour(wx_object). -export([start/0, stop/0]). --export([create_menus/2, get_attrib/1, get_tracer/0, set_status/1, - create_txt_dialog/4, try_rpc/4, return_to_localnode/2]). +-export([create_menus/2, get_attrib/1, get_tracer/0, get_active_node/0, + set_status/1, create_txt_dialog/4, try_rpc/4, return_to_localnode/2]). -export([init/1, handle_event/2, handle_cast/2, terminate/2, code_change/3, handle_call/3, handle_info/2, check_page_title/1]). @@ -55,6 +55,7 @@ notebook, main_panel, pro_panel, + port_panel, tv_panel, sys_panel, trace_panel, @@ -90,6 +91,9 @@ set_status(What) -> get_tracer() -> wx_object:call(observer, get_tracer). +get_active_node() -> + wx_object:call(observer, get_active_node). + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% init(_Args) -> @@ -165,6 +169,10 @@ setup(#state{frame = Frame} = State) -> ProPanel = observer_pro_wx:start_link(Notebook, self()), wxNotebook:addPage(Notebook, ProPanel, "Processes", []), + %% Port Panel + PortPanel = observer_port_wx:start_link(Notebook, self()), + wxNotebook:addPage(Notebook, PortPanel, "Ports", []), + %% Table Viewer Panel TVPanel = observer_tv_wx:start_link(Notebook, self()), wxNotebook:addPage(Notebook, TVPanel, "Table Viewer", []), @@ -188,6 +196,7 @@ setup(#state{frame = Frame} = State) -> status_bar = StatusBar, sys_panel = SysPanel, pro_panel = ProPanel, + port_panel = PortPanel, tv_panel = TVPanel, trace_panel = TracePanel, app_panel = AppPanel, @@ -379,6 +388,9 @@ handle_call({get_attrib, Attrib}, _From, State) -> handle_call(get_tracer, _From, State=#state{trace_panel=TraceP}) -> {reply, TraceP, State}; +handle_call(get_active_node, _From, State=#state{node=Node}) -> + {reply, Node, State}; + handle_call(stop, From, State) -> stop_servers(State), {noreply, State#state{reply_to=From}}; @@ -406,16 +418,21 @@ handle_info({nodedown, Node}, create_txt_dialog(Frame, Msg, "Node down", ?wxICON_EXCLAMATION), {noreply, State3}; -handle_info({open_link, Pid0}, State = #state{pro_panel=ProcViewer, frame=Frame}) -> - Pid = case Pid0 of - [_|_] -> try list_to_pid(Pid0) catch _:_ -> Pid0 end; - _ -> Pid0 +handle_info({open_link, Id0}, State = #state{pro_panel=ProcViewer, + port_panel=PortViewer, + frame=Frame}) -> + Id = case Id0 of + [_|_] -> try list_to_pid(Id0) catch _:_ -> Id0 end; + _ -> Id0 end, %% Forward to process tab - case is_pid(Pid) of - true -> wx_object:get_pid(ProcViewer) ! {procinfo_open, Pid}; - false -> - Msg = io_lib:format("Information about ~p is not available or implemented",[Pid]), + case Id of + Pid when is_pid(Pid) -> + wx_object:get_pid(ProcViewer) ! {procinfo_open, Pid}; + "#Port" ++ _ = Port -> + wx_object:get_pid(PortViewer) ! {portinfo_open, Port}; + _ -> + Msg = io_lib:format("Information about ~p is not available or implemented",[Id]), Info = wxMessageDialog:new(Frame, Msg), wxMessageDialog:showModal(Info), wxMessageDialog:destroy(Info) @@ -541,10 +558,11 @@ check_page_title(Notebook) -> get_active_pid(#state{notebook=Notebook, pro_panel=Pro, sys_panel=Sys, tv_panel=Tv, trace_panel=Trace, app_panel=App, - perf_panel=Perf, allc_panel=Alloc + perf_panel=Perf, allc_panel=Alloc, port_panel=Port }) -> Panel = case check_page_title(Notebook) of "Processes" -> Pro; + "Ports" -> Port; "System" -> Sys; "Table Viewer" -> Tv; ?TRACE_STR -> Trace; diff --git a/lib/observer/src/ttb.erl b/lib/observer/src/ttb.erl index 4d6eb3ba8d..ac6c4572eb 100644 --- a/lib/observer/src/ttb.erl +++ b/lib/observer/src/ttb.erl @@ -25,7 +25,8 @@ -export([tracer/0,tracer/1,tracer/2,p/2,stop/0,stop/1,start_trace/4]). -export([get_et_handler/0]). -export([tp/2, tp/3, tp/4, ctp/0, ctp/1, ctp/2, ctp/3, tpl/2, tpl/3, tpl/4, - ctpl/0, ctpl/1, ctpl/2, ctpl/3, ctpg/0, ctpg/1, ctpg/2, ctpg/3]). + ctpl/0, ctpl/1, ctpl/2, ctpl/3, ctpg/0, ctpg/1, ctpg/2, ctpg/3, + tpe/2, ctpe/1]). -export([seq_trigger_ms/0,seq_trigger_ms/1]). -export([write_trace_info/2]). -export([write_config/2,write_config/3,run_config/1,run_config/2,list_config/1]). @@ -397,16 +398,16 @@ arg_list([A1|A],Acc) -> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% Set trace flags on processes -p(Procs0,Flags0) -> +p(ProcsPorts0,Flags0) -> ensure_no_overloaded_nodes(), - store(p,[Procs0,Flags0]), - no_store_p(Procs0,Flags0). -no_store_p(Procs0,Flags0) -> + store(p,[ProcsPorts0,Flags0]), + no_store_p(ProcsPorts0,Flags0). +no_store_p(ProcsPorts0,Flags0) -> case transform_flags(to_list(Flags0)) of {error,Reason} -> {error,Reason}; Flags -> - Procs = procs(Procs0), + ProcsPorts = procs_ports(ProcsPorts0), case lists:foldl(fun(P,{PMatched,Ps}) -> case dbg:p(P,Flags) of {ok,Matched} -> {[{P,Matched}|PMatched],[P|Ps]}; @@ -414,7 +415,7 @@ no_store_p(Procs0,Flags0) -> display_warning(P,Reason), {PMatched,Ps} end - end,{[],[]},Procs) of + end,{[],[]},ProcsPorts) of {[],[]} -> {error, no_match}; {SuccMatched,Succ} -> no_store_write_trace_info(flags,{Succ,Flags}), @@ -429,20 +430,22 @@ transform_flags(Flags) -> dbg:transform_flags([timestamp | Flags]). -procs(Procs) when is_list(Procs) -> - lists:foldl(fun(P,Acc) -> proc(P)++Acc end,[],Procs); -procs(Proc) -> - proc(Proc). +procs_ports(Procs) when is_list(Procs) -> + lists:foldl(fun(P,Acc) -> proc_port(P)++Acc end,[],Procs); +procs_ports(Proc) -> + proc_port(Proc). -proc(Procs) when Procs=:=all; Procs=:=ports; Procs=:=processes; - Procs=:=existing; Procs=:=existing_ports; Procs=:=existing_processes; - Procs=:=new; Procs=:=new_ports; Procs=:=new_processes -> - [Procs]; -proc(Name) when is_atom(Name) -> +proc_port(P) when P=:=all; P=:=ports; P=:=processes; + P=:=existing; P=:=existing_ports; P=:=existing_processes; + P=:=new; P=:=new_ports; P=:=new_processes -> + [P]; +proc_port(Name) when is_atom(Name) -> [Name]; % can be registered on this node or other node -proc(Pid) when is_pid(Pid) -> +proc_port(Pid) when is_pid(Pid) -> [Pid]; -proc({global,Name}) -> +proc_port(Port) when is_port(Port) -> + [Port]; +proc_port({global,Name}) -> case global:whereis_name(Name) of Pid when is_pid(Pid) -> [Pid]; @@ -479,6 +482,11 @@ tpl(A,B,C,D) -> store(tpl,[A,B,C,ms(D)]), dbg:tpl(A,B,C,ms(D)). +tpe(A,B) -> + ensure_no_overloaded_nodes(), + store(tpe,[A,ms(B)]), + dbg:tpe(A,ms(B)). + ctp() -> store(ctp,[]), dbg:ctp(). @@ -518,6 +526,10 @@ ctpg(A,B,C) -> store(ctpg,[A,B,C]), dbg:ctpg(A,B,C). +ctpe(A) -> + store(ctpe,[A]), + dbg:ctpe(A). + ms(return) -> [{'_',[],[{return_trace}]}]; ms(caller) -> @@ -1298,6 +1310,9 @@ ip_to_file(Trace, {shell_only, Fun} = State) -> ip_to_file(Trace,{{file,File}, ShellOutput}) -> Fun = dbg:trace_port(file,File), %File can be a filename or a wrap spec Port = Fun(), + %% Just in case this is on the traced node, + %% make sure the port is not traced. + p(Port,clear), %% Store the port so it can be properly closed ?MODULE ! {ip_to_file_trace_port, Port, self()}, receive {?MODULE,ok} -> ok end, diff --git a/lib/observer/test/observer_SUITE.erl b/lib/observer/test/observer_SUITE.erl index ae8111dcd6..4c882ad951 100644 --- a/lib/observer/test/observer_SUITE.erl +++ b/lib/observer/test/observer_SUITE.erl @@ -171,6 +171,7 @@ test_page("Applications" ++ _, _Window) -> test_page("Processes" ++ _, _Window) -> timer:sleep(500), %% Give it time to refresh Active = get_active(), + Active ! refresh_interval, ChangeSort = fun(N) -> FakeEv = #wx{event=#wxList{type=command_list_col_click, col=N}}, Active ! FakeEv, @@ -184,7 +185,23 @@ test_page("Processes" ++ _, _Window) -> timer:sleep(1000), %% Give it time to refresh ok; -test_page(_Title = "Table" ++ _, _Window) -> +test_page("Ports" ++ _, _Window) -> + timer:sleep(500), %% Give it time to refresh + Active = get_active(), + Active ! refresh_interval, + ChangeSort = fun(N) -> + FakeEv = #wx{event=#wxList{type=command_list_col_click, col=N}}, + Active ! FakeEv, + timer:sleep(200) + end, + [ChangeSort(N) || N <- lists:seq(1,4) ++ [0]], + Activate = #wx{event=#wxList{type=command_list_item_activated, + itemIndex=2}}, + Active ! Activate, + timer:sleep(1000), %% Give it time to refresh + ok; + +test_page("Table" ++ _, _Window) -> Tables = [ets:new(list_to_atom("Test-" ++ [C]), [public]) || C <- lists:seq($A, $Z)], Table = lists:nth(3, Tables), ets:insert(Table, [{N,100-N} || N <- lists:seq(1,100)]), @@ -208,6 +225,13 @@ test_page(_Title = "Table" ++ _, _Window) -> timer:sleep(1000), ok; +test_page("Trace Overview" ++ _, _Window) -> + timer:sleep(500), %% Give it time to refresh + Active = get_active(), + Active ! refresh_interval, + timer:sleep(1000), %% Give it time to refresh + ok; + test_page(Title, Window) -> io:format("Page ~p: ~p~n", [Title, Window]), %% Just let it display some info and hopefully it doesn't crash diff --git a/lib/runtime_tools/c_src/dyntrace.c b/lib/runtime_tools/c_src/dyntrace.c index e7a4a73373..3d2de9c21c 100644 --- a/lib/runtime_tools/c_src/dyntrace.c +++ b/lib/runtime_tools/c_src/dyntrace.c @@ -96,14 +96,14 @@ static ErlNifFunc nif_funcs[] = { {"user_trace_i4s4", 9, user_trace_i4s4}, {"user_trace_n", 10, user_trace_n}, #ifdef HAVE_USE_LTTNG - {"trace_procs", 6, trace_procs}, - {"trace_ports", 6, trace_ports}, - {"trace_running_procs", 6, trace_running_procs}, - {"trace_running_ports", 6, trace_running_ports}, - {"trace_call", 6, trace_call}, - {"trace_send", 6, trace_send}, - {"trace_receive", 6, trace_receive}, - {"trace_garbage_collection", 6, trace_garbage_collection}, + {"trace_procs", 5, trace_procs}, + {"trace_ports", 5, trace_ports}, + {"trace_running_procs", 5, trace_running_procs}, + {"trace_running_ports", 5, trace_running_ports}, + {"trace_call", 5, trace_call}, + {"trace_send", 5, trace_send}, + {"trace_receive", 5, trace_receive}, + {"trace_garbage_collection", 5, trace_garbage_collection}, {"enabled_procs", 3, enabled_procs}, {"enabled_ports", 3, enabled_ports}, {"enabled_running_procs", 3, enabled_running_procs}, @@ -114,8 +114,7 @@ static ErlNifFunc nif_funcs[] = { {"enabled_garbage_collection", 3, enabled_garbage_collection}, #endif {"enabled", 3, enabled}, - {"trace", 5, trace}, - {"trace", 6, trace} + {"trace", 5, trace} }; ERL_NIF_INIT(dyntrace, nif_funcs, load, NULL, NULL, NULL) @@ -123,6 +122,7 @@ ERL_NIF_INIT(dyntrace, nif_funcs, load, NULL, NULL, NULL) static ERL_NIF_TERM atom_true; static ERL_NIF_TERM atom_false; static ERL_NIF_TERM atom_error; +static ERL_NIF_TERM atom_extra; static ERL_NIF_TERM atom_not_available; static ERL_NIF_TERM atom_badarg; static ERL_NIF_TERM atom_ok; @@ -187,6 +187,7 @@ static int load(ErlNifEnv* env, void** priv_data, ERL_NIF_TERM load_info) atom_true = enif_make_atom(env,"true"); atom_false = enif_make_atom(env,"false"); atom_error = enif_make_atom(env,"error"); + atom_extra = enif_make_atom(env,"extra"); atom_not_available = enif_make_atom(env,"not_available"); atom_badarg = enif_make_atom(env,"badarg"); atom_ok = enif_make_atom(env,"ok"); @@ -325,7 +326,7 @@ static ERL_NIF_TERM trace_garbage_collection(ErlNifEnv* env, int argc, const ERL int arity; unsigned long ohbsz, nhbsz, size; - ASSERT(argc == 6); + ASSERT(argc == 5); /* Assume gc info order does not change */ gci = argv[3]; @@ -428,11 +429,13 @@ static ERL_NIF_TERM trace_call(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv } } else if (argv[0] == atom_exception_from) { const ERL_NIF_TERM* tuple; + ERL_NIF_TERM extra; int arity; lttng_decl_mfabuf(mfa); char class[LTTNG_BUFFER_SZ]; - enif_get_tuple(env, argv[4], &arity, &tuple); + enif_get_map_value(env, argv[4], atom_extra, &extra); + enif_get_tuple(env, extra, &arity, &tuple); enif_snprintf(class, LTTNG_BUFFER_SZ, "%T", tuple[0]); if (enif_get_tuple(env, argv[3], &arity, &tuple)) { @@ -457,14 +460,17 @@ static ERL_NIF_TERM enabled_send(ErlNifEnv *env, int argc, const ERL_NIF_TERM ar static ERL_NIF_TERM trace_send(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]) { + ERL_NIF_TERM extra; lttng_decl_procbuf(pid); lttng_pid_to_str(argv[2], pid); + enif_get_map_value(env, argv[4], atom_extra, &extra); + if (argv[0] == atom_send) { lttng_decl_procbuf(to); char msg[LTTNG_BUFFER_SZ]; - lttng_pid_to_str(argv[4], to); + lttng_pid_to_str(extra, to); enif_snprintf(msg, LTTNG_BUFFER_SZ, "%T", argv[3]); LTTNG3(message_send, pid, to, msg); @@ -472,7 +478,7 @@ static ERL_NIF_TERM trace_send(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv lttng_decl_procbuf(to); char msg[LTTNG_BUFFER_SZ]; - lttng_pid_to_str(argv[4], to); + lttng_pid_to_str(extra, to); enif_snprintf(msg, LTTNG_BUFFER_SZ, "%T", argv[3]); /* mark it as non existing ? */ @@ -537,6 +543,7 @@ static ERL_NIF_TERM trace_procs(ErlNifEnv* env, int argc, const ERL_NIF_TERM arg /* spawn */ if (argv[0] == atom_spawn) { + ERL_NIF_TERM extra; char undef[] = "undefined"; const ERL_NIF_TERM* tuple; int arity; @@ -545,7 +552,9 @@ static ERL_NIF_TERM trace_procs(ErlNifEnv* env, int argc, const ERL_NIF_TERM arg lttng_pid_to_str(argv[3], to); - if (enif_get_tuple(env, argv[4], &arity, &tuple)) { + enif_get_map_value(env, argv[4], atom_extra, &extra); + + if (enif_get_tuple(env, extra, &arity, &tuple)) { if (enif_is_list(env, tuple[2])) { enif_get_list_length(env, tuple[2], &len); } else { @@ -618,11 +627,13 @@ static ERL_NIF_TERM trace_ports(ErlNifEnv* env, int argc, const ERL_NIF_TERM arg /* open and closed */ if (argv[0] == atom_open) { + ERL_NIF_TERM extra; char driver[LTTNG_BUFFER_SZ]; lttng_decl_procbuf(pid); lttng_pid_to_str(argv[3], pid); + enif_get_map_value(env, argv[4], atom_extra, &extra); - enif_snprintf(driver, LTTNG_BUFFER_SZ, "%T", argv[4]); + enif_snprintf(driver, LTTNG_BUFFER_SZ, "%T", extra); LTTNG3(port_open, pid, driver, port); } else if (argv[0] == atom_closed) { char reason[LTTNG_BUFFER_SZ]; diff --git a/lib/runtime_tools/doc/src/LTTng.xml b/lib/runtime_tools/doc/src/LTTng.xml index 06152c66d6..9b490a27a0 100644 --- a/lib/runtime_tools/doc/src/LTTng.xml +++ b/lib/runtime_tools/doc/src/LTTng.xml @@ -75,6 +75,10 @@ $ make </code> <item><c>parent : string</c> :: Process ID. Ex. <c>"<0.131.0>"</c></item> <item><c>entry : string</c> :: Code Location. Ex. <c>"lists:sort/1"</c></item> </list> + <p> + Available through + <seealso marker="erts:erlang#trace-3"><c>erlang:trace/3</c></seealso> with trace flag <c>procs</c> and <c>{tracer,dyntrace,[]}</c> as tracer module. + </p> <p>Example:</p> <code type="none">process_spawn: { cpu_id = 3 }, { pid = "<0.131.0>", parent = "<0.130.0>", entry = "erlang:apply/2" }</code> @@ -84,6 +88,10 @@ $ make </code> <item><c>from : string</c> :: Process ID or Port ID. Ex. <c>"<0.131.0>"</c></item> <item><c>type : string</c> :: <c>"link" | "unlink"</c></item> </list> + <p> + Available through + <seealso marker="erts:erlang#trace-3"><c>erlang:trace/3</c></seealso> with trace flag <c>procs</c> and <c>{tracer,dyntrace,[]}</c> as tracer module. + </p> <p>Example:</p> <code type="none">process_link: { cpu_id = 3 }, { from = "<0.130.0>", to = "<0.131.0>", type = "link" }</code> @@ -93,6 +101,10 @@ $ make </code> <item><c>pid : string</c> :: Process ID. Ex. <c>"<0.131.0>"</c></item> <item><c>reason : string</c> :: Exit reason. Ex. <c>"normal"</c></item> </list> + <p> + Available through + <seealso marker="erts:erlang#trace-3"><c>erlang:trace/3</c></seealso> with trace flag <c>procs</c> and <c>{tracer,dyntrace,[]}</c> as tracer module. + </p> <p>Example:</p> <code type="none">process_exit: { cpu_id = 3 }, { pid = "<0.130.0>", reason = "normal" }</code> @@ -111,7 +123,10 @@ $ make </code> <item><c>entry : string</c> :: Code Location. Ex. <c>"lists:sort/1"</c></item> <item><c>type : string</c> :: <c>"in" | "out" | "in_exiting" | "out_exiting" | "out_exited"</c></item> </list> - + <p> + Available through + <seealso marker="erts:erlang#trace-3"><c>erlang:trace/3</c></seealso> with trace flag <c>running</c> and <c>{tracer,dyntrace,[]}</c> as tracer module. + </p> <p>Example:</p> <code type="none">process_scheduled: { cpu_id = 0 }, { pid = "<0.136.0>", entry = "erlang:apply/2", type = "in" }</code> @@ -122,7 +137,10 @@ $ make </code> <item><c>driver : string</c> :: Driver name. Ex. <c>"efile"</c></item> <item><c>port : string</c> :: Port ID. Ex. <c>"#Port<0.1031>"</c></item> </list> - + <p> + Available through + <seealso marker="erts:erlang#trace-3"><c>erlang:trace/3</c></seealso> with trace flag <c>ports</c> and <c>{tracer,dyntrace,[]}</c> as tracer module. + </p> <p>Example:</p> <code type="none">port_open: { cpu_id = 5 }, { pid = "<0.131.0>", driver = "'/bin/sh -s unix:cmd'", port = "#Port<0.1887>" }</code> @@ -131,6 +149,10 @@ $ make </code> <item><c>port : string</c> :: Port ID. Ex. <c>"#Port<0.1031>"</c></item> <item><c>reason : string</c> :: Exit reason. Ex. <c>"normal"</c></item> </list> + <p> + Available through + <seealso marker="erts:erlang#trace-3"><c>erlang:trace/3</c></seealso> with trace flag <c>ports</c> and <c>{tracer,dyntrace,[]}</c> as tracer module. + </p> <p>Example:</p> <code type="none">port_exit: { cpu_id = 5 }, { port = "#Port<0.1887>", reason = "normal" }</code> @@ -140,10 +162,18 @@ $ make </code> <item><c>from : string</c> :: Process ID. Ex. <c>"<0.131.0>"</c></item> <item><c>type : string</c> :: <c>"link" | "unlink"</c></item> </list> + <p> + Available through + <seealso marker="erts:erlang#trace-3"><c>erlang:trace/3</c></seealso> with trace flag <c>ports</c> and <c>{tracer,dyntrace,[]}</c> as tracer module. + </p> <p>Example:</p> <code type="none">port_link: { cpu_id = 5 }, { from = "#Port<0.1887>", to = "<0.131.0>", type = "unlink" }</code> <p><em>port_scheduled</em></p> + <p> + Available through + <seealso marker="erts:erlang#trace-3"><c>erlang:trace/3</c></seealso> with trace flag <c>running</c> and <c>{tracer,dyntrace,[]}</c> as tracer module. + </p> <list type="bulleted"> <item><c>port : string</c> :: Port ID. Ex. <c>"#Port<0.1031>"</c></item> <item><c>entry : string</c> :: Callback. Ex. <c>"open"</c></item> @@ -152,13 +182,20 @@ $ make </code> <p>Example:</p> <code type="none">port_scheduled: { cpu_id = 5 }, { pid = "#Port<0.1905>", entry = "close", type = "out" }</code> - + <p> + Available through + <seealso marker="erts:erlang#trace-3"><c>erlang:trace/3</c></seealso> with trace flag <c>running</c> and <c>{tracer,dyntrace,[]}</c> as tracer module. + </p> <p><em>function_call</em></p> <list type="bulleted"> <item><c>pid : string</c> :: Process ID. Ex. <c>"<0.131.0>"</c></item> <item><c>entry : string</c> :: Code Location. Ex. <c>"lists:sort/1"</c></item> <item><c>depth : integer</c> :: Stack depth. Ex. <c>0</c></item> </list> + <p> + Available through + <seealso marker="erts:erlang#trace-3"><c>erlang:trace/3</c></seealso> with trace flag <c>call</c> and <c>{tracer,dyntrace,[]}</c> as tracer module. + </p> <p>Example:</p> <code type="none">function_call: { cpu_id = 5 }, { pid = "<0.145.0>", entry = "dyntrace_lttng_SUITE:'-t_call/1-fun-1-'/0", depth = 0 }</code> @@ -168,6 +205,10 @@ $ make </code> <item><c>entry : string</c> :: Code Location. Ex. <c>"lists:sort/1"</c></item> <item><c>depth : integer</c> :: Stack depth. Ex. <c>0</c></item> </list> + <p> + Available through + <seealso marker="erts:erlang#trace-3"><c>erlang:trace/3</c></seealso> with trace flag <c>call</c> or <c>return_to</c> and <c>{tracer,dyntrace,[]}</c> as tracer module. + </p> <p>Example:</p> <code type="none">function_return: { cpu_id = 5 }, { pid = "<0.145.0>", entry = "dyntrace_lttng_SUITE:waiter/0", depth = 0 }</code> @@ -177,6 +218,10 @@ $ make </code> <item><c>entry : string</c> :: Code Location. Ex. <c>"lists:sort/1"</c></item> <item><c>class : string</c> :: Error reason. Ex. <c>"error"</c></item> </list> + <p> + Available through + <seealso marker="erts:erlang#trace-3"><c>erlang:trace/3</c></seealso> with trace flag <c>call</c> and <c>{tracer,dyntrace,[]}</c> as tracer module. + </p> <p>Example:</p> <code type="none">function_exception: { cpu_id = 5 }, { pid = "<0.144.0>", entry = "t:call_exc/1", class = "error" }</code> @@ -186,6 +231,10 @@ $ make </code> <item><c>to : string</c> :: Process ID or Port ID. Ex. <c>"<0.131.0>"</c></item> <item><c>message : string</c> :: Message sent. Ex. <c>"{<0.162.0>,ok}"</c></item> </list> + <p> + Available through + <seealso marker="erts:erlang#trace-3"><c>erlang:trace/3</c></seealso> with trace flag <c>send</c> and <c>{tracer,dyntrace,[]}</c> as tracer module. + </p> <p>Example:</p> <code type="none">message_send: { cpu_id = 3 }, { from = "#Port<0.1938>", to = "<0.160.0>", message = "{#Port<0.1938>,eof}" }</code> @@ -194,6 +243,10 @@ $ make </code> <item><c>to : string</c> :: Process ID or Port ID. Ex. <c>"<0.131.0>"</c></item> <item><c>message : string</c> :: Message received. Ex. <c>"{<0.162.0>,ok}"</c></item> </list> + <p> + Available through + <seealso marker="erts:erlang#trace-3"><c>erlang:trace/3</c></seealso> with trace flag <c>'receive'</c> and <c>{tracer,dyntrace,[]}</c> as tracer module. + </p> <p>Example:</p> <code type="none">message_receive: { cpu_id = 7 }, { to = "<0.167.0>", message = "{<0.165.0>,ok}" }</code> @@ -204,6 +257,10 @@ $ make </code> <item><c>heap : integer</c> :: Young heap word size. Ex. <c>233</c></item> <item><c>old_heap : integer</c> :: Old heap word size. Ex. <c>233</c></item> </list> + <p> + Available through + <seealso marker="erts:erlang#trace-3"><c>erlang:trace/3</c></seealso> with trace flag <c>garbage_collection</c> and <c>{tracer,dyntrace,[]}</c> as tracer module. + </p> <p>Example:</p> <code type="none">gc_minor_start: { cpu_id = 0 }, { pid = "<0.172.0>", need = 0, heap = 610, old_heap = 0 }</code> @@ -214,6 +271,10 @@ $ make </code> <item><c>heap : integer</c> :: Young heap word size. Ex. <c>233</c></item> <item><c>old_heap : integer</c> :: Old heap word size. Ex. <c>233</c></item> </list> + <p> + Available through + <seealso marker="erts:erlang#trace-3"><c>erlang:trace/3</c></seealso> with trace flag <c>garbage_collection</c> and <c>{tracer,dyntrace,[]}</c> as tracer module. + </p> <p>Example:</p> <code type="none">gc_minor_end: { cpu_id = 0 }, { pid = "<0.172.0>", reclaimed = 120, heap = 1598, old_heap = 1598 }</code> @@ -224,6 +285,10 @@ $ make </code> <item><c>heap : integer</c> :: Young heap word size. Ex. <c>233</c></item> <item><c>old_heap : integer</c> :: Old heap word size. Ex. <c>233</c></item> </list> + <p> + Available through + <seealso marker="erts:erlang#trace-3"><c>erlang:trace/3</c></seealso> with trace flag <c>garbage_collection</c> and <c>{tracer,dyntrace,[]}</c> as tracer module. + </p> <p>Example:</p> <code type="none">gc_major_start: { cpu_id = 0 }, { pid = "<0.172.0>", need = 8, heap = 2586, old_heap = 1598 }</code> @@ -234,6 +299,10 @@ $ make </code> <item><c>heap : integer</c> :: Young heap word size. Ex. <c>233</c></item> <item><c>old_heap : integer</c> :: Old heap word size. Ex. <c>233</c></item> </list> + <p> + Available through + <seealso marker="erts:erlang#trace-3"><c>erlang:trace/3</c></seealso> with trace flag <c>garbage_collection</c> and <c>{tracer,dyntrace,[]}</c> as tracer module. + </p> <p>Example:</p> <code type="none">gc_major_end: { cpu_id = 0 }, { pid = "<0.172.0>", reclaimed = 240, heap = 4185, old_heap = 0 }</code> @@ -454,6 +523,73 @@ $ make </code> </section> <section> - <title>Examples</title> + <title>Example of process tracing</title> + <p>An example of process tracing of <c>os_mon</c> and friends.</p> + + <p>Clean start of lttng in a bash shell.</p> + + <pre>$ lttng create erlang-demo +Spawning a session daemon +Session erlang-demo created. +Traces will be written in /home/egil/lttng-traces/erlang-demo-20160526-165920</pre> + + <p>Start an Erlang node with lttng enabled.</p> + + <pre>$ erl +Erlang/OTP 19 [erts-8.0] [source-4d7b24d] [64-bit] [smp:8:8] [async-threads:10] [hipe] [kernel-poll:false] [lttng] + +Eshell V8.0 (abort with ^G) +1></pre> + + <p>Load the <c>dyntrace</c> module.</p> + + <pre>1> <input>l(dyntrace).</input> +{module,dyntrace}</pre> + + <p>All tracepoints via dyntrace are now visibile and can be listed through <c>lttng list -u</c>.</p> + + <p>Enable the process_register LTTng tracepoint for Erlang.</p> + + <pre>$ lttng enable-event -u com_ericsson_dyntrace:process_register +UST event com_ericsson_dyntrace:process_register created in channel channel0</pre> + + <p>Enable process tracing for new processes and use <c>dyntrace</c> as tracer backend.</p> + + <pre>2> <input>erlang:trace(new,true,[procs,{tracer,dyntrace,[]}]).</input> +0</pre> + + <p>Start LTTng tracing.</p> + + <pre>$ lttng start +Tracing started for session erlang-demo</pre> + + <p>Start the <c>os_mon</c> application in Erlang.</p> + + <pre>3> <input>application:ensure_all_started(os_mon).</input> +{ok,[sasl,os_mon]}</pre> + + <p>Stop LTTng tracing and view the result.</p> + + <pre>$ lttng stop +Tracing stopped for session erlang-demo +$ lttng view +[17:20:42.561168759] (+?.?????????) elxd1168lx9 com_ericsson_dyntrace:process_register: \ + { cpu_id = 5 }, { pid = "<0.66.0>", name = "sasl_sup", type = "register" } +[17:20:42.561215519] (+0.000046760) elxd1168lx9 com_ericsson_dyntrace:process_register: \ + { cpu_id = 5 }, { pid = "<0.67.0>", name = "sasl_safe_sup", type = "register" } +[17:20:42.562149024] (+0.000933505) elxd1168lx9 com_ericsson_dyntrace:process_register: \ + { cpu_id = 5 }, { pid = "<0.68.0>", name = "alarm_handler", type = "register" } +[17:20:42.571035803] (+0.008886779) elxd1168lx9 com_ericsson_dyntrace:process_register: \ + { cpu_id = 5 }, { pid = "<0.69.0>", name = "release_handler", type = "register" } +[17:20:42.574939868] (+0.003904065) elxd1168lx9 com_ericsson_dyntrace:process_register: \ + { cpu_id = 5 }, { pid = "<0.74.0>", name = "os_mon_sup", type = "register" } +[17:20:42.576818712] (+0.001878844) elxd1168lx9 com_ericsson_dyntrace:process_register: \ + { cpu_id = 5 }, { pid = "<0.75.0>", name = "disksup", type = "register" } +[17:20:42.580032013] (+0.003213301) elxd1168lx9 com_ericsson_dyntrace:process_register: \ + { cpu_id = 5 }, { pid = "<0.76.0>", name = "memsup", type = "register" } +[17:20:42.583046339] (+0.003014326) elxd1168lx9 com_ericsson_dyntrace:process_register: \ + { cpu_id = 5 }, { pid = "<0.78.0>", name = "cpu_sup", type = "register" } +[17:20:42.586206242] (+0.003159903) elxd1168lx9 com_ericsson_dyntrace:process_register: \ + { cpu_id = 5 }, { pid = "<0.82.0>", name = "timer_server", type = "register" }</pre> </section> </chapter> diff --git a/lib/runtime_tools/doc/src/dbg.xml b/lib/runtime_tools/doc/src/dbg.xml index 49b11ddc3c..14a81b2293 100644 --- a/lib/runtime_tools/doc/src/dbg.xml +++ b/lib/runtime_tools/doc/src/dbg.xml @@ -189,9 +189,9 @@ Error: fun containing local erlang function calls ('is_atomm' called in guard)\ <tag><c>all</c></tag> <item>All processes and ports in the system as well as all processes and ports created hereafter are to be traced.</item> - <tag><c>all_processes</c></tag> + <tag><c>processes</c></tag> <item>All processes in the system as well as all processes created hereafter are to be traced.</item> - <tag><c>all_ports</c></tag> + <tag><c>ports</c></tag> <item>All ports in the system as well as all ports created hereafter are to be traced.</item> <tag><c>new</c></tag> <item>All processes and ports created after the call is are to be traced.</item> diff --git a/lib/runtime_tools/src/dbg.erl b/lib/runtime_tools/src/dbg.erl index 8cdb5a43e3..c0d4665bda 100644 --- a/lib/runtime_tools/src/dbg.erl +++ b/lib/runtime_tools/src/dbg.erl @@ -1155,7 +1155,7 @@ all() -> [send,'receive',call,procs,ports,garbage_collection,running, set_on_spawn,set_on_first_spawn,set_on_link,set_on_first_link, timestamp,monotonic_timestamp,strict_monotonic_timestamp, - arity,return_to,silent,running_procs,running_ports]. + arity,return_to,silent,running_procs,running_ports,exiting]. display_info([Node|Nodes]) -> io:format("~nNode ~w:~n",[Node]), @@ -1313,6 +1313,9 @@ tc_loop(Other, _Handler, _HData) -> gen_reader(ip, {Host, Portno}) -> case gen_tcp:connect(Host, Portno, [{active, false}, binary]) of {ok, Sock} -> + %% Just in case this is on the traced node, + %% make sure the port is not traced. + p(Sock,clear), mk_reader(fun ip_read/2, Sock); Error -> exit(Error) diff --git a/lib/runtime_tools/src/dyntrace.erl b/lib/runtime_tools/src/dyntrace.erl index 28e6d67d96..58c5a773c3 100644 --- a/lib/runtime_tools/src/dyntrace.erl +++ b/lib/runtime_tools/src/dyntrace.erl @@ -42,15 +42,14 @@ -export([put_tag/1, get_tag/0, get_tag_data/0, spread_tag/1, restore_tag/1]). -export([trace/5, - trace/6, - trace_procs/6, - trace_ports/6, - trace_running_procs/6, - trace_running_ports/6, - trace_call/6, - trace_send/6, - trace_receive/6, - trace_garbage_collection/6]). + trace_procs/5, + trace_ports/5, + trace_running_procs/5, + trace_running_ports/5, + trace_call/5, + trace_send/5, + trace_receive/5, + trace_garbage_collection/5]). -export([enabled_procs/3, enabled_ports/3, @@ -147,34 +146,31 @@ user_trace_i4s4(_, _, _, _, _, _, _, _, _) -> user_trace_n(_, _, _, _, _, _, _, _, _, _) -> erlang:nif_error(nif_not_loaded). -trace(_TracerState, _Label, _SeqTraceInfo, _, _Opts) -> +trace(_TraceTag, _TracerState, _Tracee, _TraceTerm, _Opts) -> erlang:nif_error(nif_not_loaded). -trace(_TraceTag, _TracerState, _Tracee, _FirstTraceTerm, _SecondTraceTerm, _Opts) -> +trace_procs(_TraceTag, _TracerState, _Tracee, _TraceTerm, _Opts) -> erlang:nif_error(nif_not_loaded). -trace_procs(_TraceTag, _TracerState, _Tracee, _FirstTraceTerm, _SecondTraceTerm, _Opts) -> +trace_ports(_TraceTag, _TracerState, _Tracee, _TraceTerm, _Opts) -> erlang:nif_error(nif_not_loaded). -trace_ports(_TraceTag, _TracerState, _Tracee, _FirstTraceTerm, _SecondTraceTerm, _Opts) -> +trace_running_procs(_TraceTag, _TracerState, _Tracee, _TraceTerm, _Opts) -> erlang:nif_error(nif_not_loaded). -trace_running_procs(_TraceTag, _TracerState, _Tracee, _FirstTraceTerm, _SecondTraceTerm, _Opts) -> +trace_running_ports(_TraceTag, _TracerState, _Tracee, _TraceTerm, _Opts) -> erlang:nif_error(nif_not_loaded). -trace_running_ports(_TraceTag, _TracerState, _Tracee, _FirstTraceTerm, _SecondTraceTerm, _Opts) -> +trace_call(_TraceTag, _TracerState, _Tracee, _TraceTerm, _Opts) -> erlang:nif_error(nif_not_loaded). -trace_call(_TraceTag, _TracerState, _Tracee, _FirstTraceTerm, _SecondTraceTerm, _Opts) -> +trace_send(_TraceTag, _TracerState, _Tracee, _TraceTerm, _Opts) -> erlang:nif_error(nif_not_loaded). -trace_send(_TraceTag, _TracerState, _Tracee, _FirstTraceTerm, _SecondTraceTerm, _Opts) -> +trace_receive(_TraceTag, _TracerState, _Tracee, _TraceTerm, _Opts) -> erlang:nif_error(nif_not_loaded). -trace_receive(_TraceTag, _TracerState, _Tracee, _FirstTraceTerm, _SecondTraceTerm, _Opts) -> - erlang:nif_error(nif_not_loaded). - -trace_garbage_collection(_TraceTag, _TracerState, _Tracee, _FirstTraceTerm, _SecondTraceTerm, _Opts) -> +trace_garbage_collection(_TraceTag, _TracerState, _Tracee, _TraceTerm, _Opts) -> erlang:nif_error(nif_not_loaded). enabled(_TraceTag, _TracerState, _Tracee) -> diff --git a/lib/runtime_tools/src/observer_backend.erl b/lib/runtime_tools/src/observer_backend.erl index 66653c5b7f..cedb677178 100644 --- a/lib/runtime_tools/src/observer_backend.erl +++ b/lib/runtime_tools/src/observer_backend.erl @@ -23,7 +23,8 @@ -export([vsn/0]). %% observer stuff --export([sys_info/0, get_table/3, get_table_list/2, fetch_stats/2]). +-export([sys_info/0, get_port_list/0, + get_table/3, get_table_list/2, fetch_stats/2]). %% etop stuff -export([etop_collect/1]). @@ -139,6 +140,15 @@ get_mnesia_loop(Parent, {Match, Cont}) -> Parent ! {self(), Match}, get_mnesia_loop(Parent, mnesia:select(Cont)). +get_port_list() -> + [begin + [{port_id,P}|erlang:port_info(P)] ++ + case erlang:port_info(P,monitors) of + undefined -> []; + Monitors -> [Monitors] + end + end || P <- erlang:ports()]. + get_table_list(ets, Opts) -> HideUnread = proplists:get_value(unread_hidden, Opts, true), HideSys = proplists:get_value(sys_hidden, Opts, true), diff --git a/lib/runtime_tools/test/dbg_SUITE.erl b/lib/runtime_tools/test/dbg_SUITE.erl index 5a3c885571..4b0864858c 100644 --- a/lib/runtime_tools/test/dbg_SUITE.erl +++ b/lib/runtime_tools/test/dbg_SUITE.erl @@ -30,7 +30,7 @@ erl_tracer/1, distributed_erl_tracer/1]). -export([tracee1/1, tracee2/1]). -export([dummy/0, exported/1]). --export([enabled/3, trace/6, load_nif/1]). +-export([enabled/3, trace/5, load_nif/1]). -include_lib("common_test/include/ct.hrl"). @@ -961,7 +961,7 @@ erl_tracer(Config) -> {ok, _} = dbg:p(self(), [c, timestamp]), {ok, _} = dbg:tp(?MODULE, dummy, []), ok = ?MODULE:dummy(), - [{Self, call, Self, Self, {?MODULE, dummy, []}, undefined, #{}}] = flush(), + [{Self, call, Self, Self, {?MODULE, dummy, []}, #{}}] = flush(), ok. %% Test that distributed erl_tracer modules work @@ -997,10 +997,10 @@ distributed_erl_tracer(Config) -> {ok, {?MODULE, RNifProxy}} = dbg:get_tracer(RNode), LCall = spawn_link(LNode, fun() -> ?MODULE:dummy() end), - [{LCall, call, LNifProxy, LCall, {?MODULE, dummy, []}, undefined, #{}}] = flush(), + [{LCall, call, LNifProxy, LCall, {?MODULE, dummy, []}, #{}}] = flush(), RCall = spawn_link(RNode, fun() -> ?MODULE:dummy() end), - [{RCall, call, RNifProxy, RCall, {?MODULE, dummy, []}, undefined, #{}}] = flush(), + [{RCall, call, RNifProxy, RCall, {?MODULE, dummy, []}, #{}}] = flush(), ok. @@ -1018,7 +1018,7 @@ load_nif(Config) -> enabled(_, _, _) -> erlang:nif_error(nif_not_loaded). -trace(_, _, _, _, _, _) -> +trace(_, _, _, _, _) -> erlang:nif_error(nif_not_loaded). %% diff --git a/lib/runtime_tools/test/dbg_SUITE_data/dbg_SUITE.c b/lib/runtime_tools/test/dbg_SUITE_data/dbg_SUITE.c index 45f14938c6..ecdee7e3a2 100644 --- a/lib/runtime_tools/test/dbg_SUITE_data/dbg_SUITE.c +++ b/lib/runtime_tools/test/dbg_SUITE_data/dbg_SUITE.c @@ -36,7 +36,7 @@ static ERL_NIF_TERM trace(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]); static ErlNifFunc nif_funcs[] = { {"enabled", 3, enabled}, - {"trace", 6, trace} + {"trace", 5, trace} }; ERL_NIF_INIT(dbg_SUITE, nif_funcs, load, NULL, upgrade, unload) @@ -93,7 +93,7 @@ static ERL_NIF_TERM trace(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]) int state_arity; ErlNifPid self, to; ERL_NIF_TERM *tuple, msg; - ASSERT(argc == 6); + ASSERT(argc == 5); tuple = enif_alloc(sizeof(ERL_NIF_TERM)*(argc+1)); memcpy(tuple+1,argv,sizeof(ERL_NIF_TERM)*argc); diff --git a/lib/sasl/src/sasl.app.src b/lib/sasl/src/sasl.app.src index 9c912fb8c3..4ee8a7d6c8 100644 --- a/lib/sasl/src/sasl.app.src +++ b/lib/sasl/src/sasl.app.src @@ -45,6 +45,6 @@ {env, [{sasl_error_logger, tty}, {errlog_type, all}]}, {mod, {sasl, []}}, - {runtime_dependencies, ["tools-2.6.14","stdlib-2.8","kernel-4.1", - "erts-6.0"]}]}. + {runtime_dependencies, ["tools-2.6.14","stdlib-3.0","kernel-5.0", + "erts-8.0"]}]}. diff --git a/lib/ssh/src/ssh_acceptor_sup.erl b/lib/ssh/src/ssh_acceptor_sup.erl index 4f76dbe6f0..129f85a3e0 100644 --- a/lib/ssh/src/ssh_acceptor_sup.erl +++ b/lib/ssh/src/ssh_acceptor_sup.erl @@ -36,6 +36,8 @@ -define(DEFAULT_TIMEOUT, 50000). +-spec init( [term()] ) -> {ok,{supervisor:sup_flags(),[supervisor:child_spec()]}} | ignore . + %%%========================================================================= %%% API %%%========================================================================= diff --git a/lib/ssh/src/ssh_channel_sup.erl b/lib/ssh/src/ssh_channel_sup.erl index 8eaa85f795..6b01dc334d 100644 --- a/lib/ssh/src/ssh_channel_sup.erl +++ b/lib/ssh/src/ssh_channel_sup.erl @@ -43,6 +43,8 @@ start_child(Sup, ChildSpec) -> %%%========================================================================= %%% Supervisor callback %%%========================================================================= +-spec init( [term()] ) -> {ok,{supervisor:sup_flags(),[supervisor:child_spec()]}} | ignore . + init(_Args) -> RestartStrategy = one_for_one, MaxR = 10, diff --git a/lib/ssh/src/ssh_cli.erl b/lib/ssh/src/ssh_cli.erl index 2d60008de6..74cd2e081a 100644 --- a/lib/ssh/src/ssh_cli.erl +++ b/lib/ssh/src/ssh_cli.erl @@ -47,6 +47,21 @@ %%==================================================================== %% ssh_channel callbacks %%==================================================================== +-spec init(Args :: term()) -> + {ok, State :: term()} | {ok, State :: term(), timeout() | hibernate} | + {stop, Reason :: term()} | ignore. + +-spec terminate(Reason :: (normal | shutdown | {shutdown, term()} | + term()), + State :: term()) -> + term(). + +-spec handle_msg(Msg ::term(), State :: term()) -> + {ok, State::term()} | {stop, ChannelId::integer(), State::term()}. +-spec handle_ssh_msg({ssh_cm, ConnectionRef::term(), SshMsg::term()}, + State::term()) -> {ok, State::term()} | + {stop, ChannelId::integer(), + State::term()}. %%-------------------------------------------------------------------- %% Function: init(Args) -> {ok, State} diff --git a/lib/ssh/src/ssh_client_key_api.erl b/lib/ssh/src/ssh_client_key_api.erl index 039a7dea9b..6e994ff292 100644 --- a/lib/ssh/src/ssh_client_key_api.erl +++ b/lib/ssh/src/ssh_client_key_api.erl @@ -23,14 +23,26 @@ -include_lib("public_key/include/public_key.hrl"). -include("ssh.hrl"). --callback is_host_key(PublicKey :: #'RSAPublicKey'{}| {integer(), #'Dss-Parms'{}}| term() , Host :: string(), - Algorithm :: 'ssh-rsa'| 'ssh-dss'| atom(), ConnectOptions :: proplists:proplist()) -> +-export_type([algorithm/0]). + +-type algorithm() :: 'ssh-rsa' + | 'ssh-dss' + | 'ecdsa-sha2-nistp256' + | 'ecdsa-sha2-nistp384' + | 'ecdsa-sha2-nistp521' + . + +-callback is_host_key(PublicKey :: public_key:public_key(), + Host :: string(), + Algorithm :: algorithm(), + ConnectOptions :: proplists:proplist()) -> boolean(). --callback user_key(Algorithm :: 'ssh-rsa'| 'ssh-dss'| atom(), ConnectOptions :: proplists:proplist()) -> - {ok, PrivateKey :: #'RSAPrivateKey'{}| #'DSAPrivateKey'{} | term()} | {error, string()}. +-callback user_key(Algorithm :: algorithm(), + ConnectOptions :: proplists:proplist()) -> + {ok, PrivateKey::public_key:private_key()} | {error, term()}. --callback add_host_key(Host :: string(), PublicKey :: #'RSAPublicKey'{}| {integer(), #'Dss-Parms'{}}| term(), - Options :: list()) -> +-callback add_host_key(Host :: string(), PublicKey :: public_key:public_key(), + Options :: proplists:proplist()) -> ok | {error, Error::term()}. diff --git a/lib/ssh/src/ssh_connection_sup.erl b/lib/ssh/src/ssh_connection_sup.erl index 8c7628e909..0f54053f52 100644 --- a/lib/ssh/src/ssh_connection_sup.erl +++ b/lib/ssh/src/ssh_connection_sup.erl @@ -45,6 +45,8 @@ start_child(Sup, Args) -> %%%========================================================================= %%% Supervisor callback %%%========================================================================= +-spec init( [term()] ) -> {ok,{supervisor:sup_flags(),[supervisor:child_spec()]}} | ignore . + init(_) -> RestartStrategy = simple_one_for_one, MaxR = 0, diff --git a/lib/ssh/src/ssh_file.erl b/lib/ssh/src/ssh_file.erl index 4486d36fe4..216f65f33a 100644 --- a/lib/ssh/src/ssh_file.erl +++ b/lib/ssh/src/ssh_file.erl @@ -43,7 +43,28 @@ -define(PERM_644, 8#644). -%% API +%%% API + +%%% client +-spec add_host_key(string(), + public_key:public_key(), + proplists:proplist()) -> ok | {error,term()}. + +-spec is_host_key(public_key:public_key(), + string(), + ssh_client_key_api:algorithm(), + proplists:proplist()) -> boolean(). + +-spec user_key(ssh_client_key_api:algorithm(), + proplists:proplist()) -> {ok, public_key:private_key()} | {error,term()}. + +%%% server +-spec host_key(ssh_server_key_api:algorithm(), + proplists:proplist()) -> {ok, public_key:private_key()} | {error,term()}. + +-spec is_auth_key(public_key:public_key(), + string(), proplists:proplist()) -> boolean(). + %% Used by server host_key(Algorithm, Opts) -> diff --git a/lib/ssh/src/ssh_server_key_api.erl b/lib/ssh/src/ssh_server_key_api.erl index c1d43a486c..3f1b886fa7 100644 --- a/lib/ssh/src/ssh_server_key_api.erl +++ b/lib/ssh/src/ssh_server_key_api.erl @@ -23,9 +23,16 @@ -include_lib("public_key/include/public_key.hrl"). -include("ssh.hrl"). --callback host_key(Algorithm :: 'ssh-rsa'| 'ssh-dss'| atom(), DaemonOptions :: proplists:proplist()) -> - {ok, PrivateKey :: #'RSAPrivateKey'{}| #'DSAPrivateKey'{} | term()} | {error, string()}. +-export_type([algorithm/0]). --callback is_auth_key(PublicKey :: #'RSAPublicKey'{}| {integer(), #'Dss-Parms'{}}| term(), - User :: string(), DaemonOptions :: proplists:proplist()) -> +-type algorithm() :: ssh_client_key_api:algorithm(). + + +-callback host_key(Algorithm :: algorithm(), + DaemonOptions :: proplists:proplist()) -> + {ok, PrivateKey :: public_key:private_key()} | {error, term()}. + +-callback is_auth_key(PublicKey :: public_key:public_key(), + User :: string(), + DaemonOptions :: proplists:proplist()) -> boolean(). diff --git a/lib/ssh/src/ssh_sftpd.erl b/lib/ssh/src/ssh_sftpd.erl index 819cba697e..dca018f20f 100644 --- a/lib/ssh/src/ssh_sftpd.erl +++ b/lib/ssh/src/ssh_sftpd.erl @@ -57,6 +57,22 @@ %%==================================================================== %% API %%==================================================================== +-spec init(Args :: term()) -> + {ok, State :: term()} | {ok, State :: term(), timeout() | hibernate} | + {stop, Reason :: term()} | ignore. + +-spec terminate(Reason :: (normal | shutdown | {shutdown, term()} | + term()), + State :: term()) -> + term(). + +-spec handle_msg(Msg ::term(), State :: term()) -> + {ok, State::term()} | {stop, ChannelId::integer(), State::term()}. +-spec handle_ssh_msg({ssh_cm, ConnectionRef::term(), SshMsg::term()}, + State::term()) -> {ok, State::term()} | + {stop, ChannelId::integer(), + State::term()}. + subsystem_spec(Options) -> {"sftp", {?MODULE, Options}}. diff --git a/lib/ssh/src/ssh_shell.erl b/lib/ssh/src/ssh_shell.erl index d31d5a297d..17224b6ef4 100644 --- a/lib/ssh/src/ssh_shell.erl +++ b/lib/ssh/src/ssh_shell.erl @@ -45,6 +45,21 @@ %%==================================================================== %% ssh_channel callbacks %%==================================================================== +-spec init(Args :: term()) -> + {ok, State :: term()} | {ok, State :: term(), timeout() | hibernate} | + {stop, Reason :: term()} | ignore. + +-spec terminate(Reason :: (normal | shutdown | {shutdown, term()} | + term()), + State :: term()) -> + term(). + +-spec handle_msg(Msg ::term(), State :: term()) -> + {ok, State::term()} | {stop, ChannelId::integer(), State::term()}. +-spec handle_ssh_msg({ssh_cm, ConnectionRef::term(), SshMsg::term()}, + State::term()) -> {ok, State::term()} | + {stop, ChannelId::integer(), + State::term()}. %%-------------------------------------------------------------------- %% Function: init(Args) -> {ok, State} diff --git a/lib/ssh/src/ssh_subsystem_sup.erl b/lib/ssh/src/ssh_subsystem_sup.erl index 11e02491c4..637f5f398f 100644 --- a/lib/ssh/src/ssh_subsystem_sup.erl +++ b/lib/ssh/src/ssh_subsystem_sup.erl @@ -51,6 +51,8 @@ channel_supervisor(SupPid) -> %%%========================================================================= %%% Supervisor callback %%%========================================================================= +-spec init( [term()] ) -> {ok,{supervisor:sup_flags(),[supervisor:child_spec()]}} | ignore . + init([Opts]) -> RestartStrategy = one_for_all, MaxR = 0, diff --git a/lib/ssh/src/ssh_sup.erl b/lib/ssh/src/ssh_sup.erl index f827594717..8b57387589 100644 --- a/lib/ssh/src/ssh_sup.erl +++ b/lib/ssh/src/ssh_sup.erl @@ -31,6 +31,8 @@ %%%========================================================================= %%% Supervisor callback %%%========================================================================= +-spec init( [term()] ) -> {ok,{supervisor:sup_flags(),[supervisor:child_spec()]}} | ignore . + init([]) -> SupFlags = {one_for_one, 10, 3600}, Children = children(), diff --git a/lib/ssh/src/ssh_system_sup.erl b/lib/ssh/src/ssh_system_sup.erl index 9a9786a914..5035bc8f80 100644 --- a/lib/ssh/src/ssh_system_sup.erl +++ b/lib/ssh/src/ssh_system_sup.erl @@ -125,6 +125,8 @@ restart_acceptor(Address, Port, Profile) -> %%%========================================================================= %%% Supervisor callback %%%========================================================================= +-spec init( [term()] ) -> {ok,{supervisor:sup_flags(),[supervisor:child_spec()]}} | ignore . + init([ServerOpts]) -> RestartStrategy = one_for_one, MaxR = 0, diff --git a/lib/ssh/src/sshc_sup.erl b/lib/ssh/src/sshc_sup.erl index 71b5c2c46a..15858f36e1 100644 --- a/lib/ssh/src/sshc_sup.erl +++ b/lib/ssh/src/sshc_sup.erl @@ -51,6 +51,8 @@ stop_child(Client) -> %%%========================================================================= %%% Supervisor callback %%%========================================================================= +-spec init( [term()] ) -> {ok,{supervisor:sup_flags(),[supervisor:child_spec()]}} | ignore . + init(Args) -> RestartStrategy = simple_one_for_one, MaxR = 0, diff --git a/lib/ssh/src/sshd_sup.erl b/lib/ssh/src/sshd_sup.erl index ac9e232b3a..04d2df30f7 100644 --- a/lib/ssh/src/sshd_sup.erl +++ b/lib/ssh/src/sshd_sup.erl @@ -75,6 +75,8 @@ system_name(SysSup) -> %%%========================================================================= %%% Supervisor callback %%%========================================================================= +-spec init( [term()] ) -> {ok,{supervisor:sup_flags(),[supervisor:child_spec()]}} | ignore . + init([Servers]) -> RestartStrategy = one_for_one, MaxR = 10, diff --git a/lib/ssl/doc/src/ssl.xml b/lib/ssl/doc/src/ssl.xml index 154664d855..33ece8f769 100644 --- a/lib/ssl/doc/src/ssl.xml +++ b/lib/ssl/doc/src/ssl.xml @@ -417,10 +417,24 @@ fun(srp, Username :: string(), UserState :: term()) -> If set to <c>false</c>, it disables the block cipher padding check to be able to interoperate with legacy software.</p></item> - </taglist> - <warning><p>Using <c>{padding_check, boolean()}</c> makes TLS vulnerable to the Poodle attack.</p></warning> + + <tag><c>{beast_mitigation, one_n_minus_one | zero_n | disabled}</c></tag> + <item><p>Affects SSL-3.0 and TLS-1.0 connections only. Used to change the BEAST + mitigation strategy to interoperate with legacy software. + Defaults to <c>one_n_minus_one</c></p>. + + <p><c>one_n_minus_one</c> - Perform 1/n-1 BEAST mitigation.</p> + + <p><c>zero_n</c> - Perform 0/n BEAST mitigation.</p> + + <p><c>disabled</c> - Disable BEAST mitigation.</p></item> + + <warning><p>Using <c>{beast_mitigation, disabled}</c> makes SSL or TLS + vulnerable to the BEAST attack.</p></warning> + </taglist> + </section> <section> diff --git a/lib/ssl/doc/src/ssl_app.xml b/lib/ssl/doc/src/ssl_app.xml index daa06a40fc..e50ffdbfe6 100644 --- a/lib/ssl/doc/src/ssl_app.xml +++ b/lib/ssl/doc/src/ssl_app.xml @@ -94,7 +94,10 @@ to <c>ssl:connect/[2,3]</c> and <c>ssl:listen/2</c>.</p></item> <tag><c><![CDATA[session_lifetime = integer() <optional>]]></c></tag> - <item><p>Maximum lifetime of the session data in seconds.</p></item> + <item><p>Maximum lifetime of the session data in seconds. Defaults to 24 hours which is the maximum + recommended lifetime by <url href="http://www.ietf.org/rfc/5246rfc.txt">RFC 5246</url>. However + sessions may be invalidated earlier due to the maximum limitation of the session cache table. + </p></item> <tag><c><![CDATA[session_cb = atom() <optional>]]></c></tag> <item><p>Name of the session cache callback module that implements @@ -107,16 +110,24 @@ in the session cache callback module. Defaults to <c>[]</c>.</p></item> <tag><c><![CDATA[session_cache_client_max = integer() <optional>]]></c><br/> - <c><![CDATA[session_cache_server_max = integer() <optional>]]></c></tag> - <item><p>Limits the growth of the clients/servers session cache, - if the maximum number of sessions is reached, the current cache entries will - be invalidated regardless of their remaining lifetime. Defaults to 1000. - </p></item> + <item><p>Limits the growth of the clients session cache, that is + how many sessions towards servers that are cached to be used by + new client connections. If the maximum number of sessions is + reached, the current cache entries will be invalidated + regardless of their remaining lifetime. Defaults to + 1000.</p></item> + + <tag> <c><![CDATA[session_cache_server_max = integer() <optional>]]></c></tag> + <item><p>Limits the growth of the servers session cache, that is + how many client sessions are cached by the server. If the + maximum number of sessions is reached, the current cache entries + will be invalidated regardless of their remaining + lifetime. Defaults to 1000.</p></item> <tag><c><![CDATA[ssl_pem_cache_clean = integer() <optional>]]></c></tag> <item> <p> - Number of milliseconds between PEM cache validations. + Number of milliseconds between PEM cache validations. Defaults to 2 minutes. </p> <seealso marker="ssl#clear_pem_cache-0">ssl:clear_pem_cache/0</seealso> @@ -131,7 +142,7 @@ shutdown gracefully. Defaults to 5000 milliseconds. </p> </item> - + </tag> </taglist> </section> diff --git a/lib/ssl/doc/src/ssl_distribution.xml b/lib/ssl/doc/src/ssl_distribution.xml index 7c00b4eae2..495e02d271 100644 --- a/lib/ssl/doc/src/ssl_distribution.xml +++ b/lib/ssl/doc/src/ssl_distribution.xml @@ -196,6 +196,9 @@ Eshell V5.0 (abort with ^G) <item><c>password</c></item> <item><c>cacertfile</c></item> <item><c>verify</c></item> + <item><c>verify_fun</c> (write as <c>{Module, Function, InitialUserState}</c>)</item> + <item><c>crl_check</c></item> + <item><c>crl_cache</c> (write as Erlang term)</item> <item><c>reuse_sessions</c></item> <item><c>secure_renegotiate</c></item> <item><c>depth</c></item> @@ -203,6 +206,10 @@ Eshell V5.0 (abort with ^G) <item><c>ciphers</c> (use old string format)</item> </list> + <p>Note that <c>verify_fun</c> needs to be written in a different + form than the corresponding SSL option, since funs are not + accepted on the command line.</p> + <p>The server can also take the options <c>dhfile</c> and <c>fail_if_no_peer_cert</c> (also prefixed).</p> @@ -210,10 +217,6 @@ Eshell V5.0 (abort with ^G) initiates a connection to another node. <c>server_</c>-prefixed options are used when accepting a connection from a remote node.</p> - <p>More complex options, such as <c>verify_fun</c>, are currently not - available, but a mechanism to handle such options may be added in - a future release.</p> - <p>Raw socket options, such as <c>packet</c> and <c>size</c> must not be specified on the command line.</p> diff --git a/lib/ssl/src/dtls_connection.erl b/lib/ssl/src/dtls_connection.erl index 82d6faee42..60a61bc901 100644 --- a/lib/ssl/src/dtls_connection.erl +++ b/lib/ssl/src/dtls_connection.erl @@ -416,7 +416,8 @@ encode_change_cipher(#change_cipher_spec{}, Version, ConnectionStates) -> initial_state(Role, Host, Port, Socket, {SSLOptions, SocketOptions}, User, {CbModule, DataTag, CloseTag, ErrorTag}) -> - ConnectionStates = ssl_record:init_connection_states(Role), + #ssl_options{beast_mitigation = BeastMitigation} = SSLOptions, + ConnectionStates = ssl_record:init_connection_states(Role, BeastMitigation), SessionCacheCb = case application:get_env(ssl, session_cb) of {ok, Cb} when is_atom(Cb) -> diff --git a/lib/ssl/src/inet_tls_dist.erl b/lib/ssl/src/inet_tls_dist.erl index 3481e89af0..0da4b3587f 100644 --- a/lib/ssl/src/inet_tls_dist.erl +++ b/lib/ssl/src/inet_tls_dist.erl @@ -87,7 +87,8 @@ do_setup(Driver, Kernel, Node, Type, MyNode, LongOrShortNames, SetupTime) -> case inet:getaddr(Address, Driver:family()) of {ok, Ip} -> Timer = dist_util:start_timer(SetupTime), - case erl_epmd:port_please(Name, Ip) of + ErlEpmd = net_kernel:epmd_module(), + case ErlEpmd:port_please(Name, Ip) of {port, TcpPort, Version} -> ?trace("port_please(~p) -> version ~p~n", [Node,Version]), diff --git a/lib/ssl/src/ssl.app.src b/lib/ssl/src/ssl.app.src index 1a2bf90ccf..937a3b1bd1 100644 --- a/lib/ssl/src/ssl.app.src +++ b/lib/ssl/src/ssl.app.src @@ -54,7 +54,7 @@ {applications, [crypto, public_key, kernel, stdlib]}, {env, []}, {mod, {ssl_app, []}}, - {runtime_dependencies, ["stdlib-2.0","public_key-1.0","kernel-3.0", + {runtime_dependencies, ["stdlib-3.0","public_key-1.0","kernel-3.0", "erts-7.0","crypto-3.3", "inets-5.10.7"]}]}. diff --git a/lib/ssl/src/ssl.erl b/lib/ssl/src/ssl.erl index 51732b4a59..33d5c1c6d6 100644 --- a/lib/ssl/src/ssl.erl +++ b/lib/ssl/src/ssl.erl @@ -97,7 +97,7 @@ connect(Socket, SslOptions) when is_port(Socket) -> connect(Socket, SslOptions, infinity). connect(Socket, SslOptions0, Timeout) when is_port(Socket), - (is_integer(Timeout) andalso Timeout > 0) or (Timeout == infinity) -> + (is_integer(Timeout) andalso Timeout >= 0) or (Timeout == infinity) -> {Transport,_,_,_} = proplists:get_value(cb_info, SslOptions0, {gen_tcp, tcp, tcp_closed, tcp_error}), EmulatedOptions = ssl_socket:emulated_options(), @@ -123,7 +123,7 @@ connect(Socket, SslOptions0, Timeout) when is_port(Socket), connect(Host, Port, Options) -> connect(Host, Port, Options, infinity). -connect(Host, Port, Options, Timeout) when (is_integer(Timeout) andalso Timeout > 0) or (Timeout == infinity) -> +connect(Host, Port, Options, Timeout) when (is_integer(Timeout) andalso Timeout >= 0) or (Timeout == infinity) -> try handle_options(Options, client) of {ok, Config} -> do_connect(Host,Port,Config,Timeout) @@ -173,7 +173,7 @@ transport_accept(#sslsocket{pid = {ListenSocket, #config{transport_info = {Transport,_,_, _} =CbInfo, connection_cb = ConnectionCb, ssl = SslOpts, - emulated = Tracker}}}, Timeout) when (is_integer(Timeout) andalso Timeout > 0) or (Timeout == infinity) -> + emulated = Tracker}}}, Timeout) when (is_integer(Timeout) andalso Timeout >= 0) or (Timeout == infinity) -> case Transport:accept(ListenSocket, Timeout) of {ok, Socket} -> {ok, EmOpts} = ssl_socket:get_emulated_opts(Tracker), @@ -206,25 +206,25 @@ transport_accept(#sslsocket{pid = {ListenSocket, ssl_accept(ListenSocket) -> ssl_accept(ListenSocket, infinity). -ssl_accept(#sslsocket{} = Socket, Timeout) when (is_integer(Timeout) andalso Timeout > 0) or (Timeout == infinity) -> +ssl_accept(#sslsocket{} = Socket, Timeout) when (is_integer(Timeout) andalso Timeout >= 0) or (Timeout == infinity) -> ssl_connection:handshake(Socket, Timeout); - -ssl_accept(ListenSocket, SslOptions) when is_port(ListenSocket) -> + +ssl_accept(ListenSocket, SslOptions) when is_port(ListenSocket) -> ssl_accept(ListenSocket, SslOptions, infinity). -ssl_accept(#sslsocket{} = Socket, [], Timeout) when (is_integer(Timeout) andalso Timeout > 0) or (Timeout == infinity)-> +ssl_accept(#sslsocket{} = Socket, [], Timeout) when (is_integer(Timeout) andalso Timeout >= 0) or (Timeout == infinity)-> ssl_accept(#sslsocket{} = Socket, Timeout); -ssl_accept(#sslsocket{fd = {_, _, _, Tracker}} = Socket, SslOpts0, Timeout) when - (is_integer(Timeout) andalso Timeout > 0) or (Timeout == infinity)-> - try - {ok, EmOpts, InheritedSslOpts} = ssl_socket:get_all_opts(Tracker), +ssl_accept(#sslsocket{fd = {_, _, _, Tracker}} = Socket, SslOpts0, Timeout) when + (is_integer(Timeout) andalso Timeout >= 0) or (Timeout == infinity)-> + try + {ok, EmOpts, InheritedSslOpts} = ssl_socket:get_all_opts(Tracker), SslOpts = handle_options(SslOpts0, InheritedSslOpts), ssl_connection:handshake(Socket, {SslOpts, emulated_socket_options(EmOpts, #socket_options{})}, Timeout) catch Error = {error, _Reason} -> Error end; ssl_accept(Socket, SslOptions, Timeout) when is_port(Socket), - (is_integer(Timeout) andalso Timeout > 0) or (Timeout == infinity) -> + (is_integer(Timeout) andalso Timeout >= 0) or (Timeout == infinity) -> {Transport,_,_,_} = proplists:get_value(cb_info, SslOptions, {gen_tcp, tcp, tcp_closed, tcp_error}), EmulatedOptions = ssl_socket:emulated_options(), @@ -252,17 +252,17 @@ close(#sslsocket{pid = {ListenSocket, #config{transport_info={Transport,_, _, _} Transport:close(ListenSocket). %%-------------------------------------------------------------------- --spec close(#sslsocket{}, integer() | {pid(), integer()}) -> term(). +-spec close(#sslsocket{}, timeout() | {pid(), integer()}) -> term(). %% %% Description: Close an ssl connection %%-------------------------------------------------------------------- -close(#sslsocket{pid = TLSPid}, - {Pid, Timeout} = DownGrade) when is_pid(TLSPid), - is_pid(Pid), - (is_integer(Timeout) andalso Timeout > 0) or (Timeout == infinity) -> +close(#sslsocket{pid = TLSPid}, + {Pid, Timeout} = DownGrade) when is_pid(TLSPid), + is_pid(Pid), + (is_integer(Timeout) andalso Timeout >= 0) or (Timeout == infinity) -> ssl_connection:close(TLSPid, {close, DownGrade}); -close(#sslsocket{pid = TLSPid}, Timeout) when is_pid(TLSPid), - (is_integer(Timeout) andalso Timeout > 0) or (Timeout == infinity) -> +close(#sslsocket{pid = TLSPid}, Timeout) when is_pid(TLSPid), + (is_integer(Timeout) andalso Timeout >= 0) or (Timeout == infinity) -> ssl_connection:close(TLSPid, {close, Timeout}); close(#sslsocket{pid = {ListenSocket, #config{transport_info={Transport,_, _, _}}}}, _) -> Transport:close(ListenSocket). @@ -286,7 +286,7 @@ send(#sslsocket{pid = {ListenSocket, #config{transport_info={Transport, _, _, _} recv(Socket, Length) -> recv(Socket, Length, infinity). recv(#sslsocket{pid = Pid}, Length, Timeout) when is_pid(Pid), - (is_integer(Timeout) andalso Timeout > 0) or (Timeout == infinity)-> + (is_integer(Timeout) andalso Timeout >= 0) or (Timeout == infinity)-> ssl_connection:recv(Pid, Length, Timeout); recv(#sslsocket{pid = {Listen, #config{transport_info = {Transport, _, _, _}}}}, _,_) when is_port(Listen)-> @@ -725,6 +725,7 @@ handle_options(Opts0, Role) -> server, Role), protocol = proplists:get_value(protocol, Opts, tls), padding_check = proplists:get_value(padding_check, Opts, true), + beast_mitigation = handle_option(beast_mitigation, Opts, one_n_minus_one), fallback = handle_option(fallback, Opts, proplists:get_value(fallback, Opts, default_option_role(client, @@ -746,7 +747,7 @@ handle_options(Opts0, Role) -> alpn_preferred_protocols, next_protocols_advertised, client_preferred_next_protocols, log_alert, server_name_indication, honor_cipher_order, padding_check, crl_check, crl_cache, - fallback, signature_algs], + fallback, signature_algs, beast_mitigation], SockOpts = lists:foldl(fun(Key, PropList) -> proplists:delete(Key, PropList) @@ -986,6 +987,10 @@ validate_option(crl_check, Value) when (Value == best_effort) or (Value == peer) Value; validate_option(crl_cache, {Cb, {_Handle, Options}} = Value) when is_atom(Cb) and is_list(Options) -> Value; +validate_option(beast_mitigation, Value) when Value == one_n_minus_one orelse + Value == zero_n orelse + Value == disabled -> + Value; validate_option(Opt, Value) -> throw({error, {options, {Opt, Value}}}). diff --git a/lib/ssl/src/ssl_alert.erl b/lib/ssl/src/ssl_alert.erl index 3e35e24527..db71b16d80 100644 --- a/lib/ssl/src/ssl_alert.erl +++ b/lib/ssl/src/ssl_alert.erl @@ -73,10 +73,14 @@ reason_code(#alert{description = Description}, _) -> %% %% Description: Returns the error string for given alert. %%-------------------------------------------------------------------- - -alert_txt(#alert{level = Level, description = Description, where = {Mod,Line}}) -> +alert_txt(#alert{level = Level, description = Description, where = {Mod,Line}, reason = undefined}) -> Mod ++ ":" ++ integer_to_list(Line) ++ ":" ++ - level_txt(Level) ++" "++ description_txt(Description). + level_txt(Level) ++" "++ description_txt(Description); +alert_txt(#alert{reason = Reason} = Alert) -> + BaseTxt = alert_txt(Alert#alert{reason = undefined}), + FormatDepth = 9, % Some limit on printed representation of an error + ReasonTxt = lists:flatten(io_lib:format("~P", [Reason, FormatDepth])), + BaseTxt ++ " - " ++ ReasonTxt. %%-------------------------------------------------------------------- %%% Internal functions @@ -85,7 +89,7 @@ alert_txt(#alert{level = Level, description = Description, where = {Mod,Line}}) %% It is very unlikely that an correct implementation will send more than one alert at the time %% So it there is more than 10 warning alerts we consider it an error decode(<<?BYTE(Level), ?BYTE(_), _/binary>>, _, N) when Level == ?WARNING, N > ?MAX_ALERTS -> - ?ALERT_REC(?FATAL, ?DECODE_ERROR); + ?ALERT_REC(?FATAL, ?DECODE_ERROR, too_many_remote_alerts); decode(<<?BYTE(Level), ?BYTE(Description), Rest/binary>>, Acc, N) when Level == ?WARNING -> Alert = ?ALERT_REC(Level, Description), decode(Rest, [Alert | Acc], N + 1); @@ -93,7 +97,7 @@ decode(<<?BYTE(Level), ?BYTE(Description), _Rest/binary>>, Acc, _) when Level == Alert = ?ALERT_REC(Level, Description), lists:reverse([Alert | Acc]); %% No need to decode rest fatal alert will end the connection decode(<<?BYTE(_Level), _/binary>>, _, _) -> - ?ALERT_REC(?FATAL, ?ILLEGAL_PARAMETER); + ?ALERT_REC(?FATAL, ?ILLEGAL_PARAMETER, failed_to_decode_remote_alert); decode(<<>>, Acc, _) -> lists:reverse(Acc, []). diff --git a/lib/ssl/src/ssl_alert.hrl b/lib/ssl/src/ssl_alert.hrl index 8c4bd08d31..38facb964f 100644 --- a/lib/ssl/src/ssl_alert.hrl +++ b/lib/ssl/src/ssl_alert.hrl @@ -109,6 +109,7 @@ -define(NO_APPLICATION_PROTOCOL, 120). -define(ALERT_REC(Level,Desc), #alert{level=Level,description=Desc,where={?FILE, ?LINE}}). +-define(ALERT_REC(Level,Desc,Reason), #alert{level=Level,description=Desc,where={?FILE, ?LINE},reason=Reason}). -define(MAX_ALERTS, 10). @@ -116,6 +117,7 @@ -record(alert, { level, description, - where = {?FILE, ?LINE} + where = {?FILE, ?LINE}, + reason }). -endif. % -ifdef(ssl_alert). diff --git a/lib/ssl/src/ssl_cipher.erl b/lib/ssl/src/ssl_cipher.erl index dc0a0c2cc4..e935c033c7 100644 --- a/lib/ssl/src/ssl_cipher.erl +++ b/lib/ssl/src/ssl_cipher.erl @@ -214,7 +214,7 @@ decipher(?RC4, HashSz, CipherState = #cipher_state{state = State0}, Fragment, _, %% alerts may permit certain attacks against CBC mode as used in %% TLS [CBCATT]. It is preferable to uniformly use the %% bad_record_mac alert to hide the specific type of the error." - ?ALERT_REC(?FATAL, ?BAD_RECORD_MAC) + ?ALERT_REC(?FATAL, ?BAD_RECORD_MAC, decryption_failed) end; decipher(?DES, HashSz, CipherState, Fragment, Version, PaddingCheck) -> @@ -272,7 +272,7 @@ block_decipher(Fun, #cipher_state{key=Key, iv=IV} = CipherState0, %% alerts may permit certain attacks against CBC mode as used in %% TLS [CBCATT]. It is preferable to uniformly use the %% bad_record_mac alert to hide the specific type of the error." - ?ALERT_REC(?FATAL, ?BAD_RECORD_MAC) + ?ALERT_REC(?FATAL, ?BAD_RECORD_MAC, decryption_failed) end. aead_ciphertext_to_state(chacha20_poly1305, SeqNo, _IV, AAD0, Fragment, _Version) -> @@ -296,11 +296,11 @@ aead_decipher(Type, #cipher_state{key = Key, iv = IV} = CipherState, Content when is_binary(Content) -> {Content, CipherState}; _ -> - ?ALERT_REC(?FATAL, ?BAD_RECORD_MAC) + ?ALERT_REC(?FATAL, ?BAD_RECORD_MAC, decryption_failed) end catch _:_ -> - ?ALERT_REC(?FATAL, ?BAD_RECORD_MAC) + ?ALERT_REC(?FATAL, ?BAD_RECORD_MAC, decryption_failed) end. %%-------------------------------------------------------------------- diff --git a/lib/ssl/src/ssl_connection.erl b/lib/ssl/src/ssl_connection.erl index 089b3615c6..22d107ff9c 100644 --- a/lib/ssl/src/ssl_connection.erl +++ b/lib/ssl/src/ssl_connection.erl @@ -1488,7 +1488,7 @@ rsa_key_exchange(Version, PremasterSecret, PublicKeyInfo = {Algorithm, _, _}) {premaster_secret, PremasterSecret, PublicKeyInfo}); rsa_key_exchange(_, _, _) -> - throw (?ALERT_REC(?FATAL,?HANDSHAKE_FAILURE)). + throw (?ALERT_REC(?FATAL,?HANDSHAKE_FAILURE, pub_key_is_not_rsa)). rsa_psk_key_exchange(Version, PskIdentity, PremasterSecret, PublicKeyInfo = {Algorithm, _, _}) @@ -1505,7 +1505,7 @@ rsa_psk_key_exchange(Version, PskIdentity, PremasterSecret, {psk_premaster_secret, PskIdentity, PremasterSecret, PublicKeyInfo}); rsa_psk_key_exchange(_, _, _, _) -> - throw (?ALERT_REC(?FATAL,?HANDSHAKE_FAILURE)). + throw (?ALERT_REC(?FATAL,?HANDSHAKE_FAILURE, pub_key_is_not_rsa)). request_client_cert(#state{ssl_options = #ssl_options{verify = verify_peer, signature_algs = SupportedHashSigns}, diff --git a/lib/ssl/src/ssl_handshake.erl b/lib/ssl/src/ssl_handshake.erl index 598d4e4112..0787e151c0 100644 --- a/lib/ssl/src/ssl_handshake.erl +++ b/lib/ssl/src/ssl_handshake.erl @@ -167,7 +167,7 @@ certificate(OwnCert, CertDbHandle, CertDbRef, server) -> {ok, _, Chain} -> #certificate{asn1_certificates = Chain}; {error, _} -> - ?ALERT_REC(?FATAL, ?INTERNAL_ERROR) + ?ALERT_REC(?FATAL, ?INTERNAL_ERROR, server_has_no_suitable_certificates) end. %%-------------------------------------------------------------------- @@ -195,7 +195,7 @@ client_certificate_verify(OwnCert, MasterSecret, Version, PrivateKey, {Handshake, _}) -> case public_key:pkix_is_fixed_dh_cert(OwnCert) of true -> - ?ALERT_REC(?FATAL, ?UNSUPPORTED_CERTIFICATE); + ?ALERT_REC(?FATAL, ?UNSUPPORTED_CERTIFICATE, fixed_diffie_hellman_prohibited); false -> Hashes = calc_certificate_verify(Version, HashAlgo, MasterSecret, Handshake), @@ -353,7 +353,7 @@ verify_server_key(#server_key_params{params_bin = EncParams, %% Description: Checks that the certificate_verify message is valid. %%-------------------------------------------------------------------- certificate_verify(_, _, _, undefined, _, _) -> - ?ALERT_REC(?FATAL, ?HANDSHAKE_FAILURE); + ?ALERT_REC(?FATAL, ?HANDSHAKE_FAILURE, invalid_certificate_verify_message); certificate_verify(Signature, PublicKeyInfo, Version, HashSign = {HashAlgo, _}, MasterSecret, {_, Handshake}) -> @@ -417,7 +417,7 @@ certify(#certificate{asn1_certificates = ASN1Certs}, CertDbHandle, CertDbRef, catch error:_ -> %% ASN-1 decode of certificate somehow failed - ?ALERT_REC(?FATAL, ?CERTIFICATE_UNKNOWN) + ?ALERT_REC(?FATAL, ?CERTIFICATE_UNKNOWN, failed_to_decode_certificate) end. %%-------------------------------------------------------------------- @@ -605,7 +605,7 @@ select_hashsign(#hash_sign_algos{hash_sign_algos = HashSigns}, Cert, KeyExAlgo, false end, HashSigns) of [] -> - ?ALERT_REC(?FATAL, ?INSUFFICIENT_SECURITY); + ?ALERT_REC(?FATAL, ?INSUFFICIENT_SECURITY, no_suitable_signature_algorithm); [HashSign | _] -> HashSign end; @@ -664,11 +664,8 @@ master_secret(RecordCB, Version, #session{master_secret = Mastersecret}, try master_secret(RecordCB, Version, Mastersecret, SecParams, ConnectionStates, Role) catch - exit:Reason -> - Report = io_lib:format("Key calculation failed due to ~p", - [Reason]), - error_logger:error_report(Report), - ?ALERT_REC(?FATAL, ?HANDSHAKE_FAILURE) + exit:_ -> + ?ALERT_REC(?FATAL, ?HANDSHAKE_FAILURE, key_calculation_failure) end; master_secret(RecordCB, Version, PremasterSecret, ConnectionStates, Role) -> @@ -683,11 +680,8 @@ master_secret(RecordCB, Version, PremasterSecret, ConnectionStates, Role) -> ClientRandom, ServerRandom), SecParams, ConnectionStates, Role) catch - exit:Reason -> - Report = io_lib:format("Master secret calculation failed" - " due to ~p", [Reason]), - error_logger:error_report(Report), - ?ALERT_REC(?FATAL, ?HANDSHAKE_FAILURE) + exit:_ -> + ?ALERT_REC(?FATAL, ?HANDSHAKE_FAILURE, master_secret_calculation_failure) end. %%-------------Encode/Decode -------------------------------- @@ -958,8 +952,8 @@ decode_handshake(_Version, ?CLIENT_KEY_EXCHANGE, PKEPMS) -> #client_key_exchange{exchange_keys = PKEPMS}; decode_handshake(_Version, ?FINISHED, VerifyData) -> #finished{verify_data = VerifyData}; -decode_handshake(_, _, _) -> - throw(?ALERT_REC(?FATAL, ?HANDSHAKE_FAILURE)). +decode_handshake(_, Message, _) -> + throw(?ALERT_REC(?FATAL, ?HANDSHAKE_FAILURE, {unknown_or_malformed_handshake, Message})). %%-------------------------------------------------------------------- -spec decode_hello_extensions({client, binary()} | binary()) -> #hello_extensions{}. @@ -1031,8 +1025,8 @@ dec_server_key(<<?UINT16(NLen), N:NLen/binary, params_bin = BinMsg, hashsign = HashSign, signature = Signature}; -dec_server_key(_, _, _) -> - throw(?ALERT_REC(?FATAL, ?HANDSHAKE_FAILURE)). +dec_server_key(_, KeyExchange, _) -> + throw(?ALERT_REC(?FATAL, ?HANDSHAKE_FAILURE, {unknown_or_malformed_key_exchange, KeyExchange})). %%-------------------------------------------------------------------- -spec decode_suites('2_bytes'|'3_bytes', binary()) -> list(). @@ -1253,8 +1247,12 @@ handle_server_hello_extensions(RecordCB, Random, CipherSuite, Compression, Protocol -> {ConnectionStates, npn, Protocol} end; - _ -> %% {error, _Reason} or a list of 0/2+ protocols. - ?ALERT_REC(?FATAL, ?HANDSHAKE_FAILURE) + {error, Reason} -> + ?ALERT_REC(?FATAL, ?HANDSHAKE_FAILURE, Reason); + [] -> + ?ALERT_REC(?FATAL, ?HANDSHAKE_FAILURE, no_protocols_in_server_hello); + [_|_] -> + ?ALERT_REC(?FATAL, ?HANDSHAKE_FAILURE, too_many_protocols_in_server_hello) end. select_version(RecordCB, ClientVersion, Versions) -> @@ -1316,14 +1314,14 @@ handle_renegotiation_info(_RecordCB, client, #renegotiation_info{renegotiated_co true -> {ok, ConnectionStates}; false -> - ?ALERT_REC(?FATAL, ?HANDSHAKE_FAILURE) + ?ALERT_REC(?FATAL, ?HANDSHAKE_FAILURE, client_renegotiation) end; handle_renegotiation_info(_RecordCB, server, #renegotiation_info{renegotiated_connection = ClientVerify}, ConnectionStates, true, _, CipherSuites) -> case is_member(?TLS_EMPTY_RENEGOTIATION_INFO_SCSV, CipherSuites) of true -> - ?ALERT_REC(?FATAL, ?HANDSHAKE_FAILURE); + ?ALERT_REC(?FATAL, ?HANDSHAKE_FAILURE, {server_renegotiation, empty_renegotiation_info_scsv}); false -> CS = ssl_record:current_connection_state(ConnectionStates, read), Data = CS#connection_state.client_verify_data, @@ -1331,7 +1329,7 @@ handle_renegotiation_info(_RecordCB, server, #renegotiation_info{renegotiated_co true -> {ok, ConnectionStates}; false -> - ?ALERT_REC(?FATAL, ?HANDSHAKE_FAILURE) + ?ALERT_REC(?FATAL, ?HANDSHAKE_FAILURE, server_renegotiation) end end; @@ -1341,7 +1339,7 @@ handle_renegotiation_info(RecordCB, client, undefined, ConnectionStates, true, S handle_renegotiation_info(RecordCB, server, undefined, ConnectionStates, true, SecureRenegotation, CipherSuites) -> case is_member(?TLS_EMPTY_RENEGOTIATION_INFO_SCSV, CipherSuites) of true -> - ?ALERT_REC(?FATAL, ?HANDSHAKE_FAILURE); + ?ALERT_REC(?FATAL, ?HANDSHAKE_FAILURE, {server_renegotiation, empty_renegotiation_info_scsv}); false -> handle_renegotiation_info(RecordCB, ConnectionStates, SecureRenegotation) end. @@ -1350,7 +1348,7 @@ handle_renegotiation_info(_RecordCB, ConnectionStates, SecureRenegotation) -> CS = ssl_record:current_connection_state(ConnectionStates, read), case {SecureRenegotation, CS#connection_state.secure_renegotiation} of {_, true} -> - ?ALERT_REC(?FATAL, ?HANDSHAKE_FAILURE); + ?ALERT_REC(?FATAL, ?HANDSHAKE_FAILURE, already_secure); {true, false} -> ?ALERT_REC(?FATAL, ?NO_RENEGOTIATION); {false, false} -> @@ -1523,8 +1521,8 @@ path_validation_alert({bad_cert, selfsigned_peer}) -> ?ALERT_REC(?FATAL, ?BAD_CERTIFICATE); path_validation_alert({bad_cert, unknown_ca}) -> ?ALERT_REC(?FATAL, ?UNKNOWN_CA); -path_validation_alert(_) -> - ?ALERT_REC(?FATAL, ?HANDSHAKE_FAILURE). +path_validation_alert(Reason) -> + ?ALERT_REC(?FATAL, ?HANDSHAKE_FAILURE, Reason). encrypted_premaster_secret(Secret, RSAPublicKey) -> try @@ -1533,18 +1531,27 @@ encrypted_premaster_secret(Secret, RSAPublicKey) -> rsa_pkcs1_padding}]), #encrypted_premaster_secret{premaster_secret = PreMasterSecret} catch - _:_-> - throw(?ALERT_REC(?FATAL, ?HANDSHAKE_FAILURE)) + _:_-> + throw(?ALERT_REC(?FATAL, ?HANDSHAKE_FAILURE, premaster_encryption_failed)) end. -digitally_signed({3, Minor}, Hash, HashAlgo, Key) when Minor >= 3 -> +digitally_signed(Version, Hashes, HashAlgo, PrivateKey) -> + try do_digitally_signed(Version, Hashes, HashAlgo, PrivateKey) of + Signature -> + Signature + catch + error:badkey-> + throw(?ALERT_REC(?FATAL, ?HANDSHAKE_FAILURE, bad_key(PrivateKey))) + end. + +do_digitally_signed({3, Minor}, Hash, HashAlgo, Key) when Minor >= 3 -> public_key:sign({digest, Hash}, HashAlgo, Key); -digitally_signed(_Version, Hash, HashAlgo, #'DSAPrivateKey'{} = Key) -> +do_digitally_signed(_Version, Hash, HashAlgo, #'DSAPrivateKey'{} = Key) -> public_key:sign({digest, Hash}, HashAlgo, Key); -digitally_signed(_Version, Hash, _HashAlgo, #'RSAPrivateKey'{} = Key) -> +do_digitally_signed(_Version, Hash, _HashAlgo, #'RSAPrivateKey'{} = Key) -> public_key:encrypt_private(Hash, Key, [{rsa_pad, rsa_pkcs1_padding}]); -digitally_signed(_Version, Hash, HashAlgo, Key) -> +do_digitally_signed(_Version, Hash, HashAlgo, Key) -> public_key:sign({digest, Hash}, HashAlgo, Key). calc_certificate_verify({3, 0}, HashAlgo, MasterSecret, Handshake) -> @@ -1751,12 +1758,12 @@ dec_client_key(PKEPMS, ?KEY_EXCHANGE_RSA, {3, 0}) -> dec_client_key(<<?UINT16(_), PKEPMS/binary>>, ?KEY_EXCHANGE_RSA, _) -> #encrypted_premaster_secret{premaster_secret = PKEPMS}; dec_client_key(<<>>, ?KEY_EXCHANGE_DIFFIE_HELLMAN, _) -> - throw(?ALERT_REC(?FATAL, ?UNSUPPORTED_CERTIFICATE)); + throw(?ALERT_REC(?FATAL, ?UNSUPPORTED_CERTIFICATE, empty_dh_public)); dec_client_key(<<?UINT16(DH_YLen), DH_Y:DH_YLen/binary>>, ?KEY_EXCHANGE_DIFFIE_HELLMAN, _) -> #client_diffie_hellman_public{dh_public = DH_Y}; dec_client_key(<<>>, ?KEY_EXCHANGE_EC_DIFFIE_HELLMAN, _) -> - throw(?ALERT_REC(?FATAL, ?UNSUPPORTED_CERTIFICATE)); + throw(?ALERT_REC(?FATAL, ?UNSUPPORTED_CERTIFICATE, empty_dh_public)); dec_client_key(<<?BYTE(DH_YLen), DH_Y:DH_YLen/binary>>, ?KEY_EXCHANGE_EC_DIFFIE_HELLMAN, _) -> #client_ec_diffie_hellman_public{dh_public = DH_Y}; @@ -1800,7 +1807,7 @@ dec_server_key_signature(Params, <<?UINT16(0)>>, _) -> dec_server_key_signature(Params, <<?UINT16(Len), Signature:Len/binary>>, _) -> {Params, undefined, Signature}; dec_server_key_signature(_, _, _) -> - throw(?ALERT_REC(?FATAL, ?HANDSHAKE_FAILURE)). + throw(?ALERT_REC(?FATAL, ?HANDSHAKE_FAILURE, failed_to_decrypt_server_key_sign)). dec_hello_extensions(<<>>, Acc) -> Acc; @@ -1955,8 +1962,8 @@ key_exchange_alg(_) -> %%-------------Extension handling -------------------------------- %% Receive protocols, choose one from the list, return it. -handle_alpn_extension(_, {error, _Reason}) -> - ?ALERT_REC(?FATAL, ?HANDSHAKE_FAILURE); +handle_alpn_extension(_, {error, Reason}) -> + ?ALERT_REC(?FATAL, ?HANDSHAKE_FAILURE, Reason); handle_alpn_extension([], _) -> ?ALERT_REC(?FATAL, ?NO_APPLICATION_PROTOCOL); handle_alpn_extension([ServerProtocol|Tail], ClientProtocols) -> @@ -1976,7 +1983,7 @@ handle_next_protocol(#next_protocol_negotiation{} = NextProtocols, true -> select_next_protocol(decode_next_protocols(NextProtocols), NextProtocolSelector); false -> - ?ALERT_REC(?FATAL, ?HANDSHAKE_FAILURE) % unexpected next protocol extension + ?ALERT_REC(?FATAL, ?HANDSHAKE_FAILURE, unexpected_next_protocol_extension) end. @@ -1996,17 +2003,17 @@ handle_next_protocol_on_server(#next_protocol_negotiation{extension_data = <<>>} Protocols; handle_next_protocol_on_server(_Hello, _Renegotiation, _SSLOpts) -> - ?ALERT_REC(?FATAL, ?HANDSHAKE_FAILURE). % unexpected next protocol extension + ?ALERT_REC(?FATAL, ?HANDSHAKE_FAILURE, unexpected_next_protocol_extension). next_protocol_extension_allowed(NextProtocolSelector, Renegotiating) -> NextProtocolSelector =/= undefined andalso not Renegotiating. -select_next_protocol({error, _Reason}, _NextProtocolSelector) -> - ?ALERT_REC(?FATAL, ?HANDSHAKE_FAILURE); +select_next_protocol({error, Reason}, _NextProtocolSelector) -> + ?ALERT_REC(?FATAL, ?HANDSHAKE_FAILURE, Reason); select_next_protocol(Protocols, NextProtocolSelector) -> case NextProtocolSelector(Protocols) of ?NO_PROTOCOL -> - ?ALERT_REC(?FATAL, ?HANDSHAKE_FAILURE); + ?ALERT_REC(?FATAL, ?HANDSHAKE_FAILURE, no_next_protocol); Protocol when is_binary(Protocol) -> Protocol end. @@ -2169,3 +2176,9 @@ is_acceptable_hash_sign(_,_,_,_) -> is_acceptable_hash_sign(Algos, SupportedHashSigns) -> lists:member(Algos, SupportedHashSigns). +bad_key(#'DSAPrivateKey'{}) -> + unacceptable_dsa_key; +bad_key(#'RSAPrivateKey'{}) -> + unacceptable_rsa_key; +bad_key(#'ECPrivateKey'{}) -> + unacceptable_ecdsa_key. diff --git a/lib/ssl/src/ssl_handshake.hrl b/lib/ssl/src/ssl_handshake.hrl index e7b118de10..fde92035a2 100644 --- a/lib/ssl/src/ssl_handshake.hrl +++ b/lib/ssl/src/ssl_handshake.hrl @@ -53,7 +53,8 @@ -define(NUM_OF_SESSION_ID_BYTES, 32). % TSL 1.1 & SSL 3 -define(NUM_OF_PREMASTERSECRET_BYTES, 48). -define(DEFAULT_DIFFIE_HELLMAN_GENERATOR, 2). --define(DEFAULT_DIFFIE_HELLMAN_PRIME, 16#FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7EDEE386BFB5A899FA5AE9F24117C4B1FE649286651ECE65381FFFFFFFFFFFFFFFF). +-define(DEFAULT_DIFFIE_HELLMAN_PRIME, + 16#FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7EDEE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3DC2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F83655D23DCA3AD961C62F356208552BB9ED529077096966D670C354E4ABC9804F1746C08CA18217C32905E462E36CE3BE39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9DE2BCBF6955817183995497CEA956AE515D2261898FA051015728E5A8AACAA68FFFFFFFFFFFFFFFF). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% Handsake protocol - RFC 4346 section 7.4 diff --git a/lib/ssl/src/ssl_internal.hrl b/lib/ssl/src/ssl_internal.hrl index 076e663cd4..dddcbdeeda 100644 --- a/lib/ssl/src/ssl_internal.hrl +++ b/lib/ssl/src/ssl_internal.hrl @@ -133,6 +133,9 @@ %% the client? honor_cipher_order = false :: boolean(), padding_check = true :: boolean(), + %%Should we use 1/n-1 or 0/n splitting to mitigate BEAST, or disable + %%mitigation entirely? + beast_mitigation = one_n_minus_one :: one_n_minus_one | zero_n | disabled, fallback = false :: boolean(), crl_check :: boolean() | peer | best_effort, crl_cache, diff --git a/lib/ssl/src/ssl_record.erl b/lib/ssl/src/ssl_record.erl index 866bfcef7e..0a086f5eeb 100644 --- a/lib/ssl/src/ssl_record.erl +++ b/lib/ssl/src/ssl_record.erl @@ -30,7 +30,7 @@ -include("ssl_alert.hrl"). %% Connection state handling --export([init_connection_states/1, +-export([init_connection_states/2, current_connection_state/2, pending_connection_state/2, activate_pending_connection_state/2, set_security_params/3, @@ -62,15 +62,16 @@ %%==================================================================== %%-------------------------------------------------------------------- --spec init_connection_states(client | server) -> #connection_states{}. +-spec init_connection_states(client | server, one_n_minus_one | zero_n | disabled ) -> + #connection_states{}. %% %% Description: Creates a connection_states record with appropriate %% values for the initial SSL connection setup. %%-------------------------------------------------------------------- -init_connection_states(Role) -> +init_connection_states(Role, BeastMitigation) -> ConnectionEnd = record_protocol_role(Role), - Current = initial_connection_state(ConnectionEnd), - Pending = empty_connection_state(ConnectionEnd), + Current = initial_connection_state(ConnectionEnd, BeastMitigation), + Pending = empty_connection_state(ConnectionEnd, BeastMitigation), #connection_states{current_read = Current, pending_read = Pending, current_write = Current, @@ -119,9 +120,10 @@ activate_pending_connection_state(States = read) -> NewCurrent = Pending#connection_state{epoch = dtls_next_epoch(Current), sequence_number = 0}, + BeastMitigation = Pending#connection_state.beast_mitigation, SecParams = Pending#connection_state.security_parameters, ConnectionEnd = SecParams#security_parameters.connection_end, - EmptyPending = empty_connection_state(ConnectionEnd), + EmptyPending = empty_connection_state(ConnectionEnd, BeastMitigation), SecureRenegotation = NewCurrent#connection_state.secure_renegotiation, NewPending = EmptyPending#connection_state{secure_renegotiation = SecureRenegotation}, States#connection_states{current_read = NewCurrent, @@ -134,9 +136,10 @@ activate_pending_connection_state(States = write) -> NewCurrent = Pending#connection_state{epoch = dtls_next_epoch(Current), sequence_number = 0}, + BeastMitigation = Pending#connection_state.beast_mitigation, SecParams = Pending#connection_state.security_parameters, ConnectionEnd = SecParams#security_parameters.connection_end, - EmptyPending = empty_connection_state(ConnectionEnd), + EmptyPending = empty_connection_state(ConnectionEnd, BeastMitigation), SecureRenegotation = NewCurrent#connection_state.secure_renegotiation, NewPending = EmptyPending#connection_state{secure_renegotiation = SecureRenegotation}, States#connection_states{current_write = NewCurrent, @@ -314,12 +317,13 @@ set_pending_cipher_state(#connection_states{pending_read = Read, encode_handshake(Frag, Version, #connection_states{current_write = #connection_state{ + beast_mitigation = BeastMitigation, security_parameters = #security_parameters{bulk_cipher_algorithm = BCA}}} = ConnectionStates) -> case iolist_size(Frag) of N when N > ?MAX_PLAIN_TEXT_LENGTH -> - Data = split_bin(iolist_to_binary(Frag), ?MAX_PLAIN_TEXT_LENGTH, Version, BCA), + Data = split_bin(iolist_to_binary(Frag), ?MAX_PLAIN_TEXT_LENGTH, Version, BCA, BeastMitigation), encode_iolist(?HANDSHAKE, Data, Version, ConnectionStates); _ -> encode_plain_text(?HANDSHAKE, Version, Frag, ConnectionStates) @@ -352,10 +356,11 @@ encode_change_cipher_spec(Version, ConnectionStates) -> %%-------------------------------------------------------------------- encode_data(Frag, Version, #connection_states{current_write = #connection_state{ + beast_mitigation = BeastMitigation, security_parameters = #security_parameters{bulk_cipher_algorithm = BCA}}} = ConnectionStates) -> - Data = split_bin(Frag, ?MAX_PLAIN_TEXT_LENGTH, Version, BCA), + Data = split_bin(Frag, ?MAX_PLAIN_TEXT_LENGTH, Version, BCA, BeastMitigation), encode_iolist(?APPLICATION_DATA, Data, Version, ConnectionStates). uncompress(?NULL, Data, CS) -> @@ -447,9 +452,10 @@ decipher_aead(Version, CipherFragment, %%-------------------------------------------------------------------- %%% Internal functions %%-------------------------------------------------------------------- -empty_connection_state(ConnectionEnd) -> +empty_connection_state(ConnectionEnd, BeastMitigation) -> SecParams = empty_security_params(ConnectionEnd), - #connection_state{security_parameters = SecParams}. + #connection_state{security_parameters = SecParams, + beast_mitigation = BeastMitigation}. empty_security_params(ConnectionEnd = ?CLIENT) -> #security_parameters{connection_end = ConnectionEnd, @@ -478,10 +484,11 @@ record_protocol_role(client) -> record_protocol_role(server) -> ?SERVER. -initial_connection_state(ConnectionEnd) -> +initial_connection_state(ConnectionEnd, BeastMitigation) -> #connection_state{security_parameters = initial_security_params(ConnectionEnd), - sequence_number = 0 + sequence_number = 0, + beast_mitigation = BeastMitigation }. initial_security_params(ConnectionEnd) -> @@ -506,11 +513,17 @@ encode_iolist(Type, Data, Version, ConnectionStates0) -> %% 1/n-1 splitting countermeasure Rizzo/Duong-Beast, RC4 chiphers are %% not vulnerable to this attack. -split_bin(<<FirstByte:8, Rest/binary>>, ChunkSize, Version, BCA) when +split_bin(<<FirstByte:8, Rest/binary>>, ChunkSize, Version, BCA, one_n_minus_one) when BCA =/= ?RC4 andalso ({3, 1} == Version orelse {3, 0} == Version) -> do_split_bin(Rest, ChunkSize, [[FirstByte]]); -split_bin(Bin, ChunkSize, _, _) -> +%% 0/n splitting countermeasure for clients that are incompatible with 1/n-1 +%% splitting. +split_bin(Bin, ChunkSize, Version, BCA, zero_n) when + BCA =/= ?RC4 andalso ({3, 1} == Version orelse + {3, 0} == Version) -> + do_split_bin(Bin, ChunkSize, [[<<>>]]); +split_bin(Bin, ChunkSize, _, _, _) -> do_split_bin(Bin, ChunkSize, []). do_split_bin(<<>>, _, Acc) -> diff --git a/lib/ssl/src/ssl_record.hrl b/lib/ssl/src/ssl_record.hrl index d34d144343..87fde35258 100644 --- a/lib/ssl/src/ssl_record.hrl +++ b/lib/ssl/src/ssl_record.hrl @@ -40,7 +40,9 @@ %% RFC 5746 secure_renegotiation, client_verify_data, - server_verify_data + server_verify_data, + %% How to do BEAST mitigation? + beast_mitigation }). -record(connection_states, { diff --git a/lib/ssl/src/ssl_tls_dist_proxy.erl b/lib/ssl/src/ssl_tls_dist_proxy.erl index 4651687fe6..a920f54ed2 100644 --- a/lib/ssl/src/ssl_tls_dist_proxy.erl +++ b/lib/ssl/src/ssl_tls_dist_proxy.erl @@ -116,7 +116,8 @@ handle_call({listen, Driver, Name}, _From, State) -> {ok, TcpAddress} = get_tcp_address(Socket), {ok, WorldTcpAddress} = get_tcp_address(World), {_,Port} = WorldTcpAddress#net_address.address, - case erl_epmd:register_node(Name, Port) of + ErlEpmd = net_kernel:epmd_module(), + case ErlEpmd:register_node(Name, Port) of {ok, Creation} -> {reply, {ok, {Socket, TcpAddress, Creation}}, State#state{listen={Socket, World}}}; @@ -401,6 +402,18 @@ ssl_options(server, ["server_verify", Value|T]) -> [{verify, atomize(Value)} | ssl_options(server,T)]; ssl_options(client, ["client_verify", Value|T]) -> [{verify, atomize(Value)} | ssl_options(client,T)]; +ssl_options(server, ["server_verify_fun", Value|T]) -> + [{verify_fun, verify_fun(Value)} | ssl_options(server,T)]; +ssl_options(client, ["client_verify_fun", Value|T]) -> + [{verify_fun, verify_fun(Value)} | ssl_options(client,T)]; +ssl_options(server, ["server_crl_check", Value|T]) -> + [{crl_check, atomize(Value)} | ssl_options(server,T)]; +ssl_options(client, ["client_crl_check", Value|T]) -> + [{crl_check, atomize(Value)} | ssl_options(client,T)]; +ssl_options(server, ["server_crl_cache", Value|T]) -> + [{crl_cache, termify(Value)} | ssl_options(server,T)]; +ssl_options(client, ["client_crl_cache", Value|T]) -> + [{crl_cache, termify(Value)} | ssl_options(client,T)]; ssl_options(server, ["server_reuse_sessions", Value|T]) -> [{reuse_sessions, atomize(Value)} | ssl_options(server,T)]; ssl_options(client, ["client_reuse_sessions", Value|T]) -> @@ -425,14 +438,28 @@ ssl_options(server, ["server_dhfile", Value|T]) -> [{dhfile, Value} | ssl_options(server,T)]; ssl_options(server, ["server_fail_if_no_peer_cert", Value|T]) -> [{fail_if_no_peer_cert, atomize(Value)} | ssl_options(server,T)]; -ssl_options(_,_) -> - exit(malformed_ssl_dist_opt). +ssl_options(Type, Opts) -> + error(malformed_ssl_dist_opt, [Type, Opts]). atomize(List) when is_list(List) -> list_to_atom(List); atomize(Atom) when is_atom(Atom) -> Atom. +termify(String) when is_list(String) -> + {ok, Tokens, _} = erl_scan:string(String ++ "."), + {ok, Term} = erl_parse:parse_term(Tokens), + Term. + +verify_fun(Value) -> + case termify(Value) of + {Mod, Func, State} when is_atom(Mod), is_atom(Func) -> + Fun = fun Mod:Func/3, + {Fun, State}; + _ -> + error(malformed_ssl_dist_opt, [Value]) + end. + flush_old_controller(Pid, Socket) -> receive {tcp, Socket, Data} -> diff --git a/lib/ssl/src/tls_connection.erl b/lib/ssl/src/tls_connection.erl index 40f3eea527..91903b4a1f 100644 --- a/lib/ssl/src/tls_connection.erl +++ b/lib/ssl/src/tls_connection.erl @@ -496,7 +496,8 @@ decode_alerts(Bin) -> initial_state(Role, Host, Port, Socket, {SSLOptions, SocketOptions, Tracker}, User, {CbModule, DataTag, CloseTag, ErrorTag}) -> - ConnectionStates = ssl_record:init_connection_states(Role), + #ssl_options{beast_mitigation = BeastMitigation} = SSLOptions, + ConnectionStates = ssl_record:init_connection_states(Role, BeastMitigation), SessionCacheCb = case application:get_env(ssl, session_cb) of {ok, Cb} when is_atom(Cb) -> diff --git a/lib/ssl/src/tls_handshake.erl b/lib/ssl/src/tls_handshake.erl index f34eebb0e4..871eb970eb 100644 --- a/lib/ssl/src/tls_handshake.erl +++ b/lib/ssl/src/tls_handshake.erl @@ -167,7 +167,7 @@ handle_client_hello(Version, #client_hello{session_id = SugesstedId, SslOpts, Cache, CacheCb, Cert), case CipherSuite of no_suite -> - ?ALERT_REC(?FATAL, ?INSUFFICIENT_SECURITY); + ?ALERT_REC(?FATAL, ?INSUFFICIENT_SECURITY, no_suitable_ciphers); _ -> {KeyExAlg,_,_,_} = ssl_cipher:suite_definition(CipherSuite), case ssl_handshake:select_hashsign(ClientHashSigns, Cert, KeyExAlg, SupportedHashSigns, Version) of diff --git a/lib/ssl/test/ssl_ECC_SUITE.erl b/lib/ssl/test/ssl_ECC_SUITE.erl index 3a1fd00c06..b8a03f578d 100644 --- a/lib/ssl/test/ssl_ECC_SUITE.erl +++ b/lib/ssl/test/ssl_ECC_SUITE.erl @@ -343,6 +343,12 @@ new_ca(FileName, CA, OwnCa) -> E1 = public_key:pem_decode(P1), {ok, P2} = file:read_file(OwnCa), E2 = public_key:pem_decode(P2), - Pem = public_key:pem_encode(E2 ++E1), - file:write_file(FileName, Pem), + case os:cmd("openssl version") of + "OpenSSL 1.0.1p-freebsd" ++ _ -> + Pem = public_key:pem_encode(E1 ++E2), + file:write_file(FileName, Pem); + _ -> + Pem = public_key:pem_encode(E2 ++E1), + file:write_file(FileName, Pem) + end, FileName. diff --git a/lib/ssl/test/ssl_basic_SUITE.erl b/lib/ssl/test/ssl_basic_SUITE.erl index d1162ab4a5..99f7c9b780 100644 --- a/lib/ssl/test/ssl_basic_SUITE.erl +++ b/lib/ssl/test/ssl_basic_SUITE.erl @@ -96,6 +96,8 @@ basic_tests() -> [app, appup, alerts, + alert_details, + alert_details_not_too_big, version_option, connect_twice, connect_dist, @@ -236,7 +238,10 @@ error_handling_tests_tls()-> rizzo_tests() -> [rizzo, - no_rizzo_rc4]. + no_rizzo_rc4, + rizzo_one_n_minus_one, + rizzo_zero_n, + rizzo_disabled]. %%-------------------------------------------------------------------- init_per_suite(Config0) -> @@ -346,10 +351,27 @@ init_per_testcase(TestCase, Config) when TestCase == psk_cipher_suites; ssl_test_lib:ct_log_supported_protocol_versions(Config), ct:timetrap({seconds, 30}), Config; + init_per_testcase(rizzo, Config) -> ssl_test_lib:ct_log_supported_protocol_versions(Config), ct:timetrap({seconds, 40}), Config; + +init_per_testcase(rizzo_one_n_minus_one, Config) -> + ct:log("TLS/SSL version ~p~n ", [tls_record:supported_protocol_versions()]), + ct:timetrap({seconds, 40}), + rizzo_add_mitigation_option(one_n_minus_one, Config); + +init_per_testcase(rizzo_zero_n, Config) -> + ct:log("TLS/SSL version ~p~n ", [tls_record:supported_protocol_versions()]), + ct:timetrap({seconds, 40}), + rizzo_add_mitigation_option(zero_n, Config); + +init_per_testcase(rizzo_disabled, Config) -> + ct:log("TLS/SSL version ~p~n ", [tls_record:supported_protocol_versions()]), + ct:timetrap({seconds, 40}), + rizzo_add_mitigation_option(disabled, Config); + init_per_testcase(prf, Config) -> ct:log("TLS/SSL version ~p~n ", [tls_record:supported_protocol_versions()]), ct:timetrap({seconds, 40}), @@ -457,6 +479,33 @@ alerts(Config) when is_list(Config) -> end end, Alerts). %%-------------------------------------------------------------------- +alert_details() -> + [{doc, "Test that ssl_alert:alert_txt/1 result contains extendend error description"}]. +alert_details(Config) when is_list(Config) -> + Unique = make_ref(), + UniqueStr = lists:flatten(io_lib:format("~w", [Unique])), + Alert = ?ALERT_REC(?WARNING, ?CLOSE_NOTIFY, Unique), + case string:str(ssl_alert:alert_txt(Alert), UniqueStr) of + 0 -> + ct:fail(error_details_missing); + _ -> + ok + end. + +%%-------------------------------------------------------------------- +alert_details_not_too_big() -> + [{doc, "Test that ssl_alert:alert_txt/1 limits printed depth of extended error description"}]. +alert_details_not_too_big(Config) when is_list(Config) -> + Reason = lists:duplicate(10, lists:duplicate(10, lists:duplicate(10, {some, data}))), + Alert = ?ALERT_REC(?WARNING, ?CLOSE_NOTIFY, Reason), + case length(ssl_alert:alert_txt(Alert)) < 1000 of + true -> + ok; + false -> + ct:fail(ssl_alert_text_too_big) + end. + +%%-------------------------------------------------------------------- new_options_in_accept() -> [{doc,"Test that you can set ssl options in ssl_accept/3 and not only in tcp upgrade"}]. new_options_in_accept(Config) when is_list(Config) -> @@ -2582,7 +2631,7 @@ client_no_wrap_sequence_number(Config) when is_list(Config) -> {ClientNode, ServerNode, Hostname} = ssl_test_lib:run_where(Config), ErlData = "From erlang to erlang", - N = 10, + N = 12, Server = ssl_test_lib:start_server([{node, ServerNode}, {port, 0}, @@ -2591,7 +2640,7 @@ client_no_wrap_sequence_number(Config) when is_list(Config) -> {options, ServerOpts}]), Port = ssl_test_lib:inet_port(Server), - Version = ssl_test_lib:protocol_version(Config), + Version = ssl_test_lib:protocol_version(Config, tuple), Client = ssl_test_lib:start_client([{node, ClientNode}, {port, Port}, {host, Hostname}, @@ -2619,7 +2668,7 @@ server_no_wrap_sequence_number(Config) when is_list(Config) -> {ClientNode, ServerNode, Hostname} = ssl_test_lib:run_where(Config), Data = "From erlang to erlang", - N = 10, + N = 12, Server = ssl_test_lib:start_server([{node, ServerNode}, {port, 0}, {from, self()}, @@ -3488,6 +3537,36 @@ no_rizzo_rc4(Config) when is_list(Config) -> run_send_recv_rizzo(Ciphers, Config, Version, {?MODULE, send_recv_result_active_no_rizzo, []}). +rizzo_one_n_minus_one() -> + [{doc,"Test that the 1/n-1-split mitigation of Rizzo/Dungon attack can be explicitly selected"}]. + +rizzo_one_n_minus_one(Config) when is_list(Config) -> + Ciphers = [X || X ={_,Y,_} <- ssl:cipher_suites(), Y =/= rc4_128], + Prop = proplists:get_value(tc_group_properties, Config), + Version = proplists:get_value(name, Prop), + run_send_recv_rizzo(Ciphers, Config, Version, + {?MODULE, send_recv_result_active_rizzo, []}). + +rizzo_zero_n() -> + [{doc,"Test that the 0/n-split mitigation of Rizzo/Dungon attack can be explicitly selected"}]. + +rizzo_zero_n(Config) when is_list(Config) -> + Ciphers = [X || X ={_,Y,_} <- ssl:cipher_suites(), Y =/= rc4_128], + Prop = proplists:get_value(tc_group_properties, Config), + Version = proplists:get_value(name, Prop), + run_send_recv_rizzo(Ciphers, Config, Version, + {?MODULE, send_recv_result_active_no_rizzo, []}). + +rizzo_disabled() -> + [{doc,"Test that the mitigation of Rizzo/Dungon attack can be explicitly disabled"}]. + +rizzo_disabled(Config) when is_list(Config) -> + Ciphers = [X || X ={_,Y,_} <- ssl:cipher_suites(), Y =/= rc4_128], + Prop = proplists:get_value(tc_group_properties, Config), + Version = proplists:get_value(name, Prop), + run_send_recv_rizzo(Ciphers, Config, Version, + {?MODULE, send_recv_result_active_no_rizzo, []}). + %%-------------------------------------------------------------------- new_server_wants_peer_cert() -> [{doc, "Test that server configured to do client certification does" @@ -3860,6 +3939,7 @@ prf_verify_value(Socket, TlsVer, Expected, Algo) -> send_recv_result_timeout_client(Socket) -> {error, timeout} = ssl:recv(Socket, 11, 500), + {error, timeout} = ssl:recv(Socket, 11, 0), ssl:send(Socket, "Hello world"), receive Msg -> @@ -3960,6 +4040,18 @@ renegotiate_rejected(Socket) -> ssl:send(Socket, "Hello world"), ok. +rizzo_add_mitigation_option(Value, Config) -> + lists:foldl(fun(Opt, Acc) -> + case proplists:get_value(Opt, Acc) of + undefined -> Acc; + C -> + N = lists:keystore(beast_mitigation, 1, C, + {beast_mitigation, Value}), + lists:keystore(Opt, 1, Acc, {Opt, N}) + end + end, Config, + [client_opts, client_dsa_opts, server_opts, server_dsa_opts, + server_ecdsa_opts, server_ecdh_rsa_opts]). new_config(PrivDir, ServerOpts0) -> CaCertFile = proplists:get_value(cacertfile, ServerOpts0), diff --git a/lib/ssl/test/ssl_dist_SUITE.erl b/lib/ssl/test/ssl_dist_SUITE.erl index d90ec428ee..f0ce82f4fe 100644 --- a/lib/ssl/test/ssl_dist_SUITE.erl +++ b/lib/ssl/test/ssl_dist_SUITE.erl @@ -21,6 +21,7 @@ -module(ssl_dist_SUITE). -include_lib("common_test/include/ct.hrl"). +-include_lib("public_key/include/public_key.hrl"). %% Note: This directive should only be used in test suites. -compile(export_all). @@ -41,7 +42,9 @@ %%-------------------------------------------------------------------- all() -> [basic, payload, plain_options, plain_verify_options, nodelay_option, - listen_port_options, listen_options, connect_options, use_interface]. + listen_port_options, listen_options, connect_options, use_interface, + verify_fun_fail, verify_fun_pass, crl_check_pass, crl_check_fail, + crl_check_best_effort, crl_cache_check_pass, crl_cache_check_fail]. groups() -> []. @@ -418,6 +421,255 @@ use_interface(Config) when is_list(Config) -> stop_ssl_node(NH1), success(Config). +%%-------------------------------------------------------------------- +verify_fun_fail() -> + [{doc,"Test specifying verify_fun with a function that always fails"}]. +verify_fun_fail(Config) when is_list(Config) -> + DistOpts = "-ssl_dist_opt " + "server_verify verify_peer server_verify_fun " + "\"{ssl_dist_SUITE,verify_fail_always,{}}\" " + "client_verify verify_peer client_verify_fun " + "\"{ssl_dist_SUITE,verify_fail_always,{}}\" ", + + NH1 = start_ssl_node([{additional_dist_opts, DistOpts} | Config]), + NH2 = start_ssl_node([{additional_dist_opts, DistOpts} | Config]), + Node2 = NH2#node_handle.nodename, + + pang = apply_on_ssl_node(NH1, fun () -> net_adm:ping(Node2) end), + + [] = apply_on_ssl_node(NH1, fun () -> nodes() end), + [] = apply_on_ssl_node(NH2, fun () -> nodes() end), + + %% Check that the function ran on the client node. + [{verify_fail_always_ran, true}] = + apply_on_ssl_node(NH1, fun () -> ets:tab2list(verify_fun_ran) end), + %% On the server node, it wouldn't run, because the server didn't + %% request a certificate from the client. + undefined = + apply_on_ssl_node(NH2, fun () -> ets:info(verify_fun_ran) end), + + stop_ssl_node(NH1), + stop_ssl_node(NH2), + success(Config). + +verify_fail_always(_Certificate, _Event, _State) -> + %% Create an ETS table, to record the fact that the verify function ran. + %% Spawn a new process, to avoid the ETS table disappearing. + Parent = self(), + spawn( + fun() -> + ets:new(verify_fun_ran, [public, named_table]), + ets:insert(verify_fun_ran, {verify_fail_always_ran, true}), + Parent ! go_ahead, + timer:sleep(infinity) + end), + receive go_ahead -> ok end, + {fail, bad_certificate}. + +%%-------------------------------------------------------------------- +verify_fun_pass() -> + [{doc,"Test specifying verify_fun with a function that always succeeds"}]. +verify_fun_pass(Config) when is_list(Config) -> + DistOpts = "-ssl_dist_opt " + "server_verify verify_peer server_verify_fun " + "\"{ssl_dist_SUITE,verify_pass_always,{}}\" " + "server_fail_if_no_peer_cert true " + "client_verify verify_peer client_verify_fun " + "\"{ssl_dist_SUITE,verify_pass_always,{}}\" ", + + NH1 = start_ssl_node([{additional_dist_opts, DistOpts} | Config]), + Node1 = NH1#node_handle.nodename, + NH2 = start_ssl_node([{additional_dist_opts, DistOpts} | Config]), + Node2 = NH2#node_handle.nodename, + + pong = apply_on_ssl_node(NH1, fun () -> net_adm:ping(Node2) end), + + [Node2] = apply_on_ssl_node(NH1, fun () -> nodes() end), + [Node1] = apply_on_ssl_node(NH2, fun () -> nodes() end), + + %% Check that the function ran on the client node. + [{verify_pass_always_ran, true}] = + apply_on_ssl_node(NH1, fun () -> ets:tab2list(verify_fun_ran) end), + %% Check that it ran on the server node as well. The server + %% requested and verified the client's certificate because we + %% passed fail_if_no_peer_cert. + [{verify_pass_always_ran, true}] = + apply_on_ssl_node(NH2, fun () -> ets:tab2list(verify_fun_ran) end), + + stop_ssl_node(NH1), + stop_ssl_node(NH2), + success(Config). + +verify_pass_always(_Certificate, _Event, State) -> + %% Create an ETS table, to record the fact that the verify function ran. + %% Spawn a new process, to avoid the ETS table disappearing. + Parent = self(), + spawn( + fun() -> + ets:new(verify_fun_ran, [public, named_table]), + ets:insert(verify_fun_ran, {verify_pass_always_ran, true}), + Parent ! go_ahead, + timer:sleep(infinity) + end), + receive go_ahead -> ok end, + {valid, State}. +%%-------------------------------------------------------------------- +crl_check_pass() -> + [{doc,"Test crl_check with non-revoked certificate"}]. +crl_check_pass(Config) when is_list(Config) -> + DistOpts = "-ssl_dist_opt client_crl_check true", + NewConfig = + [{many_verify_opts, true}, {additional_dist_opts, DistOpts}] ++ Config, + + NH1 = start_ssl_node(NewConfig), + Node1 = NH1#node_handle.nodename, + NH2 = start_ssl_node(NewConfig), + Node2 = NH2#node_handle.nodename, + + PrivDir = ?config(priv_dir, Config), + cache_crls_on_ssl_nodes(PrivDir, ["erlangCA", "otpCA"], [NH1, NH2]), + + %% The server's certificate is not revoked, so connection succeeds. + pong = apply_on_ssl_node(NH1, fun () -> net_adm:ping(Node2) end), + + [Node2] = apply_on_ssl_node(NH1, fun () -> nodes() end), + [Node1] = apply_on_ssl_node(NH2, fun () -> nodes() end), + + stop_ssl_node(NH1), + stop_ssl_node(NH2), + success(Config). + +%%-------------------------------------------------------------------- +crl_check_fail() -> + [{doc,"Test crl_check with revoked certificate"}]. +crl_check_fail(Config) when is_list(Config) -> + DistOpts = "-ssl_dist_opt client_crl_check true", + NewConfig = + [{many_verify_opts, true}, + %% The server uses a revoked certificate. + {server_cert_dir, "revoked"}, + {additional_dist_opts, DistOpts}] ++ Config, + + NH1 = start_ssl_node(NewConfig), + %%Node1 = NH1#node_handle.nodename, + NH2 = start_ssl_node(NewConfig), + Node2 = NH2#node_handle.nodename, + + PrivDir = ?config(priv_dir, Config), + cache_crls_on_ssl_nodes(PrivDir, ["erlangCA", "otpCA"], [NH1, NH2]), + + %% The server's certificate is revoked, so connection fails. + pang = apply_on_ssl_node(NH1, fun () -> net_adm:ping(Node2) end), + + [] = apply_on_ssl_node(NH1, fun () -> nodes() end), + [] = apply_on_ssl_node(NH2, fun () -> nodes() end), + + stop_ssl_node(NH1), + stop_ssl_node(NH2), + success(Config). + +%%-------------------------------------------------------------------- +crl_check_best_effort() -> + [{doc,"Test specifying crl_check as best_effort"}]. +crl_check_best_effort(Config) when is_list(Config) -> + DistOpts = "-ssl_dist_opt " + "server_verify verify_peer server_crl_check best_effort", + NewConfig = + [{many_verify_opts, true}, {additional_dist_opts, DistOpts}] ++ Config, + + %% We don't have the correct CRL at hand, but since crl_check is + %% best_effort, we accept it anyway. + NH1 = start_ssl_node(NewConfig), + Node1 = NH1#node_handle.nodename, + NH2 = start_ssl_node(NewConfig), + Node2 = NH2#node_handle.nodename, + + pong = apply_on_ssl_node(NH1, fun () -> net_adm:ping(Node2) end), + + [Node2] = apply_on_ssl_node(NH1, fun () -> nodes() end), + [Node1] = apply_on_ssl_node(NH2, fun () -> nodes() end), + + stop_ssl_node(NH1), + stop_ssl_node(NH2), + success(Config). + +%%-------------------------------------------------------------------- +crl_cache_check_pass() -> + [{doc,"Test specifying crl_check with custom crl_cache module"}]. +crl_cache_check_pass(Config) when is_list(Config) -> + PrivDir = ?config(priv_dir, Config), + NodeDir = filename:join([PrivDir, "Certs"]), + DistOpts = "-ssl_dist_opt " + "client_crl_check true " + "client_crl_cache " + "\"{ssl_dist_SUITE,{\\\"" ++ NodeDir ++ "\\\",[]}}\"", + NewConfig = + [{many_verify_opts, true}, {additional_dist_opts, DistOpts}] ++ Config, + + NH1 = start_ssl_node(NewConfig), + Node1 = NH1#node_handle.nodename, + NH2 = start_ssl_node(NewConfig), + Node2 = NH2#node_handle.nodename, + + pong = apply_on_ssl_node(NH1, fun () -> net_adm:ping(Node2) end), + + [Node2] = apply_on_ssl_node(NH1, fun () -> nodes() end), + [Node1] = apply_on_ssl_node(NH2, fun () -> nodes() end), + + stop_ssl_node(NH1), + stop_ssl_node(NH2), + success(Config). + +%%-------------------------------------------------------------------- +crl_cache_check_fail() -> + [{doc,"Test custom crl_cache module with revoked certificate"}]. +crl_cache_check_fail(Config) when is_list(Config) -> + PrivDir = ?config(priv_dir, Config), + NodeDir = filename:join([PrivDir, "Certs"]), + DistOpts = "-ssl_dist_opt " + "client_crl_check true " + "client_crl_cache " + "\"{ssl_dist_SUITE,{\\\"" ++ NodeDir ++ "\\\",[]}}\"", + NewConfig = + [{many_verify_opts, true}, + %% The server uses a revoked certificate. + {server_cert_dir, "revoked"}, + {additional_dist_opts, DistOpts}] ++ Config, + + NH1 = start_ssl_node(NewConfig), + NH2 = start_ssl_node(NewConfig), + Node2 = NH2#node_handle.nodename, + + pang = apply_on_ssl_node(NH1, fun () -> net_adm:ping(Node2) end), + + [] = apply_on_ssl_node(NH1, fun () -> nodes() end), + [] = apply_on_ssl_node(NH2, fun () -> nodes() end), + + stop_ssl_node(NH1), + stop_ssl_node(NH2), + success(Config). + +%% ssl_crl_cache_api callbacks +lookup(_DistributionPoint, _DbHandle) -> + not_available. + +select({rdnSequence, NameParts}, {NodeDir, _}) -> + %% Extract the CN from the issuer name... + [CN] = [CN || + [#'AttributeTypeAndValue'{ + type = ?'id-at-commonName', + value = <<_, _, CN/binary>>}] <- NameParts], + %% ...and use that as the directory name to find the CRL. + error_logger:info_report([{found_cn, CN}]), + CRLFile = filename:join([NodeDir, CN, "crl.pem"]), + {ok, PemBin} = file:read_file(CRLFile), + PemEntries = public_key:pem_decode(PemBin), + CRLs = [ CRL || {'CertificateList', CRL, not_encrypted} + <- PemEntries], + CRLs. + +fresh_crl(_DistributionPoint, CRL) -> + CRL. %%-------------------------------------------------------------------- %%% Internal functions ----------------------------------------------- @@ -528,6 +780,19 @@ start_ssl_node_raw(Name, Args) -> exit({failed_to_start_node, Name, Error}) end. +cache_crls_on_ssl_nodes(PrivDir, CANames, NHs) -> + [begin + File = filename:join([PrivDir, "Certs", CAName, "crl.pem"]), + {ok, PemBin} = file:read_file(File), + PemEntries = public_key:pem_decode(PemBin), + CRLs = [ CRL || {'CertificateList', CRL, not_encrypted} + <- PemEntries], + ok = apply_on_ssl_node(NH, ssl_manager, insert_crls, + ["no_distribution_point", CRLs, dist]) + end + || NH <- NHs, CAName <- CANames], + ok. + %% %% command line creation %% @@ -563,11 +828,13 @@ mk_node_cmdline(ListenPort, Name, Args) -> ++ NameSw ++ " " ++ Name ++ " " ++ "-pa " ++ Pa ++ " " ++ "-run application start crypto -run application start public_key " + ++ "-eval 'net_kernel:verbose(1)' " ++ "-run " ++ atom_to_list(?MODULE) ++ " cnct2tstsrvr " ++ host_name() ++ " " ++ integer_to_list(ListenPort) ++ " " ++ Args ++ " " ++ "-env ERL_CRASH_DUMP " ++ Pwd ++ "/erl_crash_dump." ++ Name ++ " " + ++ "-kernel error_logger \"{file,\\\"" ++ Pwd ++ "/error_log." ++ Name ++ "\\\"}\" " ++ "-setcookie " ++ atom_to_list(erlang:get_cookie()). %% @@ -815,8 +1082,8 @@ setup_dist_opts(Config) -> DataDir = proplists:get_value(data_dir, Config), Dhfile = filename:join([DataDir, "dHParam.pem"]), NodeDir = filename:join([PrivDir, "Certs"]), - SDir = filename:join([NodeDir, "server"]), - CDir = filename:join([NodeDir, "client"]), + SDir = filename:join([NodeDir, proplists:get_value(server_cert_dir, Config, "server")]), + CDir = filename:join([NodeDir, proplists:get_value(client_cert_dir, Config, "client")]), SC = filename:join([SDir, "cert.pem"]), SK = filename:join([SDir, "key.pem"]), SKC = filename:join([SDir, "keycert.pem"]), diff --git a/lib/ssl/test/ssl_packet_SUITE.erl b/lib/ssl/test/ssl_packet_SUITE.erl index 6a73acb704..042d57c0e2 100644 --- a/lib/ssl/test/ssl_packet_SUITE.erl +++ b/lib/ssl/test/ssl_packet_SUITE.erl @@ -167,7 +167,7 @@ end_per_group(_GroupName, Config) -> Config. init_per_testcase(_TestCase, Config) -> - ct:timetrap({seconds, 30}), + ct:timetrap({seconds, 90}), Config. diff --git a/lib/ssl/test/ssl_session_cache_SUITE.erl b/lib/ssl/test/ssl_session_cache_SUITE.erl index 5e6137d2a6..b352844ba0 100644 --- a/lib/ssl/test/ssl_session_cache_SUITE.erl +++ b/lib/ssl/test/ssl_session_cache_SUITE.erl @@ -118,7 +118,7 @@ init_customized_session_cache(Type, Config) -> Config)), ets:new(ssl_test, [named_table, public, set]), ets:insert(ssl_test, {type, Type}), - ct:timetrap({seconds, 5}), + ct:timetrap({seconds, 20}), Config. end_per_testcase(session_cache_process_list, Config) -> diff --git a/lib/ssl/test/ssl_test_lib.erl b/lib/ssl/test/ssl_test_lib.erl index 543728627e..27c670cdc2 100644 --- a/lib/ssl/test/ssl_test_lib.erl +++ b/lib/ssl/test/ssl_test_lib.erl @@ -1315,11 +1315,22 @@ ssl_options(Option, Config) -> Opts ++ ProtocolOpts. protocol_version(Config) -> + protocol_version(Config, atom). + +protocol_version(Config, tuple) -> case proplists:get_value(protocol, Config) of dtls -> dtls_record:protocol_version(dtls_record:highest_protocol_version([])); _ -> - tls_record:protocol_version(tls_record:highest_protocol_version([])) + tls_record:highest_protocol_version(tls_record:supported_protocol_versions()) + end; + +protocol_version(Config, atom) -> + case proplists:get_value(protocol, Config) of + dtls -> + dtls_record:protocol_version(protocol_version(Config, tuple)); + _ -> + tls_record:protocol_version(protocol_version(Config, tuple)) end. protocol_options(Config, Options) -> diff --git a/lib/stdlib/src/beam_lib.erl b/lib/stdlib/src/beam_lib.erl index 7a17226e46..fe9df601eb 100644 --- a/lib/stdlib/src/beam_lib.erl +++ b/lib/stdlib/src/beam_lib.erl @@ -46,7 +46,7 @@ terminate/2,code_change/3]). -export([make_crypto_key/2, get_crypto_key/1]). %Utilities used by compiler --export_type([attrib_entry/0, compinfo_entry/0, labeled_entry/0]). +-export_type([attrib_entry/0, compinfo_entry/0, labeled_entry/0, label/0]). -import(lists, [append/1, delete/2, foreach/2, keysort/2, member/2, reverse/1, sort/1, splitwith/2]). diff --git a/lib/stdlib/src/erl_compile.erl b/lib/stdlib/src/erl_compile.erl index ef54076ee3..a6ae398d03 100644 --- a/lib/stdlib/src/erl_compile.erl +++ b/lib/stdlib/src/erl_compile.erl @@ -60,6 +60,7 @@ compile_cmdline() -> _ -> my_halt(2) end. +-spec my_halt(_) -> no_return(). my_halt(Reason) -> erlang:halt(Reason). diff --git a/lib/stdlib/src/escript.erl b/lib/stdlib/src/escript.erl index b8ce311c35..f53b0e2246 100644 --- a/lib/stdlib/src/escript.erl +++ b/lib/stdlib/src/escript.erl @@ -906,6 +906,7 @@ anno(L) -> fatal(Str) -> throw(Str). +-spec my_halt(_) -> no_return(). my_halt(Reason) -> erlang:halt(Reason). diff --git a/lib/stdlib/src/proc_lib.erl b/lib/stdlib/src/proc_lib.erl index 4a19603ec2..3dc1848550 100644 --- a/lib/stdlib/src/proc_lib.erl +++ b/lib/stdlib/src/proc_lib.erl @@ -479,18 +479,12 @@ trans_init(gen,init_it,[gen_server,_,_,supervisor_bridge,[Module|_],_]) -> {supervisor_bridge,Module,1}; trans_init(gen,init_it,[gen_server,_,_,_,supervisor_bridge,[Module|_],_]) -> {supervisor_bridge,Module,1}; -trans_init(gen,init_it,[GenMod,_,_,Module,_,_]) - when GenMod =:= gen_server; - GenMod =:= gen_statem; - GenMod =:= gen_fsm -> - {Module,init,1}; -trans_init(gen,init_it,[GenMod,_,_,_,Module|_]) - when GenMod =:= gen_server; - GenMod =:= gen_statem; - GenMod =:= gen_fsm -> - {Module,init,1}; trans_init(gen,init_it,[gen_event|_]) -> {gen_event,init_it,6}; +trans_init(gen,init_it,[_GenMod,_,_,Module,_,_]) when is_atom(Module) -> + {Module,init,1}; +trans_init(gen,init_it,[_GenMod,_,_,_,Module|_]) when is_atom(Module) -> + {Module,init,1}; trans_init(M, F, A) when is_atom(M), is_atom(F) -> {M,F,length(A)}. diff --git a/lib/stdlib/src/stdlib.app.src b/lib/stdlib/src/stdlib.app.src index 32bcdc4f2a..09176d2ca0 100644 --- a/lib/stdlib/src/stdlib.app.src +++ b/lib/stdlib/src/stdlib.app.src @@ -106,7 +106,7 @@ dets]}, {applications, [kernel]}, {env, []}, - {runtime_dependencies, ["sasl-2.6","kernel-4.1","erts-7.3","crypto-3.3", + {runtime_dependencies, ["sasl-3.0","kernel-5.0","erts-8.0","crypto-3.3", "compiler-5.0"]} ]}. diff --git a/lib/stdlib/test/binary_module_SUITE.erl b/lib/stdlib/test/binary_module_SUITE.erl index 55fdcdd054..c5cfea5e9e 100644 --- a/lib/stdlib/test/binary_module_SUITE.erl +++ b/lib/stdlib/test/binary_module_SUITE.erl @@ -19,9 +19,7 @@ %% -module(binary_module_SUITE). --export([all/0, suite/0,groups/0,init_per_suite/1, end_per_suite/1, - init_per_testcase/2, end_per_testcase/2, - init_per_group/2,end_per_group/2, +-export([all/0, suite/0, interesting/1,scope_return/1,random_ref_comp/1,random_ref_sr_comp/1, random_ref_fla_comp/1,parts/1, bin_to_list/1, list_to_bin/1, copy/1, referenced/1,guard/1,encode_decode/1,badargs/1,longest_common_trap/1]). @@ -30,15 +28,9 @@ -include_lib("common_test/include/ct.hrl"). -init_per_testcase(_Case, Config) -> - Config. - -end_per_testcase(_Case, _Config) -> - ok. - suite() -> [{ct_hooks,[ts_install_cth]}, - {timetrap,{minutes,30}}]. + {timetrap,{minutes,10}}]. all() -> [scope_return,interesting, random_ref_fla_comp, random_ref_sr_comp, @@ -46,21 +38,6 @@ all() -> referenced, guard, encode_decode, badargs, longest_common_trap]. -groups() -> - []. - -init_per_suite(Config) -> - Config. - -end_per_suite(_Config) -> - ok. - -init_per_group(_GroupName, Config) -> - Config. - -end_per_group(_GroupName, Config) -> - Config. - -define(MASK_ERROR(EXPR),mask_error((catch (EXPR)))). @@ -961,6 +938,7 @@ random_parts(X,N) -> %% Test pseudorandomly generated cases against reference implementation. random_ref_comp(Config) when is_list(Config) -> + ct:timetrap({minutes,30}), %% valgrind needs a lot of time put(success_counter,0), rand:seed(exsplus, {1271,769940,559934}), Nr = {1,40}, @@ -991,6 +969,7 @@ random_ref_comp(Config) when is_list(Config) -> %% Test pseudorandomly generated cases against reference implementation %% of split and replace. random_ref_sr_comp(Config) when is_list(Config) -> + ct:timetrap({minutes,30}), %% valgrind needs a lot put(success_counter,0), rand:seed(exsplus, {1271,769940,559934}), Nr = {1,40}, diff --git a/lib/stdlib/test/ets_SUITE.erl b/lib/stdlib/test/ets_SUITE.erl index 15e3142408..8c1c625676 100644 --- a/lib/stdlib/test/ets_SUITE.erl +++ b/lib/stdlib/test/ets_SUITE.erl @@ -125,7 +125,7 @@ end_per_testcase(_Func, _Config) -> suite() -> [{ct_hooks,[ts_install_cth]}, - {timetrap,{minutes,20}}]. + {timetrap,{minutes,5}}]. all() -> [{group, new}, {group, insert}, {group, lookup}, @@ -698,7 +698,7 @@ chk_normal_tab_struct_size() -> io:format("?TAB_STRUCT_SZ=~p~n", [?TAB_STRUCT_SZ]), ok. -adjust_xmem([T1,T2,T3,T4], {A0,B0,C0,D0} = _Mem0) -> +adjust_xmem([_T1,_T2,_T3,_T4], {A0,B0,C0,D0} = _Mem0) -> %% Adjust for 64-bit, smp, and os: %% Table struct size may differ. @@ -2809,16 +2809,22 @@ privacy_do(Opts) -> privacy_check(pub,prot,priv), Owner ! {shift,1,{pub,prot,priv}}, - receive {Pub1,Prot1,Priv1} -> ok end, - privacy_check(Pub1,Prot1,Priv1), + receive + {Pub1,Prot1,Priv1} -> + ok = privacy_check(Pub1,Prot1,Priv1), + Owner ! {shift,2,{Pub1,Prot1,Priv1}} + end, - Owner ! {shift,2,{Pub1,Prot1,Priv1}}, - receive {Pub2,Prot2,Priv2} -> ok end, - privacy_check(Pub2,Prot2,Priv2), + receive + {Pub2,Prot2,Priv2} -> + ok = privacy_check(Pub2,Prot2,Priv2), + Owner ! {shift,0,{Pub2,Prot2,Priv2}} + end, - Owner ! {shift,0,{Pub2,Prot2,Priv2}}, - receive {Pub2,Prot2,Priv2} -> ok end, - privacy_check(Pub2,Prot2,Priv2), + receive + {Pub3,Prot3,Priv3} -> + ok = privacy_check(Pub3,Prot3,Priv3) + end, Owner ! die, receive {'EXIT',Owner,_} -> ok end, @@ -2836,7 +2842,8 @@ privacy_check(Pub,Prot,Priv) -> {'EXIT',{badarg,_}} = (catch ets:insert(Priv,{3,foo})), %% check that it really wasn't written, either - [] = ets:lookup(Prot,foo). + [] = ets:lookup(Prot,foo), + ok. privacy_owner(Boss, Opts) -> ets_new(pub, [public,named_table | Opts]), @@ -3197,7 +3204,6 @@ delete_large_named_table_1(Name, Flags, Data, Fix) -> true = ets:safe_fixtable(Tab, true), lists:foreach(fun({K,_}) -> ets:delete(Tab, K) end, Data) end, - Parent = self(), {Pid, MRef} = my_spawn_opt(fun() -> receive ets_new -> @@ -3297,6 +3303,7 @@ exit_large_table_owner_do(Opts,{FEData,Config}) -> verify_rescheduling_exit(Config, FEData, Opts, false, 1, 1). exit_many_large_table_owner(Config) when is_list(Config) -> + ct:timetrap({minutes,30}), %% valgrind needs a lot %%Data = [{erlang:phash2(I, 16#ffffff),I} || I <- lists:seq(1, 500000)], FEData = fun(Do) -> repeat_while(fun(500000) -> {false,ok}; (I) -> Do({erlang:phash2(I, 16#ffffff),I}), @@ -4270,6 +4277,7 @@ do_lookup_element(Tab, N, M) -> heavy_concurrent(Config) when is_list(Config) -> + ct:timetrap({minutes,30}), %% valgrind needs a lot of time repeat_for_opts(do_heavy_concurrent). do_heavy_concurrent(Opts) -> diff --git a/lib/stdlib/test/io_SUITE.erl b/lib/stdlib/test/io_SUITE.erl index be6b470ca7..7d48cbc97c 100644 --- a/lib/stdlib/test/io_SUITE.erl +++ b/lib/stdlib/test/io_SUITE.erl @@ -19,10 +19,7 @@ %% -module(io_SUITE). --export([all/0, suite/0,groups/0,init_per_suite/1, end_per_suite/1, - init_per_group/2,end_per_group/2]). - --export([init_per_testcase/2, end_per_testcase/2]). +-export([all/0, suite/0]). -export([error_1/1, float_g/1, otp_5403/1, otp_5813/1, otp_6230/1, otp_6282/1, otp_6354/1, otp_6495/1, otp_6517/1, otp_6502/1, @@ -51,12 +48,6 @@ -define(privdir(Conf), proplists:get_value(priv_dir, Conf)). -endif. -init_per_testcase(_Case, Config) -> - Config. - -end_per_testcase(_Case, _Config) -> - ok. - suite() -> [{ct_hooks,[ts_install_cth]}, {timetrap,{minutes,1}}]. @@ -72,22 +63,6 @@ all() -> io_lib_width_too_small, io_with_huge_message_queue, format_string, maps, coverage]. -groups() -> - []. - -init_per_suite(Config) -> - Config. - -end_per_suite(_Config) -> - ok. - -init_per_group(_GroupName, Config) -> - Config. - -end_per_group(_GroupName, Config) -> - Config. - - %% Error cases for output. error_1(Config) when is_list(Config) -> %% We don't do erroneous output on stdout - the test server @@ -952,7 +927,7 @@ otp_6708(Config) when is_list(Config) -> otp_7084() -> - [{timetrap,{minutes,3}}]. + [{timetrap,{minutes,6}}]. %% valgrind needs a lot of time %% OTP-7084. Printing floating point numbers nicely. otp_7084(Config) when is_list(Config) -> @@ -1830,13 +1805,14 @@ bad_printable_range(Config) when is_list(Config) -> Cmd = lists:concat([lib:progname()," +pcunnnnnicode -run erlang halt"]), P = open_port({spawn, Cmd}, [stderr_to_stdout, {line, 200}]), ok = receive - {P, {data, {eol , "bad range of printable characters" ++ _}}} -> - ok; - Other -> - Other - after 1000 -> - timeout - end, + {P, {data, {eol , "bad range of printable characters" ++ _}}} -> + ok; + Other -> + Other + %% valgrind needs a lot of time + after 6000 -> + timeout + end, catch port_close(P), flush_from_port(P), ok. diff --git a/lib/stdlib/test/io_proto_SUITE.erl b/lib/stdlib/test/io_proto_SUITE.erl index 4e39f011f6..1e286a9306 100644 --- a/lib/stdlib/test/io_proto_SUITE.erl +++ b/lib/stdlib/test/io_proto_SUITE.erl @@ -75,7 +75,7 @@ end_per_testcase(_Case, Config) -> suite() -> [{ct_hooks,[ts_install_cth]}, - {timetrap,{minutes,20}}]. + {timetrap,{minutes,5}}]. all() -> [setopts_getopts, unicode_options, unicode_options_gen, @@ -462,6 +462,7 @@ unicode_options(Config) when is_list(Config) -> %% Tests various unicode options on random generated files. unicode_options_gen(Config) when is_list(Config) -> + ct:timetrap({minutes,30}), %% valgrind needs a alot of time random:seed(1240, 900586, 553728), PrivDir = proplists:get_value(priv_dir, Config), AllModes = [utf8,utf16,{utf16,big},{utf16,little}, diff --git a/lib/stdlib/test/rand_SUITE.erl b/lib/stdlib/test/rand_SUITE.erl index 1bcdc3ccd0..cb778c96d4 100644 --- a/lib/stdlib/test/rand_SUITE.erl +++ b/lib/stdlib/test/rand_SUITE.erl @@ -18,18 +18,13 @@ %% %CopyrightEnd% -module(rand_SUITE). --export([all/0, suite/0,groups/0, - init_per_suite/1, end_per_suite/1, - init_per_group/2,end_per_group/2, - init_per_testcase/2, end_per_testcase/2 - ]). +-export([all/0, suite/0,groups/0]). -export([interval_int/1, interval_float/1, seed/1, api_eq/1, reference/1, basic_stats_uniform_1/1, basic_stats_uniform_2/1, basic_stats_normal/1, - plugin/1, measure/1 - ]). + plugin/1, measure/1]). -export([test/0, gen/1]). @@ -37,12 +32,6 @@ -define(LOOP, 1000000). -init_per_testcase(_Case, Config) -> - Config. - -end_per_testcase(_Case, _Config) -> - ok. - suite() -> [{ct_hooks,[ts_install_cth]}, {timetrap,{minutes,3}}]. @@ -52,19 +41,12 @@ all() -> api_eq, reference, {group, basic_stats}, - plugin, measure - ]. + plugin, measure]. groups() -> [{basic_stats, [parallel], [basic_stats_uniform_1, basic_stats_uniform_2, basic_stats_normal]}]. -init_per_suite(Config) -> Config. -end_per_suite(_Config) -> ok. - -init_per_group(_GroupName, Config) -> Config. -end_per_group(_GroupName, Config) -> Config. - %% A simple helper to test without test_server during dev test() -> Tests = all(), @@ -285,16 +267,19 @@ gen(_, _, Acc) -> lists:reverse(Acc). %% Check that the algorithms generate sound values. basic_stats_uniform_1(Config) when is_list(Config) -> + ct:timetrap({minutes,6}), %% valgrind needs a lot of time [basic_uniform_1(?LOOP, rand:seed_s(Alg), 0.0, array:new([{default, 0}])) || Alg <- algs()], ok. basic_stats_uniform_2(Config) when is_list(Config) -> + ct:timetrap({minutes,6}), %% valgrind needs a lot of time [basic_uniform_2(?LOOP, rand:seed_s(Alg), 0, array:new([{default, 0}])) || Alg <- algs()], ok. basic_stats_normal(Config) when is_list(Config) -> + ct:timetrap({minutes,6}), %% valgrind needs a lot of time io:format("Testing normal~n",[]), [basic_normal_1(?LOOP, rand:seed_s(Alg), 0, 0) || Alg <- algs()], ok. @@ -395,6 +380,7 @@ crypto_uniform_n(N, State0) -> %% Not a test but measures the time characteristics of the different algorithms measure(Suite) when is_atom(Suite) -> []; measure(_Config) -> + ct:timetrap({minutes,6}), %% valgrind needs a lot of time Algos = [crypto64|algs()], io:format("RNG uniform integer performance~n",[]), _ = measure_1(random, fun(State) -> {int, random:uniform_s(10000, State)} end), diff --git a/lib/stdlib/test/select_SUITE.erl b/lib/stdlib/test/select_SUITE.erl index e999d040c9..22b6d37e5d 100644 --- a/lib/stdlib/test/select_SUITE.erl +++ b/lib/stdlib/test/select_SUITE.erl @@ -59,42 +59,20 @@ config(priv_dir,_) -> ".". -else. %% When run in test server. --export([all/0, suite/0,groups/0,init_per_suite/1, end_per_suite/1, - init_per_group/2,end_per_group/2,select_test/1, - init_per_testcase/2, end_per_testcase/2, - return_values/1]). - -init_per_testcase(_Case, Config) -> - Config. - -end_per_testcase(_Case, _Config) -> - ok. +-export([all/0, suite/0, + select_test/1, return_values/1]). suite() -> [{ct_hooks,[ts_install_cth]}, - {timetrap,{minutes,20}}]. + {timetrap,{minutes,1}}]. all() -> [return_values, select_test]. -groups() -> - []. - -init_per_suite(Config) -> - Config. - -end_per_suite(_Config) -> - ok. - -init_per_group(_GroupName, Config) -> - Config. - -end_per_group(_GroupName, Config) -> - Config. - %% Test select in numerous ways. select_test(Config) when is_list(Config) -> + ct:timetrap({minutes,40}), %% valgrinds needs a lot of time do_test(Config). %% Test return values in specific situations for select/3 and select/1. diff --git a/lib/stdlib/test/unicode_SUITE.erl b/lib/stdlib/test/unicode_SUITE.erl index 81a591f433..07d63bdf22 100644 --- a/lib/stdlib/test/unicode_SUITE.erl +++ b/lib/stdlib/test/unicode_SUITE.erl @@ -21,10 +21,7 @@ -include_lib("common_test/include/ct.hrl"). --export([all/0, suite/0,groups/0,init_per_suite/1, end_per_suite/1, - init_per_group/2,end_per_group/2, - init_per_testcase/2, - end_per_testcase/2, +-export([all/0, suite/0,groups/0, utf8_illegal_sequences_bif/1, utf16_illegal_sequences_bif/1, random_lists/1, @@ -38,12 +35,6 @@ ex_binaries_errors_utf32_little/1, ex_binaries_errors_utf32_big/1]). -init_per_testcase(_Case, Config) -> - Config. - -end_per_testcase(_Case, _Config) -> - ok. - suite() -> [{ct_hooks,[ts_install_cth]}, {timetrap,{minutes,20}}]. @@ -63,18 +54,6 @@ groups() -> ex_binaries_errors_utf32_little, ex_binaries_errors_utf32_big]}]. -init_per_suite(Config) -> - Config. - -end_per_suite(_Config) -> - ok. - -init_per_group(_GroupName, Config) -> - Config. - -end_per_group(_GroupName, Config) -> - Config. - binaries_errors_limit(Config) when is_list(Config) -> setlimit(10), ex_binaries_errors_utf8(Config), @@ -761,6 +740,7 @@ leading_lo_surrogate_bif(HiSurr, LoSurr, End) when LoSurr =< End -> leading_lo_surrogate_bif(_, _, _) -> ok. utf8_illegal_sequences_bif(Config) when is_list(Config) -> + ct:timetrap({minutes,40}), %% valgrind needs a lot setlimit(10), ex_utf8_illegal_sequences_bif(Config), setlimit(default), diff --git a/lib/wx/api_gen/gl_gen_erl.erl b/lib/wx/api_gen/gl_gen_erl.erl index c96df4f8f2..1be8d775be 100644 --- a/lib/wx/api_gen/gl_gen_erl.erl +++ b/lib/wx/api_gen/gl_gen_erl.erl @@ -463,7 +463,7 @@ doc_return_types(T, Ps0) -> Ps = [P || P=#arg{in=In, where=Where} <- Ps0,In =/= true, Where =/= c], doc_return_types2(T, Ps). -doc_return_types2(void, []) -> "ok"; +doc_return_types2(void, []) -> "'ok'"; doc_return_types2(void, [#arg{type=T}]) -> doc_arg_type2(T); doc_return_types2(T, []) -> doc_arg_type2(T); doc_return_types2(void, Ps) -> diff --git a/lib/wx/api_gen/wx_extra/wxEvtHandler.erl b/lib/wx/api_gen/wx_extra/wxEvtHandler.erl index 85ebc093f5..17e10fb306 100644 --- a/lib/wx/api_gen/wx_extra/wxEvtHandler.erl +++ b/lib/wx/api_gen/wx_extra/wxEvtHandler.erl @@ -33,7 +33,7 @@ -type wxEvtHandler() :: wx:wx_object(). %% @doc Equivalent to {@link connect/3. connect(This, EventType, [])} --spec connect(This::wxEvtHandler(), EventType::wxEventType()) -> ok. +-spec connect(This::wxEvtHandler(), EventType::wxEventType()) -> 'ok'. connect(This, EventType) -> connect(This, EventType, []). @@ -55,9 +55,9 @@ connect(This, EventType) -> %% to process the event. Default not specfied i.e. a message will %% be delivered to the process calling this function. %% {userData, term()} An erlang term that will be sent with the event. Default: []. --spec connect(This::wxEvtHandler(), EventType::wxEventType(), [Option]) -> ok when - Option :: {id, integer()} | {lastId, integer()} | {skip, boolean()} | - callback | {callback, function()} | {userData, term()}. +-spec connect(This::wxEvtHandler(), EventType::wxEventType(), [Option]) -> 'ok' when + Option :: {'id', integer()} | {'lastId', integer()} | {'skip', boolean()} | + 'callback' | {'callback', function()} | {'userData', term()}. connect(This=#wx_ref{type=ThisT}, EventType, Options) -> EvH = parse_opts(Options, #evh{et=EventType}), ?CLASS(ThisT,wxEvtHandler), @@ -115,7 +115,7 @@ disconnect(This=#wx_ref{type=ThisT,ref=_ThisRef}, EventType) when is_atom(EventT %% EventType may be the atom 'null' to match any eventtype. %% Notice that the options skip and userdata is not used to match the eventhandler. -spec disconnect(This::wxEvtHandler(), EventType::wxEventType(), [Option]) -> boolean() when - Option :: {id, integer()} | {lastId, integer()} | {callback, function()}. + Option :: {'id', integer()} | {'lastId', integer()} | {'callback', function()}. disconnect(This=#wx_ref{type=ThisT,ref=_ThisRef}, EventType, Opts) -> ?CLASS(ThisT,wxEvtHandler), EvH = parse_opts(Opts, #evh{et=EventType}), diff --git a/lib/wx/api_gen/wx_gen_cpp.erl b/lib/wx/api_gen/wx_gen_cpp.erl index 55c179142d..84d3990786 100644 --- a/lib/wx/api_gen/wx_gen_cpp.erl +++ b/lib/wx/api_gen/wx_gen_cpp.erl @@ -210,7 +210,7 @@ gen_funcs(Defs) -> w(" void *This = getPtr(bp,memenv);~n"), w(" wxeRefData *refd = getRefData(This);~n"), w(" if(This && refd) {~n"), - w(" if(recurse_level > 1 && refd->type != 4) {~n"), + w(" if(recurse_level > 1 && refd->type != 8) {~n"), w(" delayed_delete->Append(Ecmd.Save(op));~n"), w(" } else {~n"), w(" delete_object(This, refd);~n"), @@ -255,7 +255,21 @@ gen_funcs(Defs) -> ], w("bool WxeApp::delete_object(void *ptr, wxeRefData *refd) {~n", []), + w(" if(wxe_debug) {\n" + " wxString msg;\n" + " const wxChar *class_info = wxT(\"unknown\");\n" + " if(refd->type < 10) {\n" + " wxClassInfo *cinfo = ((wxObject *)ptr)->GetClassInfo();\n" + " class_info = cinfo->GetClassName();\n" + " }\n" + " msg.Printf(wxT(\"Deleting {wx_ref, %d, %s} at %p \"), refd->ref, class_info, ptr);\n" + " send_msg(\"debug\", &msg);\n" + " };\n"), + w(" switch(refd->type) {~n", []), + w("#if wxUSE_GRAPHICS_CONTEXT~n", []), + w(" case 4: delete (wxGraphicsObject *) ptr; break;~n", []), + w("#endif~n", []), Case = fun(C=#class{name=Class, id=Id, abstract=IsAbs, parent=P}) when P /= "static" -> UglyWorkaround = lists:member(Class, UglySkipList), HaveVirtual = virtual_dest(C), @@ -761,7 +775,7 @@ call_wx(_N,{constructor,_},#type{base={class,RClass}},Ps) -> end; false -> case is_dc(RClass) of - true -> 4; + true -> 8; false -> case hd(reverse(wx_gen_erl:parents(RClass))) of root -> Id; @@ -819,19 +833,19 @@ return_res1(#type{name=Type,base={class,_},single=list,ref=reference}) -> return_res1(#type{name=Type,base={comp,_,_},single=array,by_val=true}) -> {Type ++ " Result = ", ""}; return_res1(#type{name=Type,single=true,by_val=true, base={class, _}}) -> - %% Temporary memory leak !!!!!! - case {need_copy_constr(Type),Type} of - {true, _} -> ok; - {_, "wxGraphics" ++ _} -> ok; - _ -> - io:format("~s::~s Building return value of temp ~s~n", - [get(current_class),get(current_func),Type]) - end, - case need_copy_constr(Type) of - true -> + case {need_copy_constr(Type), Type} of + {true, _} -> {Type ++ " * Result = new E" ++ Type ++ "(", "); newPtr((void *) Result," ++ "3, memenv);"}; - false -> + {false, "wxGraphics" ++ _} -> + %% {"wxGraphicsObject * Result = new wxGraphicsObject(", "); newPtr((void *) Result," + %% ++ "3, memenv);"}; + {Type ++ " * Result = new " ++ Type ++ "(", "); newPtr((void *) Result," + ++ "4, memenv);"}; + {false, _} -> + %% Temporary memory leak !!!!!! + io:format("~s::~s Building return value of temp ~s~n", + [get(current_class),get(current_func),Type]), {Type ++ " * Result = new " ++ Type ++ "(", "); newPtr((void *) Result," ++ "3, memenv);"} end; diff --git a/lib/wx/api_gen/wx_gen_erl.erl b/lib/wx/api_gen/wx_gen_erl.erl index 2e14fd272d..794de25002 100644 --- a/lib/wx/api_gen/wx_gen_erl.erl +++ b/lib/wx/api_gen/wx_gen_erl.erl @@ -379,7 +379,7 @@ gen_dest(#class{name=CName,abstract=Abs}, Ms) -> gen_dest2(Class, Id) -> w("%% @doc Destroys this object, do not use object again~n", []), - w("-spec destroy(This::~s()) -> ok.~n", [Class]), + w("-spec destroy(This::~s()) -> 'ok'.~n", [Class]), w("destroy(Obj=#wx_ref{type=Type}) ->~n", []), w(" ?CLASS(Type,~s),~n",[Class]), case Id of @@ -482,7 +482,7 @@ arg_type_test(#param{name=Name0,in=In,type=#type{base={class,T},single=true},def arg_type_test(#param{name=Name0,in=In,type=#type{base={class,T}}, def=none},EOS,Acc) when In =/= false -> Name = erl_arg_name(Name0), - w(" [?CLASS(~sT,~s) || #wx_ref{type=~sT} <- ~s],~s", [Name,T,Name,Name,EOS]), + w(" _ = [?CLASS(~sT,~s) || #wx_ref{type=~sT} <- ~s],~s", [Name,T,Name,Name,EOS]), Acc; arg_type_test(#param{name=Name0,def=none,in=In, type={merged, @@ -770,7 +770,7 @@ write_spec(Args, Optional, {complex, Res}, Eol) -> optional_type(Opts, Eol) -> "Option :: " ++ args(fun optional_type2/1, Eol++"\t\t | ", Opts). optional_type2(#param{name=Name, def=_Def, type=T}) -> - "{" ++ erl_option_name(Name) ++ ", " ++ doc_arg_type2(T) ++ "}". %% %% Default: " ++ Def. + "{'" ++ erl_option_name(Name) ++ "', " ++ doc_arg_type2(T) ++ "}". %% %% Default: " ++ Def. doc_link("utils", Func) -> w("%% @doc See <a href=\"http://www.wxwidgets.org/manuals/2.8.12/wx_miscellany.html#~s\">" @@ -861,7 +861,7 @@ doc_arg_type3(T, _) -> ?error({unknown_type,T}). doc_return_types(T, Ps) -> doc_return_types2(T, [P || P=#param{in=In} <- Ps,In =/= true]). -doc_return_types2(void, []) -> {simple, "ok"}; +doc_return_types2(void, []) -> {simple, "'ok'"}; doc_return_types2(void, [#param{type=T}]) -> {simple, doc_arg_type2(T, out)}; doc_return_types2(T, []) -> {simple, doc_arg_type2(T, out)}; doc_return_types2(void, Ps) when length(Ps) < 4 -> @@ -1220,7 +1220,7 @@ gen_event_recs() -> build_event_rec(Class=#class{name=Name, event=Evs}) -> EvTypes = [event_type_name(Ev) || Ev <- Evs], - Str = args(fun(Ev) -> Ev end, " | ", EvTypes), + Str = args(fun(Ev) -> "'" ++ Ev ++ "'" end, " | ", EvTypes), Attr = filter_attrs(Class), Rec = event_rec_name(Name), %%GetName = fun(#param{name=N}) ->event_attr_name(N) end, diff --git a/lib/wx/c_src/gen/wxe_funcs.cpp b/lib/wx/c_src/gen/wxe_funcs.cpp index 942baf7c7f..4243d8a35a 100644 --- a/lib/wx/c_src/gen/wxe_funcs.cpp +++ b/lib/wx/c_src/gen/wxe_funcs.cpp @@ -51,7 +51,7 @@ void WxeApp::wxe_dispatch(wxeCommand& Ecmd) void *This = getPtr(bp,memenv); wxeRefData *refd = getRefData(This); if(This && refd) { - if(recurse_level > 1 && refd->type != 4) { + if(recurse_level > 1 && refd->type != 8) { delayed_delete->Append(Ecmd.Save(op)); } else { delete_object(This, refd); @@ -5889,27 +5889,27 @@ case wxMirrorDC_new: { // wxMirrorDC::wxMirrorDC wxDC *dc = (wxDC *) getPtr(bp,memenv); bp += 4; bool * mirror = (bool *) bp; bp += 4; wxMirrorDC * Result = new EwxMirrorDC(*dc,*mirror); - newPtr((void *) Result, 4, memenv); + newPtr((void *) Result, 8, memenv); rt.addRef(getRef((void *)Result,memenv), "wxMirrorDC"); break; } case wxScreenDC_new: { // wxScreenDC::wxScreenDC wxScreenDC * Result = new EwxScreenDC(); - newPtr((void *) Result, 4, memenv); + newPtr((void *) Result, 8, memenv); rt.addRef(getRef((void *)Result,memenv), "wxScreenDC"); break; } #if wxUSE_POSTSCRIPT case wxPostScriptDC_new_0: { // wxPostScriptDC::wxPostScriptDC wxPostScriptDC * Result = new EwxPostScriptDC(); - newPtr((void *) Result, 4, memenv); + newPtr((void *) Result, 8, memenv); rt.addRef(getRef((void *)Result,memenv), "wxPostScriptDC"); break; } case wxPostScriptDC_new_1: { // wxPostScriptDC::wxPostScriptDC wxPrintData *printData = (wxPrintData *) getPtr(bp,memenv); bp += 4; wxPostScriptDC * Result = new EwxPostScriptDC(*printData); - newPtr((void *) Result, 4, memenv); + newPtr((void *) Result, 8, memenv); rt.addRef(getRef((void *)Result,memenv), "wxPostScriptDC"); break; } @@ -5931,7 +5931,7 @@ case wxPostScriptDC_GetResolution: { // wxPostScriptDC::GetResolution #if !wxCHECK_VERSION(2,9,0) case wxWindowDC_new_0: { // wxWindowDC::wxWindowDC wxWindowDC * Result = new EwxWindowDC(); - newPtr((void *) Result, 4, memenv); + newPtr((void *) Result, 8, memenv); rt.addRef(getRef((void *)Result,memenv), "wxWindowDC"); break; } @@ -5939,14 +5939,14 @@ case wxWindowDC_new_0: { // wxWindowDC::wxWindowDC case wxWindowDC_new_1: { // wxWindowDC::wxWindowDC wxWindow *win = (wxWindow *) getPtr(bp,memenv); bp += 4; wxWindowDC * Result = new EwxWindowDC(win); - newPtr((void *) Result, 4, memenv); + newPtr((void *) Result, 8, memenv); rt.addRef(getRef((void *)Result,memenv), "wxWindowDC"); break; } #if !wxCHECK_VERSION(2,9,0) case wxClientDC_new_0: { // wxClientDC::wxClientDC wxClientDC * Result = new EwxClientDC(); - newPtr((void *) Result, 4, memenv); + newPtr((void *) Result, 8, memenv); rt.addRef(getRef((void *)Result,memenv), "wxClientDC"); break; } @@ -5954,14 +5954,14 @@ case wxClientDC_new_0: { // wxClientDC::wxClientDC case wxClientDC_new_1: { // wxClientDC::wxClientDC wxWindow *win = (wxWindow *) getPtr(bp,memenv); bp += 4; wxClientDC * Result = new EwxClientDC(win); - newPtr((void *) Result, 4, memenv); + newPtr((void *) Result, 8, memenv); rt.addRef(getRef((void *)Result,memenv), "wxClientDC"); break; } #if !wxCHECK_VERSION(2,9,0) case wxPaintDC_new_0: { // wxPaintDC::wxPaintDC wxPaintDC * Result = new EwxPaintDC(); - newPtr((void *) Result, 4, memenv); + newPtr((void *) Result, 8, memenv); rt.addRef(getRef((void *)Result,memenv), "wxPaintDC"); break; } @@ -5969,27 +5969,27 @@ case wxPaintDC_new_0: { // wxPaintDC::wxPaintDC case wxPaintDC_new_1: { // wxPaintDC::wxPaintDC wxWindow *win = (wxWindow *) getPtr(bp,memenv); bp += 4; wxPaintDC * Result = new EwxPaintDC(win); - newPtr((void *) Result, 4, memenv); + newPtr((void *) Result, 8, memenv); rt.addRef(getRef((void *)Result,memenv), "wxPaintDC"); break; } case wxMemoryDC_new_1_0: { // wxMemoryDC::wxMemoryDC wxBitmap *bitmap = (wxBitmap *) getPtr(bp,memenv); bp += 4; wxMemoryDC * Result = new EwxMemoryDC(*bitmap); - newPtr((void *) Result, 4, memenv); + newPtr((void *) Result, 8, memenv); rt.addRef(getRef((void *)Result,memenv), "wxMemoryDC"); break; } case wxMemoryDC_new_1_1: { // wxMemoryDC::wxMemoryDC wxDC * dc = (wxDC *) getPtr(bp,memenv); bp += 4; wxMemoryDC * Result = new EwxMemoryDC(dc); - newPtr((void *) Result, 4, memenv); + newPtr((void *) Result, 8, memenv); rt.addRef(getRef((void *)Result,memenv), "wxMemoryDC"); break; } case wxMemoryDC_new_0: { // wxMemoryDC::wxMemoryDC wxMemoryDC * Result = new EwxMemoryDC(); - newPtr((void *) Result, 4, memenv); + newPtr((void *) Result, 8, memenv); rt.addRef(getRef((void *)Result,memenv), "wxMemoryDC"); break; } @@ -6009,7 +6009,7 @@ case wxMemoryDC_SelectObjectAsSource: { // wxMemoryDC::SelectObjectAsSource } case wxBufferedDC_new_0: { // wxBufferedDC::wxBufferedDC wxBufferedDC * Result = new EwxBufferedDC(); - newPtr((void *) Result, 4, memenv); + newPtr((void *) Result, 8, memenv); rt.addRef(getRef((void *)Result,memenv), "wxBufferedDC"); break; } @@ -6027,7 +6027,7 @@ buffer = (wxBitmap *) getPtr(bp,memenv); bp += 4; } break; }}; wxBufferedDC * Result = new EwxBufferedDC(dc,*buffer,style); - newPtr((void *) Result, 4, memenv); + newPtr((void *) Result, 8, memenv); rt.addRef(getRef((void *)Result,memenv), "wxBufferedDC"); break; } @@ -6044,7 +6044,7 @@ case wxBufferedDC_new_3: { // wxBufferedDC::wxBufferedDC } break; }}; wxBufferedDC * Result = new EwxBufferedDC(dc,area,style); - newPtr((void *) Result, 4, memenv); + newPtr((void *) Result, 8, memenv); rt.addRef(getRef((void *)Result,memenv), "wxBufferedDC"); break; } @@ -6091,7 +6091,7 @@ case wxBufferedPaintDC_new_3: { // wxBufferedPaintDC::wxBufferedPaintDC } break; }}; wxBufferedPaintDC * Result = new EwxBufferedPaintDC(window,*buffer,style); - newPtr((void *) Result, 4, memenv); + newPtr((void *) Result, 8, memenv); rt.addRef(getRef((void *)Result,memenv), "wxBufferedPaintDC"); break; } @@ -6105,7 +6105,7 @@ case wxBufferedPaintDC_new_2: { // wxBufferedPaintDC::wxBufferedPaintDC } break; }}; wxBufferedPaintDC * Result = new EwxBufferedPaintDC(window,style); - newPtr((void *) Result, 4, memenv); + newPtr((void *) Result, 8, memenv); rt.addRef(getRef((void *)Result,memenv), "wxBufferedPaintDC"); break; } @@ -6147,7 +6147,7 @@ case wxGraphicsContext_CreatePen: { // wxGraphicsContext::CreatePen wxGraphicsContext *This = (wxGraphicsContext *) 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,3, memenv);; + wxGraphicsPen * Result = new wxGraphicsPen(This->CreatePen(*pen)); newPtr((void *) Result,4, memenv);; rt.addRef(getRef((void *)Result,memenv), "wxGraphicsPen"); break; } @@ -6155,7 +6155,7 @@ case wxGraphicsContext_CreateBrush: { // wxGraphicsContext::CreateBrush wxGraphicsContext *This = (wxGraphicsContext *) getPtr(bp,memenv); bp += 4; wxBrush *brush = (wxBrush *) getPtr(bp,memenv); bp += 4; if(!This) throw wxe_badarg(0); - wxGraphicsBrush * Result = new wxGraphicsBrush(This->CreateBrush(*brush)); newPtr((void *) Result,3, memenv);; + wxGraphicsBrush * Result = new wxGraphicsBrush(This->CreateBrush(*brush)); newPtr((void *) Result,4, memenv);; rt.addRef(getRef((void *)Result,memenv), "wxGraphicsBrush"); break; } @@ -6179,7 +6179,7 @@ case wxGraphicsContext_CreateRadialGradientBrush: { // wxGraphicsContext::Create int * cColorA = (int *) bp; bp += 4; wxColour cColor = wxColour(*cColorR,*cColorG,*cColorB,*cColorA); if(!This) throw wxe_badarg(0); - wxGraphicsBrush * Result = new wxGraphicsBrush(This->CreateRadialGradientBrush(*xo,*yo,*xc,*yc,*radius,oColor,cColor)); newPtr((void *) Result,3, memenv);; + wxGraphicsBrush * Result = new wxGraphicsBrush(This->CreateRadialGradientBrush(*xo,*yo,*xc,*yc,*radius,oColor,cColor)); newPtr((void *) Result,4, memenv);; rt.addRef(getRef((void *)Result,memenv), "wxGraphicsBrush"); break; } @@ -6203,7 +6203,7 @@ case wxGraphicsContext_CreateLinearGradientBrush: { // wxGraphicsContext::Create int * c2A = (int *) bp; bp += 4; wxColour c2 = wxColour(*c2R,*c2G,*c2B,*c2A); if(!This) throw wxe_badarg(0); - wxGraphicsBrush * Result = new wxGraphicsBrush(This->CreateLinearGradientBrush(*x1,*y1,*x2,*y2,c1,c2)); newPtr((void *) Result,3, memenv);; + wxGraphicsBrush * Result = new wxGraphicsBrush(This->CreateLinearGradientBrush(*x1,*y1,*x2,*y2,c1,c2)); newPtr((void *) Result,4, memenv);; rt.addRef(getRef((void *)Result,memenv), "wxGraphicsBrush"); break; } @@ -6223,7 +6223,7 @@ case wxGraphicsContext_CreateFont: { // wxGraphicsContext::CreateFont } break; }}; if(!This) throw wxe_badarg(0); - wxGraphicsFont * Result = new wxGraphicsFont(This->CreateFont(*font,col)); newPtr((void *) Result,3, memenv);; + wxGraphicsFont * Result = new wxGraphicsFont(This->CreateFont(*font,col)); newPtr((void *) Result,4, memenv);; rt.addRef(getRef((void *)Result,memenv), "wxGraphicsFont"); break; } @@ -6263,14 +6263,14 @@ case wxGraphicsContext_CreateMatrix: { // wxGraphicsContext::CreateMatrix } break; }}; if(!This) throw wxe_badarg(0); - wxGraphicsMatrix * Result = new wxGraphicsMatrix(This->CreateMatrix(a,b,c,d,tx,ty)); newPtr((void *) Result,3, memenv);; + wxGraphicsMatrix * Result = new wxGraphicsMatrix(This->CreateMatrix(a,b,c,d,tx,ty)); newPtr((void *) Result,4, memenv);; rt.addRef(getRef((void *)Result,memenv), "wxGraphicsMatrix"); break; } case wxGraphicsContext_CreatePath: { // wxGraphicsContext::CreatePath wxGraphicsContext *This = (wxGraphicsContext *) getPtr(bp,memenv); bp += 4; if(!This) throw wxe_badarg(0); - wxGraphicsPath * Result = new wxGraphicsPath(This->CreatePath()); newPtr((void *) Result,3, memenv);; + wxGraphicsPath * Result = new wxGraphicsPath(This->CreatePath()); newPtr((void *) Result,4, memenv);; rt.addRef(getRef((void *)Result,memenv), "wxGraphicsPath"); break; } @@ -6514,7 +6514,7 @@ case wxGraphicsContext_Translate: { // wxGraphicsContext::Translate case wxGraphicsContext_GetTransform: { // wxGraphicsContext::GetTransform wxGraphicsContext *This = (wxGraphicsContext *) getPtr(bp,memenv); bp += 4; if(!This) throw wxe_badarg(0); - wxGraphicsMatrix * Result = new wxGraphicsMatrix(This->GetTransform()); newPtr((void *) Result,3, memenv);; + wxGraphicsMatrix * Result = new wxGraphicsMatrix(This->GetTransform()); newPtr((void *) Result,4, memenv);; rt.addRef(getRef((void *)Result,memenv), "wxGraphicsMatrix"); break; } @@ -7000,7 +7000,7 @@ case wxGraphicsRenderer_CreatePen: { // wxGraphicsRenderer::CreatePen 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,3, memenv);; + wxGraphicsPen * Result = new wxGraphicsPen(This->CreatePen(*pen)); newPtr((void *) Result,4, memenv);; rt.addRef(getRef((void *)Result,memenv), "wxGraphicsPen"); break; } @@ -7008,7 +7008,7 @@ case wxGraphicsRenderer_CreateBrush: { // wxGraphicsRenderer::CreateBrush wxGraphicsRenderer *This = (wxGraphicsRenderer *) getPtr(bp,memenv); bp += 4; wxBrush *brush = (wxBrush *) getPtr(bp,memenv); bp += 4; if(!This) throw wxe_badarg(0); - wxGraphicsBrush * Result = new wxGraphicsBrush(This->CreateBrush(*brush)); newPtr((void *) Result,3, memenv);; + wxGraphicsBrush * Result = new wxGraphicsBrush(This->CreateBrush(*brush)); newPtr((void *) Result,4, memenv);; rt.addRef(getRef((void *)Result,memenv), "wxGraphicsBrush"); break; } @@ -7031,7 +7031,7 @@ case wxGraphicsRenderer_CreateLinearGradientBrush: { // wxGraphicsRenderer::Crea int * c2A = (int *) bp; bp += 4; wxColour c2 = wxColour(*c2R,*c2G,*c2B,*c2A); if(!This) throw wxe_badarg(0); - wxGraphicsBrush * Result = new wxGraphicsBrush(This->CreateLinearGradientBrush(*x1,*y1,*x2,*y2,c1,c2)); newPtr((void *) Result,3, memenv);; + wxGraphicsBrush * Result = new wxGraphicsBrush(This->CreateLinearGradientBrush(*x1,*y1,*x2,*y2,c1,c2)); newPtr((void *) Result,4, memenv);; rt.addRef(getRef((void *)Result,memenv), "wxGraphicsBrush"); break; } @@ -7056,7 +7056,7 @@ case wxGraphicsRenderer_CreateRadialGradientBrush: { // wxGraphicsRenderer::Crea int * cColorA = (int *) bp; bp += 4; wxColour cColor = wxColour(*cColorR,*cColorG,*cColorB,*cColorA); if(!This) throw wxe_badarg(0); - wxGraphicsBrush * Result = new wxGraphicsBrush(This->CreateRadialGradientBrush(*xo,*yo,*xc,*yc,*radius,oColor,cColor)); newPtr((void *) Result,3, memenv);; + wxGraphicsBrush * Result = new wxGraphicsBrush(This->CreateRadialGradientBrush(*xo,*yo,*xc,*yc,*radius,oColor,cColor)); newPtr((void *) Result,4, memenv);; rt.addRef(getRef((void *)Result,memenv), "wxGraphicsBrush"); break; } @@ -7076,7 +7076,7 @@ case wxGraphicsRenderer_CreateFont: { // wxGraphicsRenderer::CreateFont } break; }}; if(!This) throw wxe_badarg(0); - wxGraphicsFont * Result = new wxGraphicsFont(This->CreateFont(*font,col)); newPtr((void *) Result,3, memenv);; + wxGraphicsFont * Result = new wxGraphicsFont(This->CreateFont(*font,col)); newPtr((void *) Result,4, memenv);; rt.addRef(getRef((void *)Result,memenv), "wxGraphicsFont"); break; } @@ -7116,14 +7116,14 @@ case wxGraphicsRenderer_CreateMatrix: { // wxGraphicsRenderer::CreateMatrix } break; }}; if(!This) throw wxe_badarg(0); - wxGraphicsMatrix * Result = new wxGraphicsMatrix(This->CreateMatrix(a,b,c,d,tx,ty)); newPtr((void *) Result,3, memenv);; + wxGraphicsMatrix * Result = new wxGraphicsMatrix(This->CreateMatrix(a,b,c,d,tx,ty)); newPtr((void *) Result,4, memenv);; rt.addRef(getRef((void *)Result,memenv), "wxGraphicsMatrix"); break; } case wxGraphicsRenderer_CreatePath: { // wxGraphicsRenderer::CreatePath wxGraphicsRenderer *This = (wxGraphicsRenderer *) getPtr(bp,memenv); bp += 4; if(!This) throw wxe_badarg(0); - wxGraphicsPath * Result = new wxGraphicsPath(This->CreatePath()); newPtr((void *) Result,3, memenv);; + wxGraphicsPath * Result = new wxGraphicsPath(This->CreatePath()); newPtr((void *) Result,4, memenv);; rt.addRef(getRef((void *)Result,memenv), "wxGraphicsPath"); break; } @@ -32071,7 +32071,20 @@ case wxDCOverlay_Clear: { // wxDCOverlay::Clear bool WxeApp::delete_object(void *ptr, wxeRefData *refd) { + if(wxe_debug) { + wxString msg; + const wxChar *class_info = wxT("unknown"); + if(refd->type < 10) { + wxClassInfo *cinfo = ((wxObject *)ptr)->GetClassInfo(); + class_info = cinfo->GetClassName(); + } + msg.Printf(wxT("Deleting {wx_ref, %d, %s} at %p "), refd->ref, class_info, ptr); + send_msg("debug", &msg); + }; switch(refd->type) { +#if wxUSE_GRAPHICS_CONTEXT + case 4: delete (wxGraphicsObject *) ptr; break; +#endif case 24: delete (wxGridCellBoolRenderer *) ptr; break; case 25: delete (wxGridCellBoolEditor *) ptr; break; case 26: delete (wxGridCellFloatRenderer *) ptr; break; diff --git a/lib/wx/c_src/wxe_impl.cpp b/lib/wx/c_src/wxe_impl.cpp index 175bcfce54..0d2da5d4a7 100644 --- a/lib/wx/c_src/wxe_impl.cpp +++ b/lib/wx/c_src/wxe_impl.cpp @@ -490,7 +490,7 @@ void WxeApp::destroyMemEnv(wxeMetaCommand& Ecmd) if(it != ptr2ref.end()) { wxeRefData *refd = it->second; if(refd->alloc_in_erl) { - if((refd->type == 4) && ((wxObject *)ptr)->IsKindOf(CLASSINFO(wxBufferedDC))) { + if((refd->type == 8) && ((wxObject *)ptr)->IsKindOf(CLASSINFO(wxBufferedDC))) { ((wxBufferedDC *)ptr)->m_dc = NULL; // Workaround } wxString msg; @@ -500,7 +500,7 @@ void WxeApp::destroyMemEnv(wxeMetaCommand& Ecmd) msg.Printf(wxT("Memory leak: {wx_ref, %d, %s}"), refd->ref, cinfo->GetClassName()); send_msg("error", &msg); - } else { + } else if(refd->type != 4) { cleanup_ref = delete_object(ptr, refd); } if(cleanup_ref) { @@ -562,7 +562,12 @@ int WxeApp::newPtr(void * ptr, int type, wxeMemEnv *memenv) { if(wxe_debug) { wxString msg; - msg.Printf(wxT("Creating {wx_ref, %d, unknown} at %p "), ref, ptr); + const wxChar *class_info = wxT("unknown"); + if(type < 10) { + wxClassInfo *cinfo = ((wxObject *)ptr)->GetClassInfo(); + class_info = cinfo->GetClassName(); + } + msg.Printf(wxT("Creating {wx_ref, %d, %s} at %p "), ref, class_info, ptr); send_msg("debug", &msg); } @@ -614,12 +619,6 @@ void WxeApp::clearPtr(void * ptr) { refd->memenv->ref2ptr[ref] = NULL; free.Append(ref); - if(wxe_debug) { - wxString msg; - msg.Printf(wxT("Deleting {wx_ref, %d, unknown} at %p "), ref, ptr); - send_msg("debug", &msg); - } - if(((int) refd->pid) != -1) { // Send terminate pid to owner wxeReturn rt = wxeReturn(WXE_DRV_PORT,refd->pid, false); diff --git a/lib/wx/c_src/wxe_memory.h b/lib/wx/c_src/wxe_memory.h index 455e9696d3..66c83e40c3 100644 --- a/lib/wx/c_src/wxe_memory.h +++ b/lib/wx/c_src/wxe_memory.h @@ -48,8 +48,9 @@ class wxeRefData { int type; // 0 = wxWindow subclasses, 1 = wxObject subclasses // 2 = wxDialog subclasses, 3 = allocated wxObjects but not returned from new - // 4 = wxObjects that should always be deleted directly (wxDC derivates) - // > 4 classes which lack virtual destr, or are supposed to be allocated on + // 4 = wxGraphicsObjects or it's subclasses that can no be overloaded + // 8 = wxObjects that should always be deleted directly (wxDC derivates) + // > 10 classes which lack virtual destr, or are supposed to be allocated on // the stack bool alloc_in_erl; wxeMemEnv *memenv; diff --git a/lib/wx/examples/demo/ex_graphicsContext.erl b/lib/wx/examples/demo/ex_graphicsContext.erl index d883ddfc5c..1193578037 100644 --- a/lib/wx/examples/demo/ex_graphicsContext.erl +++ b/lib/wx/examples/demo/ex_graphicsContext.erl @@ -135,6 +135,8 @@ draw(Win, Pen, Brush, Font) -> wxGraphicsContext:drawPath(Canvas, Path) end, wx:foreach(F, lists:seq(1,10)), + wxGraphicsObject:destroy(Path), + wxGraphicsObject:destroy(Canvas), ok catch _:{not_supported, _} -> Err = "wxGraphicsContext not available in this build of wxwidgets", diff --git a/lib/wx/include/wx.hrl b/lib/wx/include/wx.hrl index 44df57898a..af7cca7ed2 100644 --- a/lib/wx/include/wx.hrl +++ b/lib/wx/include/wx.hrl @@ -33,236 +33,192 @@ %% Here comes the definitions of all event records. %% they contain the event type and possible some extra information. --record(wxNavigationKey,{type :: wxNavigationKeyEventType(), %% Callback event: {@link wxNavigationKeyEvent} - flags :: integer(), - focus :: wxWindow:wxWindow()}). --type wxNavigationKeyEventType() :: navigation_key. --type wxNavigationKey() :: #wxNavigationKey{}. %% Callback event: {@link wxNavigationKeyEvent} +-record(wxInitDialog, {type :: wxInitDialogEventType()}). %% Callback event: {@link wxInitDialogEvent} +-type wxInitDialogEventType() :: 'init_dialog'. +-type wxInitDialog() :: #wxInitDialog{}. %% Callback event: {@link wxInitDialogEvent} --record(wxSash,{type :: wxSashEventType(), %% Callback event: {@link wxSashEvent} - edge :: wx:wx_enum(), - dragRect :: {X::integer(), Y::integer(), W::integer(), H::integer()}, - dragStatus :: wx:wx_enum()}). --type wxSashEventType() :: sash_dragged. --type wxSash() :: #wxSash{}. %% Callback event: {@link wxSashEvent} +-record(wxClose, {type :: wxCloseEventType()}). %% Callback event: {@link wxCloseEvent} +-type wxCloseEventType() :: 'close_window' | 'end_session' | 'query_end_session'. +-type wxClose() :: #wxClose{}. %% Callback event: {@link wxCloseEvent} --record(wxList,{type :: wxListEventType(), %% Callback event: {@link wxListEvent} - code :: integer(), - oldItemIndex :: integer(), - itemIndex :: integer(), - col :: integer(), - pointDrag :: {X::integer(), Y::integer()}}). --type wxListEventType() :: command_list_begin_drag | command_list_begin_rdrag | command_list_begin_label_edit | command_list_end_label_edit | command_list_delete_item | command_list_delete_all_items | command_list_key_down | command_list_insert_item | command_list_col_click | command_list_col_right_click | command_list_col_begin_drag | command_list_col_dragging | command_list_col_end_drag | command_list_item_selected | command_list_item_deselected | command_list_item_right_click | command_list_item_middle_click | command_list_item_activated | command_list_item_focused | command_list_cache_hint. --type wxList() :: #wxList{}. %% Callback event: {@link wxListEvent} +-record(wxStyledText,{type :: wxStyledTextEventType(), %% Callback event: {@link wxStyledTextEvent} + position :: integer(), + key :: integer(), + modifiers :: integer(), + modificationType :: integer(), + text :: unicode:chardata(), + length :: integer(), + linesAdded :: integer(), + line :: integer(), + foldLevelNow :: integer(), + foldLevelPrev :: integer(), + margin :: integer(), + message :: integer(), + wParam :: integer(), + lParam :: integer(), + listType :: integer(), + x :: integer(), + y :: integer(), + dragText :: unicode:chardata(), + dragAllowMove :: boolean(), + dragResult :: wx:wx_enum()}). +-type wxStyledTextEventType() :: 'stc_change' | 'stc_styleneeded' | 'stc_charadded' | 'stc_savepointreached' | 'stc_savepointleft' | 'stc_romodifyattempt' | 'stc_key' | 'stc_doubleclick' | 'stc_updateui' | 'stc_modified' | 'stc_macrorecord' | 'stc_marginclick' | 'stc_needshown' | 'stc_painted' | 'stc_userlistselection' | 'stc_uridropped' | 'stc_dwellstart' | 'stc_dwellend' | 'stc_start_drag' | 'stc_drag_over' | 'stc_do_drop' | 'stc_zoom' | 'stc_hotspot_click' | 'stc_hotspot_dclick' | 'stc_calltip_click' | 'stc_autocomp_selection'. +-type wxStyledText() :: #wxStyledText{}. %% Callback event: {@link wxStyledTextEvent} + +-record(wxFileDirPicker,{type :: wxFileDirPickerEventType(), %% Callback event: {@link wxFileDirPickerEvent} + path :: unicode:chardata()}). +-type wxFileDirPickerEventType() :: 'command_filepicker_changed' | 'command_dirpicker_changed'. +-type wxFileDirPicker() :: #wxFileDirPicker{}. %% Callback event: {@link wxFileDirPickerEvent} -record(wxNotebook,{type :: wxNotebookEventType(), %% Callback event: {@link wxNotebookEvent} nSel :: integer(), nOldSel :: integer()}). --type wxNotebookEventType() :: command_notebook_page_changed | command_notebook_page_changing. +-type wxNotebookEventType() :: 'command_notebook_page_changed' | 'command_notebook_page_changing'. -type wxNotebook() :: #wxNotebook{}. %% Callback event: {@link wxNotebookEvent} --record(wxDisplayChanged, {type :: wxDisplayChangedEventType()}). %% Callback event: {@link wxDisplayChangedEvent} --type wxDisplayChangedEventType() :: display_changed. --type wxDisplayChanged() :: #wxDisplayChanged{}. %% Callback event: {@link wxDisplayChangedEvent} - --record(wxErase,{type :: wxEraseEventType(), %% Callback event: {@link wxEraseEvent} - dc :: wxDC:wxDC()}). --type wxEraseEventType() :: erase_background. --type wxErase() :: #wxErase{}. %% Callback event: {@link wxEraseEvent} - --record(wxKey,{type :: wxKeyEventType(), %% Callback event: {@link wxKeyEvent} - x :: integer(), - y :: integer(), - keyCode :: integer(), - controlDown :: boolean(), - shiftDown :: boolean(), - altDown :: boolean(), - metaDown :: boolean(), - scanCode :: boolean(), - uniChar :: integer(), - rawCode :: integer(), - rawFlags :: integer()}). --type wxKeyEventType() :: char | char_hook | key_down | key_up. --type wxKey() :: #wxKey{}. %% Callback event: {@link wxKeyEvent} - --record(wxWindowDestroy, {type :: wxWindowDestroyEventType()}). %% Callback event: {@link wxWindowDestroyEvent} --type wxWindowDestroyEventType() :: destroy. --type wxWindowDestroy() :: #wxWindowDestroy{}. %% Callback event: {@link wxWindowDestroyEvent} +-record(wxIdle, {type :: wxIdleEventType()}). %% Callback event: {@link wxIdleEvent} +-type wxIdleEventType() :: 'idle'. +-type wxIdle() :: #wxIdle{}. %% Callback event: {@link wxIdleEvent} --record(wxCalendar,{type :: wxCalendarEventType(), %% Callback event: {@link wxCalendarEvent} - wday :: wx:wx_enum(), - date :: wx:wx_datetime()}). --type wxCalendarEventType() :: calendar_sel_changed | calendar_day_changed | calendar_month_changed | calendar_year_changed | calendar_doubleclicked | calendar_weekday_clicked. --type wxCalendar() :: #wxCalendar{}. %% Callback event: {@link wxCalendarEvent} +-record(wxColourPicker,{type :: wxColourPickerEventType(), %% Callback event: {@link wxColourPickerEvent} + colour :: wx:wx_colour()}). +-type wxColourPickerEventType() :: 'command_colourpicker_changed'. +-type wxColourPicker() :: #wxColourPicker{}. %% Callback event: {@link wxColourPickerEvent} -record(wxSplitter, {type :: wxSplitterEventType()}). %% Callback event: {@link wxSplitterEvent} --type wxSplitterEventType() :: command_splitter_sash_pos_changed | command_splitter_sash_pos_changing | command_splitter_doubleclicked | command_splitter_unsplit. +-type wxSplitterEventType() :: 'command_splitter_sash_pos_changed' | 'command_splitter_sash_pos_changing' | 'command_splitter_doubleclicked' | 'command_splitter_unsplit'. -type wxSplitter() :: #wxSplitter{}. %% Callback event: {@link wxSplitterEvent} --record(wxScroll,{type :: wxScrollEventType(), %% Callback event: {@link wxScrollEvent} - commandInt :: integer(), - extraLong :: integer()}). --type wxScrollEventType() :: scroll_top | scroll_bottom | scroll_lineup | scroll_linedown | scroll_pageup | scroll_pagedown | scroll_thumbtrack | scroll_thumbrelease | scroll_changed. --type wxScroll() :: #wxScroll{}. %% Callback event: {@link wxScrollEvent} - --record(wxMenu,{type :: wxMenuEventType(), %% Callback event: {@link wxMenuEvent} - menuId :: integer(), - menu :: wxMenu:wxMenu()}). --type wxMenuEventType() :: menu_open | menu_close | menu_highlight. --type wxMenu() :: #wxMenu{}. %% Callback event: {@link wxMenuEvent} - --record(wxContextMenu,{type :: wxContextMenuEventType(), %% Callback event: {@link wxContextMenuEvent} - pos :: {X::integer(), Y::integer()}}). --type wxContextMenuEventType() :: context_menu. --type wxContextMenu() :: #wxContextMenu{}. %% Callback event: {@link wxContextMenuEvent} - --record(wxShow,{type :: wxShowEventType(), %% Callback event: {@link wxShowEvent} - show :: boolean()}). --type wxShowEventType() :: show. --type wxShow() :: #wxShow{}. %% Callback event: {@link wxShowEvent} +-record(wxSash,{type :: wxSashEventType(), %% Callback event: {@link wxSashEvent} + edge :: wx:wx_enum(), + dragRect :: {X::integer(), Y::integer(), W::integer(), H::integer()}, + dragStatus :: wx:wx_enum()}). +-type wxSashEventType() :: 'sash_dragged'. +-type wxSash() :: #wxSash{}. %% Callback event: {@link wxSashEvent} --record(wxSpin,{type :: wxSpinEventType(), %% Callback event: {@link wxSpinEvent} - commandInt :: integer()}). --type wxSpinEventType() :: command_spinctrl_updated | spin_up | spin_down | spin. --type wxSpin() :: #wxSpin{}. %% Callback event: {@link wxSpinEvent} +-record(wxHelp, {type :: wxHelpEventType()}). %% Callback event: {@link wxHelpEvent} +-type wxHelpEventType() :: 'help' | 'detailed_help'. +-type wxHelp() :: #wxHelp{}. %% Callback event: {@link wxHelpEvent} --record(wxSetCursor,{type :: wxSetCursorEventType(), %% Callback event: {@link wxSetCursorEvent} - x :: integer(), - y :: integer(), - cursor :: wxCursor:wxCursor()}). --type wxSetCursorEventType() :: set_cursor. --type wxSetCursor() :: #wxSetCursor{}. %% Callback event: {@link wxSetCursorEvent} +-record(wxDisplayChanged, {type :: wxDisplayChangedEventType()}). %% Callback event: {@link wxDisplayChangedEvent} +-type wxDisplayChangedEventType() :: 'display_changed'. +-type wxDisplayChanged() :: #wxDisplayChanged{}. %% Callback event: {@link wxDisplayChangedEvent} -record(wxMouseCaptureLost, {type :: wxMouseCaptureLostEventType()}). %% Callback event: {@link wxMouseCaptureLostEvent} --type wxMouseCaptureLostEventType() :: mouse_capture_lost. +-type wxMouseCaptureLostEventType() :: 'mouse_capture_lost'. -type wxMouseCaptureLost() :: #wxMouseCaptureLost{}. %% Callback event: {@link wxMouseCaptureLostEvent} -record(wxFontPicker,{type :: wxFontPickerEventType(), %% Callback event: {@link wxFontPickerEvent} font :: wxFont:wxFont()}). --type wxFontPickerEventType() :: command_fontpicker_changed. +-type wxFontPickerEventType() :: 'command_fontpicker_changed'. -type wxFontPicker() :: #wxFontPicker{}. %% Callback event: {@link wxFontPickerEvent} --record(wxScrollWin,{type :: wxScrollWinEventType(), %% Callback event: {@link wxScrollWinEvent} +-record(wxFocus,{type :: wxFocusEventType(), %% Callback event: {@link wxFocusEvent} + win :: wxWindow:wxWindow()}). +-type wxFocusEventType() :: 'set_focus' | 'kill_focus'. +-type wxFocus() :: #wxFocus{}. %% Callback event: {@link wxFocusEvent} + +-record(wxPaletteChanged, {type :: wxPaletteChangedEventType()}). %% Callback event: {@link wxPaletteChangedEvent} +-type wxPaletteChangedEventType() :: 'palette_changed'. +-type wxPaletteChanged() :: #wxPaletteChanged{}. %% Callback event: {@link wxPaletteChangedEvent} + +-record(wxScroll,{type :: wxScrollEventType(), %% Callback event: {@link wxScrollEvent} commandInt :: integer(), extraLong :: integer()}). --type wxScrollWinEventType() :: scrollwin_top | scrollwin_bottom | scrollwin_lineup | scrollwin_linedown | scrollwin_pageup | scrollwin_pagedown | scrollwin_thumbtrack | scrollwin_thumbrelease. --type wxScrollWin() :: #wxScrollWin{}. %% Callback event: {@link wxScrollWinEvent} - --record(wxPaint, {type :: wxPaintEventType()}). %% Callback event: {@link wxPaintEvent} --type wxPaintEventType() :: paint. --type wxPaint() :: #wxPaint{}. %% Callback event: {@link wxPaintEvent} +-type wxScrollEventType() :: 'scroll_top' | 'scroll_bottom' | 'scroll_lineup' | 'scroll_linedown' | 'scroll_pageup' | 'scroll_pagedown' | 'scroll_thumbtrack' | 'scroll_thumbrelease' | 'scroll_changed'. +-type wxScroll() :: #wxScroll{}. %% Callback event: {@link wxScrollEvent} -record(wxChildFocus, {type :: wxChildFocusEventType()}). %% Callback event: {@link wxChildFocusEvent} --type wxChildFocusEventType() :: child_focus. +-type wxChildFocusEventType() :: 'child_focus'. -type wxChildFocus() :: #wxChildFocus{}. %% Callback event: {@link wxChildFocusEvent} +-record(wxAuiNotebook,{type :: wxAuiNotebookEventType(), %% Callback event: {@link wxAuiNotebookEvent} + old_selection :: integer(), + selection :: integer(), + drag_source :: wxAuiNotebook:wxAuiNotebook()}). +-type wxAuiNotebookEventType() :: 'command_auinotebook_page_close' | 'command_auinotebook_page_changed' | 'command_auinotebook_page_changing' | 'command_auinotebook_button' | 'command_auinotebook_begin_drag' | 'command_auinotebook_end_drag' | 'command_auinotebook_drag_motion' | 'command_auinotebook_allow_dnd' | 'command_auinotebook_tab_middle_down' | 'command_auinotebook_tab_middle_up' | 'command_auinotebook_tab_right_down' | 'command_auinotebook_tab_right_up' | 'command_auinotebook_page_closed' | 'command_auinotebook_drag_done' | 'command_auinotebook_bg_dclick'. +-type wxAuiNotebook() :: #wxAuiNotebook{}. %% Callback event: {@link wxAuiNotebookEvent} + +-record(wxSize,{type :: wxSizeEventType(), %% Callback event: {@link wxSizeEvent} + size :: {W::integer(), H::integer()}, + rect :: {X::integer(), Y::integer(), W::integer(), H::integer()}}). +-type wxSizeEventType() :: 'size'. +-type wxSize() :: #wxSize{}. %% Callback event: {@link wxSizeEvent} + +-record(wxCommand,{type :: wxCommandEventType(), %% Callback event: {@link wxCommandEvent} + cmdString :: unicode:chardata(), + commandInt :: integer(), + extraLong :: integer()}). +-type wxCommandEventType() :: 'command_button_clicked' | 'command_checkbox_clicked' | 'command_choice_selected' | 'command_listbox_selected' | 'command_listbox_doubleclicked' | 'command_text_updated' | 'command_text_enter' | 'command_menu_selected' | 'command_slider_updated' | 'command_radiobox_selected' | 'command_radiobutton_selected' | 'command_scrollbar_updated' | 'command_vlbox_selected' | 'command_combobox_selected' | 'command_tool_rclicked' | 'command_tool_enter' | 'command_checklistbox_toggled' | 'command_togglebutton_clicked' | 'command_left_click' | 'command_left_dclick' | 'command_right_click' | 'command_set_focus' | 'command_kill_focus' | 'command_enter'. +-type wxCommand() :: #wxCommand{}. %% Callback event: {@link wxCommandEvent} + -record(wxMaximize, {type :: wxMaximizeEventType()}). %% Callback event: {@link wxMaximizeEvent} --type wxMaximizeEventType() :: maximize. +-type wxMaximizeEventType() :: 'maximize'. -type wxMaximize() :: #wxMaximize{}. %% Callback event: {@link wxMaximizeEvent} --record(wxFileDirPicker,{type :: wxFileDirPickerEventType(), %% Callback event: {@link wxFileDirPickerEvent} - path :: unicode:chardata()}). --type wxFileDirPickerEventType() :: command_filepicker_changed | command_dirpicker_changed. --type wxFileDirPicker() :: #wxFileDirPicker{}. %% Callback event: {@link wxFileDirPickerEvent} +-record(wxSpin,{type :: wxSpinEventType(), %% Callback event: {@link wxSpinEvent} + commandInt :: integer()}). +-type wxSpinEventType() :: 'command_spinctrl_updated' | 'spin_up' | 'spin_down' | 'spin'. +-type wxSpin() :: #wxSpin{}. %% Callback event: {@link wxSpinEvent} --record(wxFocus,{type :: wxFocusEventType(), %% Callback event: {@link wxFocusEvent} - win :: wxWindow:wxWindow()}). --type wxFocusEventType() :: set_focus | kill_focus. --type wxFocus() :: #wxFocus{}. %% Callback event: {@link wxFocusEvent} +-record(wxMenu,{type :: wxMenuEventType(), %% Callback event: {@link wxMenuEvent} + menuId :: integer(), + menu :: wxMenu:wxMenu()}). +-type wxMenuEventType() :: 'menu_open' | 'menu_close' | 'menu_highlight'. +-type wxMenu() :: #wxMenu{}. %% Callback event: {@link wxMenuEvent} --record(wxDate,{type :: wxDateEventType(), %% Callback event: {@link wxDateEvent} - date :: wx:wx_datetime()}). --type wxDateEventType() :: date_changed. --type wxDate() :: #wxDate{}. %% Callback event: {@link wxDateEvent} +-record(wxShow,{type :: wxShowEventType(), %% Callback event: {@link wxShowEvent} + show :: boolean()}). +-type wxShowEventType() :: 'show'. +-type wxShow() :: #wxShow{}. %% Callback event: {@link wxShowEvent} --record(wxHtmlLink,{type :: wxHtmlLinkEventType(), %% Callback event: {@link wxHtmlLinkEvent} - linkInfo :: wx:wx_wxHtmlLinkInfo()}). --type wxHtmlLinkEventType() :: command_html_link_clicked. --type wxHtmlLink() :: #wxHtmlLink{}. %% Callback event: {@link wxHtmlLinkEvent} +-record(wxWindowDestroy, {type :: wxWindowDestroyEventType()}). %% Callback event: {@link wxWindowDestroyEvent} +-type wxWindowDestroyEventType() :: 'destroy'. +-type wxWindowDestroy() :: #wxWindowDestroy{}. %% Callback event: {@link wxWindowDestroyEvent} --record(wxHelp, {type :: wxHelpEventType()}). %% Callback event: {@link wxHelpEvent} --type wxHelpEventType() :: help | detailed_help. --type wxHelp() :: #wxHelp{}. %% Callback event: {@link wxHelpEvent} +-record(wxContextMenu,{type :: wxContextMenuEventType(), %% Callback event: {@link wxContextMenuEvent} + pos :: {X::integer(), Y::integer()}}). +-type wxContextMenuEventType() :: 'context_menu'. +-type wxContextMenu() :: #wxContextMenu{}. %% Callback event: {@link wxContextMenuEvent} -record(wxActivate,{type :: wxActivateEventType(), %% Callback event: {@link wxActivateEvent} active :: boolean()}). --type wxActivateEventType() :: activate | activate_app | hibernate. +-type wxActivateEventType() :: 'activate' | 'activate_app' | 'hibernate'. -type wxActivate() :: #wxActivate{}. %% Callback event: {@link wxActivateEvent} --record(wxStyledText,{type :: wxStyledTextEventType(), %% Callback event: {@link wxStyledTextEvent} - position :: integer(), - key :: integer(), - modifiers :: integer(), - modificationType :: integer(), - text :: unicode:chardata(), - length :: integer(), - linesAdded :: integer(), - line :: integer(), - foldLevelNow :: integer(), - foldLevelPrev :: integer(), - margin :: integer(), - message :: integer(), - wParam :: integer(), - lParam :: integer(), - listType :: integer(), - x :: integer(), - y :: integer(), - dragText :: unicode:chardata(), - dragAllowMove :: boolean(), - dragResult :: wx:wx_enum()}). --type wxStyledTextEventType() :: stc_change | stc_styleneeded | stc_charadded | stc_savepointreached | stc_savepointleft | stc_romodifyattempt | stc_key | stc_doubleclick | stc_updateui | stc_modified | stc_macrorecord | stc_marginclick | stc_needshown | stc_painted | stc_userlistselection | stc_uridropped | stc_dwellstart | stc_dwellend | stc_start_drag | stc_drag_over | stc_do_drop | stc_zoom | stc_hotspot_click | stc_hotspot_dclick | stc_calltip_click | stc_autocomp_selection. --type wxStyledText() :: #wxStyledText{}. %% Callback event: {@link wxStyledTextEvent} - --record(wxSysColourChanged, {type :: wxSysColourChangedEventType()}). %% Callback event: {@link wxSysColourChangedEvent} --type wxSysColourChangedEventType() :: sys_colour_changed. --type wxSysColourChanged() :: #wxSysColourChanged{}. %% Callback event: {@link wxSysColourChangedEvent} +-record(wxMove,{type :: wxMoveEventType(), %% Callback event: {@link wxMoveEvent} + pos :: {X::integer(), Y::integer()}, + rect :: {X::integer(), Y::integer(), W::integer(), H::integer()}}). +-type wxMoveEventType() :: 'move'. +-type wxMove() :: #wxMove{}. %% Callback event: {@link wxMoveEvent} --record(wxGrid,{type :: wxGridEventType(), %% Callback event: {@link wxGridEvent} - row :: integer(), +-record(wxList,{type :: wxListEventType(), %% Callback event: {@link wxListEvent} + code :: integer(), + oldItemIndex :: integer(), + itemIndex :: integer(), col :: integer(), - x :: integer(), - y :: integer(), - selecting :: boolean(), - control :: boolean(), - meta :: boolean(), - shift :: boolean(), - alt :: boolean()}). --type wxGridEventType() :: grid_cell_left_click | grid_cell_right_click | grid_cell_left_dclick | grid_cell_right_dclick | grid_label_left_click | grid_label_right_click | grid_label_left_dclick | grid_label_right_dclick | grid_row_size | grid_col_size | grid_range_select | grid_cell_change | grid_select_cell | grid_editor_shown | grid_editor_hidden | grid_editor_created | grid_cell_begin_drag. --type wxGrid() :: #wxGrid{}. %% Callback event: {@link wxGridEvent} - --record(wxPaletteChanged, {type :: wxPaletteChangedEventType()}). %% Callback event: {@link wxPaletteChangedEvent} --type wxPaletteChangedEventType() :: palette_changed. --type wxPaletteChanged() :: #wxPaletteChanged{}. %% Callback event: {@link wxPaletteChangedEvent} + pointDrag :: {X::integer(), Y::integer()}}). +-type wxListEventType() :: 'command_list_begin_drag' | 'command_list_begin_rdrag' | 'command_list_begin_label_edit' | 'command_list_end_label_edit' | 'command_list_delete_item' | 'command_list_delete_all_items' | 'command_list_key_down' | 'command_list_insert_item' | 'command_list_col_click' | 'command_list_col_right_click' | 'command_list_col_begin_drag' | 'command_list_col_dragging' | 'command_list_col_end_drag' | 'command_list_item_selected' | 'command_list_item_deselected' | 'command_list_item_right_click' | 'command_list_item_middle_click' | 'command_list_item_activated' | 'command_list_item_focused' | 'command_list_cache_hint'. +-type wxList() :: #wxList{}. %% Callback event: {@link wxListEvent} --record(wxUpdateUI, {type :: wxUpdateUIEventType()}). %% Callback event: {@link wxUpdateUIEvent} --type wxUpdateUIEventType() :: update_ui. --type wxUpdateUI() :: #wxUpdateUI{}. %% Callback event: {@link wxUpdateUIEvent} +-record(wxClipboardText, {type :: wxClipboardTextEventType()}). %% Callback event: {@link wxClipboardTextEvent} +-type wxClipboardTextEventType() :: 'command_text_copy' | 'command_text_cut' | 'command_text_paste'. +-type wxClipboardText() :: #wxClipboardText{}. %% Callback event: {@link wxClipboardTextEvent} --record(wxSize,{type :: wxSizeEventType(), %% Callback event: {@link wxSizeEvent} - size :: {W::integer(), H::integer()}, - rect :: {X::integer(), Y::integer(), W::integer(), H::integer()}}). --type wxSizeEventType() :: size. --type wxSize() :: #wxSize{}. %% Callback event: {@link wxSizeEvent} +-record(wxScrollWin,{type :: wxScrollWinEventType(), %% Callback event: {@link wxScrollWinEvent} + commandInt :: integer(), + extraLong :: integer()}). +-type wxScrollWinEventType() :: 'scrollwin_top' | 'scrollwin_bottom' | 'scrollwin_lineup' | 'scrollwin_linedown' | 'scrollwin_pageup' | 'scrollwin_pagedown' | 'scrollwin_thumbtrack' | 'scrollwin_thumbrelease'. +-type wxScrollWin() :: #wxScrollWin{}. %% Callback event: {@link wxScrollWinEvent} -record(wxIconize,{type :: wxIconizeEventType(), %% Callback event: {@link wxIconizeEvent} iconized :: boolean()}). --type wxIconizeEventType() :: iconize. +-type wxIconizeEventType() :: 'iconize'. -type wxIconize() :: #wxIconize{}. %% Callback event: {@link wxIconizeEvent} --record(wxAuiNotebook,{type :: wxAuiNotebookEventType(), %% Callback event: {@link wxAuiNotebookEvent} - old_selection :: integer(), - selection :: integer(), - drag_source :: wxAuiNotebook:wxAuiNotebook()}). --type wxAuiNotebookEventType() :: command_auinotebook_page_close | command_auinotebook_page_changed | command_auinotebook_page_changing | command_auinotebook_button | command_auinotebook_begin_drag | command_auinotebook_end_drag | command_auinotebook_drag_motion | command_auinotebook_allow_dnd | command_auinotebook_tab_middle_down | command_auinotebook_tab_middle_up | command_auinotebook_tab_right_down | command_auinotebook_tab_right_up | command_auinotebook_page_closed | command_auinotebook_drag_done | command_auinotebook_bg_dclick. --type wxAuiNotebook() :: #wxAuiNotebook{}. %% Callback event: {@link wxAuiNotebookEvent} - --record(wxClose, {type :: wxCloseEventType()}). %% Callback event: {@link wxCloseEvent} --type wxCloseEventType() :: close_window | end_session | query_end_session. --type wxClose() :: #wxClose{}. %% Callback event: {@link wxCloseEvent} - --record(wxMouseCaptureChanged, {type :: wxMouseCaptureChangedEventType()}). %% Callback event: {@link wxMouseCaptureChangedEvent} --type wxMouseCaptureChangedEventType() :: mouse_capture_changed. --type wxMouseCaptureChanged() :: #wxMouseCaptureChanged{}. %% Callback event: {@link wxMouseCaptureChangedEvent} +-record(wxUpdateUI, {type :: wxUpdateUIEventType()}). %% Callback event: {@link wxUpdateUIEvent} +-type wxUpdateUIEventType() :: 'update_ui'. +-type wxUpdateUI() :: #wxUpdateUI{}. %% Callback event: {@link wxUpdateUIEvent} -record(wxMouse,{type :: wxMouseEventType(), %% Callback event: {@link wxMouseEvent} x :: integer(), @@ -277,17 +233,86 @@ wheelRotation :: integer(), wheelDelta :: integer(), linesPerAction :: integer()}). --type wxMouseEventType() :: left_down | left_up | middle_down | middle_up | right_down | right_up | motion | enter_window | leave_window | left_dclick | middle_dclick | right_dclick | mousewheel. +-type wxMouseEventType() :: 'left_down' | 'left_up' | 'middle_down' | 'middle_up' | 'right_down' | 'right_up' | 'motion' | 'enter_window' | 'leave_window' | 'left_dclick' | 'middle_dclick' | 'right_dclick' | 'mousewheel'. -type wxMouse() :: #wxMouse{}. %% Callback event: {@link wxMouseEvent} --record(wxClipboardText, {type :: wxClipboardTextEventType()}). %% Callback event: {@link wxClipboardTextEvent} --type wxClipboardTextEventType() :: command_text_copy | command_text_cut | command_text_paste. --type wxClipboardText() :: #wxClipboardText{}. %% Callback event: {@link wxClipboardTextEvent} +-record(wxTree,{type :: wxTreeEventType(), %% Callback event: {@link wxTreeEvent} + item :: integer(), + itemOld :: integer(), + pointDrag :: {X::integer(), Y::integer()}}). +-type wxTreeEventType() :: 'command_tree_begin_drag' | 'command_tree_begin_rdrag' | 'command_tree_begin_label_edit' | 'command_tree_end_label_edit' | 'command_tree_delete_item' | 'command_tree_get_info' | 'command_tree_set_info' | 'command_tree_item_expanded' | 'command_tree_item_expanding' | 'command_tree_item_collapsed' | 'command_tree_item_collapsing' | 'command_tree_sel_changed' | 'command_tree_sel_changing' | 'command_tree_key_down' | 'command_tree_item_activated' | 'command_tree_item_right_click' | 'command_tree_item_middle_click' | 'command_tree_end_drag' | 'command_tree_state_image_click' | 'command_tree_item_gettooltip' | 'command_tree_item_menu'. +-type wxTree() :: #wxTree{}. %% Callback event: {@link wxTreeEvent} + +-record(wxSysColourChanged, {type :: wxSysColourChangedEventType()}). %% Callback event: {@link wxSysColourChangedEvent} +-type wxSysColourChangedEventType() :: 'sys_colour_changed'. +-type wxSysColourChanged() :: #wxSysColourChanged{}. %% Callback event: {@link wxSysColourChangedEvent} + +-record(wxNavigationKey,{type :: wxNavigationKeyEventType(), %% Callback event: {@link wxNavigationKeyEvent} + flags :: integer(), + focus :: wxWindow:wxWindow()}). +-type wxNavigationKeyEventType() :: 'navigation_key'. +-type wxNavigationKey() :: #wxNavigationKey{}. %% Callback event: {@link wxNavigationKeyEvent} + +-record(wxQueryNewPalette, {type :: wxQueryNewPaletteEventType()}). %% Callback event: {@link wxQueryNewPaletteEvent} +-type wxQueryNewPaletteEventType() :: 'query_new_palette'. +-type wxQueryNewPalette() :: #wxQueryNewPalette{}. %% Callback event: {@link wxQueryNewPaletteEvent} + +-record(wxMouseCaptureChanged, {type :: wxMouseCaptureChangedEventType()}). %% Callback event: {@link wxMouseCaptureChangedEvent} +-type wxMouseCaptureChangedEventType() :: 'mouse_capture_changed'. +-type wxMouseCaptureChanged() :: #wxMouseCaptureChanged{}. %% Callback event: {@link wxMouseCaptureChangedEvent} + +-record(wxHtmlLink,{type :: wxHtmlLinkEventType(), %% Callback event: {@link wxHtmlLinkEvent} + linkInfo :: wx:wx_wxHtmlLinkInfo()}). +-type wxHtmlLinkEventType() :: 'command_html_link_clicked'. +-type wxHtmlLink() :: #wxHtmlLink{}. %% Callback event: {@link wxHtmlLinkEvent} + +-record(wxKey,{type :: wxKeyEventType(), %% Callback event: {@link wxKeyEvent} + x :: integer(), + y :: integer(), + keyCode :: integer(), + controlDown :: boolean(), + shiftDown :: boolean(), + altDown :: boolean(), + metaDown :: boolean(), + scanCode :: boolean(), + uniChar :: integer(), + rawCode :: integer(), + rawFlags :: integer()}). +-type wxKeyEventType() :: 'char' | 'char_hook' | 'key_down' | 'key_up'. +-type wxKey() :: #wxKey{}. %% Callback event: {@link wxKeyEvent} + +-record(wxTaskBarIcon, {type :: wxTaskBarIconEventType()}). %% Callback event: {@link wxTaskBarIconEvent} +-type wxTaskBarIconEventType() :: 'taskbar_move' | 'taskbar_left_down' | 'taskbar_left_up' | 'taskbar_right_down' | 'taskbar_right_up' | 'taskbar_left_dclick' | 'taskbar_right_dclick'. +-type wxTaskBarIcon() :: #wxTaskBarIcon{}. %% Callback event: {@link wxTaskBarIconEvent} + +-record(wxGrid,{type :: wxGridEventType(), %% Callback event: {@link wxGridEvent} + row :: integer(), + col :: integer(), + x :: integer(), + y :: integer(), + selecting :: boolean(), + control :: boolean(), + meta :: boolean(), + shift :: boolean(), + alt :: boolean()}). +-type wxGridEventType() :: 'grid_cell_left_click' | 'grid_cell_right_click' | 'grid_cell_left_dclick' | 'grid_cell_right_dclick' | 'grid_label_left_click' | 'grid_label_right_click' | 'grid_label_left_dclick' | 'grid_label_right_dclick' | 'grid_row_size' | 'grid_col_size' | 'grid_range_select' | 'grid_cell_change' | 'grid_select_cell' | 'grid_editor_shown' | 'grid_editor_hidden' | 'grid_editor_created' | 'grid_cell_begin_drag'. +-type wxGrid() :: #wxGrid{}. %% Callback event: {@link wxGridEvent} + +-record(wxCalendar,{type :: wxCalendarEventType(), %% Callback event: {@link wxCalendarEvent} + wday :: wx:wx_enum(), + date :: wx:wx_datetime()}). +-type wxCalendarEventType() :: 'calendar_sel_changed' | 'calendar_day_changed' | 'calendar_month_changed' | 'calendar_year_changed' | 'calendar_doubleclicked' | 'calendar_weekday_clicked'. +-type wxCalendar() :: #wxCalendar{}. %% Callback event: {@link wxCalendarEvent} -record(wxWindowCreate, {type :: wxWindowCreateEventType()}). %% Callback event: {@link wxWindowCreateEvent} --type wxWindowCreateEventType() :: create. +-type wxWindowCreateEventType() :: 'create'. -type wxWindowCreate() :: #wxWindowCreate{}. %% Callback event: {@link wxWindowCreateEvent} +-record(wxDate,{type :: wxDateEventType(), %% Callback event: {@link wxDateEvent} + date :: wx:wx_datetime()}). +-type wxDateEventType() :: 'date_changed'. +-type wxDate() :: #wxDate{}. %% Callback event: {@link wxDateEvent} + -record(wxAuiManager,{type :: wxAuiManagerEventType(), %% Callback event: {@link wxAuiManagerEvent} manager :: wxAuiManager:wxAuiManager(), pane :: wxAuiPaneInfo:wxAuiPaneInfo(), @@ -295,58 +320,33 @@ veto_flag :: boolean(), canveto_flag :: boolean(), dc :: wxDC:wxDC()}). --type wxAuiManagerEventType() :: aui_pane_button | aui_pane_close | aui_pane_maximize | aui_pane_restore | aui_pane_activated | aui_render | aui_find_manager. +-type wxAuiManagerEventType() :: 'aui_pane_button' | 'aui_pane_close' | 'aui_pane_maximize' | 'aui_pane_restore' | 'aui_pane_activated' | 'aui_render' | 'aui_find_manager'. -type wxAuiManager() :: #wxAuiManager{}. %% Callback event: {@link wxAuiManagerEvent} --record(wxInitDialog, {type :: wxInitDialogEventType()}). %% Callback event: {@link wxInitDialogEvent} --type wxInitDialogEventType() :: init_dialog. --type wxInitDialog() :: #wxInitDialog{}. %% Callback event: {@link wxInitDialogEvent} - --record(wxCommand,{type :: wxCommandEventType(), %% Callback event: {@link wxCommandEvent} - cmdString :: unicode:chardata(), - commandInt :: integer(), - extraLong :: integer()}). --type wxCommandEventType() :: command_button_clicked | command_checkbox_clicked | command_choice_selected | command_listbox_selected | command_listbox_doubleclicked | command_text_updated | command_text_enter | command_menu_selected | command_slider_updated | command_radiobox_selected | command_radiobutton_selected | command_scrollbar_updated | command_vlbox_selected | command_combobox_selected | command_tool_rclicked | command_tool_enter | command_checklistbox_toggled | command_togglebutton_clicked | command_left_click | command_left_dclick | command_right_click | command_set_focus | command_kill_focus | command_enter. --type wxCommand() :: #wxCommand{}. %% Callback event: {@link wxCommandEvent} - -record(wxJoystick,{type :: wxJoystickEventType(), %% Callback event: {@link wxJoystickEvent} pos :: {X::integer(), Y::integer()}, zPosition :: integer(), buttonChange :: integer(), buttonState :: integer(), joyStick :: integer()}). --type wxJoystickEventType() :: joy_button_down | joy_button_up | joy_move | joy_zmove. +-type wxJoystickEventType() :: 'joy_button_down' | 'joy_button_up' | 'joy_move' | 'joy_zmove'. -type wxJoystick() :: #wxJoystick{}. %% Callback event: {@link wxJoystickEvent} --record(wxQueryNewPalette, {type :: wxQueryNewPaletteEventType()}). %% Callback event: {@link wxQueryNewPaletteEvent} --type wxQueryNewPaletteEventType() :: query_new_palette. --type wxQueryNewPalette() :: #wxQueryNewPalette{}. %% Callback event: {@link wxQueryNewPaletteEvent} - --record(wxMove,{type :: wxMoveEventType(), %% Callback event: {@link wxMoveEvent} - pos :: {X::integer(), Y::integer()}, - rect :: {X::integer(), Y::integer(), W::integer(), H::integer()}}). --type wxMoveEventType() :: move. --type wxMove() :: #wxMove{}. %% Callback event: {@link wxMoveEvent} - --record(wxIdle, {type :: wxIdleEventType()}). %% Callback event: {@link wxIdleEvent} --type wxIdleEventType() :: idle. --type wxIdle() :: #wxIdle{}. %% Callback event: {@link wxIdleEvent} - --record(wxColourPicker,{type :: wxColourPickerEventType(), %% Callback event: {@link wxColourPickerEvent} - colour :: wx:wx_colour()}). --type wxColourPickerEventType() :: command_colourpicker_changed. --type wxColourPicker() :: #wxColourPicker{}. %% Callback event: {@link wxColourPickerEvent} +-record(wxPaint, {type :: wxPaintEventType()}). %% Callback event: {@link wxPaintEvent} +-type wxPaintEventType() :: 'paint'. +-type wxPaint() :: #wxPaint{}. %% Callback event: {@link wxPaintEvent} --record(wxTaskBarIcon, {type :: wxTaskBarIconEventType()}). %% Callback event: {@link wxTaskBarIconEvent} --type wxTaskBarIconEventType() :: taskbar_move | taskbar_left_down | taskbar_left_up | taskbar_right_down | taskbar_right_up | taskbar_left_dclick | taskbar_right_dclick. --type wxTaskBarIcon() :: #wxTaskBarIcon{}. %% Callback event: {@link wxTaskBarIconEvent} +-record(wxErase,{type :: wxEraseEventType(), %% Callback event: {@link wxEraseEvent} + dc :: wxDC:wxDC()}). +-type wxEraseEventType() :: 'erase_background'. +-type wxErase() :: #wxErase{}. %% Callback event: {@link wxEraseEvent} --record(wxTree,{type :: wxTreeEventType(), %% Callback event: {@link wxTreeEvent} - item :: integer(), - itemOld :: integer(), - pointDrag :: {X::integer(), Y::integer()}}). --type wxTreeEventType() :: command_tree_begin_drag | command_tree_begin_rdrag | command_tree_begin_label_edit | command_tree_end_label_edit | command_tree_delete_item | command_tree_get_info | command_tree_set_info | command_tree_item_expanded | command_tree_item_expanding | command_tree_item_collapsed | command_tree_item_collapsing | command_tree_sel_changed | command_tree_sel_changing | command_tree_key_down | command_tree_item_activated | command_tree_item_right_click | command_tree_item_middle_click | command_tree_end_drag | command_tree_state_image_click | command_tree_item_gettooltip | command_tree_item_menu. --type wxTree() :: #wxTree{}. %% Callback event: {@link wxTreeEvent} +-record(wxSetCursor,{type :: wxSetCursorEventType(), %% Callback event: {@link wxSetCursorEvent} + x :: integer(), + y :: integer(), + cursor :: wxCursor:wxCursor()}). +-type wxSetCursorEventType() :: 'set_cursor'. +-type wxSetCursor() :: #wxSetCursor{}. %% Callback event: {@link wxSetCursorEvent} -type event() :: wxActivate() | wxAuiManager() | wxAuiNotebook() | wxCalendar() | wxChildFocus() | wxClipboardText() | wxClose() | wxColourPicker() | wxCommand() | wxContextMenu() | wxDate() | wxDisplayChanged() | wxErase() | wxFileDirPicker() | wxFocus() | wxFontPicker() | wxGrid() | wxHelp() | wxHtmlLink() | wxIconize() | wxIdle() | wxInitDialog() | wxJoystick() | wxKey() | wxList() | wxMaximize() | wxMenu() | wxMouse() | wxMouseCaptureChanged() | wxMouseCaptureLost() | wxMove() | wxNavigationKey() | wxNotebook() | wxPaint() | wxPaletteChanged() | wxQueryNewPalette() | wxSash() | wxScroll() | wxScrollWin() | wxSetCursor() | wxShow() | wxSize() | wxSpin() | wxSplitter() | wxStyledText() | wxSysColourChanged() | wxTaskBarIcon() | wxTree() | wxUpdateUI() | wxWindowCreate() | wxWindowDestroy(). -type wxEventType() :: wxActivateEventType() | wxAuiManagerEventType() | wxAuiNotebookEventType() | wxCalendarEventType() | wxChildFocusEventType() | wxClipboardTextEventType() | wxCloseEventType() | wxColourPickerEventType() | wxCommandEventType() | wxContextMenuEventType() | wxDateEventType() | wxDisplayChangedEventType() | wxEraseEventType() | wxFileDirPickerEventType() | wxFocusEventType() | wxFontPickerEventType() | wxGridEventType() | wxHelpEventType() | wxHtmlLinkEventType() | wxIconizeEventType() | wxIdleEventType() | wxInitDialogEventType() | wxJoystickEventType() | wxKeyEventType() | wxListEventType() | wxMaximizeEventType() | wxMenuEventType() | wxMouseCaptureChangedEventType() | wxMouseCaptureLostEventType() | wxMouseEventType() | wxMoveEventType() | wxNavigationKeyEventType() | wxNotebookEventType() | wxPaintEventType() | wxPaletteChangedEventType() | wxQueryNewPaletteEventType() | wxSashEventType() | wxScrollEventType() | wxScrollWinEventType() | wxSetCursorEventType() | wxShowEventType() | wxSizeEventType() | wxSpinEventType() | wxSplitterEventType() | wxStyledTextEventType() | wxSysColourChangedEventType() | wxTaskBarIconEventType() | wxTreeEventType() | wxUpdateUIEventType() | wxWindowCreateEventType() | wxWindowDestroyEventType(). diff --git a/lib/wx/src/gen/gl.erl b/lib/wx/src/gen/gl.erl index bedd4e9cca..e10b99b10a 100644 --- a/lib/wx/src/gen/gl.erl +++ b/lib/wx/src/gen/gl.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2008-2015. All Rights Reserved. +%% Copyright Ericsson AB 2008-2016. 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. @@ -321,7 +321,7 @@ send_bin(Tuple) when is_tuple(Tuple) -> %% in the frame buffer. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glClearIndex.xml">external</a> documentation. --spec clearIndex(C) -> ok when C :: float(). +-spec clearIndex(C) -> 'ok' when C :: float(). clearIndex(C) -> cast(5037, <<C:?GLfloat>>). @@ -332,7 +332,7 @@ clearIndex(C) -> %% range [0 1]. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glClearColor.xml">external</a> documentation. --spec clearColor(Red, Green, Blue, Alpha) -> ok when Red :: clamp(),Green :: clamp(),Blue :: clamp(),Alpha :: clamp(). +-spec clearColor(Red, Green, Blue, Alpha) -> 'ok' when Red :: clamp(),Green :: clamp(),Blue :: clamp(),Alpha :: clamp(). clearColor(Red,Green,Blue,Alpha) -> cast(5038, <<Red:?GLclampf,Green:?GLclampf,Blue:?GLclampf,Alpha:?GLclampf>>). @@ -362,7 +362,7 @@ clearColor(Red,Green,Blue,Alpha) -> %% that buffer. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glClear.xml">external</a> documentation. --spec clear(Mask) -> ok when Mask :: integer(). +-spec clear(Mask) -> 'ok' when Mask :: integer(). clear(Mask) -> cast(5039, <<Mask:?GLbitfield>>). @@ -379,7 +379,7 @@ clear(Mask) -> %% writing. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glIndexMask.xml">external</a> documentation. --spec indexMask(Mask) -> ok when Mask :: integer(). +-spec indexMask(Mask) -> 'ok' when Mask :: integer(). indexMask(Mask) -> cast(5040, <<Mask:?GLuint>>). @@ -395,7 +395,7 @@ indexMask(Mask) -> %% enabled or disabled for entire color components. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glColorMask.xml">external</a> documentation. --spec colorMask(Red, Green, Blue, Alpha) -> ok when Red :: 0|1,Green :: 0|1,Blue :: 0|1,Alpha :: 0|1. +-spec colorMask(Red, Green, Blue, Alpha) -> 'ok' when Red :: 0|1,Green :: 0|1,Blue :: 0|1,Alpha :: 0|1. colorMask(Red,Green,Blue,Alpha) -> cast(5041, <<Red:?GLboolean,Green:?GLboolean,Blue:?GLboolean,Alpha:?GLboolean>>). @@ -438,7 +438,7 @@ colorMask(Red,Green,Blue,Alpha) -> %% operations. ``gl:alphaFunc'' does not affect screen clear operations. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glAlphaFunc.xml">external</a> documentation. --spec alphaFunc(Func, Ref) -> ok when Func :: enum(),Ref :: clamp(). +-spec alphaFunc(Func, Ref) -> 'ok' when Func :: enum(),Ref :: clamp(). alphaFunc(Func,Ref) -> cast(5042, <<Func:?GLenum,Ref:?GLclampf>>). @@ -513,7 +513,7 @@ alphaFunc(Func,Ref) -> %% %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glBlendFunc.xml">external</a> documentation. --spec blendFunc(Sfactor, Dfactor) -> ok when Sfactor :: enum(),Dfactor :: enum(). +-spec blendFunc(Sfactor, Dfactor) -> 'ok' when Sfactor :: enum(),Dfactor :: enum(). blendFunc(Sfactor,Dfactor) -> cast(5043, <<Sfactor:?GLenum,Dfactor:?GLenum>>). @@ -543,7 +543,7 @@ blendFunc(Sfactor,Dfactor) -> %% the source and destination colors. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glLogicOp.xml">external</a> documentation. --spec logicOp(Opcode) -> ok when Opcode :: enum(). +-spec logicOp(Opcode) -> 'ok' when Opcode :: enum(). logicOp(Opcode) -> cast(5044, <<Opcode:?GLenum>>). @@ -559,7 +559,7 @@ logicOp(Opcode) -> %% front-facing and back-facing. See {@link gl:frontFace/1} . %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glCullFace.xml">external</a> documentation. --spec cullFace(Mode) -> ok when Mode :: enum(). +-spec cullFace(Mode) -> 'ok' when Mode :: enum(). cullFace(Mode) -> cast(5045, <<Mode:?GLenum>>). @@ -582,7 +582,7 @@ cullFace(Mode) -> %% default, counterclockwise polygons are taken to be front-facing. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glFrontFace.xml">external</a> documentation. --spec frontFace(Mode) -> ok when Mode :: enum(). +-spec frontFace(Mode) -> 'ok' when Mode :: enum(). frontFace(Mode) -> cast(5046, <<Mode:?GLenum>>). @@ -594,7 +594,7 @@ frontFace(Mode) -> %% built-in variable gl_PointSize will be used. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glPointSize.xml">external</a> documentation. --spec pointSize(Size) -> ok when Size :: float(). +-spec pointSize(Size) -> 'ok' when Size :: float(). pointSize(Size) -> cast(5047, <<Size:?GLfloat>>). @@ -626,7 +626,7 @@ pointSize(Size) -> %% , `?GL_SMOOTH_LINE_WIDTH_RANGE', and `?GL_SMOOTH_LINE_WIDTH_GRANULARITY'. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glLineWidth.xml">external</a> documentation. --spec lineWidth(Width) -> ok when Width :: float(). +-spec lineWidth(Width) -> 'ok' when Width :: float(). lineWidth(Width) -> cast(5048, <<Width:?GLfloat>>). @@ -658,7 +658,7 @@ lineWidth(Width) -> %% stippling is disabled. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glLineStipple.xml">external</a> documentation. --spec lineStipple(Factor, Pattern) -> ok when Factor :: integer(),Pattern :: integer(). +-spec lineStipple(Factor, Pattern) -> 'ok' when Factor :: integer(),Pattern :: integer(). lineStipple(Factor,Pattern) -> cast(5049, <<Factor:?GLint,Pattern:?GLushort>>). @@ -686,7 +686,7 @@ lineStipple(Factor,Pattern) -> %% control the rasterization of the polygon. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glPolygonMode.xml">external</a> documentation. --spec polygonMode(Face, Mode) -> ok when Face :: enum(),Mode :: enum(). +-spec polygonMode(Face, Mode) -> 'ok' when Face :: enum(),Mode :: enum(). polygonMode(Face,Mode) -> cast(5050, <<Face:?GLenum,Mode:?GLenum>>). @@ -704,7 +704,7 @@ polygonMode(Face,Mode) -> %% to surfaces, and for rendering solids with highlighted edges. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glPolygonOffset.xml">external</a> documentation. --spec polygonOffset(Factor, Units) -> ok when Factor :: float(),Units :: float(). +-spec polygonOffset(Factor, Units) -> 'ok' when Factor :: float(),Units :: float(). polygonOffset(Factor,Units) -> cast(5051, <<Factor:?GLfloat,Units:?GLfloat>>). @@ -735,7 +735,7 @@ polygonOffset(Factor,Units) -> %% the stipple pattern consists of all 1's. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glPolygonStipple.xml">external</a> documentation. --spec polygonStipple(Mask) -> ok when Mask :: binary(). +-spec polygonStipple(Mask) -> 'ok' when Mask :: binary(). polygonStipple(Mask) -> send_bin(Mask), cast(5052, <<>>). @@ -774,12 +774,12 @@ getPolygonStipple() -> %% is set to `?GL_POINT' or `?GL_LINE'. See {@link gl:polygonMode/2} . %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glEdgeFlag.xml">external</a> documentation. --spec edgeFlag(Flag) -> ok when Flag :: 0|1. +-spec edgeFlag(Flag) -> 'ok' when Flag :: 0|1. edgeFlag(Flag) -> cast(5054, <<Flag:?GLboolean>>). %% @equiv edgeFlag(Flag) --spec edgeFlagv(Flag) -> ok when Flag :: {Flag :: 0|1}. +-spec edgeFlagv(Flag) -> 'ok' when Flag :: {Flag :: 0|1}. edgeFlagv({Flag}) -> edgeFlag(Flag). %% @doc Define the scissor box @@ -799,7 +799,7 @@ edgeFlagv({Flag}) -> edgeFlag(Flag). %% window. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glScissor.xml">external</a> documentation. --spec scissor(X, Y, Width, Height) -> ok when X :: integer(),Y :: integer(),Width :: integer(),Height :: integer(). +-spec scissor(X, Y, Width, Height) -> 'ok' when X :: integer(),Y :: integer(),Width :: integer(),Height :: integer(). scissor(X,Y,Width,Height) -> cast(5055, <<X:?GLint,Y:?GLint,Width:?GLsizei,Height:?GLsizei>>). @@ -827,7 +827,7 @@ scissor(X,Y,Width,Height) -> %% disabled. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glClipPlane.xml">external</a> documentation. --spec clipPlane(Plane, Equation) -> ok when Plane :: enum(),Equation :: {float(),float(),float(),float()}. +-spec clipPlane(Plane, Equation) -> 'ok' when Plane :: enum(),Equation :: {float(),float(),float(),float()}. clipPlane(Plane,{E1,E2,E3,E4}) -> cast(5056, <<Plane:?GLenum,0:32,E1:?GLdouble,E2:?GLdouble,E3:?GLdouble,E4:?GLdouble>>). @@ -884,7 +884,7 @@ getClipPlane(Plane) -> %% buffers. The context is selected at GL initialization. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glDrawBuffer.xml">external</a> documentation. --spec drawBuffer(Mode) -> ok when Mode :: enum(). +-spec drawBuffer(Mode) -> 'ok' when Mode :: enum(). drawBuffer(Mode) -> cast(5058, <<Mode:?GLenum>>). @@ -909,7 +909,7 @@ drawBuffer(Mode) -> %% in double-buffered configurations. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glReadBuffer.xml">external</a> documentation. --spec readBuffer(Mode) -> ok when Mode :: enum(). +-spec readBuffer(Mode) -> 'ok' when Mode :: enum(). readBuffer(Mode) -> cast(5059, <<Mode:?GLenum>>). @@ -1019,13 +1019,13 @@ readBuffer(Mode) -> %% and clamped to the implementation-dependent point size range. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glEnable.xml">external</a> documentation. --spec enable(Cap) -> ok when Cap :: enum(). +-spec enable(Cap) -> 'ok' when Cap :: enum(). enable(Cap) -> cast(5060, <<Cap:?GLenum>>). %% @doc %% See {@link enable/1} --spec disable(Cap) -> ok when Cap :: enum(). +-spec disable(Cap) -> 'ok' when Cap :: enum(). disable(Cap) -> cast(5061, <<Cap:?GLenum>>). @@ -1115,13 +1115,13 @@ isEnabled(Cap) -> %% is called. See {@link gl:vertexPointer/4} . %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glEnableClientState.xml">external</a> documentation. --spec enableClientState(Cap) -> ok when Cap :: enum(). +-spec enableClientState(Cap) -> 'ok' when Cap :: enum(). enableClientState(Cap) -> cast(5063, <<Cap:?GLenum>>). %% @doc %% See {@link enableClientState/1} --spec disableClientState(Cap) -> ok when Cap :: enum(). +-spec disableClientState(Cap) -> 'ok' when Cap :: enum(). disableClientState(Cap) -> cast(5064, <<Cap:?GLenum>>). @@ -2089,13 +2089,13 @@ getIntegerv(Pname) -> %% Initially, the attribute stack is empty. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glPushAttrib.xml">external</a> documentation. --spec pushAttrib(Mask) -> ok when Mask :: integer(). +-spec pushAttrib(Mask) -> 'ok' when Mask :: integer(). pushAttrib(Mask) -> cast(5069, <<Mask:?GLbitfield>>). %% @doc %% See {@link pushAttrib/1} --spec popAttrib() -> ok. +-spec popAttrib() -> 'ok'. popAttrib() -> cast(5070, <<>>). @@ -2123,13 +2123,13 @@ popAttrib() -> %% Initially, the client attribute stack is empty. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glPushClientAttrib.xml">external</a> documentation. --spec pushClientAttrib(Mask) -> ok when Mask :: integer(). +-spec pushClientAttrib(Mask) -> 'ok' when Mask :: integer(). pushClientAttrib(Mask) -> cast(5071, <<Mask:?GLbitfield>>). %% @doc %% See {@link pushClientAttrib/1} --spec popClientAttrib() -> ok. +-spec popClientAttrib() -> 'ok'. popClientAttrib() -> cast(5072, <<>>). @@ -2274,7 +2274,7 @@ getString(Name) -> %% state, and all changes to the frame buffer contents. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glFinish.xml">external</a> documentation. --spec finish() -> ok. +-spec finish() -> 'ok'. finish() -> cast(5076, <<>>). @@ -2292,7 +2292,7 @@ finish() -> %% for user input that depends on the generated image. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glFlush.xml">external</a> documentation. --spec flush() -> ok. +-spec flush() -> 'ok'. flush() -> cast(5077, <<>>). @@ -2334,7 +2334,7 @@ flush() -> %% %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glHint.xml">external</a> documentation. --spec hint(Target, Mode) -> ok when Target :: enum(),Mode :: enum(). +-spec hint(Target, Mode) -> 'ok' when Target :: enum(),Mode :: enum(). hint(Target,Mode) -> cast(5078, <<Target:?GLenum,Mode:?GLenum>>). @@ -2344,7 +2344,7 @@ hint(Target,Mode) -> %% buffer. Values specified by ``gl:clearDepth'' are clamped to the range [0 1]. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glClearDepth.xml">external</a> documentation. --spec clearDepth(Depth) -> ok when Depth :: clamp(). +-spec clearDepth(Depth) -> 'ok' when Depth :: clamp(). clearDepth(Depth) -> cast(5079, <<Depth:?GLclampd>>). @@ -2385,7 +2385,7 @@ clearDepth(Depth) -> %% always passes. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glDepthFunc.xml">external</a> documentation. --spec depthFunc(Func) -> ok when Func :: enum(). +-spec depthFunc(Func) -> 'ok' when Func :: enum(). depthFunc(Func) -> cast(5080, <<Func:?GLenum>>). @@ -2396,7 +2396,7 @@ depthFunc(Func) -> %% depth buffer writing is enabled. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glDepthMask.xml">external</a> documentation. --spec depthMask(Flag) -> ok when Flag :: 0|1. +-spec depthMask(Flag) -> 'ok' when Flag :: 0|1. depthMask(Flag) -> cast(5081, <<Flag:?GLboolean>>). @@ -2413,7 +2413,7 @@ depthMask(Flag) -> %% the depth buffer range is fully utilized. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glDepthRange.xml">external</a> documentation. --spec depthRange(Near_val, Far_val) -> ok when Near_val :: clamp(),Far_val :: clamp(). +-spec depthRange(Near_val, Far_val) -> 'ok' when Near_val :: clamp(),Far_val :: clamp(). depthRange(Near_val,Far_val) -> cast(5082, <<Near_val:?GLclampd,Far_val:?GLclampd>>). @@ -2425,7 +2425,7 @@ depthRange(Near_val,Far_val) -> %% Values specified by ``gl:clearAccum'' are clamped to the range [-1 1]. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glClearAccum.xml">external</a> documentation. --spec clearAccum(Red, Green, Blue, Alpha) -> ok when Red :: float(),Green :: float(),Blue :: float(),Alpha :: float(). +-spec clearAccum(Red, Green, Blue, Alpha) -> 'ok' when Red :: float(),Green :: float(),Blue :: float(),Alpha :: float(). clearAccum(Red,Green,Blue,Alpha) -> cast(5083, <<Red:?GLfloat,Green:?GLfloat,Blue:?GLfloat,Alpha:?GLfloat>>). @@ -2484,7 +2484,7 @@ clearAccum(Red,Green,Blue,Alpha) -> %% to set it to, then call {@link gl:clear/1} with the accumulation buffer enabled. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glAccum.xml">external</a> documentation. --spec accum(Op, Value) -> ok when Op :: enum(),Value :: float(). +-spec accum(Op, Value) -> 'ok' when Op :: enum(),Value :: float(). accum(Op,Value) -> cast(5084, <<Op:?GLenum,Value:?GLfloat>>). @@ -2507,7 +2507,7 @@ accum(Op,Value) -> %% with argument `?GL_MATRIX_MODE'. The initial value is `?GL_MODELVIEW'. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glMatrixMode.xml">external</a> documentation. --spec matrixMode(Mode) -> ok when Mode :: enum(). +-spec matrixMode(Mode) -> 'ok' when Mode :: enum(). matrixMode(Mode) -> cast(5085, <<Mode:?GLenum>>). @@ -2532,7 +2532,7 @@ matrixMode(Mode) -> %% matrix stack. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glOrtho.xml">external</a> documentation. --spec ortho(Left, Right, Bottom, Top, Near_val, Far_val) -> ok when Left :: float(),Right :: float(),Bottom :: float(),Top :: float(),Near_val :: float(),Far_val :: float(). +-spec ortho(Left, Right, Bottom, Top, Near_val, Far_val) -> 'ok' when Left :: float(),Right :: float(),Bottom :: float(),Top :: float(),Near_val :: float(),Far_val :: float(). ortho(Left,Right,Bottom,Top,Near_val,Far_val) -> cast(5086, <<Left:?GLdouble,Right:?GLdouble,Bottom:?GLdouble,Top:?GLdouble,Near_val:?GLdouble,Far_val:?GLdouble>>). @@ -2562,7 +2562,7 @@ ortho(Left,Right,Bottom,Top,Near_val,Far_val) -> %% matrix stack. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glFrustum.xml">external</a> documentation. --spec frustum(Left, Right, Bottom, Top, Near_val, Far_val) -> ok when Left :: float(),Right :: float(),Bottom :: float(),Top :: float(),Near_val :: float(),Far_val :: float(). +-spec frustum(Left, Right, Bottom, Top, Near_val, Far_val) -> 'ok' when Left :: float(),Right :: float(),Bottom :: float(),Top :: float(),Near_val :: float(),Far_val :: float(). frustum(Left,Right,Bottom,Top,Near_val,Far_val) -> cast(5087, <<Left:?GLdouble,Right:?GLdouble,Bottom:?GLdouble,Top:?GLdouble,Near_val:?GLdouble,Far_val:?GLdouble>>). @@ -2580,7 +2580,7 @@ frustum(Left,Right,Bottom,Top,Near_val,Far_val) -> %% To query this range, call {@link gl:getBooleanv/1} with argument `?GL_MAX_VIEWPORT_DIMS'. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glViewport.xml">external</a> documentation. --spec viewport(X, Y, Width, Height) -> ok when X :: integer(),Y :: integer(),Width :: integer(),Height :: integer(). +-spec viewport(X, Y, Width, Height) -> 'ok' when X :: integer(),Y :: integer(),Width :: integer(),Height :: integer(). viewport(X,Y,Width,Height) -> cast(5088, <<X:?GLint,Y:?GLint,Width:?GLsizei,Height:?GLsizei>>). @@ -2605,13 +2605,13 @@ viewport(X,Y,Width,Height) -> %% GL state. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glPushMatrix.xml">external</a> documentation. --spec pushMatrix() -> ok. +-spec pushMatrix() -> 'ok'. pushMatrix() -> cast(5089, <<>>). %% @doc %% See {@link pushMatrix/0} --spec popMatrix() -> ok. +-spec popMatrix() -> 'ok'. popMatrix() -> cast(5090, <<>>). @@ -2625,7 +2625,7 @@ popMatrix() -> %% but in some cases it is more efficient. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glLoadIdentity.xml">external</a> documentation. --spec loadIdentity() -> ok. +-spec loadIdentity() -> 'ok'. loadIdentity() -> cast(5091, <<>>). @@ -2645,7 +2645,7 @@ loadIdentity() -> %% Projection and texture transformations are similarly defined. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glLoadMatrix.xml">external</a> documentation. --spec loadMatrixd(M) -> ok when M :: matrix(). +-spec loadMatrixd(M) -> 'ok' when M :: matrix(). loadMatrixd({M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16}) -> cast(5092, <<M1:?GLdouble,M2:?GLdouble,M3:?GLdouble,M4:?GLdouble,M5:?GLdouble,M6:?GLdouble,M7:?GLdouble,M8:?GLdouble,M9:?GLdouble,M10:?GLdouble,M11:?GLdouble,M12:?GLdouble,M13:?GLdouble,M14:?GLdouble,M15:?GLdouble,M16:?GLdouble>>); loadMatrixd({M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12}) -> @@ -2653,7 +2653,7 @@ loadMatrixd({M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12}) -> %% @doc %% See {@link loadMatrixd/1} --spec loadMatrixf(M) -> ok when M :: matrix(). +-spec loadMatrixf(M) -> 'ok' when M :: matrix(). loadMatrixf({M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16}) -> cast(5093, <<M1:?GLfloat,M2:?GLfloat,M3:?GLfloat,M4:?GLfloat,M5:?GLfloat,M6:?GLfloat,M7:?GLfloat,M8:?GLfloat,M9:?GLfloat,M10:?GLfloat,M11:?GLfloat,M12:?GLfloat,M13:?GLfloat,M14:?GLfloat,M15:?GLfloat,M16:?GLfloat>>); loadMatrixf({M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12}) -> @@ -2668,7 +2668,7 @@ loadMatrixf({M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12}) -> %% It is either the projection matrix, modelview matrix, or the texture matrix. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glMultMatrix.xml">external</a> documentation. --spec multMatrixd(M) -> ok when M :: matrix(). +-spec multMatrixd(M) -> 'ok' when M :: matrix(). multMatrixd({M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16}) -> cast(5094, <<M1:?GLdouble,M2:?GLdouble,M3:?GLdouble,M4:?GLdouble,M5:?GLdouble,M6:?GLdouble,M7:?GLdouble,M8:?GLdouble,M9:?GLdouble,M10:?GLdouble,M11:?GLdouble,M12:?GLdouble,M13:?GLdouble,M14:?GLdouble,M15:?GLdouble,M16:?GLdouble>>); multMatrixd({M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12}) -> @@ -2676,7 +2676,7 @@ multMatrixd({M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12}) -> %% @doc %% See {@link multMatrixd/1} --spec multMatrixf(M) -> ok when M :: matrix(). +-spec multMatrixf(M) -> 'ok' when M :: matrix(). multMatrixf({M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16}) -> cast(5095, <<M1:?GLfloat,M2:?GLfloat,M3:?GLfloat,M4:?GLfloat,M5:?GLfloat,M6:?GLfloat,M7:?GLfloat,M8:?GLfloat,M9:?GLfloat,M10:?GLfloat,M11:?GLfloat,M12:?GLfloat,M13:?GLfloat,M14:?GLfloat,M15:?GLfloat,M16:?GLfloat>>); multMatrixf({M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12}) -> @@ -2699,13 +2699,13 @@ multMatrixf({M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12}) -> %% to save and restore the unrotated coordinate system. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glRotate.xml">external</a> documentation. --spec rotated(Angle, X, Y, Z) -> ok when Angle :: float(),X :: float(),Y :: float(),Z :: float(). +-spec rotated(Angle, X, Y, Z) -> 'ok' when Angle :: float(),X :: float(),Y :: float(),Z :: float(). rotated(Angle,X,Y,Z) -> cast(5096, <<Angle:?GLdouble,X:?GLdouble,Y:?GLdouble,Z:?GLdouble>>). %% @doc %% See {@link rotated/4} --spec rotatef(Angle, X, Y, Z) -> ok when Angle :: float(),X :: float(),Y :: float(),Z :: float(). +-spec rotatef(Angle, X, Y, Z) -> 'ok' when Angle :: float(),X :: float(),Y :: float(),Z :: float(). rotatef(Angle,X,Y,Z) -> cast(5097, <<Angle:?GLfloat,X:?GLfloat,Y:?GLfloat,Z:?GLfloat>>). @@ -2728,13 +2728,13 @@ rotatef(Angle,X,Y,Z) -> %% coordinate system. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glScale.xml">external</a> documentation. --spec scaled(X, Y, Z) -> ok when X :: float(),Y :: float(),Z :: float(). +-spec scaled(X, Y, Z) -> 'ok' when X :: float(),Y :: float(),Z :: float(). scaled(X,Y,Z) -> cast(5098, <<X:?GLdouble,Y:?GLdouble,Z:?GLdouble>>). %% @doc %% See {@link scaled/3} --spec scalef(X, Y, Z) -> ok when X :: float(),Y :: float(),Z :: float(). +-spec scalef(X, Y, Z) -> 'ok' when X :: float(),Y :: float(),Z :: float(). scalef(X,Y,Z) -> cast(5099, <<X:?GLfloat,Y:?GLfloat,Z:?GLfloat>>). @@ -2753,13 +2753,13 @@ scalef(X,Y,Z) -> %% coordinate system. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glTranslate.xml">external</a> documentation. --spec translated(X, Y, Z) -> ok when X :: float(),Y :: float(),Z :: float(). +-spec translated(X, Y, Z) -> 'ok' when X :: float(),Y :: float(),Z :: float(). translated(X,Y,Z) -> cast(5100, <<X:?GLdouble,Y:?GLdouble,Z:?GLdouble>>). %% @doc %% See {@link translated/3} --spec translatef(X, Y, Z) -> ok when X :: float(),Y :: float(),Z :: float(). +-spec translatef(X, Y, Z) -> 'ok' when X :: float(),Y :: float(),Z :: float(). translatef(X,Y,Z) -> cast(5101, <<X:?GLfloat,Y:?GLfloat,Z:?GLfloat>>). @@ -2788,7 +2788,7 @@ isList(List) -> %% display list are ignored. If `Range' is 0, nothing happens. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glDeleteLists.xml">external</a> documentation. --spec deleteLists(List, Range) -> ok when List :: integer(),Range :: integer(). +-spec deleteLists(List, Range) -> 'ok' when List :: integer(),Range :: integer(). deleteLists(List,Range) -> cast(5103, <<List:?GLuint,Range:?GLsizei>>). @@ -2851,14 +2851,14 @@ genLists(Range) -> %% when {@link gl:endList/0} is called. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glNewList.xml">external</a> documentation. --spec newList(List, Mode) -> ok when List :: integer(),Mode :: enum(). +-spec newList(List, Mode) -> 'ok' when List :: integer(),Mode :: enum(). newList(List,Mode) -> cast(5105, <<List:?GLuint,Mode:?GLenum>>). %% @doc glBeginList %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glBeginList.xml">external</a> documentation. --spec endList() -> ok. +-spec endList() -> 'ok'. endList() -> cast(5106, <<>>). @@ -2880,7 +2880,7 @@ endList() -> %% , and {@link gl:pushMatrix/0} to preserve GL state across ``gl:callList'' calls. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glCallList.xml">external</a> documentation. --spec callList(List) -> ok when List :: integer(). +-spec callList(List) -> 'ok' when List :: integer(). callList(List) -> cast(5107, <<List:?GLuint>>). @@ -2947,7 +2947,7 @@ callList(List) -> %% to preserve GL state across ``gl:callLists'' calls. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glCallLists.xml">external</a> documentation. --spec callLists(Lists) -> ok when Lists :: [integer()]. +-spec callLists(Lists) -> 'ok' when Lists :: [integer()]. callLists(Lists) -> cast(5108, <<(length(Lists)):?GLuint, (<< <<C:?GLuint>> || C <- Lists>>)/binary,0:(((1+length(Lists)) rem 2)*32)>>). @@ -2961,7 +2961,7 @@ callLists(Lists) -> %% the others are ignored. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glListBase.xml">external</a> documentation. --spec listBase(Base) -> ok when Base :: integer(). +-spec listBase(Base) -> 'ok' when Base :: integer(). listBase(Base) -> cast(5109, <<Base:?GLuint>>). @@ -3032,13 +3032,13 @@ listBase(Base) -> %% (3), `?GL_QUADS' (4), and `?GL_QUAD_STRIP' (2). %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glBegin.xml">external</a> documentation. --spec 'begin'(Mode) -> ok when Mode :: enum(). +-spec 'begin'(Mode) -> 'ok' when Mode :: enum(). 'begin'(Mode) -> cast(5110, <<Mode:?GLenum>>). %% @doc %% See {@link 'begin'/1} --spec 'end'() -> ok. +-spec 'end'() -> 'ok'. 'end'() -> cast(5111, <<>>). @@ -3052,122 +3052,122 @@ listBase(Base) -> %% y, and z are specified, w defaults to 1. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glVertex.xml">external</a> documentation. --spec vertex2d(X, Y) -> ok when X :: float(),Y :: float(). +-spec vertex2d(X, Y) -> 'ok' when X :: float(),Y :: float(). vertex2d(X,Y) -> cast(5112, <<X:?GLdouble,Y:?GLdouble>>). %% @doc %% See {@link vertex2d/2} --spec vertex2f(X, Y) -> ok when X :: float(),Y :: float(). +-spec vertex2f(X, Y) -> 'ok' when X :: float(),Y :: float(). vertex2f(X,Y) -> cast(5113, <<X:?GLfloat,Y:?GLfloat>>). %% @doc %% See {@link vertex2d/2} --spec vertex2i(X, Y) -> ok when X :: integer(),Y :: integer(). +-spec vertex2i(X, Y) -> 'ok' when X :: integer(),Y :: integer(). vertex2i(X,Y) -> cast(5114, <<X:?GLint,Y:?GLint>>). %% @doc %% See {@link vertex2d/2} --spec vertex2s(X, Y) -> ok when X :: integer(),Y :: integer(). +-spec vertex2s(X, Y) -> 'ok' when X :: integer(),Y :: integer(). vertex2s(X,Y) -> cast(5115, <<X:?GLshort,Y:?GLshort>>). %% @doc %% See {@link vertex2d/2} --spec vertex3d(X, Y, Z) -> ok when X :: float(),Y :: float(),Z :: float(). +-spec vertex3d(X, Y, Z) -> 'ok' when X :: float(),Y :: float(),Z :: float(). vertex3d(X,Y,Z) -> cast(5116, <<X:?GLdouble,Y:?GLdouble,Z:?GLdouble>>). %% @doc %% See {@link vertex2d/2} --spec vertex3f(X, Y, Z) -> ok when X :: float(),Y :: float(),Z :: float(). +-spec vertex3f(X, Y, Z) -> 'ok' when X :: float(),Y :: float(),Z :: float(). vertex3f(X,Y,Z) -> cast(5117, <<X:?GLfloat,Y:?GLfloat,Z:?GLfloat>>). %% @doc %% See {@link vertex2d/2} --spec vertex3i(X, Y, Z) -> ok when X :: integer(),Y :: integer(),Z :: integer(). +-spec vertex3i(X, Y, Z) -> 'ok' when X :: integer(),Y :: integer(),Z :: integer(). vertex3i(X,Y,Z) -> cast(5118, <<X:?GLint,Y:?GLint,Z:?GLint>>). %% @doc %% See {@link vertex2d/2} --spec vertex3s(X, Y, Z) -> ok when X :: integer(),Y :: integer(),Z :: integer(). +-spec vertex3s(X, Y, Z) -> 'ok' when X :: integer(),Y :: integer(),Z :: integer(). vertex3s(X,Y,Z) -> cast(5119, <<X:?GLshort,Y:?GLshort,Z:?GLshort>>). %% @doc %% See {@link vertex2d/2} --spec vertex4d(X, Y, Z, W) -> ok when X :: float(),Y :: float(),Z :: float(),W :: float(). +-spec vertex4d(X, Y, Z, W) -> 'ok' when X :: float(),Y :: float(),Z :: float(),W :: float(). vertex4d(X,Y,Z,W) -> cast(5120, <<X:?GLdouble,Y:?GLdouble,Z:?GLdouble,W:?GLdouble>>). %% @doc %% See {@link vertex2d/2} --spec vertex4f(X, Y, Z, W) -> ok when X :: float(),Y :: float(),Z :: float(),W :: float(). +-spec vertex4f(X, Y, Z, W) -> 'ok' when X :: float(),Y :: float(),Z :: float(),W :: float(). vertex4f(X,Y,Z,W) -> cast(5121, <<X:?GLfloat,Y:?GLfloat,Z:?GLfloat,W:?GLfloat>>). %% @doc %% See {@link vertex2d/2} --spec vertex4i(X, Y, Z, W) -> ok when X :: integer(),Y :: integer(),Z :: integer(),W :: integer(). +-spec vertex4i(X, Y, Z, W) -> 'ok' when X :: integer(),Y :: integer(),Z :: integer(),W :: integer(). vertex4i(X,Y,Z,W) -> cast(5122, <<X:?GLint,Y:?GLint,Z:?GLint,W:?GLint>>). %% @doc %% See {@link vertex2d/2} --spec vertex4s(X, Y, Z, W) -> ok when X :: integer(),Y :: integer(),Z :: integer(),W :: integer(). +-spec vertex4s(X, Y, Z, W) -> 'ok' when X :: integer(),Y :: integer(),Z :: integer(),W :: integer(). vertex4s(X,Y,Z,W) -> cast(5123, <<X:?GLshort,Y:?GLshort,Z:?GLshort,W:?GLshort>>). %% @equiv vertex2d(X,Y) --spec vertex2dv(V) -> ok when V :: {X :: float(),Y :: float()}. +-spec vertex2dv(V) -> 'ok' when V :: {X :: float(),Y :: float()}. vertex2dv({X,Y}) -> vertex2d(X,Y). %% @equiv vertex2f(X,Y) --spec vertex2fv(V) -> ok when V :: {X :: float(),Y :: float()}. +-spec vertex2fv(V) -> 'ok' when V :: {X :: float(),Y :: float()}. vertex2fv({X,Y}) -> vertex2f(X,Y). %% @equiv vertex2i(X,Y) --spec vertex2iv(V) -> ok when V :: {X :: integer(),Y :: integer()}. +-spec vertex2iv(V) -> 'ok' when V :: {X :: integer(),Y :: integer()}. vertex2iv({X,Y}) -> vertex2i(X,Y). %% @equiv vertex2s(X,Y) --spec vertex2sv(V) -> ok when V :: {X :: integer(),Y :: integer()}. +-spec vertex2sv(V) -> 'ok' when V :: {X :: integer(),Y :: integer()}. vertex2sv({X,Y}) -> vertex2s(X,Y). %% @equiv vertex3d(X,Y,Z) --spec vertex3dv(V) -> ok when V :: {X :: float(),Y :: float(),Z :: float()}. +-spec vertex3dv(V) -> 'ok' when V :: {X :: float(),Y :: float(),Z :: float()}. vertex3dv({X,Y,Z}) -> vertex3d(X,Y,Z). %% @equiv vertex3f(X,Y,Z) --spec vertex3fv(V) -> ok when V :: {X :: float(),Y :: float(),Z :: float()}. +-spec vertex3fv(V) -> 'ok' when V :: {X :: float(),Y :: float(),Z :: float()}. vertex3fv({X,Y,Z}) -> vertex3f(X,Y,Z). %% @equiv vertex3i(X,Y,Z) --spec vertex3iv(V) -> ok when V :: {X :: integer(),Y :: integer(),Z :: integer()}. +-spec vertex3iv(V) -> 'ok' when V :: {X :: integer(),Y :: integer(),Z :: integer()}. vertex3iv({X,Y,Z}) -> vertex3i(X,Y,Z). %% @equiv vertex3s(X,Y,Z) --spec vertex3sv(V) -> ok when V :: {X :: integer(),Y :: integer(),Z :: integer()}. +-spec vertex3sv(V) -> 'ok' when V :: {X :: integer(),Y :: integer(),Z :: integer()}. vertex3sv({X,Y,Z}) -> vertex3s(X,Y,Z). %% @equiv vertex4d(X,Y,Z,W) --spec vertex4dv(V) -> ok when V :: {X :: float(),Y :: float(),Z :: float(),W :: float()}. +-spec vertex4dv(V) -> 'ok' when V :: {X :: float(),Y :: float(),Z :: float(),W :: float()}. vertex4dv({X,Y,Z,W}) -> vertex4d(X,Y,Z,W). %% @equiv vertex4f(X,Y,Z,W) --spec vertex4fv(V) -> ok when V :: {X :: float(),Y :: float(),Z :: float(),W :: float()}. +-spec vertex4fv(V) -> 'ok' when V :: {X :: float(),Y :: float(),Z :: float(),W :: float()}. vertex4fv({X,Y,Z,W}) -> vertex4f(X,Y,Z,W). %% @equiv vertex4i(X,Y,Z,W) --spec vertex4iv(V) -> ok when V :: {X :: integer(),Y :: integer(),Z :: integer(),W :: integer()}. +-spec vertex4iv(V) -> 'ok' when V :: {X :: integer(),Y :: integer(),Z :: integer(),W :: integer()}. vertex4iv({X,Y,Z,W}) -> vertex4i(X,Y,Z,W). %% @equiv vertex4s(X,Y,Z,W) --spec vertex4sv(V) -> ok when V :: {X :: integer(),Y :: integer(),Z :: integer(),W :: integer()}. +-spec vertex4sv(V) -> 'ok' when V :: {X :: integer(),Y :: integer(),Z :: integer(),W :: integer()}. vertex4sv({X,Y,Z,W}) -> vertex4s(X,Y,Z,W). %% @doc Set the current normal vector @@ -3187,52 +3187,52 @@ vertex4sv({X,Y,Z,W}) -> vertex4s(X,Y,Z,W). %% Normalization is initially disabled. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glNormal.xml">external</a> documentation. --spec normal3b(Nx, Ny, Nz) -> ok when Nx :: integer(),Ny :: integer(),Nz :: integer(). +-spec normal3b(Nx, Ny, Nz) -> 'ok' when Nx :: integer(),Ny :: integer(),Nz :: integer(). normal3b(Nx,Ny,Nz) -> cast(5124, <<Nx:?GLbyte,Ny:?GLbyte,Nz:?GLbyte>>). %% @doc %% See {@link normal3b/3} --spec normal3d(Nx, Ny, Nz) -> ok when Nx :: float(),Ny :: float(),Nz :: float(). +-spec normal3d(Nx, Ny, Nz) -> 'ok' when Nx :: float(),Ny :: float(),Nz :: float(). normal3d(Nx,Ny,Nz) -> cast(5125, <<Nx:?GLdouble,Ny:?GLdouble,Nz:?GLdouble>>). %% @doc %% See {@link normal3b/3} --spec normal3f(Nx, Ny, Nz) -> ok when Nx :: float(),Ny :: float(),Nz :: float(). +-spec normal3f(Nx, Ny, Nz) -> 'ok' when Nx :: float(),Ny :: float(),Nz :: float(). normal3f(Nx,Ny,Nz) -> cast(5126, <<Nx:?GLfloat,Ny:?GLfloat,Nz:?GLfloat>>). %% @doc %% See {@link normal3b/3} --spec normal3i(Nx, Ny, Nz) -> ok when Nx :: integer(),Ny :: integer(),Nz :: integer(). +-spec normal3i(Nx, Ny, Nz) -> 'ok' when Nx :: integer(),Ny :: integer(),Nz :: integer(). normal3i(Nx,Ny,Nz) -> cast(5127, <<Nx:?GLint,Ny:?GLint,Nz:?GLint>>). %% @doc %% See {@link normal3b/3} --spec normal3s(Nx, Ny, Nz) -> ok when Nx :: integer(),Ny :: integer(),Nz :: integer(). +-spec normal3s(Nx, Ny, Nz) -> 'ok' when Nx :: integer(),Ny :: integer(),Nz :: integer(). normal3s(Nx,Ny,Nz) -> cast(5128, <<Nx:?GLshort,Ny:?GLshort,Nz:?GLshort>>). %% @equiv normal3b(Nx,Ny,Nz) --spec normal3bv(V) -> ok when V :: {Nx :: integer(),Ny :: integer(),Nz :: integer()}. +-spec normal3bv(V) -> 'ok' when V :: {Nx :: integer(),Ny :: integer(),Nz :: integer()}. normal3bv({Nx,Ny,Nz}) -> normal3b(Nx,Ny,Nz). %% @equiv normal3d(Nx,Ny,Nz) --spec normal3dv(V) -> ok when V :: {Nx :: float(),Ny :: float(),Nz :: float()}. +-spec normal3dv(V) -> 'ok' when V :: {Nx :: float(),Ny :: float(),Nz :: float()}. normal3dv({Nx,Ny,Nz}) -> normal3d(Nx,Ny,Nz). %% @equiv normal3f(Nx,Ny,Nz) --spec normal3fv(V) -> ok when V :: {Nx :: float(),Ny :: float(),Nz :: float()}. +-spec normal3fv(V) -> 'ok' when V :: {Nx :: float(),Ny :: float(),Nz :: float()}. normal3fv({Nx,Ny,Nz}) -> normal3f(Nx,Ny,Nz). %% @equiv normal3i(Nx,Ny,Nz) --spec normal3iv(V) -> ok when V :: {Nx :: integer(),Ny :: integer(),Nz :: integer()}. +-spec normal3iv(V) -> 'ok' when V :: {Nx :: integer(),Ny :: integer(),Nz :: integer()}. normal3iv({Nx,Ny,Nz}) -> normal3i(Nx,Ny,Nz). %% @equiv normal3s(Nx,Ny,Nz) --spec normal3sv(V) -> ok when V :: {Nx :: integer(),Ny :: integer(),Nz :: integer()}. +-spec normal3sv(V) -> 'ok' when V :: {Nx :: integer(),Ny :: integer(),Nz :: integer()}. normal3sv({Nx,Ny,Nz}) -> normal3s(Nx,Ny,Nz). %% @doc Set the current color index @@ -3249,52 +3249,52 @@ normal3sv({Nx,Ny,Nz}) -> normal3s(Nx,Ny,Nz). %% value that do not correspond to bits in the frame buffer are masked out. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glIndex.xml">external</a> documentation. --spec indexd(C) -> ok when C :: float(). +-spec indexd(C) -> 'ok' when C :: float(). indexd(C) -> cast(5129, <<C:?GLdouble>>). %% @doc %% See {@link indexd/1} --spec indexf(C) -> ok when C :: float(). +-spec indexf(C) -> 'ok' when C :: float(). indexf(C) -> cast(5130, <<C:?GLfloat>>). %% @doc %% See {@link indexd/1} --spec indexi(C) -> ok when C :: integer(). +-spec indexi(C) -> 'ok' when C :: integer(). indexi(C) -> cast(5131, <<C:?GLint>>). %% @doc %% See {@link indexd/1} --spec indexs(C) -> ok when C :: integer(). +-spec indexs(C) -> 'ok' when C :: integer(). indexs(C) -> cast(5132, <<C:?GLshort>>). %% @doc %% See {@link indexd/1} --spec indexub(C) -> ok when C :: integer(). +-spec indexub(C) -> 'ok' when C :: integer(). indexub(C) -> cast(5133, <<C:?GLubyte>>). %% @equiv indexd(C) --spec indexdv(C) -> ok when C :: {C :: float()}. +-spec indexdv(C) -> 'ok' when C :: {C :: float()}. indexdv({C}) -> indexd(C). %% @equiv indexf(C) --spec indexfv(C) -> ok when C :: {C :: float()}. +-spec indexfv(C) -> 'ok' when C :: {C :: float()}. indexfv({C}) -> indexf(C). %% @equiv indexi(C) --spec indexiv(C) -> ok when C :: {C :: integer()}. +-spec indexiv(C) -> 'ok' when C :: {C :: integer()}. indexiv({C}) -> indexi(C). %% @equiv indexs(C) --spec indexsv(C) -> ok when C :: {C :: integer()}. +-spec indexsv(C) -> 'ok' when C :: {C :: integer()}. indexsv({C}) -> indexs(C). %% @equiv indexub(C) --spec indexubv(C) -> ok when C :: {C :: integer()}. +-spec indexubv(C) -> 'ok' when C :: {C :: integer()}. indexubv({C}) -> indexub(C). %% @doc Set the current color @@ -3323,162 +3323,162 @@ indexubv({C}) -> indexub(C). %% are interpolated or written into a color buffer. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glColor.xml">external</a> documentation. --spec color3b(Red, Green, Blue) -> ok when Red :: integer(),Green :: integer(),Blue :: integer(). +-spec color3b(Red, Green, Blue) -> 'ok' when Red :: integer(),Green :: integer(),Blue :: integer(). color3b(Red,Green,Blue) -> cast(5134, <<Red:?GLbyte,Green:?GLbyte,Blue:?GLbyte>>). %% @doc %% See {@link color3b/3} --spec color3d(Red, Green, Blue) -> ok when Red :: float(),Green :: float(),Blue :: float(). +-spec color3d(Red, Green, Blue) -> 'ok' when Red :: float(),Green :: float(),Blue :: float(). color3d(Red,Green,Blue) -> cast(5135, <<Red:?GLdouble,Green:?GLdouble,Blue:?GLdouble>>). %% @doc %% See {@link color3b/3} --spec color3f(Red, Green, Blue) -> ok when Red :: float(),Green :: float(),Blue :: float(). +-spec color3f(Red, Green, Blue) -> 'ok' when Red :: float(),Green :: float(),Blue :: float(). color3f(Red,Green,Blue) -> cast(5136, <<Red:?GLfloat,Green:?GLfloat,Blue:?GLfloat>>). %% @doc %% See {@link color3b/3} --spec color3i(Red, Green, Blue) -> ok when Red :: integer(),Green :: integer(),Blue :: integer(). +-spec color3i(Red, Green, Blue) -> 'ok' when Red :: integer(),Green :: integer(),Blue :: integer(). color3i(Red,Green,Blue) -> cast(5137, <<Red:?GLint,Green:?GLint,Blue:?GLint>>). %% @doc %% See {@link color3b/3} --spec color3s(Red, Green, Blue) -> ok when Red :: integer(),Green :: integer(),Blue :: integer(). +-spec color3s(Red, Green, Blue) -> 'ok' when Red :: integer(),Green :: integer(),Blue :: integer(). color3s(Red,Green,Blue) -> cast(5138, <<Red:?GLshort,Green:?GLshort,Blue:?GLshort>>). %% @doc %% See {@link color3b/3} --spec color3ub(Red, Green, Blue) -> ok when Red :: integer(),Green :: integer(),Blue :: integer(). +-spec color3ub(Red, Green, Blue) -> 'ok' when Red :: integer(),Green :: integer(),Blue :: integer(). color3ub(Red,Green,Blue) -> cast(5139, <<Red:?GLubyte,Green:?GLubyte,Blue:?GLubyte>>). %% @doc %% See {@link color3b/3} --spec color3ui(Red, Green, Blue) -> ok when Red :: integer(),Green :: integer(),Blue :: integer(). +-spec color3ui(Red, Green, Blue) -> 'ok' when Red :: integer(),Green :: integer(),Blue :: integer(). color3ui(Red,Green,Blue) -> cast(5140, <<Red:?GLuint,Green:?GLuint,Blue:?GLuint>>). %% @doc %% See {@link color3b/3} --spec color3us(Red, Green, Blue) -> ok when Red :: integer(),Green :: integer(),Blue :: integer(). +-spec color3us(Red, Green, Blue) -> 'ok' when Red :: integer(),Green :: integer(),Blue :: integer(). color3us(Red,Green,Blue) -> cast(5141, <<Red:?GLushort,Green:?GLushort,Blue:?GLushort>>). %% @doc %% See {@link color3b/3} --spec color4b(Red, Green, Blue, Alpha) -> ok when Red :: integer(),Green :: integer(),Blue :: integer(),Alpha :: integer(). +-spec color4b(Red, Green, Blue, Alpha) -> 'ok' when Red :: integer(),Green :: integer(),Blue :: integer(),Alpha :: integer(). color4b(Red,Green,Blue,Alpha) -> cast(5142, <<Red:?GLbyte,Green:?GLbyte,Blue:?GLbyte,Alpha:?GLbyte>>). %% @doc %% See {@link color3b/3} --spec color4d(Red, Green, Blue, Alpha) -> ok when Red :: float(),Green :: float(),Blue :: float(),Alpha :: float(). +-spec color4d(Red, Green, Blue, Alpha) -> 'ok' when Red :: float(),Green :: float(),Blue :: float(),Alpha :: float(). color4d(Red,Green,Blue,Alpha) -> cast(5143, <<Red:?GLdouble,Green:?GLdouble,Blue:?GLdouble,Alpha:?GLdouble>>). %% @doc %% See {@link color3b/3} --spec color4f(Red, Green, Blue, Alpha) -> ok when Red :: float(),Green :: float(),Blue :: float(),Alpha :: float(). +-spec color4f(Red, Green, Blue, Alpha) -> 'ok' when Red :: float(),Green :: float(),Blue :: float(),Alpha :: float(). color4f(Red,Green,Blue,Alpha) -> cast(5144, <<Red:?GLfloat,Green:?GLfloat,Blue:?GLfloat,Alpha:?GLfloat>>). %% @doc %% See {@link color3b/3} --spec color4i(Red, Green, Blue, Alpha) -> ok when Red :: integer(),Green :: integer(),Blue :: integer(),Alpha :: integer(). +-spec color4i(Red, Green, Blue, Alpha) -> 'ok' when Red :: integer(),Green :: integer(),Blue :: integer(),Alpha :: integer(). color4i(Red,Green,Blue,Alpha) -> cast(5145, <<Red:?GLint,Green:?GLint,Blue:?GLint,Alpha:?GLint>>). %% @doc %% See {@link color3b/3} --spec color4s(Red, Green, Blue, Alpha) -> ok when Red :: integer(),Green :: integer(),Blue :: integer(),Alpha :: integer(). +-spec color4s(Red, Green, Blue, Alpha) -> 'ok' when Red :: integer(),Green :: integer(),Blue :: integer(),Alpha :: integer(). color4s(Red,Green,Blue,Alpha) -> cast(5146, <<Red:?GLshort,Green:?GLshort,Blue:?GLshort,Alpha:?GLshort>>). %% @doc %% See {@link color3b/3} --spec color4ub(Red, Green, Blue, Alpha) -> ok when Red :: integer(),Green :: integer(),Blue :: integer(),Alpha :: integer(). +-spec color4ub(Red, Green, Blue, Alpha) -> 'ok' when Red :: integer(),Green :: integer(),Blue :: integer(),Alpha :: integer(). color4ub(Red,Green,Blue,Alpha) -> cast(5147, <<Red:?GLubyte,Green:?GLubyte,Blue:?GLubyte,Alpha:?GLubyte>>). %% @doc %% See {@link color3b/3} --spec color4ui(Red, Green, Blue, Alpha) -> ok when Red :: integer(),Green :: integer(),Blue :: integer(),Alpha :: integer(). +-spec color4ui(Red, Green, Blue, Alpha) -> 'ok' when Red :: integer(),Green :: integer(),Blue :: integer(),Alpha :: integer(). color4ui(Red,Green,Blue,Alpha) -> cast(5148, <<Red:?GLuint,Green:?GLuint,Blue:?GLuint,Alpha:?GLuint>>). %% @doc %% See {@link color3b/3} --spec color4us(Red, Green, Blue, Alpha) -> ok when Red :: integer(),Green :: integer(),Blue :: integer(),Alpha :: integer(). +-spec color4us(Red, Green, Blue, Alpha) -> 'ok' when Red :: integer(),Green :: integer(),Blue :: integer(),Alpha :: integer(). color4us(Red,Green,Blue,Alpha) -> cast(5149, <<Red:?GLushort,Green:?GLushort,Blue:?GLushort,Alpha:?GLushort>>). %% @equiv color3b(Red,Green,Blue) --spec color3bv(V) -> ok when V :: {Red :: integer(),Green :: integer(),Blue :: integer()}. +-spec color3bv(V) -> 'ok' when V :: {Red :: integer(),Green :: integer(),Blue :: integer()}. color3bv({Red,Green,Blue}) -> color3b(Red,Green,Blue). %% @equiv color3d(Red,Green,Blue) --spec color3dv(V) -> ok when V :: {Red :: float(),Green :: float(),Blue :: float()}. +-spec color3dv(V) -> 'ok' when V :: {Red :: float(),Green :: float(),Blue :: float()}. color3dv({Red,Green,Blue}) -> color3d(Red,Green,Blue). %% @equiv color3f(Red,Green,Blue) --spec color3fv(V) -> ok when V :: {Red :: float(),Green :: float(),Blue :: float()}. +-spec color3fv(V) -> 'ok' when V :: {Red :: float(),Green :: float(),Blue :: float()}. color3fv({Red,Green,Blue}) -> color3f(Red,Green,Blue). %% @equiv color3i(Red,Green,Blue) --spec color3iv(V) -> ok when V :: {Red :: integer(),Green :: integer(),Blue :: integer()}. +-spec color3iv(V) -> 'ok' when V :: {Red :: integer(),Green :: integer(),Blue :: integer()}. color3iv({Red,Green,Blue}) -> color3i(Red,Green,Blue). %% @equiv color3s(Red,Green,Blue) --spec color3sv(V) -> ok when V :: {Red :: integer(),Green :: integer(),Blue :: integer()}. +-spec color3sv(V) -> 'ok' when V :: {Red :: integer(),Green :: integer(),Blue :: integer()}. color3sv({Red,Green,Blue}) -> color3s(Red,Green,Blue). %% @equiv color3ub(Red,Green,Blue) --spec color3ubv(V) -> ok when V :: {Red :: integer(),Green :: integer(),Blue :: integer()}. +-spec color3ubv(V) -> 'ok' when V :: {Red :: integer(),Green :: integer(),Blue :: integer()}. color3ubv({Red,Green,Blue}) -> color3ub(Red,Green,Blue). %% @equiv color3ui(Red,Green,Blue) --spec color3uiv(V) -> ok when V :: {Red :: integer(),Green :: integer(),Blue :: integer()}. +-spec color3uiv(V) -> 'ok' when V :: {Red :: integer(),Green :: integer(),Blue :: integer()}. color3uiv({Red,Green,Blue}) -> color3ui(Red,Green,Blue). %% @equiv color3us(Red,Green,Blue) --spec color3usv(V) -> ok when V :: {Red :: integer(),Green :: integer(),Blue :: integer()}. +-spec color3usv(V) -> 'ok' when V :: {Red :: integer(),Green :: integer(),Blue :: integer()}. color3usv({Red,Green,Blue}) -> color3us(Red,Green,Blue). %% @equiv color4b(Red,Green,Blue,Alpha) --spec color4bv(V) -> ok when V :: {Red :: integer(),Green :: integer(),Blue :: integer(),Alpha :: integer()}. +-spec color4bv(V) -> 'ok' when V :: {Red :: integer(),Green :: integer(),Blue :: integer(),Alpha :: integer()}. color4bv({Red,Green,Blue,Alpha}) -> color4b(Red,Green,Blue,Alpha). %% @equiv color4d(Red,Green,Blue,Alpha) --spec color4dv(V) -> ok when V :: {Red :: float(),Green :: float(),Blue :: float(),Alpha :: float()}. +-spec color4dv(V) -> 'ok' when V :: {Red :: float(),Green :: float(),Blue :: float(),Alpha :: float()}. color4dv({Red,Green,Blue,Alpha}) -> color4d(Red,Green,Blue,Alpha). %% @equiv color4f(Red,Green,Blue,Alpha) --spec color4fv(V) -> ok when V :: {Red :: float(),Green :: float(),Blue :: float(),Alpha :: float()}. +-spec color4fv(V) -> 'ok' when V :: {Red :: float(),Green :: float(),Blue :: float(),Alpha :: float()}. color4fv({Red,Green,Blue,Alpha}) -> color4f(Red,Green,Blue,Alpha). %% @equiv color4i(Red,Green,Blue,Alpha) --spec color4iv(V) -> ok when V :: {Red :: integer(),Green :: integer(),Blue :: integer(),Alpha :: integer()}. +-spec color4iv(V) -> 'ok' when V :: {Red :: integer(),Green :: integer(),Blue :: integer(),Alpha :: integer()}. color4iv({Red,Green,Blue,Alpha}) -> color4i(Red,Green,Blue,Alpha). %% @equiv color4s(Red,Green,Blue,Alpha) --spec color4sv(V) -> ok when V :: {Red :: integer(),Green :: integer(),Blue :: integer(),Alpha :: integer()}. +-spec color4sv(V) -> 'ok' when V :: {Red :: integer(),Green :: integer(),Blue :: integer(),Alpha :: integer()}. color4sv({Red,Green,Blue,Alpha}) -> color4s(Red,Green,Blue,Alpha). %% @equiv color4ub(Red,Green,Blue,Alpha) --spec color4ubv(V) -> ok when V :: {Red :: integer(),Green :: integer(),Blue :: integer(),Alpha :: integer()}. +-spec color4ubv(V) -> 'ok' when V :: {Red :: integer(),Green :: integer(),Blue :: integer(),Alpha :: integer()}. color4ubv({Red,Green,Blue,Alpha}) -> color4ub(Red,Green,Blue,Alpha). %% @equiv color4ui(Red,Green,Blue,Alpha) --spec color4uiv(V) -> ok when V :: {Red :: integer(),Green :: integer(),Blue :: integer(),Alpha :: integer()}. +-spec color4uiv(V) -> 'ok' when V :: {Red :: integer(),Green :: integer(),Blue :: integer(),Alpha :: integer()}. color4uiv({Red,Green,Blue,Alpha}) -> color4ui(Red,Green,Blue,Alpha). %% @equiv color4us(Red,Green,Blue,Alpha) --spec color4usv(V) -> ok when V :: {Red :: integer(),Green :: integer(),Blue :: integer(),Alpha :: integer()}. +-spec color4usv(V) -> 'ok' when V :: {Red :: integer(),Green :: integer(),Blue :: integer(),Alpha :: integer()}. color4usv({Red,Green,Blue,Alpha}) -> color4us(Red,Green,Blue,Alpha). %% @doc Set the current texture coordinates @@ -3496,162 +3496,162 @@ color4usv({Red,Green,Blue,Alpha}) -> color4us(Red,Green,Blue,Alpha). %% %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml">external</a> documentation. --spec texCoord1d(S) -> ok when S :: float(). +-spec texCoord1d(S) -> 'ok' when S :: float(). texCoord1d(S) -> cast(5150, <<S:?GLdouble>>). %% @doc %% See {@link texCoord1d/1} --spec texCoord1f(S) -> ok when S :: float(). +-spec texCoord1f(S) -> 'ok' when S :: float(). texCoord1f(S) -> cast(5151, <<S:?GLfloat>>). %% @doc %% See {@link texCoord1d/1} --spec texCoord1i(S) -> ok when S :: integer(). +-spec texCoord1i(S) -> 'ok' when S :: integer(). texCoord1i(S) -> cast(5152, <<S:?GLint>>). %% @doc %% See {@link texCoord1d/1} --spec texCoord1s(S) -> ok when S :: integer(). +-spec texCoord1s(S) -> 'ok' when S :: integer(). texCoord1s(S) -> cast(5153, <<S:?GLshort>>). %% @doc %% See {@link texCoord1d/1} --spec texCoord2d(S, T) -> ok when S :: float(),T :: float(). +-spec texCoord2d(S, T) -> 'ok' when S :: float(),T :: float(). texCoord2d(S,T) -> cast(5154, <<S:?GLdouble,T:?GLdouble>>). %% @doc %% See {@link texCoord1d/1} --spec texCoord2f(S, T) -> ok when S :: float(),T :: float(). +-spec texCoord2f(S, T) -> 'ok' when S :: float(),T :: float(). texCoord2f(S,T) -> cast(5155, <<S:?GLfloat,T:?GLfloat>>). %% @doc %% See {@link texCoord1d/1} --spec texCoord2i(S, T) -> ok when S :: integer(),T :: integer(). +-spec texCoord2i(S, T) -> 'ok' when S :: integer(),T :: integer(). texCoord2i(S,T) -> cast(5156, <<S:?GLint,T:?GLint>>). %% @doc %% See {@link texCoord1d/1} --spec texCoord2s(S, T) -> ok when S :: integer(),T :: integer(). +-spec texCoord2s(S, T) -> 'ok' when S :: integer(),T :: integer(). texCoord2s(S,T) -> cast(5157, <<S:?GLshort,T:?GLshort>>). %% @doc %% See {@link texCoord1d/1} --spec texCoord3d(S, T, R) -> ok when S :: float(),T :: float(),R :: float(). +-spec texCoord3d(S, T, R) -> 'ok' when S :: float(),T :: float(),R :: float(). texCoord3d(S,T,R) -> cast(5158, <<S:?GLdouble,T:?GLdouble,R:?GLdouble>>). %% @doc %% See {@link texCoord1d/1} --spec texCoord3f(S, T, R) -> ok when S :: float(),T :: float(),R :: float(). +-spec texCoord3f(S, T, R) -> 'ok' when S :: float(),T :: float(),R :: float(). texCoord3f(S,T,R) -> cast(5159, <<S:?GLfloat,T:?GLfloat,R:?GLfloat>>). %% @doc %% See {@link texCoord1d/1} --spec texCoord3i(S, T, R) -> ok when S :: integer(),T :: integer(),R :: integer(). +-spec texCoord3i(S, T, R) -> 'ok' when S :: integer(),T :: integer(),R :: integer(). texCoord3i(S,T,R) -> cast(5160, <<S:?GLint,T:?GLint,R:?GLint>>). %% @doc %% See {@link texCoord1d/1} --spec texCoord3s(S, T, R) -> ok when S :: integer(),T :: integer(),R :: integer(). +-spec texCoord3s(S, T, R) -> 'ok' when S :: integer(),T :: integer(),R :: integer(). texCoord3s(S,T,R) -> cast(5161, <<S:?GLshort,T:?GLshort,R:?GLshort>>). %% @doc %% See {@link texCoord1d/1} --spec texCoord4d(S, T, R, Q) -> ok when S :: float(),T :: float(),R :: float(),Q :: float(). +-spec texCoord4d(S, T, R, Q) -> 'ok' when S :: float(),T :: float(),R :: float(),Q :: float(). texCoord4d(S,T,R,Q) -> cast(5162, <<S:?GLdouble,T:?GLdouble,R:?GLdouble,Q:?GLdouble>>). %% @doc %% See {@link texCoord1d/1} --spec texCoord4f(S, T, R, Q) -> ok when S :: float(),T :: float(),R :: float(),Q :: float(). +-spec texCoord4f(S, T, R, Q) -> 'ok' when S :: float(),T :: float(),R :: float(),Q :: float(). texCoord4f(S,T,R,Q) -> cast(5163, <<S:?GLfloat,T:?GLfloat,R:?GLfloat,Q:?GLfloat>>). %% @doc %% See {@link texCoord1d/1} --spec texCoord4i(S, T, R, Q) -> ok when S :: integer(),T :: integer(),R :: integer(),Q :: integer(). +-spec texCoord4i(S, T, R, Q) -> 'ok' when S :: integer(),T :: integer(),R :: integer(),Q :: integer(). texCoord4i(S,T,R,Q) -> cast(5164, <<S:?GLint,T:?GLint,R:?GLint,Q:?GLint>>). %% @doc %% See {@link texCoord1d/1} --spec texCoord4s(S, T, R, Q) -> ok when S :: integer(),T :: integer(),R :: integer(),Q :: integer(). +-spec texCoord4s(S, T, R, Q) -> 'ok' when S :: integer(),T :: integer(),R :: integer(),Q :: integer(). texCoord4s(S,T,R,Q) -> cast(5165, <<S:?GLshort,T:?GLshort,R:?GLshort,Q:?GLshort>>). %% @equiv texCoord1d(S) --spec texCoord1dv(V) -> ok when V :: {S :: float()}. +-spec texCoord1dv(V) -> 'ok' when V :: {S :: float()}. texCoord1dv({S}) -> texCoord1d(S). %% @equiv texCoord1f(S) --spec texCoord1fv(V) -> ok when V :: {S :: float()}. +-spec texCoord1fv(V) -> 'ok' when V :: {S :: float()}. texCoord1fv({S}) -> texCoord1f(S). %% @equiv texCoord1i(S) --spec texCoord1iv(V) -> ok when V :: {S :: integer()}. +-spec texCoord1iv(V) -> 'ok' when V :: {S :: integer()}. texCoord1iv({S}) -> texCoord1i(S). %% @equiv texCoord1s(S) --spec texCoord1sv(V) -> ok when V :: {S :: integer()}. +-spec texCoord1sv(V) -> 'ok' when V :: {S :: integer()}. texCoord1sv({S}) -> texCoord1s(S). %% @equiv texCoord2d(S,T) --spec texCoord2dv(V) -> ok when V :: {S :: float(),T :: float()}. +-spec texCoord2dv(V) -> 'ok' when V :: {S :: float(),T :: float()}. texCoord2dv({S,T}) -> texCoord2d(S,T). %% @equiv texCoord2f(S,T) --spec texCoord2fv(V) -> ok when V :: {S :: float(),T :: float()}. +-spec texCoord2fv(V) -> 'ok' when V :: {S :: float(),T :: float()}. texCoord2fv({S,T}) -> texCoord2f(S,T). %% @equiv texCoord2i(S,T) --spec texCoord2iv(V) -> ok when V :: {S :: integer(),T :: integer()}. +-spec texCoord2iv(V) -> 'ok' when V :: {S :: integer(),T :: integer()}. texCoord2iv({S,T}) -> texCoord2i(S,T). %% @equiv texCoord2s(S,T) --spec texCoord2sv(V) -> ok when V :: {S :: integer(),T :: integer()}. +-spec texCoord2sv(V) -> 'ok' when V :: {S :: integer(),T :: integer()}. texCoord2sv({S,T}) -> texCoord2s(S,T). %% @equiv texCoord3d(S,T,R) --spec texCoord3dv(V) -> ok when V :: {S :: float(),T :: float(),R :: float()}. +-spec texCoord3dv(V) -> 'ok' when V :: {S :: float(),T :: float(),R :: float()}. texCoord3dv({S,T,R}) -> texCoord3d(S,T,R). %% @equiv texCoord3f(S,T,R) --spec texCoord3fv(V) -> ok when V :: {S :: float(),T :: float(),R :: float()}. +-spec texCoord3fv(V) -> 'ok' when V :: {S :: float(),T :: float(),R :: float()}. texCoord3fv({S,T,R}) -> texCoord3f(S,T,R). %% @equiv texCoord3i(S,T,R) --spec texCoord3iv(V) -> ok when V :: {S :: integer(),T :: integer(),R :: integer()}. +-spec texCoord3iv(V) -> 'ok' when V :: {S :: integer(),T :: integer(),R :: integer()}. texCoord3iv({S,T,R}) -> texCoord3i(S,T,R). %% @equiv texCoord3s(S,T,R) --spec texCoord3sv(V) -> ok when V :: {S :: integer(),T :: integer(),R :: integer()}. +-spec texCoord3sv(V) -> 'ok' when V :: {S :: integer(),T :: integer(),R :: integer()}. texCoord3sv({S,T,R}) -> texCoord3s(S,T,R). %% @equiv texCoord4d(S,T,R,Q) --spec texCoord4dv(V) -> ok when V :: {S :: float(),T :: float(),R :: float(),Q :: float()}. +-spec texCoord4dv(V) -> 'ok' when V :: {S :: float(),T :: float(),R :: float(),Q :: float()}. texCoord4dv({S,T,R,Q}) -> texCoord4d(S,T,R,Q). %% @equiv texCoord4f(S,T,R,Q) --spec texCoord4fv(V) -> ok when V :: {S :: float(),T :: float(),R :: float(),Q :: float()}. +-spec texCoord4fv(V) -> 'ok' when V :: {S :: float(),T :: float(),R :: float(),Q :: float()}. texCoord4fv({S,T,R,Q}) -> texCoord4f(S,T,R,Q). %% @equiv texCoord4i(S,T,R,Q) --spec texCoord4iv(V) -> ok when V :: {S :: integer(),T :: integer(),R :: integer(),Q :: integer()}. +-spec texCoord4iv(V) -> 'ok' when V :: {S :: integer(),T :: integer(),R :: integer(),Q :: integer()}. texCoord4iv({S,T,R,Q}) -> texCoord4i(S,T,R,Q). %% @equiv texCoord4s(S,T,R,Q) --spec texCoord4sv(V) -> ok when V :: {S :: integer(),T :: integer(),R :: integer(),Q :: integer()}. +-spec texCoord4sv(V) -> 'ok' when V :: {S :: integer(),T :: integer(),R :: integer(),Q :: integer()}. texCoord4sv({S,T,R,Q}) -> texCoord4s(S,T,R,Q). %% @doc Specify the raster position for pixel operations @@ -3696,122 +3696,122 @@ texCoord4sv({S,T,R,Q}) -> texCoord4s(S,T,R,Q). %% initial value. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glRasterPos.xml">external</a> documentation. --spec rasterPos2d(X, Y) -> ok when X :: float(),Y :: float(). +-spec rasterPos2d(X, Y) -> 'ok' when X :: float(),Y :: float(). rasterPos2d(X,Y) -> cast(5166, <<X:?GLdouble,Y:?GLdouble>>). %% @doc %% See {@link rasterPos2d/2} --spec rasterPos2f(X, Y) -> ok when X :: float(),Y :: float(). +-spec rasterPos2f(X, Y) -> 'ok' when X :: float(),Y :: float(). rasterPos2f(X,Y) -> cast(5167, <<X:?GLfloat,Y:?GLfloat>>). %% @doc %% See {@link rasterPos2d/2} --spec rasterPos2i(X, Y) -> ok when X :: integer(),Y :: integer(). +-spec rasterPos2i(X, Y) -> 'ok' when X :: integer(),Y :: integer(). rasterPos2i(X,Y) -> cast(5168, <<X:?GLint,Y:?GLint>>). %% @doc %% See {@link rasterPos2d/2} --spec rasterPos2s(X, Y) -> ok when X :: integer(),Y :: integer(). +-spec rasterPos2s(X, Y) -> 'ok' when X :: integer(),Y :: integer(). rasterPos2s(X,Y) -> cast(5169, <<X:?GLshort,Y:?GLshort>>). %% @doc %% See {@link rasterPos2d/2} --spec rasterPos3d(X, Y, Z) -> ok when X :: float(),Y :: float(),Z :: float(). +-spec rasterPos3d(X, Y, Z) -> 'ok' when X :: float(),Y :: float(),Z :: float(). rasterPos3d(X,Y,Z) -> cast(5170, <<X:?GLdouble,Y:?GLdouble,Z:?GLdouble>>). %% @doc %% See {@link rasterPos2d/2} --spec rasterPos3f(X, Y, Z) -> ok when X :: float(),Y :: float(),Z :: float(). +-spec rasterPos3f(X, Y, Z) -> 'ok' when X :: float(),Y :: float(),Z :: float(). rasterPos3f(X,Y,Z) -> cast(5171, <<X:?GLfloat,Y:?GLfloat,Z:?GLfloat>>). %% @doc %% See {@link rasterPos2d/2} --spec rasterPos3i(X, Y, Z) -> ok when X :: integer(),Y :: integer(),Z :: integer(). +-spec rasterPos3i(X, Y, Z) -> 'ok' when X :: integer(),Y :: integer(),Z :: integer(). rasterPos3i(X,Y,Z) -> cast(5172, <<X:?GLint,Y:?GLint,Z:?GLint>>). %% @doc %% See {@link rasterPos2d/2} --spec rasterPos3s(X, Y, Z) -> ok when X :: integer(),Y :: integer(),Z :: integer(). +-spec rasterPos3s(X, Y, Z) -> 'ok' when X :: integer(),Y :: integer(),Z :: integer(). rasterPos3s(X,Y,Z) -> cast(5173, <<X:?GLshort,Y:?GLshort,Z:?GLshort>>). %% @doc %% See {@link rasterPos2d/2} --spec rasterPos4d(X, Y, Z, W) -> ok when X :: float(),Y :: float(),Z :: float(),W :: float(). +-spec rasterPos4d(X, Y, Z, W) -> 'ok' when X :: float(),Y :: float(),Z :: float(),W :: float(). rasterPos4d(X,Y,Z,W) -> cast(5174, <<X:?GLdouble,Y:?GLdouble,Z:?GLdouble,W:?GLdouble>>). %% @doc %% See {@link rasterPos2d/2} --spec rasterPos4f(X, Y, Z, W) -> ok when X :: float(),Y :: float(),Z :: float(),W :: float(). +-spec rasterPos4f(X, Y, Z, W) -> 'ok' when X :: float(),Y :: float(),Z :: float(),W :: float(). rasterPos4f(X,Y,Z,W) -> cast(5175, <<X:?GLfloat,Y:?GLfloat,Z:?GLfloat,W:?GLfloat>>). %% @doc %% See {@link rasterPos2d/2} --spec rasterPos4i(X, Y, Z, W) -> ok when X :: integer(),Y :: integer(),Z :: integer(),W :: integer(). +-spec rasterPos4i(X, Y, Z, W) -> 'ok' when X :: integer(),Y :: integer(),Z :: integer(),W :: integer(). rasterPos4i(X,Y,Z,W) -> cast(5176, <<X:?GLint,Y:?GLint,Z:?GLint,W:?GLint>>). %% @doc %% See {@link rasterPos2d/2} --spec rasterPos4s(X, Y, Z, W) -> ok when X :: integer(),Y :: integer(),Z :: integer(),W :: integer(). +-spec rasterPos4s(X, Y, Z, W) -> 'ok' when X :: integer(),Y :: integer(),Z :: integer(),W :: integer(). rasterPos4s(X,Y,Z,W) -> cast(5177, <<X:?GLshort,Y:?GLshort,Z:?GLshort,W:?GLshort>>). %% @equiv rasterPos2d(X,Y) --spec rasterPos2dv(V) -> ok when V :: {X :: float(),Y :: float()}. +-spec rasterPos2dv(V) -> 'ok' when V :: {X :: float(),Y :: float()}. rasterPos2dv({X,Y}) -> rasterPos2d(X,Y). %% @equiv rasterPos2f(X,Y) --spec rasterPos2fv(V) -> ok when V :: {X :: float(),Y :: float()}. +-spec rasterPos2fv(V) -> 'ok' when V :: {X :: float(),Y :: float()}. rasterPos2fv({X,Y}) -> rasterPos2f(X,Y). %% @equiv rasterPos2i(X,Y) --spec rasterPos2iv(V) -> ok when V :: {X :: integer(),Y :: integer()}. +-spec rasterPos2iv(V) -> 'ok' when V :: {X :: integer(),Y :: integer()}. rasterPos2iv({X,Y}) -> rasterPos2i(X,Y). %% @equiv rasterPos2s(X,Y) --spec rasterPos2sv(V) -> ok when V :: {X :: integer(),Y :: integer()}. +-spec rasterPos2sv(V) -> 'ok' when V :: {X :: integer(),Y :: integer()}. rasterPos2sv({X,Y}) -> rasterPos2s(X,Y). %% @equiv rasterPos3d(X,Y,Z) --spec rasterPos3dv(V) -> ok when V :: {X :: float(),Y :: float(),Z :: float()}. +-spec rasterPos3dv(V) -> 'ok' when V :: {X :: float(),Y :: float(),Z :: float()}. rasterPos3dv({X,Y,Z}) -> rasterPos3d(X,Y,Z). %% @equiv rasterPos3f(X,Y,Z) --spec rasterPos3fv(V) -> ok when V :: {X :: float(),Y :: float(),Z :: float()}. +-spec rasterPos3fv(V) -> 'ok' when V :: {X :: float(),Y :: float(),Z :: float()}. rasterPos3fv({X,Y,Z}) -> rasterPos3f(X,Y,Z). %% @equiv rasterPos3i(X,Y,Z) --spec rasterPos3iv(V) -> ok when V :: {X :: integer(),Y :: integer(),Z :: integer()}. +-spec rasterPos3iv(V) -> 'ok' when V :: {X :: integer(),Y :: integer(),Z :: integer()}. rasterPos3iv({X,Y,Z}) -> rasterPos3i(X,Y,Z). %% @equiv rasterPos3s(X,Y,Z) --spec rasterPos3sv(V) -> ok when V :: {X :: integer(),Y :: integer(),Z :: integer()}. +-spec rasterPos3sv(V) -> 'ok' when V :: {X :: integer(),Y :: integer(),Z :: integer()}. rasterPos3sv({X,Y,Z}) -> rasterPos3s(X,Y,Z). %% @equiv rasterPos4d(X,Y,Z,W) --spec rasterPos4dv(V) -> ok when V :: {X :: float(),Y :: float(),Z :: float(),W :: float()}. +-spec rasterPos4dv(V) -> 'ok' when V :: {X :: float(),Y :: float(),Z :: float(),W :: float()}. rasterPos4dv({X,Y,Z,W}) -> rasterPos4d(X,Y,Z,W). %% @equiv rasterPos4f(X,Y,Z,W) --spec rasterPos4fv(V) -> ok when V :: {X :: float(),Y :: float(),Z :: float(),W :: float()}. +-spec rasterPos4fv(V) -> 'ok' when V :: {X :: float(),Y :: float(),Z :: float(),W :: float()}. rasterPos4fv({X,Y,Z,W}) -> rasterPos4f(X,Y,Z,W). %% @equiv rasterPos4i(X,Y,Z,W) --spec rasterPos4iv(V) -> ok when V :: {X :: integer(),Y :: integer(),Z :: integer(),W :: integer()}. +-spec rasterPos4iv(V) -> 'ok' when V :: {X :: integer(),Y :: integer(),Z :: integer(),W :: integer()}. rasterPos4iv({X,Y,Z,W}) -> rasterPos4i(X,Y,Z,W). %% @equiv rasterPos4s(X,Y,Z,W) --spec rasterPos4sv(V) -> ok when V :: {X :: integer(),Y :: integer(),Z :: integer(),W :: integer()}. +-spec rasterPos4sv(V) -> 'ok' when V :: {X :: integer(),Y :: integer(),Z :: integer(),W :: integer()}. rasterPos4sv({X,Y,Z,W}) -> rasterPos4s(X,Y,Z,W). %% @doc Draw a rectangle @@ -3828,49 +3828,49 @@ rasterPos4sv({X,Y,Z,W}) -> rasterPos4s(X,Y,Z,W). %% the rectangle is constructed with a counterclockwise winding. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glRect.xml">external</a> documentation. --spec rectd(X1, Y1, X2, Y2) -> ok when X1 :: float(),Y1 :: float(),X2 :: float(),Y2 :: float(). +-spec rectd(X1, Y1, X2, Y2) -> 'ok' when X1 :: float(),Y1 :: float(),X2 :: float(),Y2 :: float(). rectd(X1,Y1,X2,Y2) -> cast(5178, <<X1:?GLdouble,Y1:?GLdouble,X2:?GLdouble,Y2:?GLdouble>>). %% @doc %% See {@link rectd/4} --spec rectf(X1, Y1, X2, Y2) -> ok when X1 :: float(),Y1 :: float(),X2 :: float(),Y2 :: float(). +-spec rectf(X1, Y1, X2, Y2) -> 'ok' when X1 :: float(),Y1 :: float(),X2 :: float(),Y2 :: float(). rectf(X1,Y1,X2,Y2) -> cast(5179, <<X1:?GLfloat,Y1:?GLfloat,X2:?GLfloat,Y2:?GLfloat>>). %% @doc %% See {@link rectd/4} --spec recti(X1, Y1, X2, Y2) -> ok when X1 :: integer(),Y1 :: integer(),X2 :: integer(),Y2 :: integer(). +-spec recti(X1, Y1, X2, Y2) -> 'ok' when X1 :: integer(),Y1 :: integer(),X2 :: integer(),Y2 :: integer(). recti(X1,Y1,X2,Y2) -> cast(5180, <<X1:?GLint,Y1:?GLint,X2:?GLint,Y2:?GLint>>). %% @doc %% See {@link rectd/4} --spec rects(X1, Y1, X2, Y2) -> ok when X1 :: integer(),Y1 :: integer(),X2 :: integer(),Y2 :: integer(). +-spec rects(X1, Y1, X2, Y2) -> 'ok' when X1 :: integer(),Y1 :: integer(),X2 :: integer(),Y2 :: integer(). rects(X1,Y1,X2,Y2) -> cast(5181, <<X1:?GLshort,Y1:?GLshort,X2:?GLshort,Y2:?GLshort>>). %% @doc %% See {@link rectd/4} --spec rectdv(V1, V2) -> ok when V1 :: {float(),float()},V2 :: {float(),float()}. +-spec rectdv(V1, V2) -> 'ok' when V1 :: {float(),float()},V2 :: {float(),float()}. rectdv({V1,V2},{V1,V2}) -> cast(5182, <<V1:?GLdouble,V2:?GLdouble,V1:?GLdouble,V2:?GLdouble>>). %% @doc %% See {@link rectd/4} --spec rectfv(V1, V2) -> ok when V1 :: {float(),float()},V2 :: {float(),float()}. +-spec rectfv(V1, V2) -> 'ok' when V1 :: {float(),float()},V2 :: {float(),float()}. rectfv({V1,V2},{V1,V2}) -> cast(5183, <<V1:?GLfloat,V2:?GLfloat,V1:?GLfloat,V2:?GLfloat>>). %% @doc %% See {@link rectd/4} --spec rectiv(V1, V2) -> ok when V1 :: {integer(),integer()},V2 :: {integer(),integer()}. +-spec rectiv(V1, V2) -> 'ok' when V1 :: {integer(),integer()},V2 :: {integer(),integer()}. rectiv({V1,V2},{V1,V2}) -> cast(5184, <<V1:?GLint,V2:?GLint,V1:?GLint,V2:?GLint>>). %% @doc %% See {@link rectd/4} --spec rectsv(V1, V2) -> ok when V1 :: {integer(),integer()},V2 :: {integer(),integer()}. +-spec rectsv(V1, V2) -> 'ok' when V1 :: {integer(),integer()},V2 :: {integer(),integer()}. rectsv({V1,V2},{V1,V2}) -> cast(5185, <<V1:?GLshort,V2:?GLshort,V1:?GLshort,V2:?GLshort>>). @@ -3898,7 +3898,7 @@ rectsv({V1,V2},{V1,V2}) -> %% , or {@link gl:drawRangeElements/6} is called. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glVertexPointer.xml">external</a> documentation. --spec vertexPointer(Size, Type, Stride, Ptr) -> ok when Size :: integer(),Type :: enum(),Stride :: integer(),Ptr :: offset()|mem(). +-spec vertexPointer(Size, Type, Stride, Ptr) -> 'ok' when Size :: integer(),Type :: enum(),Stride :: integer(),Ptr :: offset()|mem(). vertexPointer(Size,Type,Stride,Ptr) when is_integer(Ptr) -> cast(5186, <<Size:?GLint,Type:?GLenum,Stride:?GLsizei,Ptr:?GLuint>>); vertexPointer(Size,Type,Stride,Ptr) -> @@ -3929,7 +3929,7 @@ vertexPointer(Size,Type,Stride,Ptr) -> %% , or {@link gl:arrayElement/1} is called. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glNormalPointer.xml">external</a> documentation. --spec normalPointer(Type, Stride, Ptr) -> ok when Type :: enum(),Stride :: integer(),Ptr :: offset()|mem(). +-spec normalPointer(Type, Stride, Ptr) -> 'ok' when Type :: enum(),Stride :: integer(),Ptr :: offset()|mem(). normalPointer(Type,Stride,Ptr) when is_integer(Ptr) -> cast(5188, <<Type:?GLenum,Stride:?GLsizei,Ptr:?GLuint>>); normalPointer(Type,Stride,Ptr) -> @@ -3961,7 +3961,7 @@ normalPointer(Type,Stride,Ptr) -> %% , or {@link gl:arrayElement/1} is called. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glColorPointer.xml">external</a> documentation. --spec colorPointer(Size, Type, Stride, Ptr) -> ok when Size :: integer(),Type :: enum(),Stride :: integer(),Ptr :: offset()|mem(). +-spec colorPointer(Size, Type, Stride, Ptr) -> 'ok' when Size :: integer(),Type :: enum(),Stride :: integer(),Ptr :: offset()|mem(). colorPointer(Size,Type,Stride,Ptr) when is_integer(Ptr) -> cast(5190, <<Size:?GLint,Type:?GLenum,Stride:?GLsizei,Ptr:?GLuint>>); colorPointer(Size,Type,Stride,Ptr) -> @@ -3991,7 +3991,7 @@ colorPointer(Size,Type,Stride,Ptr) -> %% , {@link gl:drawRangeElements/6} , or {@link gl:arrayElement/1} is called. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glIndexPointer.xml">external</a> documentation. --spec indexPointer(Type, Stride, Ptr) -> ok when Type :: enum(),Stride :: integer(),Ptr :: offset()|mem(). +-spec indexPointer(Type, Stride, Ptr) -> 'ok' when Type :: enum(),Stride :: integer(),Ptr :: offset()|mem(). indexPointer(Type,Stride,Ptr) when is_integer(Ptr) -> cast(5192, <<Type:?GLenum,Stride:?GLsizei,Ptr:?GLuint>>); indexPointer(Type,Stride,Ptr) -> @@ -4025,7 +4025,7 @@ indexPointer(Type,Stride,Ptr) -> %% or {@link gl:drawRangeElements/6} is called. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glTexCoordPointer.xml">external</a> documentation. --spec texCoordPointer(Size, Type, Stride, Ptr) -> ok when Size :: integer(),Type :: enum(),Stride :: integer(),Ptr :: offset()|mem(). +-spec texCoordPointer(Size, Type, Stride, Ptr) -> 'ok' when Size :: integer(),Type :: enum(),Stride :: integer(),Ptr :: offset()|mem(). texCoordPointer(Size,Type,Stride,Ptr) when is_integer(Ptr) -> cast(5194, <<Size:?GLint,Type:?GLenum,Stride:?GLsizei,Ptr:?GLuint>>); texCoordPointer(Size,Type,Stride,Ptr) -> @@ -4054,7 +4054,7 @@ texCoordPointer(Size,Type,Stride,Ptr) -> %% , {@link gl:drawRangeElements/6} , or {@link gl:arrayElement/1} is called. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glEdgeFlagPointer.xml">external</a> documentation. --spec edgeFlagPointer(Stride, Ptr) -> ok when Stride :: integer(),Ptr :: offset()|mem(). +-spec edgeFlagPointer(Stride, Ptr) -> 'ok' when Stride :: integer(),Ptr :: offset()|mem(). edgeFlagPointer(Stride,Ptr) when is_integer(Ptr) -> cast(5196, <<Stride:?GLsizei,Ptr:?GLuint>>); edgeFlagPointer(Stride,Ptr) -> @@ -4082,7 +4082,7 @@ edgeFlagPointer(Stride,Ptr) -> %% and a call that follows a change to array data may access original data. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glArrayElement.xml">external</a> documentation. --spec arrayElement(I) -> ok when I :: integer(). +-spec arrayElement(I) -> 'ok' when I :: integer(). arrayElement(I) -> cast(5198, <<I:?GLint>>). @@ -4103,7 +4103,7 @@ arrayElement(I) -> %% after ``gl:drawArrays'' returns. Attributes that aren't modified remain well defined. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glDrawArrays.xml">external</a> documentation. --spec drawArrays(Mode, First, Count) -> ok when Mode :: enum(),First :: integer(),Count :: integer(). +-spec drawArrays(Mode, First, Count) -> 'ok' when Mode :: enum(),First :: integer(),Count :: integer(). drawArrays(Mode,First,Count) -> cast(5199, <<Mode:?GLenum,First:?GLint,Count:?GLsizei>>). @@ -4125,7 +4125,7 @@ drawArrays(Mode,First,Count) -> %% values. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glDrawElements.xml">external</a> documentation. --spec drawElements(Mode, Count, Type, Indices) -> ok when Mode :: enum(),Count :: integer(),Type :: enum(),Indices :: offset()|mem(). +-spec drawElements(Mode, Count, Type, Indices) -> 'ok' when Mode :: enum(),Count :: integer(),Type :: enum(),Indices :: offset()|mem(). drawElements(Mode,Count,Type,Indices) when is_integer(Indices) -> cast(5200, <<Mode:?GLenum,Count:?GLsizei,Type:?GLenum,Indices:?GLuint>>); drawElements(Mode,Count,Type,Indices) -> @@ -4153,7 +4153,7 @@ drawElements(Mode,Count,Type,Indices) -> %% which follows is located at the first possible floating-point aligned address. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glInterleavedArrays.xml">external</a> documentation. --spec interleavedArrays(Format, Stride, Pointer) -> ok when Format :: enum(),Stride :: integer(),Pointer :: offset()|mem(). +-spec interleavedArrays(Format, Stride, Pointer) -> 'ok' when Format :: enum(),Stride :: integer(),Pointer :: offset()|mem(). interleavedArrays(Format,Stride,Pointer) when is_integer(Pointer) -> cast(5202, <<Format:?GLenum,Stride:?GLsizei,Pointer:?GLuint>>); interleavedArrays(Format,Stride,Pointer) -> @@ -4187,7 +4187,7 @@ interleavedArrays(Format,Stride,Pointer) -> %% and `?GL_SMOOTH', respectively. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glShadeModel.xml">external</a> documentation. --spec shadeModel(Mode) -> ok when Mode :: enum(). +-spec shadeModel(Mode) -> 'ok' when Mode :: enum(). shadeModel(Mode) -> cast(5204, <<Mode:?GLenum>>). @@ -4281,26 +4281,26 @@ shadeModel(Mode) -> %% attenuation factors are (1, 0, 0), resulting in no attenuation. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glLight.xml">external</a> documentation. --spec lightf(Light, Pname, Param) -> ok when Light :: enum(),Pname :: enum(),Param :: float(). +-spec lightf(Light, Pname, Param) -> 'ok' when Light :: enum(),Pname :: enum(),Param :: float(). lightf(Light,Pname,Param) -> cast(5205, <<Light:?GLenum,Pname:?GLenum,Param:?GLfloat>>). %% @doc %% See {@link lightf/3} --spec lighti(Light, Pname, Param) -> ok when Light :: enum(),Pname :: enum(),Param :: integer(). +-spec lighti(Light, Pname, Param) -> 'ok' when Light :: enum(),Pname :: enum(),Param :: integer(). lighti(Light,Pname,Param) -> cast(5206, <<Light:?GLenum,Pname:?GLenum,Param:?GLint>>). %% @doc %% See {@link lightf/3} --spec lightfv(Light, Pname, Params) -> ok when Light :: enum(),Pname :: enum(),Params :: tuple(). +-spec lightfv(Light, Pname, Params) -> 'ok' when Light :: enum(),Pname :: enum(),Params :: tuple(). lightfv(Light,Pname,Params) -> cast(5207, <<Light:?GLenum,Pname:?GLenum,(size(Params)):?GLuint, (<< <<C:?GLfloat>> ||C <- tuple_to_list(Params)>>)/binary,0:(((1+size(Params)) rem 2)*32)>>). %% @doc %% See {@link lightf/3} --spec lightiv(Light, Pname, Params) -> ok when Light :: enum(),Pname :: enum(),Params :: tuple(). +-spec lightiv(Light, Pname, Params) -> 'ok' when Light :: enum(),Pname :: enum(),Params :: tuple(). lightiv(Light,Pname,Params) -> cast(5208, <<Light:?GLenum,Pname:?GLenum,(size(Params)):?GLuint, (<< <<C:?GLint>> ||C <- tuple_to_list(Params)>>)/binary,0:(((1+size(Params)) rem 2)*32)>>). @@ -4452,26 +4452,26 @@ getLightiv(Light,Pname) -> %% as in the RGBA case, determine how much above ambient the resulting index is. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glLightModel.xml">external</a> documentation. --spec lightModelf(Pname, Param) -> ok when Pname :: enum(),Param :: float(). +-spec lightModelf(Pname, Param) -> 'ok' when Pname :: enum(),Param :: float(). lightModelf(Pname,Param) -> cast(5211, <<Pname:?GLenum,Param:?GLfloat>>). %% @doc %% See {@link lightModelf/2} --spec lightModeli(Pname, Param) -> ok when Pname :: enum(),Param :: integer(). +-spec lightModeli(Pname, Param) -> 'ok' when Pname :: enum(),Param :: integer(). lightModeli(Pname,Param) -> cast(5212, <<Pname:?GLenum,Param:?GLint>>). %% @doc %% See {@link lightModelf/2} --spec lightModelfv(Pname, Params) -> ok when Pname :: enum(),Params :: tuple(). +-spec lightModelfv(Pname, Params) -> 'ok' when Pname :: enum(),Params :: tuple(). lightModelfv(Pname,Params) -> cast(5213, <<Pname:?GLenum,(size(Params)):?GLuint, (<< <<C:?GLfloat>> ||C <- tuple_to_list(Params)>>)/binary,0:(((0+size(Params)) rem 2)*32)>>). %% @doc %% See {@link lightModelf/2} --spec lightModeliv(Pname, Params) -> ok when Pname :: enum(),Params :: tuple(). +-spec lightModeliv(Pname, Params) -> 'ok' when Pname :: enum(),Params :: tuple(). lightModeliv(Pname,Params) -> cast(5214, <<Pname:?GLenum,(size(Params)):?GLuint, (<< <<C:?GLint>> ||C <- tuple_to_list(Params)>>)/binary,0:(((0+size(Params)) rem 2)*32)>>). @@ -4539,26 +4539,26 @@ lightModeliv(Pname,Params) -> %% of color index lighting. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glMaterial.xml">external</a> documentation. --spec materialf(Face, Pname, Param) -> ok when Face :: enum(),Pname :: enum(),Param :: float(). +-spec materialf(Face, Pname, Param) -> 'ok' when Face :: enum(),Pname :: enum(),Param :: float(). materialf(Face,Pname,Param) -> cast(5215, <<Face:?GLenum,Pname:?GLenum,Param:?GLfloat>>). %% @doc %% See {@link materialf/3} --spec materiali(Face, Pname, Param) -> ok when Face :: enum(),Pname :: enum(),Param :: integer(). +-spec materiali(Face, Pname, Param) -> 'ok' when Face :: enum(),Pname :: enum(),Param :: integer(). materiali(Face,Pname,Param) -> cast(5216, <<Face:?GLenum,Pname:?GLenum,Param:?GLint>>). %% @doc %% See {@link materialf/3} --spec materialfv(Face, Pname, Params) -> ok when Face :: enum(),Pname :: enum(),Params :: tuple(). +-spec materialfv(Face, Pname, Params) -> 'ok' when Face :: enum(),Pname :: enum(),Params :: tuple(). materialfv(Face,Pname,Params) -> cast(5217, <<Face:?GLenum,Pname:?GLenum,(size(Params)):?GLuint, (<< <<C:?GLfloat>> ||C <- tuple_to_list(Params)>>)/binary,0:(((1+size(Params)) rem 2)*32)>>). %% @doc %% See {@link materialf/3} --spec materialiv(Face, Pname, Params) -> ok when Face :: enum(),Pname :: enum(),Params :: tuple(). +-spec materialiv(Face, Pname, Params) -> 'ok' when Face :: enum(),Pname :: enum(),Params :: tuple(). materialiv(Face,Pname,Params) -> cast(5218, <<Face:?GLenum,Pname:?GLenum,(size(Params)):?GLuint, (<< <<C:?GLint>> ||C <- tuple_to_list(Params)>>)/binary,0:(((1+size(Params)) rem 2)*32)>>). @@ -4629,7 +4629,7 @@ getMaterialiv(Face,Pname) -> %% %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glColorMaterial.xml">external</a> documentation. --spec colorMaterial(Face, Mode) -> ok when Face :: enum(),Mode :: enum(). +-spec colorMaterial(Face, Mode) -> 'ok' when Face :: enum(),Mode :: enum(). colorMaterial(Face,Mode) -> cast(5221, <<Face:?GLenum,Mode:?GLenum>>). @@ -4651,7 +4651,7 @@ colorMaterial(Face,Mode) -> %% the resulting image about the current raster position. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glPixelZoom.xml">external</a> documentation. --spec pixelZoom(Xfactor, Yfactor) -> ok when Xfactor :: float(),Yfactor :: float(). +-spec pixelZoom(Xfactor, Yfactor) -> 'ok' when Xfactor :: float(),Yfactor :: float(). pixelZoom(Xfactor,Yfactor) -> cast(5222, <<Xfactor:?GLfloat,Yfactor:?GLfloat>>). @@ -4839,13 +4839,13 @@ pixelZoom(Xfactor,Yfactor) -> %% Boolean parameters are set to false if `Param' is 0 and true otherwise. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glPixelStore.xml">external</a> documentation. --spec pixelStoref(Pname, Param) -> ok when Pname :: enum(),Param :: float(). +-spec pixelStoref(Pname, Param) -> 'ok' when Pname :: enum(),Param :: float(). pixelStoref(Pname,Param) -> cast(5223, <<Pname:?GLenum,Param:?GLfloat>>). %% @doc %% See {@link pixelStoref/2} --spec pixelStorei(Pname, Param) -> ok when Pname :: enum(),Param :: integer(). +-spec pixelStorei(Pname, Param) -> 'ok' when Pname :: enum(),Param :: integer(). pixelStorei(Pname,Param) -> cast(5224, <<Pname:?GLenum,Param:?GLint>>). @@ -4997,13 +4997,13 @@ pixelStorei(Pname,Param) -> %% is converted to floating point before being assigned to real-valued parameters. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glPixelTransfer.xml">external</a> documentation. --spec pixelTransferf(Pname, Param) -> ok when Pname :: enum(),Param :: float(). +-spec pixelTransferf(Pname, Param) -> 'ok' when Pname :: enum(),Param :: float(). pixelTransferf(Pname,Param) -> cast(5225, <<Pname:?GLenum,Param:?GLfloat>>). %% @doc %% See {@link pixelTransferf/2} --spec pixelTransferi(Pname, Param) -> ok when Pname :: enum(),Param :: integer(). +-spec pixelTransferi(Pname, Param) -> 'ok' when Pname :: enum(),Param :: integer(). pixelTransferi(Pname,Param) -> cast(5226, <<Pname:?GLenum,Param:?GLint>>). @@ -5086,21 +5086,21 @@ pixelTransferi(Pname,Param) -> %% <td> A </td><td> 1 </td><td> 0 </td></tr></tbody></table> %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glPixelMap.xml">external</a> documentation. --spec pixelMapfv(Map, Mapsize, Values) -> ok when Map :: enum(),Mapsize :: integer(),Values :: binary(). +-spec pixelMapfv(Map, Mapsize, Values) -> 'ok' when Map :: enum(),Mapsize :: integer(),Values :: binary(). pixelMapfv(Map,Mapsize,Values) -> send_bin(Values), cast(5227, <<Map:?GLenum,Mapsize:?GLsizei>>). %% @doc %% See {@link pixelMapfv/3} --spec pixelMapuiv(Map, Mapsize, Values) -> ok when Map :: enum(),Mapsize :: integer(),Values :: binary(). +-spec pixelMapuiv(Map, Mapsize, Values) -> 'ok' when Map :: enum(),Mapsize :: integer(),Values :: binary(). pixelMapuiv(Map,Mapsize,Values) -> send_bin(Values), cast(5228, <<Map:?GLenum,Mapsize:?GLsizei>>). %% @doc %% See {@link pixelMapfv/3} --spec pixelMapusv(Map, Mapsize, Values) -> ok when Map :: enum(),Mapsize :: integer(),Values :: binary(). +-spec pixelMapusv(Map, Mapsize, Values) -> 'ok' when Map :: enum(),Mapsize :: integer(),Values :: binary(). pixelMapusv(Map,Mapsize,Values) -> send_bin(Values), cast(5229, <<Map:?GLenum,Mapsize:?GLsizei>>). @@ -5129,21 +5129,21 @@ pixelMapusv(Map,Mapsize,Values) -> %% symbolic constant. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glGetPixelMap.xml">external</a> documentation. --spec getPixelMapfv(Map, Values) -> ok when Map :: enum(),Values :: mem(). +-spec getPixelMapfv(Map, Values) -> 'ok' when Map :: enum(),Values :: mem(). getPixelMapfv(Map,Values) -> send_bin(Values), call(5230, <<Map:?GLenum>>). %% @doc %% See {@link getPixelMapfv/2} --spec getPixelMapuiv(Map, Values) -> ok when Map :: enum(),Values :: mem(). +-spec getPixelMapuiv(Map, Values) -> 'ok' when Map :: enum(),Values :: mem(). getPixelMapuiv(Map,Values) -> send_bin(Values), call(5231, <<Map:?GLenum>>). %% @doc %% See {@link getPixelMapfv/2} --spec getPixelMapusv(Map, Values) -> ok when Map :: enum(),Values :: mem(). +-spec getPixelMapusv(Map, Values) -> 'ok' when Map :: enum(),Values :: mem(). getPixelMapusv(Map,Values) -> send_bin(Values), call(5232, <<Map:?GLenum>>). @@ -5191,7 +5191,7 @@ getPixelMapusv(Map,Values) -> %% or index. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glBitmap.xml">external</a> documentation. --spec bitmap(Width, Height, Xorig, Yorig, Xmove, Ymove, Bitmap) -> ok when Width :: integer(),Height :: integer(),Xorig :: float(),Yorig :: float(),Xmove :: float(),Ymove :: float(),Bitmap :: offset()|mem(). +-spec bitmap(Width, Height, Xorig, Yorig, Xmove, Ymove, Bitmap) -> 'ok' when Width :: integer(),Height :: integer(),Xorig :: float(),Yorig :: float(),Xmove :: float(),Ymove :: float(),Bitmap :: offset()|mem(). bitmap(Width,Height,Xorig,Yorig,Xmove,Ymove,Bitmap) when is_integer(Bitmap) -> cast(5233, <<Width:?GLsizei,Height:?GLsizei,Xorig:?GLfloat,Yorig:?GLfloat,Xmove:?GLfloat,Ymove:?GLfloat,Bitmap:?GLuint>>); bitmap(Width,Height,Xorig,Yorig,Xmove,Ymove,Bitmap) -> @@ -5292,7 +5292,7 @@ bitmap(Width,Height,Xorig,Yorig,Xmove,Ymove,Bitmap) -> %% data is written into memory. See {@link gl:pixelStoref/2} for a description. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glReadPixels.xml">external</a> documentation. --spec readPixels(X, Y, Width, Height, Format, Type, Pixels) -> ok when X :: integer(),Y :: integer(),Width :: integer(),Height :: integer(),Format :: enum(),Type :: enum(),Pixels :: mem(). +-spec readPixels(X, Y, Width, Height, Format, Type, Pixels) -> 'ok' when X :: integer(),Y :: integer(),Width :: integer(),Height :: integer(),Format :: enum(),Type :: enum(),Pixels :: mem(). readPixels(X,Y,Width,Height,Format,Type,Pixels) -> send_bin(Pixels), call(5235, <<X:?GLint,Y:?GLint,Width:?GLsizei,Height:?GLsizei,Format:?GLenum,Type:?GLenum>>). @@ -5537,7 +5537,7 @@ readPixels(X,Y,Width,Height,Format,Type,Pixels) -> %% . %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glDrawPixels.xml">external</a> documentation. --spec drawPixels(Width, Height, Format, Type, Pixels) -> ok when Width :: integer(),Height :: integer(),Format :: enum(),Type :: enum(),Pixels :: offset()|mem(). +-spec drawPixels(Width, Height, Format, Type, Pixels) -> 'ok' when Width :: integer(),Height :: integer(),Format :: enum(),Type :: enum(),Pixels :: offset()|mem(). drawPixels(Width,Height,Format,Type,Pixels) when is_integer(Pixels) -> cast(5236, <<Width:?GLsizei,Height:?GLsizei,Format:?GLenum,Type:?GLenum,Pixels:?GLuint>>); drawPixels(Width,Height,Format,Type,Pixels) -> @@ -5644,7 +5644,7 @@ drawPixels(Width,Height,Format,Type,Pixels) -> %% . %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glCopyPixels.xml">external</a> documentation. --spec copyPixels(X, Y, Width, Height, Type) -> ok when X :: integer(),Y :: integer(),Width :: integer(),Height :: integer(),Type :: enum(). +-spec copyPixels(X, Y, Width, Height, Type) -> 'ok' when X :: integer(),Y :: integer(),Width :: integer(),Height :: integer(),Type :: enum(). copyPixels(X,Y,Width,Height,Type) -> cast(5238, <<X:?GLint,Y:?GLint,Width:?GLsizei,Height:?GLsizei,Type:?GLenum>>). @@ -5707,7 +5707,7 @@ copyPixels(X,Y,Width,Height,Type) -> %% `?GL_ALWAYS': Always passes. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glStencilFunc.xml">external</a> documentation. --spec stencilFunc(Func, Ref, Mask) -> ok when Func :: enum(),Ref :: integer(),Mask :: integer(). +-spec stencilFunc(Func, Ref, Mask) -> 'ok' when Func :: enum(),Ref :: integer(),Mask :: integer(). stencilFunc(Func,Ref,Mask) -> cast(5239, <<Func:?GLenum,Ref:?GLint,Mask:?GLuint>>). @@ -5725,7 +5725,7 @@ stencilFunc(Func,Ref,Mask) -> %% to set front and back stencil writemasks to different values. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glStencilMask.xml">external</a> documentation. --spec stencilMask(Mask) -> ok when Mask :: integer(). +-spec stencilMask(Mask) -> 'ok' when Mask :: integer(). stencilMask(Mask) -> cast(5240, <<Mask:?GLuint>>). @@ -5786,7 +5786,7 @@ stencilMask(Mask) -> %% stencil action when the stencil test fails and passes, respectively. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glStencilOp.xml">external</a> documentation. --spec stencilOp(Fail, Zfail, Zpass) -> ok when Fail :: enum(),Zfail :: enum(),Zpass :: enum(). +-spec stencilOp(Fail, Zfail, Zpass) -> 'ok' when Fail :: enum(),Zfail :: enum(),Zpass :: enum(). stencilOp(Fail,Zfail,Zpass) -> cast(5241, <<Fail:?GLenum,Zfail:?GLenum,Zpass:?GLenum>>). @@ -5797,7 +5797,7 @@ stencilOp(Fail,Zfail,Zpass) -> %% buffer. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glClearStencil.xml">external</a> documentation. --spec clearStencil(S) -> ok when S :: integer(). +-spec clearStencil(S) -> 'ok' when S :: integer(). clearStencil(S) -> cast(5242, <<S:?GLint>>). @@ -5876,39 +5876,39 @@ clearStencil(S) -> %% %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glTexGen.xml">external</a> documentation. --spec texGend(Coord, Pname, Param) -> ok when Coord :: enum(),Pname :: enum(),Param :: float(). +-spec texGend(Coord, Pname, Param) -> 'ok' when Coord :: enum(),Pname :: enum(),Param :: float(). texGend(Coord,Pname,Param) -> cast(5243, <<Coord:?GLenum,Pname:?GLenum,Param:?GLdouble>>). %% @doc %% See {@link texGend/3} --spec texGenf(Coord, Pname, Param) -> ok when Coord :: enum(),Pname :: enum(),Param :: float(). +-spec texGenf(Coord, Pname, Param) -> 'ok' when Coord :: enum(),Pname :: enum(),Param :: float(). texGenf(Coord,Pname,Param) -> cast(5244, <<Coord:?GLenum,Pname:?GLenum,Param:?GLfloat>>). %% @doc %% See {@link texGend/3} --spec texGeni(Coord, Pname, Param) -> ok when Coord :: enum(),Pname :: enum(),Param :: integer(). +-spec texGeni(Coord, Pname, Param) -> 'ok' when Coord :: enum(),Pname :: enum(),Param :: integer(). texGeni(Coord,Pname,Param) -> cast(5245, <<Coord:?GLenum,Pname:?GLenum,Param:?GLint>>). %% @doc %% See {@link texGend/3} --spec texGendv(Coord, Pname, Params) -> ok when Coord :: enum(),Pname :: enum(),Params :: tuple(). +-spec texGendv(Coord, Pname, Params) -> 'ok' when Coord :: enum(),Pname :: enum(),Params :: tuple(). texGendv(Coord,Pname,Params) -> cast(5246, <<Coord:?GLenum,Pname:?GLenum,(size(Params)):?GLuint,0:32, (<< <<C:?GLdouble>> ||C <- tuple_to_list(Params)>>)/binary>>). %% @doc %% See {@link texGend/3} --spec texGenfv(Coord, Pname, Params) -> ok when Coord :: enum(),Pname :: enum(),Params :: tuple(). +-spec texGenfv(Coord, Pname, Params) -> 'ok' when Coord :: enum(),Pname :: enum(),Params :: tuple(). texGenfv(Coord,Pname,Params) -> cast(5247, <<Coord:?GLenum,Pname:?GLenum,(size(Params)):?GLuint, (<< <<C:?GLfloat>> ||C <- tuple_to_list(Params)>>)/binary,0:(((1+size(Params)) rem 2)*32)>>). %% @doc %% See {@link texGend/3} --spec texGeniv(Coord, Pname, Params) -> ok when Coord :: enum(),Pname :: enum(),Params :: tuple(). +-spec texGeniv(Coord, Pname, Params) -> 'ok' when Coord :: enum(),Pname :: enum(),Params :: tuple(). texGeniv(Coord,Pname,Params) -> cast(5248, <<Coord:?GLenum,Pname:?GLenum,(size(Params)):?GLuint, (<< <<C:?GLint>> ||C <- tuple_to_list(Params)>>)/binary,0:(((1+size(Params)) rem 2)*32)>>). @@ -5955,14 +5955,14 @@ getTexGeniv(Coord,Pname) -> %% @doc glTexEnvf %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glTexEnvf.xml">external</a> documentation. --spec texEnvf(Target, Pname, Param) -> ok when Target :: enum(),Pname :: enum(),Param :: float(). +-spec texEnvf(Target, Pname, Param) -> 'ok' when Target :: enum(),Pname :: enum(),Param :: float(). texEnvf(Target,Pname,Param) -> cast(5252, <<Target:?GLenum,Pname:?GLenum,Param:?GLfloat>>). %% @doc glTexEnvi %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glTexEnvi.xml">external</a> documentation. --spec texEnvi(Target, Pname, Param) -> ok when Target :: enum(),Pname :: enum(),Param :: integer(). +-spec texEnvi(Target, Pname, Param) -> 'ok' when Target :: enum(),Pname :: enum(),Param :: integer(). texEnvi(Target,Pname,Param) -> cast(5253, <<Target:?GLenum,Pname:?GLenum,Param:?GLint>>). @@ -6127,14 +6127,14 @@ texEnvi(Target,Pname,Param) -> %% replacement. The default value is `?GL_FALSE'. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glTexEnv.xml">external</a> documentation. --spec texEnvfv(Target, Pname, Params) -> ok when Target :: enum(),Pname :: enum(),Params :: tuple(). +-spec texEnvfv(Target, Pname, Params) -> 'ok' when Target :: enum(),Pname :: enum(),Params :: tuple(). texEnvfv(Target,Pname,Params) -> cast(5254, <<Target:?GLenum,Pname:?GLenum,(size(Params)):?GLuint, (<< <<C:?GLfloat>> ||C <- tuple_to_list(Params)>>)/binary,0:(((1+size(Params)) rem 2)*32)>>). %% @doc %% See {@link texEnvfv/3} --spec texEnviv(Target, Pname, Params) -> ok when Target :: enum(),Pname :: enum(),Params :: tuple(). +-spec texEnviv(Target, Pname, Params) -> 'ok' when Target :: enum(),Pname :: enum(),Params :: tuple(). texEnviv(Target,Pname,Params) -> cast(5255, <<Target:?GLenum,Pname:?GLenum,(size(Params)):?GLuint, (<< <<C:?GLint>> ||C <- tuple_to_list(Params)>>)/binary,0:(((1+size(Params)) rem 2)*32)>>). @@ -6447,26 +6447,26 @@ getTexEnviv(Target,Pname) -> %% to `?GL_REPEAT'. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glTexParameter.xml">external</a> documentation. --spec texParameterf(Target, Pname, Param) -> ok when Target :: enum(),Pname :: enum(),Param :: float(). +-spec texParameterf(Target, Pname, Param) -> 'ok' when Target :: enum(),Pname :: enum(),Param :: float(). texParameterf(Target,Pname,Param) -> cast(5258, <<Target:?GLenum,Pname:?GLenum,Param:?GLfloat>>). %% @doc %% See {@link texParameterf/3} --spec texParameteri(Target, Pname, Param) -> ok when Target :: enum(),Pname :: enum(),Param :: integer(). +-spec texParameteri(Target, Pname, Param) -> 'ok' when Target :: enum(),Pname :: enum(),Param :: integer(). texParameteri(Target,Pname,Param) -> cast(5259, <<Target:?GLenum,Pname:?GLenum,Param:?GLint>>). %% @doc %% See {@link texParameterf/3} --spec texParameterfv(Target, Pname, Params) -> ok when Target :: enum(),Pname :: enum(),Params :: tuple(). +-spec texParameterfv(Target, Pname, Params) -> 'ok' when Target :: enum(),Pname :: enum(),Params :: tuple(). texParameterfv(Target,Pname,Params) -> cast(5260, <<Target:?GLenum,Pname:?GLenum,(size(Params)):?GLuint, (<< <<C:?GLfloat>> ||C <- tuple_to_list(Params)>>)/binary,0:(((1+size(Params)) rem 2)*32)>>). %% @doc %% See {@link texParameterf/3} --spec texParameteriv(Target, Pname, Params) -> ok when Target :: enum(),Pname :: enum(),Params :: tuple(). +-spec texParameteriv(Target, Pname, Params) -> 'ok' when Target :: enum(),Pname :: enum(),Params :: tuple(). texParameteriv(Target,Pname,Params) -> cast(5261, <<Target:?GLenum,Pname:?GLenum,(size(Params)):?GLuint, (<< <<C:?GLint>> ||C <- tuple_to_list(Params)>>)/binary,0:(((1+size(Params)) rem 2)*32)>>). @@ -6743,7 +6743,7 @@ getTexLevelParameteriv(Target,Level,Pname) -> %% comparison. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glTexImage1D.xml">external</a> documentation. --spec texImage1D(Target, Level, InternalFormat, Width, Border, Format, Type, Pixels) -> ok when Target :: enum(),Level :: integer(),InternalFormat :: integer(),Width :: integer(),Border :: integer(),Format :: enum(),Type :: enum(),Pixels :: offset()|mem(). +-spec texImage1D(Target, Level, InternalFormat, Width, Border, Format, Type, Pixels) -> 'ok' when Target :: enum(),Level :: integer(),InternalFormat :: integer(),Width :: integer(),Border :: integer(),Format :: enum(),Type :: enum(),Pixels :: offset()|mem(). texImage1D(Target,Level,InternalFormat,Width,Border,Format,Type,Pixels) when is_integer(Pixels) -> cast(5266, <<Target:?GLenum,Level:?GLint,InternalFormat:?GLint,Width:?GLsizei,Border:?GLint,Format:?GLenum,Type:?GLenum,Pixels:?GLuint>>); texImage1D(Target,Level,InternalFormat,Width,Border,Format,Type,Pixels) -> @@ -6865,7 +6865,7 @@ texImage1D(Target,Level,InternalFormat,Width,Border,Format,Type,Pixels) -> %% comparison. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glTexImage2D.xml">external</a> documentation. --spec texImage2D(Target, Level, InternalFormat, Width, Height, Border, Format, Type, Pixels) -> ok when Target :: enum(),Level :: integer(),InternalFormat :: integer(),Width :: integer(),Height :: integer(),Border :: integer(),Format :: enum(),Type :: enum(),Pixels :: offset()|mem(). +-spec texImage2D(Target, Level, InternalFormat, Width, Height, Border, Format, Type, Pixels) -> 'ok' when Target :: enum(),Level :: integer(),InternalFormat :: integer(),Width :: integer(),Height :: integer(),Border :: integer(),Format :: enum(),Type :: enum(),Pixels :: offset()|mem(). texImage2D(Target,Level,InternalFormat,Width,Height,Border,Format,Type,Pixels) when is_integer(Pixels) -> cast(5268, <<Target:?GLenum,Level:?GLint,InternalFormat:?GLint,Width:?GLsizei,Height:?GLsizei,Border:?GLint,Format:?GLenum,Type:?GLenum,Pixels:?GLuint>>); texImage2D(Target,Level,InternalFormat,Width,Height,Border,Format,Type,Pixels) -> @@ -6910,7 +6910,7 @@ texImage2D(Target,Level,InternalFormat,Width,Height,Border,Format,Type,Pixels) - %% . %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glGetTexImage.xml">external</a> documentation. --spec getTexImage(Target, Level, Format, Type, Pixels) -> ok when Target :: enum(),Level :: integer(),Format :: enum(),Type :: enum(),Pixels :: mem(). +-spec getTexImage(Target, Level, Format, Type, Pixels) -> 'ok' when Target :: enum(),Level :: integer(),Format :: enum(),Type :: enum(),Pixels :: mem(). getTexImage(Target,Level,Format,Type,Pixels) -> send_bin(Pixels), call(5270, <<Target:?GLenum,Level:?GLint,Format:?GLenum,Type:?GLenum>>). @@ -6943,7 +6943,7 @@ genTextures(N) -> %% textures. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glDeleteTextures.xml">external</a> documentation. --spec deleteTextures(Textures) -> ok when Textures :: [integer()]. +-spec deleteTextures(Textures) -> 'ok' when Textures :: [integer()]. deleteTextures(Textures) -> cast(5272, <<(length(Textures)):?GLuint, (<< <<C:?GLuint>> || C <- Textures>>)/binary,0:(((1+length(Textures)) rem 2)*32)>>). @@ -6995,7 +6995,7 @@ deleteTextures(Textures) -> %% , {@link gl:texImage2D/9} , {@link gl:texImage3D/10} or another similar function. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glBindTexture.xml">external</a> documentation. --spec bindTexture(Target, Texture) -> ok when Target :: enum(),Texture :: integer(). +-spec bindTexture(Target, Texture) -> 'ok' when Target :: enum(),Texture :: integer(). bindTexture(Target,Texture) -> cast(5273, <<Target:?GLenum,Texture:?GLuint>>). @@ -7024,7 +7024,7 @@ bindTexture(Target,Texture) -> %% priority of a default texture. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glPrioritizeTextures.xml">external</a> documentation. --spec prioritizeTextures(Textures, Priorities) -> ok when Textures :: [integer()],Priorities :: [clamp()]. +-spec prioritizeTextures(Textures, Priorities) -> 'ok' when Textures :: [integer()],Priorities :: [clamp()]. prioritizeTextures(Textures,Priorities) -> cast(5274, <<(length(Textures)):?GLuint, (<< <<C:?GLuint>> || C <- Textures>>)/binary,0:(((1+length(Textures)) rem 2)*32),(length(Priorities)):?GLuint, @@ -7072,7 +7072,7 @@ isTexture(Texture) -> %% @doc glTexSubImage %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glTexSubImage.xml">external</a> documentation. --spec texSubImage1D(Target, Level, Xoffset, Width, Format, Type, Pixels) -> ok when Target :: enum(),Level :: integer(),Xoffset :: integer(),Width :: integer(),Format :: enum(),Type :: enum(),Pixels :: offset()|mem(). +-spec texSubImage1D(Target, Level, Xoffset, Width, Format, Type, Pixels) -> 'ok' when Target :: enum(),Level :: integer(),Xoffset :: integer(),Width :: integer(),Format :: enum(),Type :: enum(),Pixels :: offset()|mem(). texSubImage1D(Target,Level,Xoffset,Width,Format,Type,Pixels) when is_integer(Pixels) -> cast(5277, <<Target:?GLenum,Level:?GLint,Xoffset:?GLint,Width:?GLsizei,Format:?GLenum,Type:?GLenum,Pixels:?GLuint>>); texSubImage1D(Target,Level,Xoffset,Width,Format,Type,Pixels) -> @@ -7082,7 +7082,7 @@ texSubImage1D(Target,Level,Xoffset,Width,Format,Type,Pixels) -> %% @doc glTexSubImage %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glTexSubImage.xml">external</a> documentation. --spec texSubImage2D(Target, Level, Xoffset, Yoffset, Width, Height, Format, Type, Pixels) -> ok when Target :: enum(),Level :: integer(),Xoffset :: integer(),Yoffset :: integer(),Width :: integer(),Height :: integer(),Format :: enum(),Type :: enum(),Pixels :: offset()|mem(). +-spec texSubImage2D(Target, Level, Xoffset, Yoffset, Width, Height, Format, Type, Pixels) -> 'ok' when Target :: enum(),Level :: integer(),Xoffset :: integer(),Yoffset :: integer(),Width :: integer(),Height :: integer(),Format :: enum(),Type :: enum(),Pixels :: offset()|mem(). texSubImage2D(Target,Level,Xoffset,Yoffset,Width,Height,Format,Type,Pixels) when is_integer(Pixels) -> cast(5279, <<Target:?GLenum,Level:?GLint,Xoffset:?GLint,Yoffset:?GLint,Width:?GLsizei,Height:?GLsizei,Format:?GLenum,Type:?GLenum,Pixels:?GLuint>>); texSubImage2D(Target,Level,Xoffset,Yoffset,Width,Height,Format,Type,Pixels) -> @@ -7118,7 +7118,7 @@ texSubImage2D(Target,Level,Xoffset,Yoffset,Width,Height,Format,Type,Pixels) -> %% can be used to accomplish the conversion. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glCopyTexImage1D.xml">external</a> documentation. --spec copyTexImage1D(Target, Level, Internalformat, X, Y, Width, Border) -> ok when Target :: enum(),Level :: integer(),Internalformat :: enum(),X :: integer(),Y :: integer(),Width :: integer(),Border :: integer(). +-spec copyTexImage1D(Target, Level, Internalformat, X, Y, Width, Border) -> 'ok' when Target :: enum(),Level :: integer(),Internalformat :: enum(),X :: integer(),Y :: integer(),Width :: integer(),Border :: integer(). copyTexImage1D(Target,Level,Internalformat,X,Y,Width,Border) -> cast(5281, <<Target:?GLenum,Level:?GLint,Internalformat:?GLenum,X:?GLint,Y:?GLint,Width:?GLsizei,Border:?GLint>>). @@ -7149,7 +7149,7 @@ copyTexImage1D(Target,Level,Internalformat,X,Y,Width,Border) -> %% can be used to accomplish the conversion. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glCopyTexImage2D.xml">external</a> documentation. --spec copyTexImage2D(Target, Level, Internalformat, X, Y, Width, Height, Border) -> ok when Target :: enum(),Level :: integer(),Internalformat :: enum(),X :: integer(),Y :: integer(),Width :: integer(),Height :: integer(),Border :: integer(). +-spec copyTexImage2D(Target, Level, Internalformat, X, Y, Width, Height, Border) -> 'ok' when Target :: enum(),Level :: integer(),Internalformat :: enum(),X :: integer(),Y :: integer(),Width :: integer(),Height :: integer(),Border :: integer(). copyTexImage2D(Target,Level,Internalformat,X,Y,Width,Height,Border) -> cast(5282, <<Target:?GLenum,Level:?GLint,Internalformat:?GLenum,X:?GLint,Y:?GLint,Width:?GLsizei,Height:?GLsizei,Border:?GLint>>). @@ -7178,7 +7178,7 @@ copyTexImage2D(Target,Level,Internalformat,X,Y,Width,Height,Border) -> %% of the specified texture array or to texel values outside the specified subregion. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glCopyTexSubImage1D.xml">external</a> documentation. --spec copyTexSubImage1D(Target, Level, Xoffset, X, Y, Width) -> ok when Target :: enum(),Level :: integer(),Xoffset :: integer(),X :: integer(),Y :: integer(),Width :: integer(). +-spec copyTexSubImage1D(Target, Level, Xoffset, X, Y, Width) -> 'ok' when Target :: enum(),Level :: integer(),Xoffset :: integer(),X :: integer(),Y :: integer(),Width :: integer(). copyTexSubImage1D(Target,Level,Xoffset,X,Y,Width) -> cast(5283, <<Target:?GLenum,Level:?GLint,Xoffset:?GLint,X:?GLint,Y:?GLint,Width:?GLsizei>>). @@ -7211,14 +7211,14 @@ copyTexSubImage1D(Target,Level,Xoffset,X,Y,Width) -> %% %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glCopyTexSubImage2D.xml">external</a> documentation. --spec copyTexSubImage2D(Target, Level, Xoffset, Yoffset, X, Y, Width, Height) -> ok when Target :: enum(),Level :: integer(),Xoffset :: integer(),Yoffset :: integer(),X :: integer(),Y :: integer(),Width :: integer(),Height :: integer(). +-spec copyTexSubImage2D(Target, Level, Xoffset, Yoffset, X, Y, Width, Height) -> 'ok' when Target :: enum(),Level :: integer(),Xoffset :: integer(),Yoffset :: integer(),X :: integer(),Y :: integer(),Width :: integer(),Height :: integer(). copyTexSubImage2D(Target,Level,Xoffset,Yoffset,X,Y,Width,Height) -> cast(5284, <<Target:?GLenum,Level:?GLint,Xoffset:?GLint,Yoffset:?GLint,X:?GLint,Y:?GLint,Width:?GLsizei,Height:?GLsizei>>). %% @doc glMap %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glMap.xml">external</a> documentation. --spec map1d(Target, U1, U2, Stride, Order, Points) -> ok when Target :: enum(),U1 :: float(),U2 :: float(),Stride :: integer(),Order :: integer(),Points :: binary(). +-spec map1d(Target, U1, U2, Stride, Order, Points) -> 'ok' when Target :: enum(),U1 :: float(),U2 :: float(),Stride :: integer(),Order :: integer(),Points :: binary(). map1d(Target,U1,U2,Stride,Order,Points) -> send_bin(Points), cast(5285, <<Target:?GLenum,0:32,U1:?GLdouble,U2:?GLdouble,Stride:?GLint,Order:?GLint>>). @@ -7226,7 +7226,7 @@ map1d(Target,U1,U2,Stride,Order,Points) -> %% @doc glMap %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glMap.xml">external</a> documentation. --spec map1f(Target, U1, U2, Stride, Order, Points) -> ok when Target :: enum(),U1 :: float(),U2 :: float(),Stride :: integer(),Order :: integer(),Points :: binary(). +-spec map1f(Target, U1, U2, Stride, Order, Points) -> 'ok' when Target :: enum(),U1 :: float(),U2 :: float(),Stride :: integer(),Order :: integer(),Points :: binary(). map1f(Target,U1,U2,Stride,Order,Points) -> send_bin(Points), cast(5286, <<Target:?GLenum,U1:?GLfloat,U2:?GLfloat,Stride:?GLint,Order:?GLint>>). @@ -7234,7 +7234,7 @@ map1f(Target,U1,U2,Stride,Order,Points) -> %% @doc glMap %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glMap.xml">external</a> documentation. --spec map2d(Target, U1, U2, Ustride, Uorder, V1, V2, Vstride, Vorder, Points) -> ok when Target :: enum(),U1 :: float(),U2 :: float(),Ustride :: integer(),Uorder :: integer(),V1 :: float(),V2 :: float(),Vstride :: integer(),Vorder :: integer(),Points :: binary(). +-spec map2d(Target, U1, U2, Ustride, Uorder, V1, V2, Vstride, Vorder, Points) -> 'ok' when Target :: enum(),U1 :: float(),U2 :: float(),Ustride :: integer(),Uorder :: integer(),V1 :: float(),V2 :: float(),Vstride :: integer(),Vorder :: integer(),Points :: binary(). map2d(Target,U1,U2,Ustride,Uorder,V1,V2,Vstride,Vorder,Points) -> send_bin(Points), cast(5287, <<Target:?GLenum,0:32,U1:?GLdouble,U2:?GLdouble,Ustride:?GLint,Uorder:?GLint,V1:?GLdouble,V2:?GLdouble,Vstride:?GLint,Vorder:?GLint>>). @@ -7242,7 +7242,7 @@ map2d(Target,U1,U2,Ustride,Uorder,V1,V2,Vstride,Vorder,Points) -> %% @doc glMap %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glMap.xml">external</a> documentation. --spec map2f(Target, U1, U2, Ustride, Uorder, V1, V2, Vstride, Vorder, Points) -> ok when Target :: enum(),U1 :: float(),U2 :: float(),Ustride :: integer(),Uorder :: integer(),V1 :: float(),V2 :: float(),Vstride :: integer(),Vorder :: integer(),Points :: binary(). +-spec map2f(Target, U1, U2, Ustride, Uorder, V1, V2, Vstride, Vorder, Points) -> 'ok' when Target :: enum(),U1 :: float(),U2 :: float(),Ustride :: integer(),Uorder :: integer(),V1 :: float(),V2 :: float(),Vstride :: integer(),Vorder :: integer(),Points :: binary(). map2f(Target,U1,U2,Ustride,Uorder,V1,V2,Vstride,Vorder,Points) -> send_bin(Points), cast(5288, <<Target:?GLenum,U1:?GLfloat,U2:?GLfloat,Ustride:?GLint,Uorder:?GLint,V1:?GLfloat,V2:?GLfloat,Vstride:?GLint,Vorder:?GLint>>). @@ -7278,21 +7278,21 @@ map2f(Target,U1,U2,Ustride,Uorder,V1,V2,Vstride,Vorder,Points) -> %% to the nearest integer values. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glGetMap.xml">external</a> documentation. --spec getMapdv(Target, Query, V) -> ok when Target :: enum(),Query :: enum(),V :: mem(). +-spec getMapdv(Target, Query, V) -> 'ok' when Target :: enum(),Query :: enum(),V :: mem(). getMapdv(Target,Query,V) -> send_bin(V), call(5289, <<Target:?GLenum,Query:?GLenum>>). %% @doc %% See {@link getMapdv/3} --spec getMapfv(Target, Query, V) -> ok when Target :: enum(),Query :: enum(),V :: mem(). +-spec getMapfv(Target, Query, V) -> 'ok' when Target :: enum(),Query :: enum(),V :: mem(). getMapfv(Target,Query,V) -> send_bin(V), call(5290, <<Target:?GLenum,Query:?GLenum>>). %% @doc %% See {@link getMapdv/3} --spec getMapiv(Target, Query, V) -> ok when Target :: enum(),Query :: enum(),V :: mem(). +-spec getMapiv(Target, Query, V) -> 'ok' when Target :: enum(),Query :: enum(),V :: mem(). getMapiv(Target,Query,V) -> send_bin(V), call(5291, <<Target:?GLenum,Query:?GLenum>>). @@ -7343,42 +7343,42 @@ getMapiv(Target,Query,V) -> %% a normal map is enabled, no normal is generated for ``gl:evalCoord2'' commands. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glEvalCoord.xml">external</a> documentation. --spec evalCoord1d(U) -> ok when U :: float(). +-spec evalCoord1d(U) -> 'ok' when U :: float(). evalCoord1d(U) -> cast(5292, <<U:?GLdouble>>). %% @doc %% See {@link evalCoord1d/1} --spec evalCoord1f(U) -> ok when U :: float(). +-spec evalCoord1f(U) -> 'ok' when U :: float(). evalCoord1f(U) -> cast(5293, <<U:?GLfloat>>). %% @equiv evalCoord1d(U) --spec evalCoord1dv(U) -> ok when U :: {U :: float()}. +-spec evalCoord1dv(U) -> 'ok' when U :: {U :: float()}. evalCoord1dv({U}) -> evalCoord1d(U). %% @equiv evalCoord1f(U) --spec evalCoord1fv(U) -> ok when U :: {U :: float()}. +-spec evalCoord1fv(U) -> 'ok' when U :: {U :: float()}. evalCoord1fv({U}) -> evalCoord1f(U). %% @doc %% See {@link evalCoord1d/1} --spec evalCoord2d(U, V) -> ok when U :: float(),V :: float(). +-spec evalCoord2d(U, V) -> 'ok' when U :: float(),V :: float(). evalCoord2d(U,V) -> cast(5294, <<U:?GLdouble,V:?GLdouble>>). %% @doc %% See {@link evalCoord1d/1} --spec evalCoord2f(U, V) -> ok when U :: float(),V :: float(). +-spec evalCoord2f(U, V) -> 'ok' when U :: float(),V :: float(). evalCoord2f(U,V) -> cast(5295, <<U:?GLfloat,V:?GLfloat>>). %% @equiv evalCoord2d(U,V) --spec evalCoord2dv(U) -> ok when U :: {U :: float(),V :: float()}. +-spec evalCoord2dv(U) -> 'ok' when U :: {U :: float(),V :: float()}. evalCoord2dv({U,V}) -> evalCoord2d(U,V). %% @equiv evalCoord2f(U,V) --spec evalCoord2fv(U) -> ok when U :: {U :: float(),V :: float()}. +-spec evalCoord2fv(U) -> 'ok' when U :: {U :: float(),V :: float()}. evalCoord2fv({U,V}) -> evalCoord2f(U,V). %% @doc Define a one- or two-dimensional mesh @@ -7413,25 +7413,25 @@ evalCoord2fv({U,V}) -> evalCoord2f(U,V). %% and {@link gl:evalPoint1/1} . %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glMapGrid.xml">external</a> documentation. --spec mapGrid1d(Un, U1, U2) -> ok when Un :: integer(),U1 :: float(),U2 :: float(). +-spec mapGrid1d(Un, U1, U2) -> 'ok' when Un :: integer(),U1 :: float(),U2 :: float(). mapGrid1d(Un,U1,U2) -> cast(5296, <<Un:?GLint,0:32,U1:?GLdouble,U2:?GLdouble>>). %% @doc %% See {@link mapGrid1d/3} --spec mapGrid1f(Un, U1, U2) -> ok when Un :: integer(),U1 :: float(),U2 :: float(). +-spec mapGrid1f(Un, U1, U2) -> 'ok' when Un :: integer(),U1 :: float(),U2 :: float(). mapGrid1f(Un,U1,U2) -> cast(5297, <<Un:?GLint,U1:?GLfloat,U2:?GLfloat>>). %% @doc %% See {@link mapGrid1d/3} --spec mapGrid2d(Un, U1, U2, Vn, V1, V2) -> ok when Un :: integer(),U1 :: float(),U2 :: float(),Vn :: integer(),V1 :: float(),V2 :: float(). +-spec mapGrid2d(Un, U1, U2, Vn, V1, V2) -> 'ok' when Un :: integer(),U1 :: float(),U2 :: float(),Vn :: integer(),V1 :: float(),V2 :: float(). mapGrid2d(Un,U1,U2,Vn,V1,V2) -> cast(5298, <<Un:?GLint,0:32,U1:?GLdouble,U2:?GLdouble,Vn:?GLint,0:32,V1:?GLdouble,V2:?GLdouble>>). %% @doc %% See {@link mapGrid1d/3} --spec mapGrid2f(Un, U1, U2, Vn, V1, V2) -> ok when Un :: integer(),U1 :: float(),U2 :: float(),Vn :: integer(),V1 :: float(),V2 :: float(). +-spec mapGrid2f(Un, U1, U2, Vn, V1, V2) -> 'ok' when Un :: integer(),U1 :: float(),U2 :: float(),Vn :: integer(),V1 :: float(),V2 :: float(). mapGrid2f(Un,U1,U2,Vn,V1,V2) -> cast(5299, <<Un:?GLint,U1:?GLfloat,U2:?GLfloat,Vn:?GLint,V1:?GLfloat,V2:?GLfloat>>). @@ -7460,13 +7460,13 @@ mapGrid2f(Un,U1,U2,Vn,V1,V2) -> %% if j=m, then the value computed from j.&Delta; v+v 1 is exactly v 2. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glEvalPoint.xml">external</a> documentation. --spec evalPoint1(I) -> ok when I :: integer(). +-spec evalPoint1(I) -> 'ok' when I :: integer(). evalPoint1(I) -> cast(5300, <<I:?GLint>>). %% @doc %% See {@link evalPoint1/1} --spec evalPoint2(I, J) -> ok when I :: integer(),J :: integer(). +-spec evalPoint2(I, J) -> 'ok' when I :: integer(),J :: integer(). evalPoint2(I,J) -> cast(5301, <<I:?GLint,J:?GLint>>). @@ -7525,13 +7525,13 @@ evalPoint2(I,J) -> %% computed from j.&Delta; v+v 1 is exactly v 2. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glEvalMesh.xml">external</a> documentation. --spec evalMesh1(Mode, I1, I2) -> ok when Mode :: enum(),I1 :: integer(),I2 :: integer(). +-spec evalMesh1(Mode, I1, I2) -> 'ok' when Mode :: enum(),I1 :: integer(),I2 :: integer(). evalMesh1(Mode,I1,I2) -> cast(5302, <<Mode:?GLenum,I1:?GLint,I2:?GLint>>). %% @doc %% See {@link evalMesh1/3} --spec evalMesh2(Mode, I1, I2, J1, J2) -> ok when Mode :: enum(),I1 :: integer(),I2 :: integer(),J1 :: integer(),J2 :: integer(). +-spec evalMesh2(Mode, I1, I2, J1, J2) -> 'ok' when Mode :: enum(),I1 :: integer(),I2 :: integer(),J1 :: integer(),J2 :: integer(). evalMesh2(Mode,I1,I2,J1,J2) -> cast(5303, <<Mode:?GLenum,I1:?GLint,I2:?GLint,J1:?GLint,J2:?GLint>>). @@ -7601,26 +7601,26 @@ evalMesh2(Mode,I1,I2,J1,J2) -> %% %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glFog.xml">external</a> documentation. --spec fogf(Pname, Param) -> ok when Pname :: enum(),Param :: float(). +-spec fogf(Pname, Param) -> 'ok' when Pname :: enum(),Param :: float(). fogf(Pname,Param) -> cast(5304, <<Pname:?GLenum,Param:?GLfloat>>). %% @doc %% See {@link fogf/2} --spec fogi(Pname, Param) -> ok when Pname :: enum(),Param :: integer(). +-spec fogi(Pname, Param) -> 'ok' when Pname :: enum(),Param :: integer(). fogi(Pname,Param) -> cast(5305, <<Pname:?GLenum,Param:?GLint>>). %% @doc %% See {@link fogf/2} --spec fogfv(Pname, Params) -> ok when Pname :: enum(),Params :: tuple(). +-spec fogfv(Pname, Params) -> 'ok' when Pname :: enum(),Params :: tuple(). fogfv(Pname,Params) -> cast(5306, <<Pname:?GLenum,(size(Params)):?GLuint, (<< <<C:?GLfloat>> ||C <- tuple_to_list(Params)>>)/binary,0:(((0+size(Params)) rem 2)*32)>>). %% @doc %% See {@link fogf/2} --spec fogiv(Pname, Params) -> ok when Pname :: enum(),Params :: tuple(). +-spec fogiv(Pname, Params) -> 'ok' when Pname :: enum(),Params :: tuple(). fogiv(Pname,Params) -> cast(5307, <<Pname:?GLenum,(size(Params)):?GLuint, (<< <<C:?GLint>> ||C <- tuple_to_list(Params)>>)/binary,0:(((0+size(Params)) rem 2)*32)>>). @@ -7733,7 +7733,7 @@ fogiv(Pname,Params) -> %% by the texture matrix. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glFeedbackBuffer.xml">external</a> documentation. --spec feedbackBuffer(Size, Type, Buffer) -> ok when Size :: integer(),Type :: enum(),Buffer :: mem(). +-spec feedbackBuffer(Size, Type, Buffer) -> 'ok' when Size :: integer(),Type :: enum(),Buffer :: mem(). feedbackBuffer(Size,Type,Buffer) -> send_bin(Buffer), call(5308, <<Size:?GLsizei,Type:?GLenum>>). @@ -7752,7 +7752,7 @@ feedbackBuffer(Size,Type,Buffer) -> %% commands with respect to the specification of graphics primitives is maintained. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glPassThrough.xml">external</a> documentation. --spec passThrough(Token) -> ok when Token :: float(). +-spec passThrough(Token) -> 'ok' when Token :: float(). passThrough(Token) -> cast(5309, <<Token:?GLfloat>>). @@ -7797,7 +7797,7 @@ passThrough(Token) -> %% %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glSelectBuffer.xml">external</a> documentation. --spec selectBuffer(Size, Buffer) -> ok when Size :: integer(),Buffer :: mem(). +-spec selectBuffer(Size, Buffer) -> 'ok' when Size :: integer(),Buffer :: mem(). selectBuffer(Size,Buffer) -> send_bin(Buffer), call(5310, <<Size:?GLsizei>>). @@ -7812,7 +7812,7 @@ selectBuffer(Size,Buffer) -> %% while the render mode is not `?GL_SELECT' are ignored. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glInitNames.xml">external</a> documentation. --spec initNames() -> ok. +-spec initNames() -> 'ok'. initNames() -> cast(5311, <<>>). @@ -7828,7 +7828,7 @@ initNames() -> %% while the render mode is not `?GL_SELECT' are ignored. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glLoadName.xml">external</a> documentation. --spec loadName(Name) -> ok when Name :: integer(). +-spec loadName(Name) -> 'ok' when Name :: integer(). loadName(Name) -> cast(5312, <<Name:?GLuint>>). @@ -7852,13 +7852,13 @@ loadName(Name) -> %% or {@link gl:pushName/1} while the render mode is not `?GL_SELECT' are ignored. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glPushName.xml">external</a> documentation. --spec pushName(Name) -> ok when Name :: integer(). +-spec pushName(Name) -> 'ok' when Name :: integer(). pushName(Name) -> cast(5313, <<Name:?GLuint>>). %% @doc %% See {@link pushName/1} --spec popName() -> ok. +-spec popName() -> 'ok'. popName() -> cast(5314, <<>>). @@ -7870,7 +7870,7 @@ popName() -> %% is set to (0, 0, 0, 0). %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glBlendColor.xml">external</a> documentation. --spec blendColor(Red, Green, Blue, Alpha) -> ok when Red :: clamp(),Green :: clamp(),Blue :: clamp(),Alpha :: clamp(). +-spec blendColor(Red, Green, Blue, Alpha) -> 'ok' when Red :: clamp(),Green :: clamp(),Blue :: clamp(),Alpha :: clamp(). blendColor(Red,Green,Blue,Alpha) -> cast(5315, <<Red:?GLclampf,Green:?GLclampf,Blue:?GLclampf,Alpha:?GLclampf>>). @@ -7911,7 +7911,7 @@ blendColor(Red,Green,Blue,Alpha) -> %% %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glBlendEquation.xml">external</a> documentation. --spec blendEquation(Mode) -> ok when Mode :: enum(). +-spec blendEquation(Mode) -> 'ok' when Mode :: enum(). blendEquation(Mode) -> cast(5316, <<Mode:?GLenum>>). @@ -7940,7 +7940,7 @@ blendEquation(Mode) -> %% their previous values. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glDrawRangeElements.xml">external</a> documentation. --spec drawRangeElements(Mode, Start, End, Count, Type, Indices) -> ok when Mode :: enum(),Start :: integer(),End :: integer(),Count :: integer(),Type :: enum(),Indices :: offset()|mem(). +-spec drawRangeElements(Mode, Start, End, Count, Type, Indices) -> 'ok' when Mode :: enum(),Start :: integer(),End :: integer(),Count :: integer(),Type :: enum(),Indices :: offset()|mem(). drawRangeElements(Mode,Start,End,Count,Type,Indices) when is_integer(Indices) -> cast(5317, <<Mode:?GLenum,Start:?GLuint,End:?GLuint,Count:?GLsizei,Type:?GLenum,Indices:?GLuint>>); drawRangeElements(Mode,Start,End,Count,Type,Indices) -> @@ -8048,7 +8048,7 @@ drawRangeElements(Mode,Start,End,Count,Type,Indices) -> %% uses the R, G, and B values. A four-component image uses all of the RGBA components. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glTexImage3D.xml">external</a> documentation. --spec texImage3D(Target, Level, InternalFormat, Width, Height, Depth, Border, Format, Type, Pixels) -> ok when Target :: enum(),Level :: integer(),InternalFormat :: integer(),Width :: integer(),Height :: integer(),Depth :: integer(),Border :: integer(),Format :: enum(),Type :: enum(),Pixels :: offset()|mem(). +-spec texImage3D(Target, Level, InternalFormat, Width, Height, Depth, Border, Format, Type, Pixels) -> 'ok' when Target :: enum(),Level :: integer(),InternalFormat :: integer(),Width :: integer(),Height :: integer(),Depth :: integer(),Border :: integer(),Format :: enum(),Type :: enum(),Pixels :: offset()|mem(). texImage3D(Target,Level,InternalFormat,Width,Height,Depth,Border,Format,Type,Pixels) when is_integer(Pixels) -> cast(5319, <<Target:?GLenum,Level:?GLint,InternalFormat:?GLint,Width:?GLsizei,Height:?GLsizei,Depth:?GLsizei,Border:?GLint,Format:?GLenum,Type:?GLenum,Pixels:?GLuint>>); texImage3D(Target,Level,InternalFormat,Width,Height,Depth,Border,Format,Type,Pixels) -> @@ -8058,7 +8058,7 @@ texImage3D(Target,Level,InternalFormat,Width,Height,Depth,Border,Format,Type,Pix %% @doc glTexSubImage %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glTexSubImage.xml">external</a> documentation. --spec texSubImage3D(Target, Level, Xoffset, Yoffset, Zoffset, Width, Height, Depth, Format, Type, Pixels) -> ok when Target :: enum(),Level :: integer(),Xoffset :: integer(),Yoffset :: integer(),Zoffset :: integer(),Width :: integer(),Height :: integer(),Depth :: integer(),Format :: enum(),Type :: enum(),Pixels :: offset()|mem(). +-spec texSubImage3D(Target, Level, Xoffset, Yoffset, Zoffset, Width, Height, Depth, Format, Type, Pixels) -> 'ok' when Target :: enum(),Level :: integer(),Xoffset :: integer(),Yoffset :: integer(),Zoffset :: integer(),Width :: integer(),Height :: integer(),Depth :: integer(),Format :: enum(),Type :: enum(),Pixels :: offset()|mem(). texSubImage3D(Target,Level,Xoffset,Yoffset,Zoffset,Width,Height,Depth,Format,Type,Pixels) when is_integer(Pixels) -> cast(5321, <<Target:?GLenum,Level:?GLint,Xoffset:?GLint,Yoffset:?GLint,Zoffset:?GLint,Width:?GLsizei,Height:?GLsizei,Depth:?GLsizei,Format:?GLenum,Type:?GLenum,Pixels:?GLuint>>); texSubImage3D(Target,Level,Xoffset,Yoffset,Zoffset,Width,Height,Depth,Format,Type,Pixels) -> @@ -8095,7 +8095,7 @@ texSubImage3D(Target,Level,Xoffset,Yoffset,Zoffset,Width,Height,Depth,Format,Typ %% the specified subregion. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glCopyTexSubImage3D.xml">external</a> documentation. --spec copyTexSubImage3D(Target, Level, Xoffset, Yoffset, Zoffset, X, Y, Width, Height) -> ok when Target :: enum(),Level :: integer(),Xoffset :: integer(),Yoffset :: integer(),Zoffset :: integer(),X :: integer(),Y :: integer(),Width :: integer(),Height :: integer(). +-spec copyTexSubImage3D(Target, Level, Xoffset, Yoffset, Zoffset, X, Y, Width, Height) -> 'ok' when Target :: enum(),Level :: integer(),Xoffset :: integer(),Yoffset :: integer(),Zoffset :: integer(),X :: integer(),Y :: integer(),Width :: integer(),Height :: integer(). copyTexSubImage3D(Target,Level,Xoffset,Yoffset,Zoffset,X,Y,Width,Height) -> cast(5323, <<Target:?GLenum,Level:?GLint,Xoffset:?GLint,Yoffset:?GLint,Zoffset:?GLint,X:?GLint,Y:?GLint,Width:?GLsizei,Height:?GLsizei>>). @@ -8195,7 +8195,7 @@ copyTexSubImage3D(Target,Level,Xoffset,Yoffset,Zoffset,X,Y,Width,Height) -> %% %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glColorTable.xml">external</a> documentation. --spec colorTable(Target, Internalformat, Width, Format, Type, Table) -> ok when Target :: enum(),Internalformat :: enum(),Width :: integer(),Format :: enum(),Type :: enum(),Table :: offset()|mem(). +-spec colorTable(Target, Internalformat, Width, Format, Type, Table) -> 'ok' when Target :: enum(),Internalformat :: enum(),Width :: integer(),Format :: enum(),Type :: enum(),Table :: offset()|mem(). colorTable(Target,Internalformat,Width,Format,Type,Table) when is_integer(Table) -> cast(5324, <<Target:?GLenum,Internalformat:?GLenum,Width:?GLsizei,Format:?GLenum,Type:?GLenum,Table:?GLuint>>); colorTable(Target,Internalformat,Width,Format,Type,Table) -> @@ -8220,13 +8220,13 @@ colorTable(Target,Internalformat,Width,Format,Type,Table) -> %% The color tables themselves are specified by calling {@link gl:colorTable/6} . %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glColorTableParameter.xml">external</a> documentation. --spec colorTableParameterfv(Target, Pname, Params) -> ok when Target :: enum(),Pname :: enum(),Params :: {float(),float(),float(),float()}. +-spec colorTableParameterfv(Target, Pname, Params) -> 'ok' when Target :: enum(),Pname :: enum(),Params :: {float(),float(),float(),float()}. colorTableParameterfv(Target,Pname,{P1,P2,P3,P4}) -> cast(5326, <<Target:?GLenum,Pname:?GLenum,P1:?GLfloat,P2:?GLfloat,P3:?GLfloat,P4:?GLfloat>>). %% @doc %% See {@link colorTableParameterfv/3} --spec colorTableParameteriv(Target, Pname, Params) -> ok when Target :: enum(),Pname :: enum(),Params :: {integer(),integer(),integer(),integer()}. +-spec colorTableParameteriv(Target, Pname, Params) -> 'ok' when Target :: enum(),Pname :: enum(),Params :: {integer(),integer(),integer(),integer()}. colorTableParameteriv(Target,Pname,{P1,P2,P3,P4}) -> cast(5327, <<Target:?GLenum,Pname:?GLenum,P1:?GLint,P2:?GLint,P3:?GLint,P4:?GLint>>). @@ -8270,7 +8270,7 @@ colorTableParameteriv(Target,Pname,{P1,P2,P3,P4}) -> %% %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glCopyColorTable.xml">external</a> documentation. --spec copyColorTable(Target, Internalformat, X, Y, Width) -> ok when Target :: enum(),Internalformat :: enum(),X :: integer(),Y :: integer(),Width :: integer(). +-spec copyColorTable(Target, Internalformat, X, Y, Width) -> 'ok' when Target :: enum(),Internalformat :: enum(),X :: integer(),Y :: integer(),Width :: integer(). copyColorTable(Target,Internalformat,X,Y,Width) -> cast(5328, <<Target:?GLenum,Internalformat:?GLenum,X:?GLint,Y:?GLint,Width:?GLsizei>>). @@ -8295,7 +8295,7 @@ copyColorTable(Target,Internalformat,X,Y,Width) -> %% %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glGetColorTable.xml">external</a> documentation. --spec getColorTable(Target, Format, Type, Table) -> ok when Target :: enum(),Format :: enum(),Type :: enum(),Table :: mem(). +-spec getColorTable(Target, Format, Type, Table) -> 'ok' when Target :: enum(),Format :: enum(),Type :: enum(),Table :: mem(). getColorTable(Target,Format,Type,Table) -> send_bin(Table), call(5329, <<Target:?GLenum,Format:?GLenum,Type:?GLenum>>). @@ -8358,7 +8358,7 @@ getColorTableParameteriv(Target,Pname) -> %% is treated as a byte offset into the buffer object's data store. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glColorSubTable.xml">external</a> documentation. --spec colorSubTable(Target, Start, Count, Format, Type, Data) -> ok when Target :: enum(),Start :: integer(),Count :: integer(),Format :: enum(),Type :: enum(),Data :: offset()|mem(). +-spec colorSubTable(Target, Start, Count, Format, Type, Data) -> 'ok' when Target :: enum(),Start :: integer(),Count :: integer(),Format :: enum(),Type :: enum(),Data :: offset()|mem(). colorSubTable(Target,Start,Count,Format,Type,Data) when is_integer(Data) -> cast(5332, <<Target:?GLenum,Start:?GLsizei,Count:?GLsizei,Format:?GLenum,Type:?GLenum,Data:?GLuint>>); colorSubTable(Target,Start,Count,Format,Type,Data) -> @@ -8375,7 +8375,7 @@ colorSubTable(Target,Start,Count,Format,Type,Data) -> %% has no effect. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glCopyColorSubTable.xml">external</a> documentation. --spec copyColorSubTable(Target, Start, X, Y, Width) -> ok when Target :: enum(),Start :: integer(),X :: integer(),Y :: integer(),Width :: integer(). +-spec copyColorSubTable(Target, Start, X, Y, Width) -> 'ok' when Target :: enum(),Start :: integer(),X :: integer(),Y :: integer(),Width :: integer(). copyColorSubTable(Target,Start,X,Y,Width) -> cast(5334, <<Target:?GLenum,Start:?GLsizei,X:?GLint,Y:?GLint,Width:?GLsizei>>). @@ -8428,7 +8428,7 @@ copyColorSubTable(Target,Start,X,Y,Width) -> %% set by {@link gl:pixelTransferf/2} . %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glConvolutionFilter1D.xml">external</a> documentation. --spec convolutionFilter1D(Target, Internalformat, Width, Format, Type, Image) -> ok when Target :: enum(),Internalformat :: enum(),Width :: integer(),Format :: enum(),Type :: enum(),Image :: offset()|mem(). +-spec convolutionFilter1D(Target, Internalformat, Width, Format, Type, Image) -> 'ok' when Target :: enum(),Internalformat :: enum(),Width :: integer(),Format :: enum(),Type :: enum(),Image :: offset()|mem(). convolutionFilter1D(Target,Internalformat,Width,Format,Type,Image) when is_integer(Image) -> cast(5335, <<Target:?GLenum,Internalformat:?GLenum,Width:?GLsizei,Format:?GLenum,Type:?GLenum,Image:?GLuint>>); convolutionFilter1D(Target,Internalformat,Width,Format,Type,Image) -> @@ -8485,7 +8485,7 @@ convolutionFilter1D(Target,Internalformat,Width,Format,Type,Image) -> %% set by {@link gl:pixelTransferf/2} . %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glConvolutionFilter2D.xml">external</a> documentation. --spec convolutionFilter2D(Target, Internalformat, Width, Height, Format, Type, Image) -> ok when Target :: enum(),Internalformat :: enum(),Width :: integer(),Height :: integer(),Format :: enum(),Type :: enum(),Image :: offset()|mem(). +-spec convolutionFilter2D(Target, Internalformat, Width, Height, Format, Type, Image) -> 'ok' when Target :: enum(),Internalformat :: enum(),Width :: integer(),Height :: integer(),Format :: enum(),Type :: enum(),Image :: offset()|mem(). convolutionFilter2D(Target,Internalformat,Width,Height,Format,Type,Image) when is_integer(Image) -> cast(5337, <<Target:?GLenum,Internalformat:?GLenum,Width:?GLsizei,Height:?GLsizei,Format:?GLenum,Type:?GLenum,Image:?GLuint>>); convolutionFilter2D(Target,Internalformat,Width,Height,Format,Type,Image) -> @@ -8526,24 +8526,24 @@ convolutionFilter2D(Target,Internalformat,Width,Height,Format,Type,Image) -> %% image were replicated. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glConvolutionParameter.xml">external</a> documentation. --spec convolutionParameterf(Target, Pname, Params) -> ok when Target :: enum(),Pname :: enum(),Params :: tuple(). +-spec convolutionParameterf(Target, Pname, Params) -> 'ok' when Target :: enum(),Pname :: enum(),Params :: tuple(). convolutionParameterf(Target,Pname,Params) -> cast(5339, <<Target:?GLenum,Pname:?GLenum,(size(Params)):?GLuint, (<< <<C:?GLfloat>> ||C <- tuple_to_list(Params)>>)/binary,0:(((1+size(Params)) rem 2)*32)>>). %% @equiv convolutionParameterf(Target,Pname,Params) --spec convolutionParameterfv(Target :: enum(),Pname :: enum(),Params) -> ok when Params :: {Params :: tuple()}. +-spec convolutionParameterfv(Target :: enum(),Pname :: enum(),Params) -> 'ok' when Params :: {Params :: tuple()}. convolutionParameterfv(Target,Pname,{Params}) -> convolutionParameterf(Target,Pname,Params). %% @doc %% See {@link convolutionParameterf/3} --spec convolutionParameteri(Target, Pname, Params) -> ok when Target :: enum(),Pname :: enum(),Params :: tuple(). +-spec convolutionParameteri(Target, Pname, Params) -> 'ok' when Target :: enum(),Pname :: enum(),Params :: tuple(). convolutionParameteri(Target,Pname,Params) -> cast(5340, <<Target:?GLenum,Pname:?GLenum,(size(Params)):?GLuint, (<< <<C:?GLint>> ||C <- tuple_to_list(Params)>>)/binary,0:(((1+size(Params)) rem 2)*32)>>). %% @equiv convolutionParameteri(Target,Pname,Params) --spec convolutionParameteriv(Target :: enum(),Pname :: enum(),Params) -> ok when Params :: {Params :: tuple()}. +-spec convolutionParameteriv(Target :: enum(),Pname :: enum(),Params) -> 'ok' when Params :: {Params :: tuple()}. convolutionParameteriv(Target,Pname,{Params}) -> convolutionParameteri(Target,Pname,Params). %% @doc Copy pixels into a one-dimensional convolution filter @@ -8595,7 +8595,7 @@ convolutionParameteriv(Target,Pname,{Params}) -> convolutionParameteri(Target,P %% set by {@link gl:pixelTransferf/2} . %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glCopyConvolutionFilter1D.xml">external</a> documentation. --spec copyConvolutionFilter1D(Target, Internalformat, X, Y, Width) -> ok when Target :: enum(),Internalformat :: enum(),X :: integer(),Y :: integer(),Width :: integer(). +-spec copyConvolutionFilter1D(Target, Internalformat, X, Y, Width) -> 'ok' when Target :: enum(),Internalformat :: enum(),X :: integer(),Y :: integer(),Width :: integer(). copyConvolutionFilter1D(Target,Internalformat,X,Y,Width) -> cast(5341, <<Target:?GLenum,Internalformat:?GLenum,X:?GLint,Y:?GLint,Width:?GLsizei>>). @@ -8649,7 +8649,7 @@ copyConvolutionFilter1D(Target,Internalformat,X,Y,Width) -> %% set by {@link gl:pixelTransferf/2} . %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glCopyConvolutionFilter2D.xml">external</a> documentation. --spec copyConvolutionFilter2D(Target, Internalformat, X, Y, Width, Height) -> ok when Target :: enum(),Internalformat :: enum(),X :: integer(),Y :: integer(),Width :: integer(),Height :: integer(). +-spec copyConvolutionFilter2D(Target, Internalformat, X, Y, Width, Height) -> 'ok' when Target :: enum(),Internalformat :: enum(),X :: integer(),Y :: integer(),Width :: integer(),Height :: integer(). copyConvolutionFilter2D(Target,Internalformat,X,Y,Width,Height) -> cast(5342, <<Target:?GLenum,Internalformat:?GLenum,X:?GLint,Y:?GLint,Width:?GLsizei,Height:?GLsizei>>). @@ -8675,7 +8675,7 @@ copyConvolutionFilter2D(Target,Internalformat,X,Y,Width,Height) -> %% %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glGetConvolutionFilter.xml">external</a> documentation. --spec getConvolutionFilter(Target, Format, Type, Image) -> ok when Target :: enum(),Format :: enum(),Type :: enum(),Image :: mem(). +-spec getConvolutionFilter(Target, Format, Type, Image) -> 'ok' when Target :: enum(),Format :: enum(),Type :: enum(),Image :: mem(). getConvolutionFilter(Target,Format,Type,Image) -> send_bin(Image), call(5343, <<Target:?GLenum,Format:?GLenum,Type:?GLenum>>). @@ -8775,7 +8775,7 @@ getConvolutionParameteriv(Target,Pname) -> %% set by {@link gl:pixelTransferf/2} . %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glSeparableFilter2D.xml">external</a> documentation. --spec separableFilter2D(Target, Internalformat, Width, Height, Format, Type, Row, Column) -> ok when Target :: enum(),Internalformat :: enum(),Width :: integer(),Height :: integer(),Format :: enum(),Type :: enum(),Row :: offset()|mem(),Column :: offset()|mem(). +-spec separableFilter2D(Target, Internalformat, Width, Height, Format, Type, Row, Column) -> 'ok' when Target :: enum(),Internalformat :: enum(),Width :: integer(),Height :: integer(),Format :: enum(),Type :: enum(),Row :: offset()|mem(),Column :: offset()|mem(). separableFilter2D(Target,Internalformat,Width,Height,Format,Type,Row,Column) when is_integer(Row), is_integer(Column) -> cast(5346, <<Target:?GLenum,Internalformat:?GLenum,Width:?GLsizei,Height:?GLsizei,Format:?GLenum,Type:?GLenum,Row:?GLuint,Column:?GLuint>>); separableFilter2D(Target,Internalformat,Width,Height,Format,Type,Row,Column) -> @@ -8804,7 +8804,7 @@ separableFilter2D(Target,Internalformat,Width,Height,Format,Type,Row,Column) -> %% %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glGetHistogram.xml">external</a> documentation. --spec getHistogram(Target, Reset, Format, Type, Values) -> ok when Target :: enum(),Reset :: 0|1,Format :: enum(),Type :: enum(),Values :: mem(). +-spec getHistogram(Target, Reset, Format, Type, Values) -> 'ok' when Target :: enum(),Reset :: 0|1,Format :: enum(),Type :: enum(),Values :: mem(). getHistogram(Target,Reset,Format,Type,Values) -> send_bin(Values), call(5348, <<Target:?GLenum,Reset:?GLboolean,0:24,Format:?GLenum,Type:?GLenum>>). @@ -8868,7 +8868,7 @@ getHistogramParameteriv(Target,Pname) -> %% are not modified, even if `Reset' is `?GL_TRUE'. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glGetMinmax.xml">external</a> documentation. --spec getMinmax(Target, Reset, Format, Types, Values) -> ok when Target :: enum(),Reset :: 0|1,Format :: enum(),Types :: enum(),Values :: mem(). +-spec getMinmax(Target, Reset, Format, Types, Values) -> 'ok' when Target :: enum(),Reset :: 0|1,Format :: enum(),Types :: enum(),Values :: mem(). getMinmax(Target,Reset,Format,Types,Values) -> send_bin(Values), call(5351, <<Target:?GLenum,Reset:?GLboolean,0:24,Format:?GLenum,Types:?GLenum>>). @@ -8926,7 +8926,7 @@ getMinmaxParameteriv(Target,Pname) -> %% %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glHistogram.xml">external</a> documentation. --spec histogram(Target, Width, Internalformat, Sink) -> ok when Target :: enum(),Width :: integer(),Internalformat :: enum(),Sink :: 0|1. +-spec histogram(Target, Width, Internalformat, Sink) -> 'ok' when Target :: enum(),Width :: integer(),Internalformat :: enum(),Sink :: 0|1. histogram(Target,Width,Internalformat,Sink) -> cast(5354, <<Target:?GLenum,Width:?GLsizei,Internalformat:?GLenum,Sink:?GLboolean>>). @@ -8955,7 +8955,7 @@ histogram(Target,Width,Internalformat,Sink) -> %% %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glMinmax.xml">external</a> documentation. --spec minmax(Target, Internalformat, Sink) -> ok when Target :: enum(),Internalformat :: enum(),Sink :: 0|1. +-spec minmax(Target, Internalformat, Sink) -> 'ok' when Target :: enum(),Internalformat :: enum(),Sink :: 0|1. minmax(Target,Internalformat,Sink) -> cast(5355, <<Target:?GLenum,Internalformat:?GLenum,Sink:?GLboolean>>). @@ -8964,7 +8964,7 @@ minmax(Target,Internalformat,Sink) -> %% ``gl:resetHistogram'' resets all the elements of the current histogram table to zero. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glResetHistogram.xml">external</a> documentation. --spec resetHistogram(Target) -> ok when Target :: enum(). +-spec resetHistogram(Target) -> 'ok' when Target :: enum(). resetHistogram(Target) -> cast(5356, <<Target:?GLenum>>). @@ -8975,7 +8975,7 @@ resetHistogram(Target) -> %% ``minimum'' element receives the maximum possible component values. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glResetMinmax.xml">external</a> documentation. --spec resetMinmax(Target) -> ok when Target :: enum(). +-spec resetMinmax(Target) -> 'ok' when Target :: enum(). resetMinmax(Target) -> cast(5357, <<Target:?GLenum>>). @@ -8986,7 +8986,7 @@ resetMinmax(Target) -> %% but must be at least 80. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glActiveTexture.xml">external</a> documentation. --spec activeTexture(Texture) -> ok when Texture :: enum(). +-spec activeTexture(Texture) -> 'ok' when Texture :: enum(). activeTexture(Texture) -> cast(5358, <<Texture:?GLenum>>). @@ -9012,7 +9012,7 @@ activeTexture(Texture) -> %% on each sample. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glSampleCoverage.xml">external</a> documentation. --spec sampleCoverage(Value, Invert) -> ok when Value :: clamp(),Invert :: 0|1. +-spec sampleCoverage(Value, Invert) -> 'ok' when Value :: clamp(),Invert :: 0|1. sampleCoverage(Value,Invert) -> cast(5359, <<Value:?GLclampf,Invert:?GLboolean>>). @@ -9070,7 +9070,7 @@ sampleCoverage(Value,Invert) -> %% b s×|width b/w|×|height b/h|×|depth b/d| %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glCompressedTexImage3D.xml">external</a> documentation. --spec compressedTexImage3D(Target, Level, Internalformat, Width, Height, Depth, Border, ImageSize, Data) -> ok when Target :: enum(),Level :: integer(),Internalformat :: enum(),Width :: integer(),Height :: integer(),Depth :: integer(),Border :: integer(),ImageSize :: integer(),Data :: offset()|mem(). +-spec compressedTexImage3D(Target, Level, Internalformat, Width, Height, Depth, Border, ImageSize, Data) -> 'ok' when Target :: enum(),Level :: integer(),Internalformat :: enum(),Width :: integer(),Height :: integer(),Depth :: integer(),Border :: integer(),ImageSize :: integer(),Data :: offset()|mem(). compressedTexImage3D(Target,Level,Internalformat,Width,Height,Depth,Border,ImageSize,Data) when is_integer(Data) -> cast(5360, <<Target:?GLenum,Level:?GLint,Internalformat:?GLenum,Width:?GLsizei,Height:?GLsizei,Depth:?GLsizei,Border:?GLint,ImageSize:?GLsizei,Data:?GLuint>>); compressedTexImage3D(Target,Level,Internalformat,Width,Height,Depth,Border,ImageSize,Data) -> @@ -9132,7 +9132,7 @@ compressedTexImage3D(Target,Level,Internalformat,Width,Height,Depth,Border,Image %% b s×|width b/w|×|height b/h| %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glCompressedTexImage2D.xml">external</a> documentation. --spec compressedTexImage2D(Target, Level, Internalformat, Width, Height, Border, ImageSize, Data) -> ok when Target :: enum(),Level :: integer(),Internalformat :: enum(),Width :: integer(),Height :: integer(),Border :: integer(),ImageSize :: integer(),Data :: offset()|mem(). +-spec compressedTexImage2D(Target, Level, Internalformat, Width, Height, Border, ImageSize, Data) -> 'ok' when Target :: enum(),Level :: integer(),Internalformat :: enum(),Width :: integer(),Height :: integer(),Border :: integer(),ImageSize :: integer(),Data :: offset()|mem(). compressedTexImage2D(Target,Level,Internalformat,Width,Height,Border,ImageSize,Data) when is_integer(Data) -> cast(5362, <<Target:?GLenum,Level:?GLint,Internalformat:?GLenum,Width:?GLsizei,Height:?GLsizei,Border:?GLint,ImageSize:?GLsizei,Data:?GLuint>>); compressedTexImage2D(Target,Level,Internalformat,Width,Height,Border,ImageSize,Data) -> @@ -9189,7 +9189,7 @@ compressedTexImage2D(Target,Level,Internalformat,Width,Height,Border,ImageSize,D %% b s×|width b/w| %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glCompressedTexImage1D.xml">external</a> documentation. --spec compressedTexImage1D(Target, Level, Internalformat, Width, Border, ImageSize, Data) -> ok when Target :: enum(),Level :: integer(),Internalformat :: enum(),Width :: integer(),Border :: integer(),ImageSize :: integer(),Data :: offset()|mem(). +-spec compressedTexImage1D(Target, Level, Internalformat, Width, Border, ImageSize, Data) -> 'ok' when Target :: enum(),Level :: integer(),Internalformat :: enum(),Width :: integer(),Border :: integer(),ImageSize :: integer(),Data :: offset()|mem(). compressedTexImage1D(Target,Level,Internalformat,Width,Border,ImageSize,Data) when is_integer(Data) -> cast(5364, <<Target:?GLenum,Level:?GLint,Internalformat:?GLenum,Width:?GLsizei,Border:?GLint,ImageSize:?GLsizei,Data:?GLuint>>); compressedTexImage1D(Target,Level,Internalformat,Width,Border,ImageSize,Data) -> @@ -9219,7 +9219,7 @@ compressedTexImage1D(Target,Level,Internalformat,Width,Border,ImageSize,Data) -> %% as a byte offset into the buffer object's data store. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glCompressedTexSubImage3D.xml">external</a> documentation. --spec compressedTexSubImage3D(Target, Level, Xoffset, Yoffset, Zoffset, Width, Height, Depth, Format, ImageSize, Data) -> ok when Target :: enum(),Level :: integer(),Xoffset :: integer(),Yoffset :: integer(),Zoffset :: integer(),Width :: integer(),Height :: integer(),Depth :: integer(),Format :: enum(),ImageSize :: integer(),Data :: offset()|mem(). +-spec compressedTexSubImage3D(Target, Level, Xoffset, Yoffset, Zoffset, Width, Height, Depth, Format, ImageSize, Data) -> 'ok' when Target :: enum(),Level :: integer(),Xoffset :: integer(),Yoffset :: integer(),Zoffset :: integer(),Width :: integer(),Height :: integer(),Depth :: integer(),Format :: enum(),ImageSize :: integer(),Data :: offset()|mem(). compressedTexSubImage3D(Target,Level,Xoffset,Yoffset,Zoffset,Width,Height,Depth,Format,ImageSize,Data) when is_integer(Data) -> cast(5366, <<Target:?GLenum,Level:?GLint,Xoffset:?GLint,Yoffset:?GLint,Zoffset:?GLint,Width:?GLsizei,Height:?GLsizei,Depth:?GLsizei,Format:?GLenum,ImageSize:?GLsizei,Data:?GLuint>>); compressedTexSubImage3D(Target,Level,Xoffset,Yoffset,Zoffset,Width,Height,Depth,Format,ImageSize,Data) -> @@ -9248,7 +9248,7 @@ compressedTexSubImage3D(Target,Level,Xoffset,Yoffset,Zoffset,Width,Height,Depth, %% as a byte offset into the buffer object's data store. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glCompressedTexSubImage2D.xml">external</a> documentation. --spec compressedTexSubImage2D(Target, Level, Xoffset, Yoffset, Width, Height, Format, ImageSize, Data) -> ok when Target :: enum(),Level :: integer(),Xoffset :: integer(),Yoffset :: integer(),Width :: integer(),Height :: integer(),Format :: enum(),ImageSize :: integer(),Data :: offset()|mem(). +-spec compressedTexSubImage2D(Target, Level, Xoffset, Yoffset, Width, Height, Format, ImageSize, Data) -> 'ok' when Target :: enum(),Level :: integer(),Xoffset :: integer(),Yoffset :: integer(),Width :: integer(),Height :: integer(),Format :: enum(),ImageSize :: integer(),Data :: offset()|mem(). compressedTexSubImage2D(Target,Level,Xoffset,Yoffset,Width,Height,Format,ImageSize,Data) when is_integer(Data) -> cast(5368, <<Target:?GLenum,Level:?GLint,Xoffset:?GLint,Yoffset:?GLint,Width:?GLsizei,Height:?GLsizei,Format:?GLenum,ImageSize:?GLsizei,Data:?GLuint>>); compressedTexSubImage2D(Target,Level,Xoffset,Yoffset,Width,Height,Format,ImageSize,Data) -> @@ -9277,7 +9277,7 @@ compressedTexSubImage2D(Target,Level,Xoffset,Yoffset,Width,Height,Format,ImageSi %% as a byte offset into the buffer object's data store. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glCompressedTexSubImage1D.xml">external</a> documentation. --spec compressedTexSubImage1D(Target, Level, Xoffset, Width, Format, ImageSize, Data) -> ok when Target :: enum(),Level :: integer(),Xoffset :: integer(),Width :: integer(),Format :: enum(),ImageSize :: integer(),Data :: offset()|mem(). +-spec compressedTexSubImage1D(Target, Level, Xoffset, Width, Format, ImageSize, Data) -> 'ok' when Target :: enum(),Level :: integer(),Xoffset :: integer(),Width :: integer(),Format :: enum(),ImageSize :: integer(),Data :: offset()|mem(). compressedTexSubImage1D(Target,Level,Xoffset,Width,Format,ImageSize,Data) when is_integer(Data) -> cast(5370, <<Target:?GLenum,Level:?GLint,Xoffset:?GLint,Width:?GLsizei,Format:?GLenum,ImageSize:?GLsizei,Data:?GLuint>>); compressedTexSubImage1D(Target,Level,Xoffset,Width,Format,ImageSize,Data) -> @@ -9307,7 +9307,7 @@ compressedTexSubImage1D(Target,Level,Xoffset,Width,Format,ImageSize,Data) -> %% loading routine used for loading `Target' textures. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glGetCompressedTexImage.xml">external</a> documentation. --spec getCompressedTexImage(Target, Lod, Img) -> ok when Target :: enum(),Lod :: integer(),Img :: mem(). +-spec getCompressedTexImage(Target, Lod, Img) -> 'ok' when Target :: enum(),Lod :: integer(),Img :: mem(). getCompressedTexImage(Target,Lod,Img) -> send_bin(Img), call(5372, <<Target:?GLenum,Lod:?GLint>>). @@ -9320,7 +9320,7 @@ getCompressedTexImage(Target,Lod,Img) -> %% . %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glClientActiveTexture.xml">external</a> documentation. --spec clientActiveTexture(Texture) -> ok when Texture :: enum(). +-spec clientActiveTexture(Texture) -> 'ok' when Texture :: enum(). clientActiveTexture(Texture) -> cast(5373, <<Texture:?GLenum>>). @@ -9338,162 +9338,162 @@ clientActiveTexture(Texture) -> %% %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml">external</a> documentation. --spec multiTexCoord1d(Target, S) -> ok when Target :: enum(),S :: float(). +-spec multiTexCoord1d(Target, S) -> 'ok' when Target :: enum(),S :: float(). multiTexCoord1d(Target,S) -> cast(5374, <<Target:?GLenum,0:32,S:?GLdouble>>). %% @equiv multiTexCoord1d(Target,S) --spec multiTexCoord1dv(Target :: enum(),V) -> ok when V :: {S :: float()}. +-spec multiTexCoord1dv(Target :: enum(),V) -> 'ok' when V :: {S :: float()}. multiTexCoord1dv(Target,{S}) -> multiTexCoord1d(Target,S). %% @doc %% See {@link multiTexCoord1d/2} --spec multiTexCoord1f(Target, S) -> ok when Target :: enum(),S :: float(). +-spec multiTexCoord1f(Target, S) -> 'ok' when Target :: enum(),S :: float(). multiTexCoord1f(Target,S) -> cast(5375, <<Target:?GLenum,S:?GLfloat>>). %% @equiv multiTexCoord1f(Target,S) --spec multiTexCoord1fv(Target :: enum(),V) -> ok when V :: {S :: float()}. +-spec multiTexCoord1fv(Target :: enum(),V) -> 'ok' when V :: {S :: float()}. multiTexCoord1fv(Target,{S}) -> multiTexCoord1f(Target,S). %% @doc %% See {@link multiTexCoord1d/2} --spec multiTexCoord1i(Target, S) -> ok when Target :: enum(),S :: integer(). +-spec multiTexCoord1i(Target, S) -> 'ok' when Target :: enum(),S :: integer(). multiTexCoord1i(Target,S) -> cast(5376, <<Target:?GLenum,S:?GLint>>). %% @equiv multiTexCoord1i(Target,S) --spec multiTexCoord1iv(Target :: enum(),V) -> ok when V :: {S :: integer()}. +-spec multiTexCoord1iv(Target :: enum(),V) -> 'ok' when V :: {S :: integer()}. multiTexCoord1iv(Target,{S}) -> multiTexCoord1i(Target,S). %% @doc %% See {@link multiTexCoord1d/2} --spec multiTexCoord1s(Target, S) -> ok when Target :: enum(),S :: integer(). +-spec multiTexCoord1s(Target, S) -> 'ok' when Target :: enum(),S :: integer(). multiTexCoord1s(Target,S) -> cast(5377, <<Target:?GLenum,S:?GLshort>>). %% @equiv multiTexCoord1s(Target,S) --spec multiTexCoord1sv(Target :: enum(),V) -> ok when V :: {S :: integer()}. +-spec multiTexCoord1sv(Target :: enum(),V) -> 'ok' when V :: {S :: integer()}. multiTexCoord1sv(Target,{S}) -> multiTexCoord1s(Target,S). %% @doc %% See {@link multiTexCoord1d/2} --spec multiTexCoord2d(Target, S, T) -> ok when Target :: enum(),S :: float(),T :: float(). +-spec multiTexCoord2d(Target, S, T) -> 'ok' when Target :: enum(),S :: float(),T :: float(). multiTexCoord2d(Target,S,T) -> cast(5378, <<Target:?GLenum,0:32,S:?GLdouble,T:?GLdouble>>). %% @equiv multiTexCoord2d(Target,S,T) --spec multiTexCoord2dv(Target :: enum(),V) -> ok when V :: {S :: float(),T :: float()}. +-spec multiTexCoord2dv(Target :: enum(),V) -> 'ok' when V :: {S :: float(),T :: float()}. multiTexCoord2dv(Target,{S,T}) -> multiTexCoord2d(Target,S,T). %% @doc %% See {@link multiTexCoord1d/2} --spec multiTexCoord2f(Target, S, T) -> ok when Target :: enum(),S :: float(),T :: float(). +-spec multiTexCoord2f(Target, S, T) -> 'ok' when Target :: enum(),S :: float(),T :: float(). multiTexCoord2f(Target,S,T) -> cast(5379, <<Target:?GLenum,S:?GLfloat,T:?GLfloat>>). %% @equiv multiTexCoord2f(Target,S,T) --spec multiTexCoord2fv(Target :: enum(),V) -> ok when V :: {S :: float(),T :: float()}. +-spec multiTexCoord2fv(Target :: enum(),V) -> 'ok' when V :: {S :: float(),T :: float()}. multiTexCoord2fv(Target,{S,T}) -> multiTexCoord2f(Target,S,T). %% @doc %% See {@link multiTexCoord1d/2} --spec multiTexCoord2i(Target, S, T) -> ok when Target :: enum(),S :: integer(),T :: integer(). +-spec multiTexCoord2i(Target, S, T) -> 'ok' when Target :: enum(),S :: integer(),T :: integer(). multiTexCoord2i(Target,S,T) -> cast(5380, <<Target:?GLenum,S:?GLint,T:?GLint>>). %% @equiv multiTexCoord2i(Target,S,T) --spec multiTexCoord2iv(Target :: enum(),V) -> ok when V :: {S :: integer(),T :: integer()}. +-spec multiTexCoord2iv(Target :: enum(),V) -> 'ok' when V :: {S :: integer(),T :: integer()}. multiTexCoord2iv(Target,{S,T}) -> multiTexCoord2i(Target,S,T). %% @doc %% See {@link multiTexCoord1d/2} --spec multiTexCoord2s(Target, S, T) -> ok when Target :: enum(),S :: integer(),T :: integer(). +-spec multiTexCoord2s(Target, S, T) -> 'ok' when Target :: enum(),S :: integer(),T :: integer(). multiTexCoord2s(Target,S,T) -> cast(5381, <<Target:?GLenum,S:?GLshort,T:?GLshort>>). %% @equiv multiTexCoord2s(Target,S,T) --spec multiTexCoord2sv(Target :: enum(),V) -> ok when V :: {S :: integer(),T :: integer()}. +-spec multiTexCoord2sv(Target :: enum(),V) -> 'ok' when V :: {S :: integer(),T :: integer()}. multiTexCoord2sv(Target,{S,T}) -> multiTexCoord2s(Target,S,T). %% @doc %% See {@link multiTexCoord1d/2} --spec multiTexCoord3d(Target, S, T, R) -> ok when Target :: enum(),S :: float(),T :: float(),R :: float(). +-spec multiTexCoord3d(Target, S, T, R) -> 'ok' when Target :: enum(),S :: float(),T :: float(),R :: float(). multiTexCoord3d(Target,S,T,R) -> cast(5382, <<Target:?GLenum,0:32,S:?GLdouble,T:?GLdouble,R:?GLdouble>>). %% @equiv multiTexCoord3d(Target,S,T,R) --spec multiTexCoord3dv(Target :: enum(),V) -> ok when V :: {S :: float(),T :: float(),R :: float()}. +-spec multiTexCoord3dv(Target :: enum(),V) -> 'ok' when V :: {S :: float(),T :: float(),R :: float()}. multiTexCoord3dv(Target,{S,T,R}) -> multiTexCoord3d(Target,S,T,R). %% @doc %% See {@link multiTexCoord1d/2} --spec multiTexCoord3f(Target, S, T, R) -> ok when Target :: enum(),S :: float(),T :: float(),R :: float(). +-spec multiTexCoord3f(Target, S, T, R) -> 'ok' when Target :: enum(),S :: float(),T :: float(),R :: float(). multiTexCoord3f(Target,S,T,R) -> cast(5383, <<Target:?GLenum,S:?GLfloat,T:?GLfloat,R:?GLfloat>>). %% @equiv multiTexCoord3f(Target,S,T,R) --spec multiTexCoord3fv(Target :: enum(),V) -> ok when V :: {S :: float(),T :: float(),R :: float()}. +-spec multiTexCoord3fv(Target :: enum(),V) -> 'ok' when V :: {S :: float(),T :: float(),R :: float()}. multiTexCoord3fv(Target,{S,T,R}) -> multiTexCoord3f(Target,S,T,R). %% @doc %% See {@link multiTexCoord1d/2} --spec multiTexCoord3i(Target, S, T, R) -> ok when Target :: enum(),S :: integer(),T :: integer(),R :: integer(). +-spec multiTexCoord3i(Target, S, T, R) -> 'ok' when Target :: enum(),S :: integer(),T :: integer(),R :: integer(). multiTexCoord3i(Target,S,T,R) -> cast(5384, <<Target:?GLenum,S:?GLint,T:?GLint,R:?GLint>>). %% @equiv multiTexCoord3i(Target,S,T,R) --spec multiTexCoord3iv(Target :: enum(),V) -> ok when V :: {S :: integer(),T :: integer(),R :: integer()}. +-spec multiTexCoord3iv(Target :: enum(),V) -> 'ok' when V :: {S :: integer(),T :: integer(),R :: integer()}. multiTexCoord3iv(Target,{S,T,R}) -> multiTexCoord3i(Target,S,T,R). %% @doc %% See {@link multiTexCoord1d/2} --spec multiTexCoord3s(Target, S, T, R) -> ok when Target :: enum(),S :: integer(),T :: integer(),R :: integer(). +-spec multiTexCoord3s(Target, S, T, R) -> 'ok' when Target :: enum(),S :: integer(),T :: integer(),R :: integer(). multiTexCoord3s(Target,S,T,R) -> cast(5385, <<Target:?GLenum,S:?GLshort,T:?GLshort,R:?GLshort>>). %% @equiv multiTexCoord3s(Target,S,T,R) --spec multiTexCoord3sv(Target :: enum(),V) -> ok when V :: {S :: integer(),T :: integer(),R :: integer()}. +-spec multiTexCoord3sv(Target :: enum(),V) -> 'ok' when V :: {S :: integer(),T :: integer(),R :: integer()}. multiTexCoord3sv(Target,{S,T,R}) -> multiTexCoord3s(Target,S,T,R). %% @doc %% See {@link multiTexCoord1d/2} --spec multiTexCoord4d(Target, S, T, R, Q) -> ok when Target :: enum(),S :: float(),T :: float(),R :: float(),Q :: float(). +-spec multiTexCoord4d(Target, S, T, R, Q) -> 'ok' when Target :: enum(),S :: float(),T :: float(),R :: float(),Q :: float(). multiTexCoord4d(Target,S,T,R,Q) -> cast(5386, <<Target:?GLenum,0:32,S:?GLdouble,T:?GLdouble,R:?GLdouble,Q:?GLdouble>>). %% @equiv multiTexCoord4d(Target,S,T,R,Q) --spec multiTexCoord4dv(Target :: enum(),V) -> ok when V :: {S :: float(),T :: float(),R :: float(),Q :: float()}. +-spec multiTexCoord4dv(Target :: enum(),V) -> 'ok' when V :: {S :: float(),T :: float(),R :: float(),Q :: float()}. multiTexCoord4dv(Target,{S,T,R,Q}) -> multiTexCoord4d(Target,S,T,R,Q). %% @doc %% See {@link multiTexCoord1d/2} --spec multiTexCoord4f(Target, S, T, R, Q) -> ok when Target :: enum(),S :: float(),T :: float(),R :: float(),Q :: float(). +-spec multiTexCoord4f(Target, S, T, R, Q) -> 'ok' when Target :: enum(),S :: float(),T :: float(),R :: float(),Q :: float(). multiTexCoord4f(Target,S,T,R,Q) -> cast(5387, <<Target:?GLenum,S:?GLfloat,T:?GLfloat,R:?GLfloat,Q:?GLfloat>>). %% @equiv multiTexCoord4f(Target,S,T,R,Q) --spec multiTexCoord4fv(Target :: enum(),V) -> ok when V :: {S :: float(),T :: float(),R :: float(),Q :: float()}. +-spec multiTexCoord4fv(Target :: enum(),V) -> 'ok' when V :: {S :: float(),T :: float(),R :: float(),Q :: float()}. multiTexCoord4fv(Target,{S,T,R,Q}) -> multiTexCoord4f(Target,S,T,R,Q). %% @doc %% See {@link multiTexCoord1d/2} --spec multiTexCoord4i(Target, S, T, R, Q) -> ok when Target :: enum(),S :: integer(),T :: integer(),R :: integer(),Q :: integer(). +-spec multiTexCoord4i(Target, S, T, R, Q) -> 'ok' when Target :: enum(),S :: integer(),T :: integer(),R :: integer(),Q :: integer(). multiTexCoord4i(Target,S,T,R,Q) -> cast(5388, <<Target:?GLenum,S:?GLint,T:?GLint,R:?GLint,Q:?GLint>>). %% @equiv multiTexCoord4i(Target,S,T,R,Q) --spec multiTexCoord4iv(Target :: enum(),V) -> ok when V :: {S :: integer(),T :: integer(),R :: integer(),Q :: integer()}. +-spec multiTexCoord4iv(Target :: enum(),V) -> 'ok' when V :: {S :: integer(),T :: integer(),R :: integer(),Q :: integer()}. multiTexCoord4iv(Target,{S,T,R,Q}) -> multiTexCoord4i(Target,S,T,R,Q). %% @doc %% See {@link multiTexCoord1d/2} --spec multiTexCoord4s(Target, S, T, R, Q) -> ok when Target :: enum(),S :: integer(),T :: integer(),R :: integer(),Q :: integer(). +-spec multiTexCoord4s(Target, S, T, R, Q) -> 'ok' when Target :: enum(),S :: integer(),T :: integer(),R :: integer(),Q :: integer(). multiTexCoord4s(Target,S,T,R,Q) -> cast(5389, <<Target:?GLenum,S:?GLshort,T:?GLshort,R:?GLshort,Q:?GLshort>>). %% @equiv multiTexCoord4s(Target,S,T,R,Q) --spec multiTexCoord4sv(Target :: enum(),V) -> ok when V :: {S :: integer(),T :: integer(),R :: integer(),Q :: integer()}. +-spec multiTexCoord4sv(Target :: enum(),V) -> 'ok' when V :: {S :: integer(),T :: integer(),R :: integer(),Q :: integer()}. multiTexCoord4sv(Target,{S,T,R,Q}) -> multiTexCoord4s(Target,S,T,R,Q). %% @doc Replace the current matrix with the specified row-major ordered matrix @@ -9515,7 +9515,7 @@ multiTexCoord4sv(Target,{S,T,R,Q}) -> multiTexCoord4s(Target,S,T,R,Q). %% with M T, where T represents the transpose. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glLoadTransposeMatrix.xml">external</a> documentation. --spec loadTransposeMatrixf(M) -> ok when M :: matrix(). +-spec loadTransposeMatrixf(M) -> 'ok' when M :: matrix(). loadTransposeMatrixf({M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16}) -> cast(5390, <<M1:?GLfloat,M2:?GLfloat,M3:?GLfloat,M4:?GLfloat,M5:?GLfloat,M6:?GLfloat,M7:?GLfloat,M8:?GLfloat,M9:?GLfloat,M10:?GLfloat,M11:?GLfloat,M12:?GLfloat,M13:?GLfloat,M14:?GLfloat,M15:?GLfloat,M16:?GLfloat>>); loadTransposeMatrixf({M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12}) -> @@ -9523,7 +9523,7 @@ loadTransposeMatrixf({M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12}) -> %% @doc %% See {@link loadTransposeMatrixf/1} --spec loadTransposeMatrixd(M) -> ok when M :: matrix(). +-spec loadTransposeMatrixd(M) -> 'ok' when M :: matrix(). loadTransposeMatrixd({M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16}) -> cast(5391, <<M1:?GLdouble,M2:?GLdouble,M3:?GLdouble,M4:?GLdouble,M5:?GLdouble,M6:?GLdouble,M7:?GLdouble,M8:?GLdouble,M9:?GLdouble,M10:?GLdouble,M11:?GLdouble,M12:?GLdouble,M13:?GLdouble,M14:?GLdouble,M15:?GLdouble,M16:?GLdouble>>); loadTransposeMatrixd({M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12}) -> @@ -9538,7 +9538,7 @@ loadTransposeMatrixd({M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12}) -> %% It is either the projection matrix, modelview matrix, or the texture matrix. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glMultTransposeMatrix.xml">external</a> documentation. --spec multTransposeMatrixf(M) -> ok when M :: matrix(). +-spec multTransposeMatrixf(M) -> 'ok' when M :: matrix(). multTransposeMatrixf({M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16}) -> cast(5392, <<M1:?GLfloat,M2:?GLfloat,M3:?GLfloat,M4:?GLfloat,M5:?GLfloat,M6:?GLfloat,M7:?GLfloat,M8:?GLfloat,M9:?GLfloat,M10:?GLfloat,M11:?GLfloat,M12:?GLfloat,M13:?GLfloat,M14:?GLfloat,M15:?GLfloat,M16:?GLfloat>>); multTransposeMatrixf({M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12}) -> @@ -9546,7 +9546,7 @@ multTransposeMatrixf({M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12}) -> %% @doc %% See {@link multTransposeMatrixf/1} --spec multTransposeMatrixd(M) -> ok when M :: matrix(). +-spec multTransposeMatrixd(M) -> 'ok' when M :: matrix(). multTransposeMatrixd({M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16}) -> cast(5393, <<M1:?GLdouble,M2:?GLdouble,M3:?GLdouble,M4:?GLdouble,M5:?GLdouble,M6:?GLdouble,M7:?GLdouble,M8:?GLdouble,M9:?GLdouble,M10:?GLdouble,M11:?GLdouble,M12:?GLdouble,M13:?GLdouble,M14:?GLdouble,M15:?GLdouble,M16:?GLdouble>>); multTransposeMatrixd({M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12}) -> @@ -9625,7 +9625,7 @@ multTransposeMatrixd({M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12}) -> %% %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glBlendFuncSeparate.xml">external</a> documentation. --spec blendFuncSeparate(SfactorRGB, DfactorRGB, SfactorAlpha, DfactorAlpha) -> ok when SfactorRGB :: enum(),DfactorRGB :: enum(),SfactorAlpha :: enum(),DfactorAlpha :: enum(). +-spec blendFuncSeparate(SfactorRGB, DfactorRGB, SfactorAlpha, DfactorAlpha) -> 'ok' when SfactorRGB :: enum(),DfactorRGB :: enum(),SfactorAlpha :: enum(),DfactorAlpha :: enum(). blendFuncSeparate(SfactorRGB,DfactorRGB,SfactorAlpha,DfactorAlpha) -> cast(5394, <<SfactorRGB:?GLenum,DfactorRGB:?GLenum,SfactorAlpha:?GLenum,DfactorAlpha:?GLenum>>). @@ -9650,7 +9650,7 @@ blendFuncSeparate(SfactorRGB,DfactorRGB,SfactorAlpha,DfactorAlpha) -> %% %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glMultiDrawArrays.xml">external</a> documentation. --spec multiDrawArrays(Mode, First, Count) -> ok when Mode :: enum(),First :: [integer()],Count :: [integer()]. +-spec multiDrawArrays(Mode, First, Count) -> 'ok' when Mode :: enum(),First :: [integer()],Count :: [integer()]. multiDrawArrays(Mode,First,Count) -> cast(5395, <<Mode:?GLenum,(length(First)):?GLuint, (<< <<C:?GLint>> || C <- First>>)/binary,0:(((length(First)) rem 2)*32),(length(Count)):?GLuint, @@ -9669,26 +9669,26 @@ multiDrawArrays(Mode,First,Count) -> %% The default value is `?GL_UPPER_LEFT'. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glPointParameter.xml">external</a> documentation. --spec pointParameterf(Pname, Param) -> ok when Pname :: enum(),Param :: float(). +-spec pointParameterf(Pname, Param) -> 'ok' when Pname :: enum(),Param :: float(). pointParameterf(Pname,Param) -> cast(5396, <<Pname:?GLenum,Param:?GLfloat>>). %% @doc %% See {@link pointParameterf/2} --spec pointParameterfv(Pname, Params) -> ok when Pname :: enum(),Params :: tuple(). +-spec pointParameterfv(Pname, Params) -> 'ok' when Pname :: enum(),Params :: tuple(). pointParameterfv(Pname,Params) -> cast(5397, <<Pname:?GLenum,(size(Params)):?GLuint, (<< <<C:?GLfloat>> ||C <- tuple_to_list(Params)>>)/binary,0:(((0+size(Params)) rem 2)*32)>>). %% @doc %% See {@link pointParameterf/2} --spec pointParameteri(Pname, Param) -> ok when Pname :: enum(),Param :: integer(). +-spec pointParameteri(Pname, Param) -> 'ok' when Pname :: enum(),Param :: integer(). pointParameteri(Pname,Param) -> cast(5398, <<Pname:?GLenum,Param:?GLint>>). %% @doc %% See {@link pointParameterf/2} --spec pointParameteriv(Pname, Params) -> ok when Pname :: enum(),Params :: tuple(). +-spec pointParameteriv(Pname, Params) -> 'ok' when Pname :: enum(),Params :: tuple(). pointParameteriv(Pname,Params) -> cast(5399, <<Pname:?GLenum,(size(Params)):?GLuint, (<< <<C:?GLint>> ||C <- tuple_to_list(Params)>>)/binary,0:(((0+size(Params)) rem 2)*32)>>). @@ -9700,22 +9700,22 @@ pointParameteriv(Pname,Params) -> %% the fog color (see {@link gl:fogf/2} ). %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glFogCoord.xml">external</a> documentation. --spec fogCoordf(Coord) -> ok when Coord :: float(). +-spec fogCoordf(Coord) -> 'ok' when Coord :: float(). fogCoordf(Coord) -> cast(5400, <<Coord:?GLfloat>>). %% @equiv fogCoordf(Coord) --spec fogCoordfv(Coord) -> ok when Coord :: {Coord :: float()}. +-spec fogCoordfv(Coord) -> 'ok' when Coord :: {Coord :: float()}. fogCoordfv({Coord}) -> fogCoordf(Coord). %% @doc %% See {@link fogCoordf/1} --spec fogCoordd(Coord) -> ok when Coord :: float(). +-spec fogCoordd(Coord) -> 'ok' when Coord :: float(). fogCoordd(Coord) -> cast(5401, <<Coord:?GLdouble>>). %% @equiv fogCoordd(Coord) --spec fogCoorddv(Coord) -> ok when Coord :: {Coord :: float()}. +-spec fogCoorddv(Coord) -> 'ok' when Coord :: {Coord :: float()}. fogCoorddv({Coord}) -> fogCoordd(Coord). %% @doc Define an array of fog coordinates @@ -9741,7 +9741,7 @@ fogCoorddv({Coord}) -> fogCoordd(Coord). %% , {@link gl:drawRangeElements/6} , or {@link gl:arrayElement/1} is called. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glFogCoordPointer.xml">external</a> documentation. --spec fogCoordPointer(Type, Stride, Pointer) -> ok when Type :: enum(),Stride :: integer(),Pointer :: offset()|mem(). +-spec fogCoordPointer(Type, Stride, Pointer) -> 'ok' when Type :: enum(),Stride :: integer(),Pointer :: offset()|mem(). fogCoordPointer(Type,Stride,Pointer) when is_integer(Pointer) -> cast(5402, <<Type:?GLenum,Stride:?GLsizei,Pointer:?GLuint>>); fogCoordPointer(Type,Stride,Pointer) -> @@ -9778,82 +9778,82 @@ fogCoordPointer(Type,Stride,Pointer) -> %% are interpolated or written into a color buffer. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glSecondaryColor.xml">external</a> documentation. --spec secondaryColor3b(Red, Green, Blue) -> ok when Red :: integer(),Green :: integer(),Blue :: integer(). +-spec secondaryColor3b(Red, Green, Blue) -> 'ok' when Red :: integer(),Green :: integer(),Blue :: integer(). secondaryColor3b(Red,Green,Blue) -> cast(5404, <<Red:?GLbyte,Green:?GLbyte,Blue:?GLbyte>>). %% @equiv secondaryColor3b(Red,Green,Blue) --spec secondaryColor3bv(V) -> ok when V :: {Red :: integer(),Green :: integer(),Blue :: integer()}. +-spec secondaryColor3bv(V) -> 'ok' when V :: {Red :: integer(),Green :: integer(),Blue :: integer()}. secondaryColor3bv({Red,Green,Blue}) -> secondaryColor3b(Red,Green,Blue). %% @doc %% See {@link secondaryColor3b/3} --spec secondaryColor3d(Red, Green, Blue) -> ok when Red :: float(),Green :: float(),Blue :: float(). +-spec secondaryColor3d(Red, Green, Blue) -> 'ok' when Red :: float(),Green :: float(),Blue :: float(). secondaryColor3d(Red,Green,Blue) -> cast(5405, <<Red:?GLdouble,Green:?GLdouble,Blue:?GLdouble>>). %% @equiv secondaryColor3d(Red,Green,Blue) --spec secondaryColor3dv(V) -> ok when V :: {Red :: float(),Green :: float(),Blue :: float()}. +-spec secondaryColor3dv(V) -> 'ok' when V :: {Red :: float(),Green :: float(),Blue :: float()}. secondaryColor3dv({Red,Green,Blue}) -> secondaryColor3d(Red,Green,Blue). %% @doc %% See {@link secondaryColor3b/3} --spec secondaryColor3f(Red, Green, Blue) -> ok when Red :: float(),Green :: float(),Blue :: float(). +-spec secondaryColor3f(Red, Green, Blue) -> 'ok' when Red :: float(),Green :: float(),Blue :: float(). secondaryColor3f(Red,Green,Blue) -> cast(5406, <<Red:?GLfloat,Green:?GLfloat,Blue:?GLfloat>>). %% @equiv secondaryColor3f(Red,Green,Blue) --spec secondaryColor3fv(V) -> ok when V :: {Red :: float(),Green :: float(),Blue :: float()}. +-spec secondaryColor3fv(V) -> 'ok' when V :: {Red :: float(),Green :: float(),Blue :: float()}. secondaryColor3fv({Red,Green,Blue}) -> secondaryColor3f(Red,Green,Blue). %% @doc %% See {@link secondaryColor3b/3} --spec secondaryColor3i(Red, Green, Blue) -> ok when Red :: integer(),Green :: integer(),Blue :: integer(). +-spec secondaryColor3i(Red, Green, Blue) -> 'ok' when Red :: integer(),Green :: integer(),Blue :: integer(). secondaryColor3i(Red,Green,Blue) -> cast(5407, <<Red:?GLint,Green:?GLint,Blue:?GLint>>). %% @equiv secondaryColor3i(Red,Green,Blue) --spec secondaryColor3iv(V) -> ok when V :: {Red :: integer(),Green :: integer(),Blue :: integer()}. +-spec secondaryColor3iv(V) -> 'ok' when V :: {Red :: integer(),Green :: integer(),Blue :: integer()}. secondaryColor3iv({Red,Green,Blue}) -> secondaryColor3i(Red,Green,Blue). %% @doc %% See {@link secondaryColor3b/3} --spec secondaryColor3s(Red, Green, Blue) -> ok when Red :: integer(),Green :: integer(),Blue :: integer(). +-spec secondaryColor3s(Red, Green, Blue) -> 'ok' when Red :: integer(),Green :: integer(),Blue :: integer(). secondaryColor3s(Red,Green,Blue) -> cast(5408, <<Red:?GLshort,Green:?GLshort,Blue:?GLshort>>). %% @equiv secondaryColor3s(Red,Green,Blue) --spec secondaryColor3sv(V) -> ok when V :: {Red :: integer(),Green :: integer(),Blue :: integer()}. +-spec secondaryColor3sv(V) -> 'ok' when V :: {Red :: integer(),Green :: integer(),Blue :: integer()}. secondaryColor3sv({Red,Green,Blue}) -> secondaryColor3s(Red,Green,Blue). %% @doc %% See {@link secondaryColor3b/3} --spec secondaryColor3ub(Red, Green, Blue) -> ok when Red :: integer(),Green :: integer(),Blue :: integer(). +-spec secondaryColor3ub(Red, Green, Blue) -> 'ok' when Red :: integer(),Green :: integer(),Blue :: integer(). secondaryColor3ub(Red,Green,Blue) -> cast(5409, <<Red:?GLubyte,Green:?GLubyte,Blue:?GLubyte>>). %% @equiv secondaryColor3ub(Red,Green,Blue) --spec secondaryColor3ubv(V) -> ok when V :: {Red :: integer(),Green :: integer(),Blue :: integer()}. +-spec secondaryColor3ubv(V) -> 'ok' when V :: {Red :: integer(),Green :: integer(),Blue :: integer()}. secondaryColor3ubv({Red,Green,Blue}) -> secondaryColor3ub(Red,Green,Blue). %% @doc %% See {@link secondaryColor3b/3} --spec secondaryColor3ui(Red, Green, Blue) -> ok when Red :: integer(),Green :: integer(),Blue :: integer(). +-spec secondaryColor3ui(Red, Green, Blue) -> 'ok' when Red :: integer(),Green :: integer(),Blue :: integer(). secondaryColor3ui(Red,Green,Blue) -> cast(5410, <<Red:?GLuint,Green:?GLuint,Blue:?GLuint>>). %% @equiv secondaryColor3ui(Red,Green,Blue) --spec secondaryColor3uiv(V) -> ok when V :: {Red :: integer(),Green :: integer(),Blue :: integer()}. +-spec secondaryColor3uiv(V) -> 'ok' when V :: {Red :: integer(),Green :: integer(),Blue :: integer()}. secondaryColor3uiv({Red,Green,Blue}) -> secondaryColor3ui(Red,Green,Blue). %% @doc %% See {@link secondaryColor3b/3} --spec secondaryColor3us(Red, Green, Blue) -> ok when Red :: integer(),Green :: integer(),Blue :: integer(). +-spec secondaryColor3us(Red, Green, Blue) -> 'ok' when Red :: integer(),Green :: integer(),Blue :: integer(). secondaryColor3us(Red,Green,Blue) -> cast(5411, <<Red:?GLushort,Green:?GLushort,Blue:?GLushort>>). %% @equiv secondaryColor3us(Red,Green,Blue) --spec secondaryColor3usv(V) -> ok when V :: {Red :: integer(),Green :: integer(),Blue :: integer()}. +-spec secondaryColor3usv(V) -> 'ok' when V :: {Red :: integer(),Green :: integer(),Blue :: integer()}. secondaryColor3usv({Red,Green,Blue}) -> secondaryColor3us(Red,Green,Blue). %% @doc Define an array of secondary colors @@ -9881,7 +9881,7 @@ secondaryColor3usv({Red,Green,Blue}) -> secondaryColor3us(Red,Green,Blue). %% is called. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glSecondaryColorPointer.xml">external</a> documentation. --spec secondaryColorPointer(Size, Type, Stride, Pointer) -> ok when Size :: integer(),Type :: enum(),Stride :: integer(),Pointer :: offset()|mem(). +-spec secondaryColorPointer(Size, Type, Stride, Pointer) -> 'ok' when Size :: integer(),Type :: enum(),Stride :: integer(),Pointer :: offset()|mem(). secondaryColorPointer(Size,Type,Stride,Pointer) when is_integer(Pointer) -> cast(5412, <<Size:?GLint,Type:?GLenum,Stride:?GLsizei,Pointer:?GLuint>>); secondaryColorPointer(Size,Type,Stride,Pointer) -> @@ -9927,82 +9927,82 @@ secondaryColorPointer(Size,Type,Stride,Pointer) -> %% %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glWindowPos.xml">external</a> documentation. --spec windowPos2d(X, Y) -> ok when X :: float(),Y :: float(). +-spec windowPos2d(X, Y) -> 'ok' when X :: float(),Y :: float(). windowPos2d(X,Y) -> cast(5414, <<X:?GLdouble,Y:?GLdouble>>). %% @equiv windowPos2d(X,Y) --spec windowPos2dv(V) -> ok when V :: {X :: float(),Y :: float()}. +-spec windowPos2dv(V) -> 'ok' when V :: {X :: float(),Y :: float()}. windowPos2dv({X,Y}) -> windowPos2d(X,Y). %% @doc %% See {@link windowPos2d/2} --spec windowPos2f(X, Y) -> ok when X :: float(),Y :: float(). +-spec windowPos2f(X, Y) -> 'ok' when X :: float(),Y :: float(). windowPos2f(X,Y) -> cast(5415, <<X:?GLfloat,Y:?GLfloat>>). %% @equiv windowPos2f(X,Y) --spec windowPos2fv(V) -> ok when V :: {X :: float(),Y :: float()}. +-spec windowPos2fv(V) -> 'ok' when V :: {X :: float(),Y :: float()}. windowPos2fv({X,Y}) -> windowPos2f(X,Y). %% @doc %% See {@link windowPos2d/2} --spec windowPos2i(X, Y) -> ok when X :: integer(),Y :: integer(). +-spec windowPos2i(X, Y) -> 'ok' when X :: integer(),Y :: integer(). windowPos2i(X,Y) -> cast(5416, <<X:?GLint,Y:?GLint>>). %% @equiv windowPos2i(X,Y) --spec windowPos2iv(V) -> ok when V :: {X :: integer(),Y :: integer()}. +-spec windowPos2iv(V) -> 'ok' when V :: {X :: integer(),Y :: integer()}. windowPos2iv({X,Y}) -> windowPos2i(X,Y). %% @doc %% See {@link windowPos2d/2} --spec windowPos2s(X, Y) -> ok when X :: integer(),Y :: integer(). +-spec windowPos2s(X, Y) -> 'ok' when X :: integer(),Y :: integer(). windowPos2s(X,Y) -> cast(5417, <<X:?GLshort,Y:?GLshort>>). %% @equiv windowPos2s(X,Y) --spec windowPos2sv(V) -> ok when V :: {X :: integer(),Y :: integer()}. +-spec windowPos2sv(V) -> 'ok' when V :: {X :: integer(),Y :: integer()}. windowPos2sv({X,Y}) -> windowPos2s(X,Y). %% @doc %% See {@link windowPos2d/2} --spec windowPos3d(X, Y, Z) -> ok when X :: float(),Y :: float(),Z :: float(). +-spec windowPos3d(X, Y, Z) -> 'ok' when X :: float(),Y :: float(),Z :: float(). windowPos3d(X,Y,Z) -> cast(5418, <<X:?GLdouble,Y:?GLdouble,Z:?GLdouble>>). %% @equiv windowPos3d(X,Y,Z) --spec windowPos3dv(V) -> ok when V :: {X :: float(),Y :: float(),Z :: float()}. +-spec windowPos3dv(V) -> 'ok' when V :: {X :: float(),Y :: float(),Z :: float()}. windowPos3dv({X,Y,Z}) -> windowPos3d(X,Y,Z). %% @doc %% See {@link windowPos2d/2} --spec windowPos3f(X, Y, Z) -> ok when X :: float(),Y :: float(),Z :: float(). +-spec windowPos3f(X, Y, Z) -> 'ok' when X :: float(),Y :: float(),Z :: float(). windowPos3f(X,Y,Z) -> cast(5419, <<X:?GLfloat,Y:?GLfloat,Z:?GLfloat>>). %% @equiv windowPos3f(X,Y,Z) --spec windowPos3fv(V) -> ok when V :: {X :: float(),Y :: float(),Z :: float()}. +-spec windowPos3fv(V) -> 'ok' when V :: {X :: float(),Y :: float(),Z :: float()}. windowPos3fv({X,Y,Z}) -> windowPos3f(X,Y,Z). %% @doc %% See {@link windowPos2d/2} --spec windowPos3i(X, Y, Z) -> ok when X :: integer(),Y :: integer(),Z :: integer(). +-spec windowPos3i(X, Y, Z) -> 'ok' when X :: integer(),Y :: integer(),Z :: integer(). windowPos3i(X,Y,Z) -> cast(5420, <<X:?GLint,Y:?GLint,Z:?GLint>>). %% @equiv windowPos3i(X,Y,Z) --spec windowPos3iv(V) -> ok when V :: {X :: integer(),Y :: integer(),Z :: integer()}. +-spec windowPos3iv(V) -> 'ok' when V :: {X :: integer(),Y :: integer(),Z :: integer()}. windowPos3iv({X,Y,Z}) -> windowPos3i(X,Y,Z). %% @doc %% See {@link windowPos2d/2} --spec windowPos3s(X, Y, Z) -> ok when X :: integer(),Y :: integer(),Z :: integer(). +-spec windowPos3s(X, Y, Z) -> 'ok' when X :: integer(),Y :: integer(),Z :: integer(). windowPos3s(X,Y,Z) -> cast(5421, <<X:?GLshort,Y:?GLshort,Z:?GLshort>>). %% @equiv windowPos3s(X,Y,Z) --spec windowPos3sv(V) -> ok when V :: {X :: integer(),Y :: integer(),Z :: integer()}. +-spec windowPos3sv(V) -> 'ok' when V :: {X :: integer(),Y :: integer(),Z :: integer()}. windowPos3sv({X,Y,Z}) -> windowPos3s(X,Y,Z). %% @doc Generate query object names @@ -10032,7 +10032,7 @@ genQueries(N) -> %% query objects. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glDeleteQueries.xml">external</a> documentation. --spec deleteQueries(Ids) -> ok when Ids :: [integer()]. +-spec deleteQueries(Ids) -> 'ok' when Ids :: [integer()]. deleteQueries(Ids) -> cast(5423, <<(length(Ids)):?GLuint, (<< <<C:?GLuint>> || C <- Ids>>)/binary,0:(((1+length(Ids)) rem 2)*32)>>). @@ -10114,13 +10114,13 @@ isQuery(Id) -> %% is not yet complete. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glBeginQuery.xml">external</a> documentation. --spec beginQuery(Target, Id) -> ok when Target :: enum(),Id :: integer(). +-spec beginQuery(Target, Id) -> 'ok' when Target :: enum(),Id :: integer(). beginQuery(Target,Id) -> cast(5425, <<Target:?GLenum,Id:?GLuint>>). %% @doc %% See {@link beginQuery/2} --spec endQuery(Target) -> ok when Target :: enum(). +-spec endQuery(Target) -> 'ok' when Target :: enum(). endQuery(Target) -> cast(5426, <<Target:?GLenum>>). @@ -10236,7 +10236,7 @@ getQueryObjectuiv(Id,Pname) -> %% buffer object based on its initial binding target. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glBindBuffer.xml">external</a> documentation. --spec bindBuffer(Target, Buffer) -> ok when Target :: enum(),Buffer :: integer(). +-spec bindBuffer(Target, Buffer) -> 'ok' when Target :: enum(),Buffer :: integer(). bindBuffer(Target,Buffer) -> cast(5430, <<Target:?GLenum,Buffer:?GLuint>>). @@ -10251,7 +10251,7 @@ bindBuffer(Target,Buffer) -> %% buffer objects. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glDeleteBuffers.xml">external</a> documentation. --spec deleteBuffers(Buffers) -> ok when Buffers :: [integer()]. +-spec deleteBuffers(Buffers) -> 'ok' when Buffers :: [integer()]. deleteBuffers(Buffers) -> cast(5431, <<(length(Buffers)):?GLuint, (<< <<C:?GLuint>> || C <- Buffers>>)/binary,0:(((1+length(Buffers)) rem 2)*32)>>). @@ -10323,7 +10323,7 @@ isBuffer(Buffer) -> %% source for GL drawing and image specification commands. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glBufferData.xml">external</a> documentation. --spec bufferData(Target, Size, Data, Usage) -> ok when Target :: enum(),Size :: integer(),Data :: offset()|mem(),Usage :: enum(). +-spec bufferData(Target, Size, Data, Usage) -> 'ok' when Target :: enum(),Size :: integer(),Data :: offset()|mem(),Usage :: enum(). bufferData(Target,Size,Data,Usage) when is_integer(Data) -> cast(5434, <<Target:?GLenum,0:32,Size:?GLsizeiptr,Data:?GLuint,Usage:?GLenum>>); bufferData(Target,Size,Data,Usage) -> @@ -10339,7 +10339,7 @@ bufferData(Target,Size,Data,Usage) -> %% the buffer object's data store. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glBufferSubData.xml">external</a> documentation. --spec bufferSubData(Target, Offset, Size, Data) -> ok when Target :: enum(),Offset :: integer(),Size :: integer(),Data :: offset()|mem(). +-spec bufferSubData(Target, Offset, Size, Data) -> 'ok' when Target :: enum(),Offset :: integer(),Size :: integer(),Data :: offset()|mem(). bufferSubData(Target,Offset,Size,Data) when is_integer(Data) -> cast(5436, <<Target:?GLenum,0:32,Offset:?GLintptr,Size:?GLsizeiptr,Data:?GLuint>>); bufferSubData(Target,Offset,Size,Data) -> @@ -10355,7 +10355,7 @@ bufferSubData(Target,Offset,Size,Data) -> %% together define a range beyond the bounds of the buffer object's data store. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glGetBufferSubData.xml">external</a> documentation. --spec getBufferSubData(Target, Offset, Size, Data) -> ok when Target :: enum(),Offset :: integer(),Size :: integer(),Data :: mem(). +-spec getBufferSubData(Target, Offset, Size, Data) -> 'ok' when Target :: enum(),Offset :: integer(),Size :: integer(),Data :: mem(). getBufferSubData(Target,Offset,Size,Data) -> send_bin(Data), call(5438, <<Target:?GLenum,0:32,Offset:?GLintptr,Size:?GLsizeiptr>>). @@ -10422,7 +10422,7 @@ getBufferParameteriv(Target,Pname) -> %% %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glBlendEquationSeparate.xml">external</a> documentation. --spec blendEquationSeparate(ModeRGB, ModeAlpha) -> ok when ModeRGB :: enum(),ModeAlpha :: enum(). +-spec blendEquationSeparate(ModeRGB, ModeAlpha) -> 'ok' when ModeRGB :: enum(),ModeAlpha :: enum(). blendEquationSeparate(ModeRGB,ModeAlpha) -> cast(5440, <<ModeRGB:?GLenum,ModeAlpha:?GLenum>>). @@ -10462,7 +10462,7 @@ blendEquationSeparate(ModeRGB,ModeAlpha) -> %% . %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glDrawBuffers.xml">external</a> documentation. --spec drawBuffers(Bufs) -> ok when Bufs :: [enum()]. +-spec drawBuffers(Bufs) -> 'ok' when Bufs :: [enum()]. drawBuffers(Bufs) -> cast(5441, <<(length(Bufs)):?GLuint, (<< <<C:?GLenum>> || C <- Bufs>>)/binary,0:(((1+length(Bufs)) rem 2)*32)>>). @@ -10524,7 +10524,7 @@ drawBuffers(Bufs) -> %% specify stencil action when the stencil test fails and passes, respectively. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glStencilOpSeparate.xml">external</a> documentation. --spec stencilOpSeparate(Face, Sfail, Dpfail, Dppass) -> ok when Face :: enum(),Sfail :: enum(),Dpfail :: enum(),Dppass :: enum(). +-spec stencilOpSeparate(Face, Sfail, Dpfail, Dppass) -> 'ok' when Face :: enum(),Sfail :: enum(),Dpfail :: enum(),Dppass :: enum(). stencilOpSeparate(Face,Sfail,Dpfail,Dppass) -> cast(5442, <<Face:?GLenum,Sfail:?GLenum,Dpfail:?GLenum,Dppass:?GLenum>>). @@ -10587,7 +10587,7 @@ stencilOpSeparate(Face,Sfail,Dpfail,Dppass) -> %% `?GL_ALWAYS': Always passes. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glStencilFuncSeparate.xml">external</a> documentation. --spec stencilFuncSeparate(Face, Func, Ref, Mask) -> ok when Face :: enum(),Func :: enum(),Ref :: integer(),Mask :: integer(). +-spec stencilFuncSeparate(Face, Func, Ref, Mask) -> 'ok' when Face :: enum(),Func :: enum(),Ref :: integer(),Mask :: integer(). stencilFuncSeparate(Face,Func,Ref,Mask) -> cast(5443, <<Face:?GLenum,Func:?GLenum,Ref:?GLint,Mask:?GLuint>>). @@ -10605,7 +10605,7 @@ stencilFuncSeparate(Face,Func,Ref,Mask) -> %% were called with `Face' set to `?GL_FRONT_AND_BACK'. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glStencilMaskSeparate.xml">external</a> documentation. --spec stencilMaskSeparate(Face, Mask) -> ok when Face :: enum(),Mask :: integer(). +-spec stencilMaskSeparate(Face, Mask) -> 'ok' when Face :: enum(),Mask :: integer(). stencilMaskSeparate(Face,Mask) -> cast(5444, <<Face:?GLenum,Mask:?GLuint>>). @@ -10629,7 +10629,7 @@ stencilMaskSeparate(Face,Mask) -> %% all program objects to which it is attached. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glAttachShader.xml">external</a> documentation. --spec attachShader(Program, Shader) -> ok when Program :: integer(),Shader :: integer(). +-spec attachShader(Program, Shader) -> 'ok' when Program :: integer(),Shader :: integer(). attachShader(Program,Shader) -> cast(5445, <<Program:?GLuint,Shader:?GLuint>>). @@ -10666,7 +10666,7 @@ attachShader(Program,Shader) -> %% effect until the next time the program object is linked. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glBindAttribLocation.xml">external</a> documentation. --spec bindAttribLocation(Program, Index, Name) -> ok when Program :: integer(),Index :: integer(),Name :: string(). +-spec bindAttribLocation(Program, Index, Name) -> 'ok' when Program :: integer(),Index :: integer(),Name :: string(). bindAttribLocation(Program,Index,Name) -> cast(5446, <<Program:?GLuint,Index:?GLuint,(list_to_binary([Name|[0]]))/binary,0:((8-((length(Name)+ 1) rem 8)) rem 8)>>). @@ -10686,7 +10686,7 @@ bindAttribLocation(Program,Index,Name) -> %% . %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glCompileShader.xml">external</a> documentation. --spec compileShader(Shader) -> ok when Shader :: integer(). +-spec compileShader(Shader) -> 'ok' when Shader :: integer(). compileShader(Shader) -> cast(5447, <<Shader:?GLuint>>). @@ -10753,7 +10753,7 @@ createShader(Type) -> %% with arguments `Program' and `?GL_DELETE_STATUS'. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glDeleteProgram.xml">external</a> documentation. --spec deleteProgram(Program) -> ok when Program :: integer(). +-spec deleteProgram(Program) -> 'ok' when Program :: integer(). deleteProgram(Program) -> cast(5450, <<Program:?GLuint>>). @@ -10772,7 +10772,7 @@ deleteProgram(Program) -> %% with arguments `Shader' and `?GL_DELETE_STATUS'. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glDeleteShader.xml">external</a> documentation. --spec deleteShader(Shader) -> ok when Shader :: integer(). +-spec deleteShader(Shader) -> 'ok' when Shader :: integer(). deleteShader(Shader) -> cast(5451, <<Shader:?GLuint>>). @@ -10787,7 +10787,7 @@ deleteShader(Shader) -> %% detached. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glDetachShader.xml">external</a> documentation. --spec detachShader(Program, Shader) -> ok when Program :: integer(),Shader :: integer(). +-spec detachShader(Program, Shader) -> 'ok' when Program :: integer(),Shader :: integer(). detachShader(Program,Shader) -> cast(5452, <<Program:?GLuint,Shader:?GLuint>>). @@ -10802,13 +10802,13 @@ detachShader(Program,Shader) -> %% , or {@link gl:multiDrawArrays/3} . %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glEnableVertexAttribArray.xml">external</a> documentation. --spec disableVertexAttribArray(Index) -> ok when Index :: integer(). +-spec disableVertexAttribArray(Index) -> 'ok' when Index :: integer(). disableVertexAttribArray(Index) -> cast(5453, <<Index:?GLuint>>). %% @doc %% See {@link disableVertexAttribArray/1} --spec enableVertexAttribArray(Index) -> ok when Index :: integer(). +-spec enableVertexAttribArray(Index) -> 'ok' when Index :: integer(). enableVertexAttribArray(Index) -> cast(5454, <<Index:?GLuint>>). @@ -11515,7 +11515,7 @@ isShader(Shader) -> %% log or the program that is part of the program object. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glLinkProgram.xml">external</a> documentation. --spec linkProgram(Program) -> ok when Program :: integer(). +-spec linkProgram(Program) -> 'ok' when Program :: integer(). linkProgram(Program) -> cast(5472, <<Program:?GLuint>>). @@ -11533,7 +11533,7 @@ linkProgram(Program) -> %% scanned or parsed at this time; they are simply copied into the specified shader object. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glShaderSource.xml">external</a> documentation. --spec shaderSource(Shader, String) -> ok when Shader :: integer(),String :: iolist(). +-spec shaderSource(Shader, String) -> 'ok' when Shader :: integer(),String :: iolist(). shaderSource(Shader,String) -> StringTemp = list_to_binary([[Str|[0]] || Str <- String ]), cast(5473, <<Shader:?GLuint,(length(String)):?GLuint,(size(StringTemp)):?GLuint,(StringTemp)/binary,0:((8-((size(StringTemp)+0) rem 8)) rem 8)>>). @@ -11575,7 +11575,7 @@ shaderSource(Shader,String) -> %% the results of fragment shader execution will be undefined. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glUseProgram.xml">external</a> documentation. --spec useProgram(Program) -> ok when Program :: integer(). +-spec useProgram(Program) -> 'ok' when Program :: integer(). useProgram(Program) -> cast(5474, <<Program:?GLuint>>). @@ -11643,125 +11643,125 @@ useProgram(Program) -> %% a single matrix, and a count greater than 1 can be used to modify an array of matrices. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glUniform.xml">external</a> documentation. --spec uniform1f(Location, V0) -> ok when Location :: integer(),V0 :: float(). +-spec uniform1f(Location, V0) -> 'ok' when Location :: integer(),V0 :: float(). uniform1f(Location,V0) -> cast(5475, <<Location:?GLint,V0:?GLfloat>>). %% @doc %% See {@link uniform1f/2} --spec uniform2f(Location, V0, V1) -> ok when Location :: integer(),V0 :: float(),V1 :: float(). +-spec uniform2f(Location, V0, V1) -> 'ok' when Location :: integer(),V0 :: float(),V1 :: float(). uniform2f(Location,V0,V1) -> cast(5476, <<Location:?GLint,V0:?GLfloat,V1:?GLfloat>>). %% @doc %% See {@link uniform1f/2} --spec uniform3f(Location, V0, V1, V2) -> ok when Location :: integer(),V0 :: float(),V1 :: float(),V2 :: float(). +-spec uniform3f(Location, V0, V1, V2) -> 'ok' when Location :: integer(),V0 :: float(),V1 :: float(),V2 :: float(). uniform3f(Location,V0,V1,V2) -> cast(5477, <<Location:?GLint,V0:?GLfloat,V1:?GLfloat,V2:?GLfloat>>). %% @doc %% See {@link uniform1f/2} --spec uniform4f(Location, V0, V1, V2, V3) -> ok when Location :: integer(),V0 :: float(),V1 :: float(),V2 :: float(),V3 :: float(). +-spec uniform4f(Location, V0, V1, V2, V3) -> 'ok' when Location :: integer(),V0 :: float(),V1 :: float(),V2 :: float(),V3 :: float(). uniform4f(Location,V0,V1,V2,V3) -> cast(5478, <<Location:?GLint,V0:?GLfloat,V1:?GLfloat,V2:?GLfloat,V3:?GLfloat>>). %% @doc %% See {@link uniform1f/2} --spec uniform1i(Location, V0) -> ok when Location :: integer(),V0 :: integer(). +-spec uniform1i(Location, V0) -> 'ok' when Location :: integer(),V0 :: integer(). uniform1i(Location,V0) -> cast(5479, <<Location:?GLint,V0:?GLint>>). %% @doc %% See {@link uniform1f/2} --spec uniform2i(Location, V0, V1) -> ok when Location :: integer(),V0 :: integer(),V1 :: integer(). +-spec uniform2i(Location, V0, V1) -> 'ok' when Location :: integer(),V0 :: integer(),V1 :: integer(). uniform2i(Location,V0,V1) -> cast(5480, <<Location:?GLint,V0:?GLint,V1:?GLint>>). %% @doc %% See {@link uniform1f/2} --spec uniform3i(Location, V0, V1, V2) -> ok when Location :: integer(),V0 :: integer(),V1 :: integer(),V2 :: integer(). +-spec uniform3i(Location, V0, V1, V2) -> 'ok' when Location :: integer(),V0 :: integer(),V1 :: integer(),V2 :: integer(). uniform3i(Location,V0,V1,V2) -> cast(5481, <<Location:?GLint,V0:?GLint,V1:?GLint,V2:?GLint>>). %% @doc %% See {@link uniform1f/2} --spec uniform4i(Location, V0, V1, V2, V3) -> ok when Location :: integer(),V0 :: integer(),V1 :: integer(),V2 :: integer(),V3 :: integer(). +-spec uniform4i(Location, V0, V1, V2, V3) -> 'ok' when Location :: integer(),V0 :: integer(),V1 :: integer(),V2 :: integer(),V3 :: integer(). uniform4i(Location,V0,V1,V2,V3) -> cast(5482, <<Location:?GLint,V0:?GLint,V1:?GLint,V2:?GLint,V3:?GLint>>). %% @doc %% See {@link uniform1f/2} --spec uniform1fv(Location, Value) -> ok when Location :: integer(),Value :: [float()]. +-spec uniform1fv(Location, Value) -> 'ok' when Location :: integer(),Value :: [float()]. uniform1fv(Location,Value) -> cast(5483, <<Location:?GLint,(length(Value)):?GLuint, (<< <<C:?GLfloat>> || C <- Value>>)/binary,0:(((length(Value)) rem 2)*32)>>). %% @doc %% See {@link uniform1f/2} --spec uniform2fv(Location, Value) -> ok when Location :: integer(),Value :: [{float(),float()}]. +-spec uniform2fv(Location, Value) -> 'ok' when Location :: integer(),Value :: [{float(),float()}]. uniform2fv(Location,Value) -> cast(5484, <<Location:?GLint,(length(Value)):?GLuint, (<< <<V1:?GLfloat,V2:?GLfloat>> || {V1,V2} <- Value>>)/binary>>). %% @doc %% See {@link uniform1f/2} --spec uniform3fv(Location, Value) -> ok when Location :: integer(),Value :: [{float(),float(),float()}]. +-spec uniform3fv(Location, Value) -> 'ok' when Location :: integer(),Value :: [{float(),float(),float()}]. uniform3fv(Location,Value) -> cast(5485, <<Location:?GLint,(length(Value)):?GLuint, (<< <<V1:?GLfloat,V2:?GLfloat,V3:?GLfloat>> || {V1,V2,V3} <- Value>>)/binary>>). %% @doc %% See {@link uniform1f/2} --spec uniform4fv(Location, Value) -> ok when Location :: integer(),Value :: [{float(),float(),float(),float()}]. +-spec uniform4fv(Location, Value) -> 'ok' when Location :: integer(),Value :: [{float(),float(),float(),float()}]. uniform4fv(Location,Value) -> cast(5486, <<Location:?GLint,(length(Value)):?GLuint, (<< <<V1:?GLfloat,V2:?GLfloat,V3:?GLfloat,V4:?GLfloat>> || {V1,V2,V3,V4} <- Value>>)/binary>>). %% @doc %% See {@link uniform1f/2} --spec uniform1iv(Location, Value) -> ok when Location :: integer(),Value :: [integer()]. +-spec uniform1iv(Location, Value) -> 'ok' when Location :: integer(),Value :: [integer()]. uniform1iv(Location,Value) -> cast(5487, <<Location:?GLint,(length(Value)):?GLuint, (<< <<C:?GLint>> || C <- Value>>)/binary,0:(((length(Value)) rem 2)*32)>>). %% @doc %% See {@link uniform1f/2} --spec uniform2iv(Location, Value) -> ok when Location :: integer(),Value :: [{integer(),integer()}]. +-spec uniform2iv(Location, Value) -> 'ok' when Location :: integer(),Value :: [{integer(),integer()}]. uniform2iv(Location,Value) -> cast(5488, <<Location:?GLint,(length(Value)):?GLuint, (<< <<V1:?GLint,V2:?GLint>> || {V1,V2} <- Value>>)/binary>>). %% @doc %% See {@link uniform1f/2} --spec uniform3iv(Location, Value) -> ok when Location :: integer(),Value :: [{integer(),integer(),integer()}]. +-spec uniform3iv(Location, Value) -> 'ok' when Location :: integer(),Value :: [{integer(),integer(),integer()}]. uniform3iv(Location,Value) -> cast(5489, <<Location:?GLint,(length(Value)):?GLuint, (<< <<V1:?GLint,V2:?GLint,V3:?GLint>> || {V1,V2,V3} <- Value>>)/binary>>). %% @doc %% See {@link uniform1f/2} --spec uniform4iv(Location, Value) -> ok when Location :: integer(),Value :: [{integer(),integer(),integer(),integer()}]. +-spec uniform4iv(Location, Value) -> 'ok' when Location :: integer(),Value :: [{integer(),integer(),integer(),integer()}]. uniform4iv(Location,Value) -> cast(5490, <<Location:?GLint,(length(Value)):?GLuint, (<< <<V1:?GLint,V2:?GLint,V3:?GLint,V4:?GLint>> || {V1,V2,V3,V4} <- Value>>)/binary>>). %% @doc %% See {@link uniform1f/2} --spec uniformMatrix2fv(Location, Transpose, Value) -> ok when Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float()}]. +-spec uniformMatrix2fv(Location, Transpose, Value) -> 'ok' when Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float()}]. uniformMatrix2fv(Location,Transpose,Value) -> cast(5491, <<Location:?GLint,Transpose:?GLboolean,0:24,(length(Value)):?GLuint, (<< <<V1:?GLfloat,V2:?GLfloat,V3:?GLfloat,V4:?GLfloat>> || {V1,V2,V3,V4} <- Value>>)/binary>>). %% @doc %% See {@link uniform1f/2} --spec uniformMatrix3fv(Location, Transpose, Value) -> ok when Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float(),float(),float(),float()}]. +-spec uniformMatrix3fv(Location, Transpose, Value) -> 'ok' when Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float(),float(),float(),float()}]. uniformMatrix3fv(Location,Transpose,Value) -> cast(5492, <<Location:?GLint,Transpose:?GLboolean,0:24,(length(Value)):?GLuint, (<< <<V1:?GLfloat,V2:?GLfloat,V3:?GLfloat,V4:?GLfloat,V5:?GLfloat,V6:?GLfloat,V7:?GLfloat,V8:?GLfloat,V9:?GLfloat>> || {V1,V2,V3,V4,V5,V6,V7,V8,V9} <- Value>>)/binary>>). %% @doc %% See {@link uniform1f/2} --spec uniformMatrix4fv(Location, Transpose, Value) -> ok when Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float()}]. +-spec uniformMatrix4fv(Location, Transpose, Value) -> 'ok' when Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float()}]. uniformMatrix4fv(Location,Transpose,Value) -> cast(5493, <<Location:?GLint,Transpose:?GLboolean,0:24,(length(Value)):?GLuint, (<< <<V1:?GLfloat,V2:?GLfloat,V3:?GLfloat,V4:?GLfloat,V5:?GLfloat,V6:?GLfloat,V7:?GLfloat,V8:?GLfloat,V9:?GLfloat,V10:?GLfloat,V11:?GLfloat,V12:?GLfloat,V13:?GLfloat,V14:?GLfloat,V15:?GLfloat,V16:?GLfloat>> || {V1,V2,V3,V4,V5,V6,V7,V8,V9,V10,V11,V12,V13,V14,V15,V16} <- Value>>)/binary>>). @@ -11789,7 +11789,7 @@ uniformMatrix4fv(Location,Transpose,Value) -> %% information strings. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glValidateProgram.xml">external</a> documentation. --spec validateProgram(Program) -> ok when Program :: integer(). +-spec validateProgram(Program) -> 'ok' when Program :: integer(). validateProgram(Program) -> cast(5494, <<Program:?GLuint>>). @@ -11864,191 +11864,191 @@ validateProgram(Program) -> %% attribute. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml">external</a> documentation. --spec vertexAttrib1d(Index, X) -> ok when Index :: integer(),X :: float(). +-spec vertexAttrib1d(Index, X) -> 'ok' when Index :: integer(),X :: float(). vertexAttrib1d(Index,X) -> cast(5495, <<Index:?GLuint,0:32,X:?GLdouble>>). %% @equiv vertexAttrib1d(Index,X) --spec vertexAttrib1dv(Index :: integer(),V) -> ok when V :: {X :: float()}. +-spec vertexAttrib1dv(Index :: integer(),V) -> 'ok' when V :: {X :: float()}. vertexAttrib1dv(Index,{X}) -> vertexAttrib1d(Index,X). %% @doc %% See {@link vertexAttrib1d/2} --spec vertexAttrib1f(Index, X) -> ok when Index :: integer(),X :: float(). +-spec vertexAttrib1f(Index, X) -> 'ok' when Index :: integer(),X :: float(). vertexAttrib1f(Index,X) -> cast(5496, <<Index:?GLuint,X:?GLfloat>>). %% @equiv vertexAttrib1f(Index,X) --spec vertexAttrib1fv(Index :: integer(),V) -> ok when V :: {X :: float()}. +-spec vertexAttrib1fv(Index :: integer(),V) -> 'ok' when V :: {X :: float()}. vertexAttrib1fv(Index,{X}) -> vertexAttrib1f(Index,X). %% @doc %% See {@link vertexAttrib1d/2} --spec vertexAttrib1s(Index, X) -> ok when Index :: integer(),X :: integer(). +-spec vertexAttrib1s(Index, X) -> 'ok' when Index :: integer(),X :: integer(). vertexAttrib1s(Index,X) -> cast(5497, <<Index:?GLuint,X:?GLshort>>). %% @equiv vertexAttrib1s(Index,X) --spec vertexAttrib1sv(Index :: integer(),V) -> ok when V :: {X :: integer()}. +-spec vertexAttrib1sv(Index :: integer(),V) -> 'ok' when V :: {X :: integer()}. vertexAttrib1sv(Index,{X}) -> vertexAttrib1s(Index,X). %% @doc %% See {@link vertexAttrib1d/2} --spec vertexAttrib2d(Index, X, Y) -> ok when Index :: integer(),X :: float(),Y :: float(). +-spec vertexAttrib2d(Index, X, Y) -> 'ok' when Index :: integer(),X :: float(),Y :: float(). vertexAttrib2d(Index,X,Y) -> cast(5498, <<Index:?GLuint,0:32,X:?GLdouble,Y:?GLdouble>>). %% @equiv vertexAttrib2d(Index,X,Y) --spec vertexAttrib2dv(Index :: integer(),V) -> ok when V :: {X :: float(),Y :: float()}. +-spec vertexAttrib2dv(Index :: integer(),V) -> 'ok' when V :: {X :: float(),Y :: float()}. vertexAttrib2dv(Index,{X,Y}) -> vertexAttrib2d(Index,X,Y). %% @doc %% See {@link vertexAttrib1d/2} --spec vertexAttrib2f(Index, X, Y) -> ok when Index :: integer(),X :: float(),Y :: float(). +-spec vertexAttrib2f(Index, X, Y) -> 'ok' when Index :: integer(),X :: float(),Y :: float(). vertexAttrib2f(Index,X,Y) -> cast(5499, <<Index:?GLuint,X:?GLfloat,Y:?GLfloat>>). %% @equiv vertexAttrib2f(Index,X,Y) --spec vertexAttrib2fv(Index :: integer(),V) -> ok when V :: {X :: float(),Y :: float()}. +-spec vertexAttrib2fv(Index :: integer(),V) -> 'ok' when V :: {X :: float(),Y :: float()}. vertexAttrib2fv(Index,{X,Y}) -> vertexAttrib2f(Index,X,Y). %% @doc %% See {@link vertexAttrib1d/2} --spec vertexAttrib2s(Index, X, Y) -> ok when Index :: integer(),X :: integer(),Y :: integer(). +-spec vertexAttrib2s(Index, X, Y) -> 'ok' when Index :: integer(),X :: integer(),Y :: integer(). vertexAttrib2s(Index,X,Y) -> cast(5500, <<Index:?GLuint,X:?GLshort,Y:?GLshort>>). %% @equiv vertexAttrib2s(Index,X,Y) --spec vertexAttrib2sv(Index :: integer(),V) -> ok when V :: {X :: integer(),Y :: integer()}. +-spec vertexAttrib2sv(Index :: integer(),V) -> 'ok' when V :: {X :: integer(),Y :: integer()}. vertexAttrib2sv(Index,{X,Y}) -> vertexAttrib2s(Index,X,Y). %% @doc %% See {@link vertexAttrib1d/2} --spec vertexAttrib3d(Index, X, Y, Z) -> ok when Index :: integer(),X :: float(),Y :: float(),Z :: float(). +-spec vertexAttrib3d(Index, X, Y, Z) -> 'ok' when Index :: integer(),X :: float(),Y :: float(),Z :: float(). vertexAttrib3d(Index,X,Y,Z) -> cast(5501, <<Index:?GLuint,0:32,X:?GLdouble,Y:?GLdouble,Z:?GLdouble>>). %% @equiv vertexAttrib3d(Index,X,Y,Z) --spec vertexAttrib3dv(Index :: integer(),V) -> ok when V :: {X :: float(),Y :: float(),Z :: float()}. +-spec vertexAttrib3dv(Index :: integer(),V) -> 'ok' when V :: {X :: float(),Y :: float(),Z :: float()}. vertexAttrib3dv(Index,{X,Y,Z}) -> vertexAttrib3d(Index,X,Y,Z). %% @doc %% See {@link vertexAttrib1d/2} --spec vertexAttrib3f(Index, X, Y, Z) -> ok when Index :: integer(),X :: float(),Y :: float(),Z :: float(). +-spec vertexAttrib3f(Index, X, Y, Z) -> 'ok' when Index :: integer(),X :: float(),Y :: float(),Z :: float(). vertexAttrib3f(Index,X,Y,Z) -> cast(5502, <<Index:?GLuint,X:?GLfloat,Y:?GLfloat,Z:?GLfloat>>). %% @equiv vertexAttrib3f(Index,X,Y,Z) --spec vertexAttrib3fv(Index :: integer(),V) -> ok when V :: {X :: float(),Y :: float(),Z :: float()}. +-spec vertexAttrib3fv(Index :: integer(),V) -> 'ok' when V :: {X :: float(),Y :: float(),Z :: float()}. vertexAttrib3fv(Index,{X,Y,Z}) -> vertexAttrib3f(Index,X,Y,Z). %% @doc %% See {@link vertexAttrib1d/2} --spec vertexAttrib3s(Index, X, Y, Z) -> ok when Index :: integer(),X :: integer(),Y :: integer(),Z :: integer(). +-spec vertexAttrib3s(Index, X, Y, Z) -> 'ok' when Index :: integer(),X :: integer(),Y :: integer(),Z :: integer(). vertexAttrib3s(Index,X,Y,Z) -> cast(5503, <<Index:?GLuint,X:?GLshort,Y:?GLshort,Z:?GLshort>>). %% @equiv vertexAttrib3s(Index,X,Y,Z) --spec vertexAttrib3sv(Index :: integer(),V) -> ok when V :: {X :: integer(),Y :: integer(),Z :: integer()}. +-spec vertexAttrib3sv(Index :: integer(),V) -> 'ok' when V :: {X :: integer(),Y :: integer(),Z :: integer()}. vertexAttrib3sv(Index,{X,Y,Z}) -> vertexAttrib3s(Index,X,Y,Z). %% @doc %% See {@link vertexAttrib1d/2} --spec vertexAttrib4Nbv(Index, V) -> ok when Index :: integer(),V :: {integer(),integer(),integer(),integer()}. +-spec vertexAttrib4Nbv(Index, V) -> 'ok' when Index :: integer(),V :: {integer(),integer(),integer(),integer()}. vertexAttrib4Nbv(Index,{V1,V2,V3,V4}) -> cast(5504, <<Index:?GLuint,V1:?GLbyte,V2:?GLbyte,V3:?GLbyte,V4:?GLbyte>>). %% @doc %% See {@link vertexAttrib1d/2} --spec vertexAttrib4Niv(Index, V) -> ok when Index :: integer(),V :: {integer(),integer(),integer(),integer()}. +-spec vertexAttrib4Niv(Index, V) -> 'ok' when Index :: integer(),V :: {integer(),integer(),integer(),integer()}. vertexAttrib4Niv(Index,{V1,V2,V3,V4}) -> cast(5505, <<Index:?GLuint,V1:?GLint,V2:?GLint,V3:?GLint,V4:?GLint>>). %% @doc %% See {@link vertexAttrib1d/2} --spec vertexAttrib4Nsv(Index, V) -> ok when Index :: integer(),V :: {integer(),integer(),integer(),integer()}. +-spec vertexAttrib4Nsv(Index, V) -> 'ok' when Index :: integer(),V :: {integer(),integer(),integer(),integer()}. vertexAttrib4Nsv(Index,{V1,V2,V3,V4}) -> cast(5506, <<Index:?GLuint,V1:?GLshort,V2:?GLshort,V3:?GLshort,V4:?GLshort>>). %% @doc %% See {@link vertexAttrib1d/2} --spec vertexAttrib4Nub(Index, X, Y, Z, W) -> ok when Index :: integer(),X :: integer(),Y :: integer(),Z :: integer(),W :: integer(). +-spec vertexAttrib4Nub(Index, X, Y, Z, W) -> 'ok' when Index :: integer(),X :: integer(),Y :: integer(),Z :: integer(),W :: integer(). vertexAttrib4Nub(Index,X,Y,Z,W) -> cast(5507, <<Index:?GLuint,X:?GLubyte,Y:?GLubyte,Z:?GLubyte,W:?GLubyte>>). %% @equiv vertexAttrib4Nub(Index,X,Y,Z,W) --spec vertexAttrib4Nubv(Index :: integer(),V) -> ok when V :: {X :: integer(),Y :: integer(),Z :: integer(),W :: integer()}. +-spec vertexAttrib4Nubv(Index :: integer(),V) -> 'ok' when V :: {X :: integer(),Y :: integer(),Z :: integer(),W :: integer()}. vertexAttrib4Nubv(Index,{X,Y,Z,W}) -> vertexAttrib4Nub(Index,X,Y,Z,W). %% @doc %% See {@link vertexAttrib1d/2} --spec vertexAttrib4Nuiv(Index, V) -> ok when Index :: integer(),V :: {integer(),integer(),integer(),integer()}. +-spec vertexAttrib4Nuiv(Index, V) -> 'ok' when Index :: integer(),V :: {integer(),integer(),integer(),integer()}. vertexAttrib4Nuiv(Index,{V1,V2,V3,V4}) -> cast(5508, <<Index:?GLuint,V1:?GLuint,V2:?GLuint,V3:?GLuint,V4:?GLuint>>). %% @doc %% See {@link vertexAttrib1d/2} --spec vertexAttrib4Nusv(Index, V) -> ok when Index :: integer(),V :: {integer(),integer(),integer(),integer()}. +-spec vertexAttrib4Nusv(Index, V) -> 'ok' when Index :: integer(),V :: {integer(),integer(),integer(),integer()}. vertexAttrib4Nusv(Index,{V1,V2,V3,V4}) -> cast(5509, <<Index:?GLuint,V1:?GLushort,V2:?GLushort,V3:?GLushort,V4:?GLushort>>). %% @doc %% See {@link vertexAttrib1d/2} --spec vertexAttrib4bv(Index, V) -> ok when Index :: integer(),V :: {integer(),integer(),integer(),integer()}. +-spec vertexAttrib4bv(Index, V) -> 'ok' when Index :: integer(),V :: {integer(),integer(),integer(),integer()}. vertexAttrib4bv(Index,{V1,V2,V3,V4}) -> cast(5510, <<Index:?GLuint,V1:?GLbyte,V2:?GLbyte,V3:?GLbyte,V4:?GLbyte>>). %% @doc %% See {@link vertexAttrib1d/2} --spec vertexAttrib4d(Index, X, Y, Z, W) -> ok when Index :: integer(),X :: float(),Y :: float(),Z :: float(),W :: float(). +-spec vertexAttrib4d(Index, X, Y, Z, W) -> 'ok' when Index :: integer(),X :: float(),Y :: float(),Z :: float(),W :: float(). vertexAttrib4d(Index,X,Y,Z,W) -> cast(5511, <<Index:?GLuint,0:32,X:?GLdouble,Y:?GLdouble,Z:?GLdouble,W:?GLdouble>>). %% @equiv vertexAttrib4d(Index,X,Y,Z,W) --spec vertexAttrib4dv(Index :: integer(),V) -> ok when V :: {X :: float(),Y :: float(),Z :: float(),W :: float()}. +-spec vertexAttrib4dv(Index :: integer(),V) -> 'ok' when V :: {X :: float(),Y :: float(),Z :: float(),W :: float()}. vertexAttrib4dv(Index,{X,Y,Z,W}) -> vertexAttrib4d(Index,X,Y,Z,W). %% @doc %% See {@link vertexAttrib1d/2} --spec vertexAttrib4f(Index, X, Y, Z, W) -> ok when Index :: integer(),X :: float(),Y :: float(),Z :: float(),W :: float(). +-spec vertexAttrib4f(Index, X, Y, Z, W) -> 'ok' when Index :: integer(),X :: float(),Y :: float(),Z :: float(),W :: float(). vertexAttrib4f(Index,X,Y,Z,W) -> cast(5512, <<Index:?GLuint,X:?GLfloat,Y:?GLfloat,Z:?GLfloat,W:?GLfloat>>). %% @equiv vertexAttrib4f(Index,X,Y,Z,W) --spec vertexAttrib4fv(Index :: integer(),V) -> ok when V :: {X :: float(),Y :: float(),Z :: float(),W :: float()}. +-spec vertexAttrib4fv(Index :: integer(),V) -> 'ok' when V :: {X :: float(),Y :: float(),Z :: float(),W :: float()}. vertexAttrib4fv(Index,{X,Y,Z,W}) -> vertexAttrib4f(Index,X,Y,Z,W). %% @doc %% See {@link vertexAttrib1d/2} --spec vertexAttrib4iv(Index, V) -> ok when Index :: integer(),V :: {integer(),integer(),integer(),integer()}. +-spec vertexAttrib4iv(Index, V) -> 'ok' when Index :: integer(),V :: {integer(),integer(),integer(),integer()}. vertexAttrib4iv(Index,{V1,V2,V3,V4}) -> cast(5513, <<Index:?GLuint,V1:?GLint,V2:?GLint,V3:?GLint,V4:?GLint>>). %% @doc %% See {@link vertexAttrib1d/2} --spec vertexAttrib4s(Index, X, Y, Z, W) -> ok when Index :: integer(),X :: integer(),Y :: integer(),Z :: integer(),W :: integer(). +-spec vertexAttrib4s(Index, X, Y, Z, W) -> 'ok' when Index :: integer(),X :: integer(),Y :: integer(),Z :: integer(),W :: integer(). vertexAttrib4s(Index,X,Y,Z,W) -> cast(5514, <<Index:?GLuint,X:?GLshort,Y:?GLshort,Z:?GLshort,W:?GLshort>>). %% @equiv vertexAttrib4s(Index,X,Y,Z,W) --spec vertexAttrib4sv(Index :: integer(),V) -> ok when V :: {X :: integer(),Y :: integer(),Z :: integer(),W :: integer()}. +-spec vertexAttrib4sv(Index :: integer(),V) -> 'ok' when V :: {X :: integer(),Y :: integer(),Z :: integer(),W :: integer()}. vertexAttrib4sv(Index,{X,Y,Z,W}) -> vertexAttrib4s(Index,X,Y,Z,W). %% @doc %% See {@link vertexAttrib1d/2} --spec vertexAttrib4ubv(Index, V) -> ok when Index :: integer(),V :: {integer(),integer(),integer(),integer()}. +-spec vertexAttrib4ubv(Index, V) -> 'ok' when Index :: integer(),V :: {integer(),integer(),integer(),integer()}. vertexAttrib4ubv(Index,{V1,V2,V3,V4}) -> cast(5515, <<Index:?GLuint,V1:?GLubyte,V2:?GLubyte,V3:?GLubyte,V4:?GLubyte>>). %% @doc %% See {@link vertexAttrib1d/2} --spec vertexAttrib4uiv(Index, V) -> ok when Index :: integer(),V :: {integer(),integer(),integer(),integer()}. +-spec vertexAttrib4uiv(Index, V) -> 'ok' when Index :: integer(),V :: {integer(),integer(),integer(),integer()}. vertexAttrib4uiv(Index,{V1,V2,V3,V4}) -> cast(5516, <<Index:?GLuint,V1:?GLuint,V2:?GLuint,V3:?GLuint,V4:?GLuint>>). %% @doc %% See {@link vertexAttrib1d/2} --spec vertexAttrib4usv(Index, V) -> ok when Index :: integer(),V :: {integer(),integer(),integer(),integer()}. +-spec vertexAttrib4usv(Index, V) -> 'ok' when Index :: integer(),V :: {integer(),integer(),integer(),integer()}. vertexAttrib4usv(Index,{V1,V2,V3,V4}) -> cast(5517, <<Index:?GLuint,V1:?GLushort,V2:?GLushort,V3:?GLushort,V4:?GLushort>>). @@ -12092,7 +12092,7 @@ vertexAttrib4usv(Index,{V1,V2,V3,V4}) -> %% , see `glMultiDrawElements', or {@link gl:drawRangeElements/6} is called. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glVertexAttribPointer.xml">external</a> documentation. --spec vertexAttribPointer(Index, Size, Type, Normalized, Stride, Pointer) -> ok when Index :: integer(),Size :: integer(),Type :: enum(),Normalized :: 0|1,Stride :: integer(),Pointer :: offset()|mem(). +-spec vertexAttribPointer(Index, Size, Type, Normalized, Stride, Pointer) -> 'ok' when Index :: integer(),Size :: integer(),Type :: enum(),Normalized :: 0|1,Stride :: integer(),Pointer :: offset()|mem(). vertexAttribPointer(Index,Size,Type,Normalized,Stride,Pointer) when is_integer(Pointer) -> cast(5518, <<Index:?GLuint,Size:?GLint,Type:?GLenum,Normalized:?GLboolean,0:24,Stride:?GLsizei,Pointer:?GLuint>>); vertexAttribPointer(Index,Size,Type,Normalized,Stride,Pointer) -> @@ -12101,42 +12101,42 @@ vertexAttribPointer(Index,Size,Type,Normalized,Stride,Pointer) -> %% @doc %% See {@link uniform1f/2} --spec uniformMatrix2x3fv(Location, Transpose, Value) -> ok when Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float()}]. +-spec uniformMatrix2x3fv(Location, Transpose, Value) -> 'ok' when Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float()}]. uniformMatrix2x3fv(Location,Transpose,Value) -> cast(5520, <<Location:?GLint,Transpose:?GLboolean,0:24,(length(Value)):?GLuint, (<< <<V1:?GLfloat,V2:?GLfloat,V3:?GLfloat,V4:?GLfloat,V5:?GLfloat,V6:?GLfloat>> || {V1,V2,V3,V4,V5,V6} <- Value>>)/binary>>). %% @doc %% See {@link uniform1f/2} --spec uniformMatrix3x2fv(Location, Transpose, Value) -> ok when Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float()}]. +-spec uniformMatrix3x2fv(Location, Transpose, Value) -> 'ok' when Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float()}]. uniformMatrix3x2fv(Location,Transpose,Value) -> cast(5521, <<Location:?GLint,Transpose:?GLboolean,0:24,(length(Value)):?GLuint, (<< <<V1:?GLfloat,V2:?GLfloat,V3:?GLfloat,V4:?GLfloat,V5:?GLfloat,V6:?GLfloat>> || {V1,V2,V3,V4,V5,V6} <- Value>>)/binary>>). %% @doc %% See {@link uniform1f/2} --spec uniformMatrix2x4fv(Location, Transpose, Value) -> ok when Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float(),float(),float()}]. +-spec uniformMatrix2x4fv(Location, Transpose, Value) -> 'ok' when Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float(),float(),float()}]. uniformMatrix2x4fv(Location,Transpose,Value) -> cast(5522, <<Location:?GLint,Transpose:?GLboolean,0:24,(length(Value)):?GLuint, (<< <<V1:?GLfloat,V2:?GLfloat,V3:?GLfloat,V4:?GLfloat,V5:?GLfloat,V6:?GLfloat,V7:?GLfloat,V8:?GLfloat>> || {V1,V2,V3,V4,V5,V6,V7,V8} <- Value>>)/binary>>). %% @doc %% See {@link uniform1f/2} --spec uniformMatrix4x2fv(Location, Transpose, Value) -> ok when Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float(),float(),float()}]. +-spec uniformMatrix4x2fv(Location, Transpose, Value) -> 'ok' when Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float(),float(),float()}]. uniformMatrix4x2fv(Location,Transpose,Value) -> cast(5523, <<Location:?GLint,Transpose:?GLboolean,0:24,(length(Value)):?GLuint, (<< <<V1:?GLfloat,V2:?GLfloat,V3:?GLfloat,V4:?GLfloat,V5:?GLfloat,V6:?GLfloat,V7:?GLfloat,V8:?GLfloat>> || {V1,V2,V3,V4,V5,V6,V7,V8} <- Value>>)/binary>>). %% @doc %% See {@link uniform1f/2} --spec uniformMatrix3x4fv(Location, Transpose, Value) -> ok when Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float()}]. +-spec uniformMatrix3x4fv(Location, Transpose, Value) -> 'ok' when Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float()}]. uniformMatrix3x4fv(Location,Transpose,Value) -> cast(5524, <<Location:?GLint,Transpose:?GLboolean,0:24,(length(Value)):?GLuint, (<< <<V1:?GLfloat,V2:?GLfloat,V3:?GLfloat,V4:?GLfloat,V5:?GLfloat,V6:?GLfloat,V7:?GLfloat,V8:?GLfloat,V9:?GLfloat,V10:?GLfloat,V11:?GLfloat,V12:?GLfloat>> || {V1,V2,V3,V4,V5,V6,V7,V8,V9,V10,V11,V12} <- Value>>)/binary>>). %% @doc %% See {@link uniform1f/2} --spec uniformMatrix4x3fv(Location, Transpose, Value) -> ok when Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float()}]. +-spec uniformMatrix4x3fv(Location, Transpose, Value) -> 'ok' when Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float()}]. uniformMatrix4x3fv(Location,Transpose,Value) -> cast(5525, <<Location:?GLint,Transpose:?GLboolean,0:24,(length(Value)):?GLuint, (<< <<V1:?GLfloat,V2:?GLfloat,V3:?GLfloat,V4:?GLfloat,V5:?GLfloat,V6:?GLfloat,V7:?GLfloat,V8:?GLfloat,V9:?GLfloat,V10:?GLfloat,V11:?GLfloat,V12:?GLfloat>> || {V1,V2,V3,V4,V5,V6,V7,V8,V9,V10,V11,V12} <- Value>>)/binary>>). @@ -12144,7 +12144,7 @@ uniformMatrix4x3fv(Location,Transpose,Value) -> %% @doc glColorMaski %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glColorMaski.xml">external</a> documentation. --spec colorMaski(Index, R, G, B, A) -> ok when Index :: integer(),R :: 0|1,G :: 0|1,B :: 0|1,A :: 0|1. +-spec colorMaski(Index, R, G, B, A) -> 'ok' when Index :: integer(),R :: 0|1,G :: 0|1,B :: 0|1,A :: 0|1. colorMaski(Index,R,G,B,A) -> cast(5526, <<Index:?GLuint,R:?GLboolean,G:?GLboolean,B:?GLboolean,A:?GLboolean>>). @@ -12162,14 +12162,14 @@ getIntegeri_v(Target,Index) -> %% @doc %% See {@link enable/1} --spec enablei(Target, Index) -> ok when Target :: enum(),Index :: integer(). +-spec enablei(Target, Index) -> 'ok' when Target :: enum(),Index :: integer(). enablei(Target,Index) -> cast(5529, <<Target:?GLenum,Index:?GLuint>>). %% @doc glEnablei %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glEnablei.xml">external</a> documentation. --spec disablei(Target, Index) -> ok when Target :: enum(),Index :: integer(). +-spec disablei(Target, Index) -> 'ok' when Target :: enum(),Index :: integer(). disablei(Target,Index) -> cast(5530, <<Target:?GLenum,Index:?GLuint>>). @@ -12204,13 +12204,13 @@ isEnabledi(Target,Index) -> %% </td></tr></tbody></table> %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glBeginTransformFeedback.xml">external</a> documentation. --spec beginTransformFeedback(PrimitiveMode) -> ok when PrimitiveMode :: enum(). +-spec beginTransformFeedback(PrimitiveMode) -> 'ok' when PrimitiveMode :: enum(). beginTransformFeedback(PrimitiveMode) -> cast(5532, <<PrimitiveMode:?GLenum>>). %% @doc %% See {@link beginTransformFeedback/1} --spec endTransformFeedback() -> ok. +-spec endTransformFeedback() -> 'ok'. endTransformFeedback() -> cast(5533, <<>>). @@ -12229,7 +12229,7 @@ endTransformFeedback() -> %% while used as an indexed target. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glBindBufferRange.xml">external</a> documentation. --spec bindBufferRange(Target, Index, Buffer, Offset, Size) -> ok when Target :: enum(),Index :: integer(),Buffer :: integer(),Offset :: integer(),Size :: integer(). +-spec bindBufferRange(Target, Index, Buffer, Offset, Size) -> 'ok' when Target :: enum(),Index :: integer(),Buffer :: integer(),Offset :: integer(),Size :: integer(). bindBufferRange(Target,Index,Buffer,Offset,Size) -> cast(5534, <<Target:?GLenum,Index:?GLuint,Buffer:?GLuint,0:32,Offset:?GLintptr,Size:?GLsizeiptr>>). @@ -12244,7 +12244,7 @@ bindBufferRange(Target,Index,Buffer,Offset,Size) -> %% binding point specified by `Target' . %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glBindBufferBase.xml">external</a> documentation. --spec bindBufferBase(Target, Index, Buffer) -> ok when Target :: enum(),Index :: integer(),Buffer :: integer(). +-spec bindBufferBase(Target, Index, Buffer) -> 'ok' when Target :: enum(),Index :: integer(),Buffer :: integer(). bindBufferBase(Target,Index,Buffer) -> cast(5535, <<Target:?GLenum,Index:?GLuint,Buffer:?GLuint>>). @@ -12282,7 +12282,7 @@ bindBufferBase(Target,Index,Buffer) -> %% and the buffer mode is `?GL_INTERLEAVED_ATTRIBS'. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glTransformFeedbackVaryings.xml">external</a> documentation. --spec transformFeedbackVaryings(Program, Varyings, BufferMode) -> ok when Program :: integer(),Varyings :: iolist(),BufferMode :: enum(). +-spec transformFeedbackVaryings(Program, Varyings, BufferMode) -> 'ok' when Program :: integer(),Varyings :: iolist(),BufferMode :: enum(). transformFeedbackVaryings(Program,Varyings,BufferMode) -> VaryingsTemp = list_to_binary([[Str|[0]] || Str <- Varyings ]), cast(5536, <<Program:?GLuint,(length(Varyings)):?GLuint,(size(VaryingsTemp)):?GLuint,(VaryingsTemp)/binary,0:((8-((size(VaryingsTemp)+0) rem 8)) rem 8),BufferMode:?GLenum>>). @@ -12331,7 +12331,7 @@ getTransformFeedbackVarying(Program,Index,BufSize) -> %% only if the selected read buffer has fixed point components and disabled otherwise. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glClampColor.xml">external</a> documentation. --spec clampColor(Target, Clamp) -> ok when Target :: enum(),Clamp :: enum(). +-spec clampColor(Target, Clamp) -> 'ok' when Target :: enum(),Clamp :: enum(). clampColor(Target,Clamp) -> cast(5538, <<Target:?GLenum,Clamp:?GLenum>>). @@ -12363,20 +12363,20 @@ clampColor(Target,Clamp) -> %% waiting for the query to complete. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glBeginConditionalRender.xml">external</a> documentation. --spec beginConditionalRender(Id, Mode) -> ok when Id :: integer(),Mode :: enum(). +-spec beginConditionalRender(Id, Mode) -> 'ok' when Id :: integer(),Mode :: enum(). beginConditionalRender(Id,Mode) -> cast(5539, <<Id:?GLuint,Mode:?GLenum>>). %% @doc %% See {@link beginConditionalRender/2} --spec endConditionalRender() -> ok. +-spec endConditionalRender() -> 'ok'. endConditionalRender() -> cast(5540, <<>>). %% @doc glVertexAttribIPointer %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glVertexAttribIPointer.xml">external</a> documentation. --spec vertexAttribIPointer(Index, Size, Type, Stride, Pointer) -> ok when Index :: integer(),Size :: integer(),Type :: enum(),Stride :: integer(),Pointer :: offset()|mem(). +-spec vertexAttribIPointer(Index, Size, Type, Stride, Pointer) -> 'ok' when Index :: integer(),Size :: integer(),Type :: enum(),Stride :: integer(),Pointer :: offset()|mem(). vertexAttribIPointer(Index,Size,Type,Stride,Pointer) when is_integer(Pointer) -> cast(5541, <<Index:?GLuint,Size:?GLint,Type:?GLenum,Stride:?GLsizei,Pointer:?GLuint>>); vertexAttribIPointer(Index,Size,Type,Stride,Pointer) -> @@ -12398,105 +12398,105 @@ getVertexAttribIuiv(Index,Pname) -> %% @doc %% See {@link vertexAttrib1d/2} --spec vertexAttribI1i(Index, X) -> ok when Index :: integer(),X :: integer(). +-spec vertexAttribI1i(Index, X) -> 'ok' when Index :: integer(),X :: integer(). vertexAttribI1i(Index,X) -> cast(5545, <<Index:?GLuint,X:?GLint>>). %% @doc %% See {@link vertexAttrib1d/2} --spec vertexAttribI2i(Index, X, Y) -> ok when Index :: integer(),X :: integer(),Y :: integer(). +-spec vertexAttribI2i(Index, X, Y) -> 'ok' when Index :: integer(),X :: integer(),Y :: integer(). vertexAttribI2i(Index,X,Y) -> cast(5546, <<Index:?GLuint,X:?GLint,Y:?GLint>>). %% @doc %% See {@link vertexAttrib1d/2} --spec vertexAttribI3i(Index, X, Y, Z) -> ok when Index :: integer(),X :: integer(),Y :: integer(),Z :: integer(). +-spec vertexAttribI3i(Index, X, Y, Z) -> 'ok' when Index :: integer(),X :: integer(),Y :: integer(),Z :: integer(). vertexAttribI3i(Index,X,Y,Z) -> cast(5547, <<Index:?GLuint,X:?GLint,Y:?GLint,Z:?GLint>>). %% @doc %% See {@link vertexAttrib1d/2} --spec vertexAttribI4i(Index, X, Y, Z, W) -> ok when Index :: integer(),X :: integer(),Y :: integer(),Z :: integer(),W :: integer(). +-spec vertexAttribI4i(Index, X, Y, Z, W) -> 'ok' when Index :: integer(),X :: integer(),Y :: integer(),Z :: integer(),W :: integer(). vertexAttribI4i(Index,X,Y,Z,W) -> cast(5548, <<Index:?GLuint,X:?GLint,Y:?GLint,Z:?GLint,W:?GLint>>). %% @doc %% See {@link vertexAttrib1d/2} --spec vertexAttribI1ui(Index, X) -> ok when Index :: integer(),X :: integer(). +-spec vertexAttribI1ui(Index, X) -> 'ok' when Index :: integer(),X :: integer(). vertexAttribI1ui(Index,X) -> cast(5549, <<Index:?GLuint,X:?GLuint>>). %% @doc %% See {@link vertexAttrib1d/2} --spec vertexAttribI2ui(Index, X, Y) -> ok when Index :: integer(),X :: integer(),Y :: integer(). +-spec vertexAttribI2ui(Index, X, Y) -> 'ok' when Index :: integer(),X :: integer(),Y :: integer(). vertexAttribI2ui(Index,X,Y) -> cast(5550, <<Index:?GLuint,X:?GLuint,Y:?GLuint>>). %% @doc %% See {@link vertexAttrib1d/2} --spec vertexAttribI3ui(Index, X, Y, Z) -> ok when Index :: integer(),X :: integer(),Y :: integer(),Z :: integer(). +-spec vertexAttribI3ui(Index, X, Y, Z) -> 'ok' when Index :: integer(),X :: integer(),Y :: integer(),Z :: integer(). vertexAttribI3ui(Index,X,Y,Z) -> cast(5551, <<Index:?GLuint,X:?GLuint,Y:?GLuint,Z:?GLuint>>). %% @doc %% See {@link vertexAttrib1d/2} --spec vertexAttribI4ui(Index, X, Y, Z, W) -> ok when Index :: integer(),X :: integer(),Y :: integer(),Z :: integer(),W :: integer(). +-spec vertexAttribI4ui(Index, X, Y, Z, W) -> 'ok' when Index :: integer(),X :: integer(),Y :: integer(),Z :: integer(),W :: integer(). vertexAttribI4ui(Index,X,Y,Z,W) -> cast(5552, <<Index:?GLuint,X:?GLuint,Y:?GLuint,Z:?GLuint,W:?GLuint>>). %% @equiv vertexAttribI1i(Index,X) --spec vertexAttribI1iv(Index :: integer(),V) -> ok when V :: {X :: integer()}. +-spec vertexAttribI1iv(Index :: integer(),V) -> 'ok' when V :: {X :: integer()}. vertexAttribI1iv(Index,{X}) -> vertexAttribI1i(Index,X). %% @equiv vertexAttribI2i(Index,X,Y) --spec vertexAttribI2iv(Index :: integer(),V) -> ok when V :: {X :: integer(),Y :: integer()}. +-spec vertexAttribI2iv(Index :: integer(),V) -> 'ok' when V :: {X :: integer(),Y :: integer()}. vertexAttribI2iv(Index,{X,Y}) -> vertexAttribI2i(Index,X,Y). %% @equiv vertexAttribI3i(Index,X,Y,Z) --spec vertexAttribI3iv(Index :: integer(),V) -> ok when V :: {X :: integer(),Y :: integer(),Z :: integer()}. +-spec vertexAttribI3iv(Index :: integer(),V) -> 'ok' when V :: {X :: integer(),Y :: integer(),Z :: integer()}. vertexAttribI3iv(Index,{X,Y,Z}) -> vertexAttribI3i(Index,X,Y,Z). %% @equiv vertexAttribI4i(Index,X,Y,Z,W) --spec vertexAttribI4iv(Index :: integer(),V) -> ok when V :: {X :: integer(),Y :: integer(),Z :: integer(),W :: integer()}. +-spec vertexAttribI4iv(Index :: integer(),V) -> 'ok' when V :: {X :: integer(),Y :: integer(),Z :: integer(),W :: integer()}. vertexAttribI4iv(Index,{X,Y,Z,W}) -> vertexAttribI4i(Index,X,Y,Z,W). %% @equiv vertexAttribI1ui(Index,X) --spec vertexAttribI1uiv(Index :: integer(),V) -> ok when V :: {X :: integer()}. +-spec vertexAttribI1uiv(Index :: integer(),V) -> 'ok' when V :: {X :: integer()}. vertexAttribI1uiv(Index,{X}) -> vertexAttribI1ui(Index,X). %% @equiv vertexAttribI2ui(Index,X,Y) --spec vertexAttribI2uiv(Index :: integer(),V) -> ok when V :: {X :: integer(),Y :: integer()}. +-spec vertexAttribI2uiv(Index :: integer(),V) -> 'ok' when V :: {X :: integer(),Y :: integer()}. vertexAttribI2uiv(Index,{X,Y}) -> vertexAttribI2ui(Index,X,Y). %% @equiv vertexAttribI3ui(Index,X,Y,Z) --spec vertexAttribI3uiv(Index :: integer(),V) -> ok when V :: {X :: integer(),Y :: integer(),Z :: integer()}. +-spec vertexAttribI3uiv(Index :: integer(),V) -> 'ok' when V :: {X :: integer(),Y :: integer(),Z :: integer()}. vertexAttribI3uiv(Index,{X,Y,Z}) -> vertexAttribI3ui(Index,X,Y,Z). %% @equiv vertexAttribI4ui(Index,X,Y,Z,W) --spec vertexAttribI4uiv(Index :: integer(),V) -> ok when V :: {X :: integer(),Y :: integer(),Z :: integer(),W :: integer()}. +-spec vertexAttribI4uiv(Index :: integer(),V) -> 'ok' when V :: {X :: integer(),Y :: integer(),Z :: integer(),W :: integer()}. vertexAttribI4uiv(Index,{X,Y,Z,W}) -> vertexAttribI4ui(Index,X,Y,Z,W). %% @doc %% See {@link vertexAttrib1d/2} --spec vertexAttribI4bv(Index, V) -> ok when Index :: integer(),V :: {integer(),integer(),integer(),integer()}. +-spec vertexAttribI4bv(Index, V) -> 'ok' when Index :: integer(),V :: {integer(),integer(),integer(),integer()}. vertexAttribI4bv(Index,{V1,V2,V3,V4}) -> cast(5553, <<Index:?GLuint,V1:?GLbyte,V2:?GLbyte,V3:?GLbyte,V4:?GLbyte>>). %% @doc %% See {@link vertexAttrib1d/2} --spec vertexAttribI4sv(Index, V) -> ok when Index :: integer(),V :: {integer(),integer(),integer(),integer()}. +-spec vertexAttribI4sv(Index, V) -> 'ok' when Index :: integer(),V :: {integer(),integer(),integer(),integer()}. vertexAttribI4sv(Index,{V1,V2,V3,V4}) -> cast(5554, <<Index:?GLuint,V1:?GLshort,V2:?GLshort,V3:?GLshort,V4:?GLshort>>). %% @doc %% See {@link vertexAttrib1d/2} --spec vertexAttribI4ubv(Index, V) -> ok when Index :: integer(),V :: {integer(),integer(),integer(),integer()}. +-spec vertexAttribI4ubv(Index, V) -> 'ok' when Index :: integer(),V :: {integer(),integer(),integer(),integer()}. vertexAttribI4ubv(Index,{V1,V2,V3,V4}) -> cast(5555, <<Index:?GLuint,V1:?GLubyte,V2:?GLubyte,V3:?GLubyte,V4:?GLubyte>>). %% @doc %% See {@link vertexAttrib1d/2} --spec vertexAttribI4usv(Index, V) -> ok when Index :: integer(),V :: {integer(),integer(),integer(),integer()}. +-spec vertexAttribI4usv(Index, V) -> 'ok' when Index :: integer(),V :: {integer(),integer(),integer(),integer()}. vertexAttribI4usv(Index,{V1,V2,V3,V4}) -> cast(5556, <<Index:?GLuint,V1:?GLushort,V2:?GLushort,V3:?GLushort,V4:?GLushort>>). @@ -12529,7 +12529,7 @@ getUniformuiv(Program,Location) -> %% More than one varying out variable is bound to the same color number. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glBindFragDataLocation.xml">external</a> documentation. --spec bindFragDataLocation(Program, Color, Name) -> ok when Program :: integer(),Color :: integer(),Name :: string(). +-spec bindFragDataLocation(Program, Color, Name) -> 'ok' when Program :: integer(),Color :: integer(),Name :: string(). bindFragDataLocation(Program,Color,Name) -> cast(5558, <<Program:?GLuint,Color:?GLuint,(list_to_binary([Name|[0]]))/binary,0:((8-((length(Name)+ 1) rem 8)) rem 8)>>). @@ -12548,59 +12548,59 @@ getFragDataLocation(Program,Name) -> %% @doc %% See {@link uniform1f/2} --spec uniform1ui(Location, V0) -> ok when Location :: integer(),V0 :: integer(). +-spec uniform1ui(Location, V0) -> 'ok' when Location :: integer(),V0 :: integer(). uniform1ui(Location,V0) -> cast(5560, <<Location:?GLint,V0:?GLuint>>). %% @doc %% See {@link uniform1f/2} --spec uniform2ui(Location, V0, V1) -> ok when Location :: integer(),V0 :: integer(),V1 :: integer(). +-spec uniform2ui(Location, V0, V1) -> 'ok' when Location :: integer(),V0 :: integer(),V1 :: integer(). uniform2ui(Location,V0,V1) -> cast(5561, <<Location:?GLint,V0:?GLuint,V1:?GLuint>>). %% @doc %% See {@link uniform1f/2} --spec uniform3ui(Location, V0, V1, V2) -> ok when Location :: integer(),V0 :: integer(),V1 :: integer(),V2 :: integer(). +-spec uniform3ui(Location, V0, V1, V2) -> 'ok' when Location :: integer(),V0 :: integer(),V1 :: integer(),V2 :: integer(). uniform3ui(Location,V0,V1,V2) -> cast(5562, <<Location:?GLint,V0:?GLuint,V1:?GLuint,V2:?GLuint>>). %% @doc %% See {@link uniform1f/2} --spec uniform4ui(Location, V0, V1, V2, V3) -> ok when Location :: integer(),V0 :: integer(),V1 :: integer(),V2 :: integer(),V3 :: integer(). +-spec uniform4ui(Location, V0, V1, V2, V3) -> 'ok' when Location :: integer(),V0 :: integer(),V1 :: integer(),V2 :: integer(),V3 :: integer(). uniform4ui(Location,V0,V1,V2,V3) -> cast(5563, <<Location:?GLint,V0:?GLuint,V1:?GLuint,V2:?GLuint,V3:?GLuint>>). %% @doc %% See {@link uniform1f/2} --spec uniform1uiv(Location, Value) -> ok when Location :: integer(),Value :: [integer()]. +-spec uniform1uiv(Location, Value) -> 'ok' when Location :: integer(),Value :: [integer()]. uniform1uiv(Location,Value) -> cast(5564, <<Location:?GLint,(length(Value)):?GLuint, (<< <<C:?GLuint>> || C <- Value>>)/binary,0:(((length(Value)) rem 2)*32)>>). %% @doc %% See {@link uniform1f/2} --spec uniform2uiv(Location, Value) -> ok when Location :: integer(),Value :: [{integer(),integer()}]. +-spec uniform2uiv(Location, Value) -> 'ok' when Location :: integer(),Value :: [{integer(),integer()}]. uniform2uiv(Location,Value) -> cast(5565, <<Location:?GLint,(length(Value)):?GLuint, (<< <<V1:?GLuint,V2:?GLuint>> || {V1,V2} <- Value>>)/binary>>). %% @doc %% See {@link uniform1f/2} --spec uniform3uiv(Location, Value) -> ok when Location :: integer(),Value :: [{integer(),integer(),integer()}]. +-spec uniform3uiv(Location, Value) -> 'ok' when Location :: integer(),Value :: [{integer(),integer(),integer()}]. uniform3uiv(Location,Value) -> cast(5566, <<Location:?GLint,(length(Value)):?GLuint, (<< <<V1:?GLuint,V2:?GLuint,V3:?GLuint>> || {V1,V2,V3} <- Value>>)/binary>>). %% @doc %% See {@link uniform1f/2} --spec uniform4uiv(Location, Value) -> ok when Location :: integer(),Value :: [{integer(),integer(),integer(),integer()}]. +-spec uniform4uiv(Location, Value) -> 'ok' when Location :: integer(),Value :: [{integer(),integer(),integer(),integer()}]. uniform4uiv(Location,Value) -> cast(5567, <<Location:?GLint,(length(Value)):?GLuint, (<< <<V1:?GLuint,V2:?GLuint,V3:?GLuint,V4:?GLuint>> || {V1,V2,V3,V4} <- Value>>)/binary>>). %% @doc %% See {@link texParameterf/3} --spec texParameterIiv(Target, Pname, Params) -> ok when Target :: enum(),Pname :: enum(),Params :: tuple(). +-spec texParameterIiv(Target, Pname, Params) -> 'ok' when Target :: enum(),Pname :: enum(),Params :: tuple(). texParameterIiv(Target,Pname,Params) -> cast(5568, <<Target:?GLenum,Pname:?GLenum,(size(Params)):?GLuint, (<< <<C:?GLint>> ||C <- tuple_to_list(Params)>>)/binary,0:(((1+size(Params)) rem 2)*32)>>). @@ -12608,7 +12608,7 @@ texParameterIiv(Target,Pname,Params) -> %% @doc glTexParameterI %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glTexParameterI.xml">external</a> documentation. --spec texParameterIuiv(Target, Pname, Params) -> ok when Target :: enum(),Pname :: enum(),Params :: tuple(). +-spec texParameterIuiv(Target, Pname, Params) -> 'ok' when Target :: enum(),Pname :: enum(),Params :: tuple(). texParameterIuiv(Target,Pname,Params) -> cast(5569, <<Target:?GLenum,Pname:?GLenum,(size(Params)):?GLuint, (<< <<C:?GLuint>> ||C <- tuple_to_list(Params)>>)/binary,0:(((1+size(Params)) rem 2)*32)>>). @@ -12655,21 +12655,21 @@ getTexParameterIuiv(Target,Pname) -> %% and the buffer being cleared is defined. However, this is not an error. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glClearBuffer.xml">external</a> documentation. --spec clearBufferiv(Buffer, Drawbuffer, Value) -> ok when Buffer :: enum(),Drawbuffer :: integer(),Value :: tuple(). +-spec clearBufferiv(Buffer, Drawbuffer, Value) -> 'ok' when Buffer :: enum(),Drawbuffer :: integer(),Value :: tuple(). clearBufferiv(Buffer,Drawbuffer,Value) -> cast(5572, <<Buffer:?GLenum,Drawbuffer:?GLint,(size(Value)):?GLuint, (<< <<C:?GLint>> ||C <- tuple_to_list(Value)>>)/binary,0:(((1+size(Value)) rem 2)*32)>>). %% @doc %% See {@link clearBufferiv/3} --spec clearBufferuiv(Buffer, Drawbuffer, Value) -> ok when Buffer :: enum(),Drawbuffer :: integer(),Value :: tuple(). +-spec clearBufferuiv(Buffer, Drawbuffer, Value) -> 'ok' when Buffer :: enum(),Drawbuffer :: integer(),Value :: tuple(). clearBufferuiv(Buffer,Drawbuffer,Value) -> cast(5573, <<Buffer:?GLenum,Drawbuffer:?GLint,(size(Value)):?GLuint, (<< <<C:?GLuint>> ||C <- tuple_to_list(Value)>>)/binary,0:(((1+size(Value)) rem 2)*32)>>). %% @doc %% See {@link clearBufferiv/3} --spec clearBufferfv(Buffer, Drawbuffer, Value) -> ok when Buffer :: enum(),Drawbuffer :: integer(),Value :: tuple(). +-spec clearBufferfv(Buffer, Drawbuffer, Value) -> 'ok' when Buffer :: enum(),Drawbuffer :: integer(),Value :: tuple(). clearBufferfv(Buffer,Drawbuffer,Value) -> cast(5574, <<Buffer:?GLenum,Drawbuffer:?GLint,(size(Value)):?GLuint, (<< <<C:?GLfloat>> ||C <- tuple_to_list(Value)>>)/binary,0:(((1+size(Value)) rem 2)*32)>>). @@ -12677,7 +12677,7 @@ clearBufferfv(Buffer,Drawbuffer,Value) -> %% @doc glClearBufferfi %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glClearBufferfi.xml">external</a> documentation. --spec clearBufferfi(Buffer, Drawbuffer, Depth, Stencil) -> ok when Buffer :: enum(),Drawbuffer :: integer(),Depth :: float(),Stencil :: integer(). +-spec clearBufferfi(Buffer, Drawbuffer, Depth, Stencil) -> 'ok' when Buffer :: enum(),Drawbuffer :: integer(),Depth :: float(),Stencil :: integer(). clearBufferfi(Buffer,Drawbuffer,Depth,Stencil) -> cast(5575, <<Buffer:?GLenum,Drawbuffer:?GLint,Depth:?GLfloat,Stencil:?GLint>>). @@ -12690,14 +12690,14 @@ getStringi(Name,Index) -> %% @doc glDrawArraysInstance %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glDrawArraysInstance.xml">external</a> documentation. --spec drawArraysInstanced(Mode, First, Count, Primcount) -> ok when Mode :: enum(),First :: integer(),Count :: integer(),Primcount :: integer(). +-spec drawArraysInstanced(Mode, First, Count, Primcount) -> 'ok' when Mode :: enum(),First :: integer(),Count :: integer(),Primcount :: integer(). drawArraysInstanced(Mode,First,Count,Primcount) -> cast(5577, <<Mode:?GLenum,First:?GLint,Count:?GLsizei,Primcount:?GLsizei>>). %% @doc glDrawElementsInstance %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glDrawElementsInstance.xml">external</a> documentation. --spec drawElementsInstanced(Mode, Count, Type, Indices, Primcount) -> ok when Mode :: enum(),Count :: integer(),Type :: enum(),Indices :: offset()|mem(),Primcount :: integer(). +-spec drawElementsInstanced(Mode, Count, Type, Indices, Primcount) -> 'ok' when Mode :: enum(),Count :: integer(),Type :: enum(),Indices :: offset()|mem(),Primcount :: integer(). drawElementsInstanced(Mode,Count,Type,Indices,Primcount) when is_integer(Indices) -> cast(5578, <<Mode:?GLenum,Count:?GLsizei,Type:?GLenum,Indices:?GLuint,Primcount:?GLsizei>>); drawElementsInstanced(Mode,Count,Type,Indices,Primcount) -> @@ -12768,7 +12768,7 @@ drawElementsInstanced(Mode,Count,Type,Indices,Primcount) -> %% or greater than or equal to the clamped number of texels in the texel array. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glTexBuffer.xml">external</a> documentation. --spec texBuffer(Target, Internalformat, Buffer) -> ok when Target :: enum(),Internalformat :: enum(),Buffer :: integer(). +-spec texBuffer(Target, Internalformat, Buffer) -> 'ok' when Target :: enum(),Internalformat :: enum(),Buffer :: integer(). texBuffer(Target,Internalformat,Buffer) -> cast(5580, <<Target:?GLenum,Internalformat:?GLenum,Buffer:?GLuint>>). @@ -12790,7 +12790,7 @@ texBuffer(Target,Internalformat,Buffer) -> %% occurs before the basevertex offset is added to the array index. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glPrimitiveRestartIndex.xml">external</a> documentation. --spec primitiveRestartIndex(Index) -> ok when Index :: integer(). +-spec primitiveRestartIndex(Index) -> 'ok' when Index :: integer(). primitiveRestartIndex(Index) -> cast(5581, <<Index:?GLuint>>). @@ -12860,7 +12860,7 @@ getBufferParameteri64v(Target,Pname) -> %% is not zero, then `Textarget' must be `?GL_TEXTURE_3D'. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glFramebufferTexture.xml">external</a> documentation. --spec framebufferTexture(Target, Attachment, Texture, Level) -> ok when Target :: enum(),Attachment :: enum(),Texture :: integer(),Level :: integer(). +-spec framebufferTexture(Target, Attachment, Texture, Level) -> 'ok' when Target :: enum(),Attachment :: enum(),Texture :: integer(),Level :: integer(). framebufferTexture(Target,Attachment,Texture,Level) -> cast(5584, <<Target:?GLenum,Attachment:?GLenum,Texture:?GLuint,Level:?GLint>>). @@ -12876,7 +12876,7 @@ framebufferTexture(Target,Attachment,Texture,Level) -> %% `Index' must be less than the value of `?GL_MAX_VERTEX_ATTRIBUTES'. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glVertexAttribDivisor.xml">external</a> documentation. --spec vertexAttribDivisor(Index, Divisor) -> ok when Index :: integer(),Divisor :: integer(). +-spec vertexAttribDivisor(Index, Divisor) -> 'ok' when Index :: integer(),Divisor :: integer(). vertexAttribDivisor(Index,Divisor) -> cast(5585, <<Index:?GLuint,Divisor:?GLuint>>). @@ -12897,39 +12897,39 @@ vertexAttribDivisor(Index,Divisor) -> %% that subset of the fragment's samples is implementation dependent. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glMinSampleShading.xml">external</a> documentation. --spec minSampleShading(Value) -> ok when Value :: clamp(). +-spec minSampleShading(Value) -> 'ok' when Value :: clamp(). minSampleShading(Value) -> cast(5586, <<Value:?GLclampf>>). %% @doc %% See {@link blendEquation/1} --spec blendEquationi(Buf, Mode) -> ok when Buf :: integer(),Mode :: enum(). +-spec blendEquationi(Buf, Mode) -> 'ok' when Buf :: integer(),Mode :: enum(). blendEquationi(Buf,Mode) -> cast(5587, <<Buf:?GLuint,Mode:?GLenum>>). %% @doc %% See {@link blendEquationSeparate/2} --spec blendEquationSeparatei(Buf, ModeRGB, ModeAlpha) -> ok when Buf :: integer(),ModeRGB :: enum(),ModeAlpha :: enum(). +-spec blendEquationSeparatei(Buf, ModeRGB, ModeAlpha) -> 'ok' when Buf :: integer(),ModeRGB :: enum(),ModeAlpha :: enum(). blendEquationSeparatei(Buf,ModeRGB,ModeAlpha) -> cast(5588, <<Buf:?GLuint,ModeRGB:?GLenum,ModeAlpha:?GLenum>>). %% @doc glBlendFunci %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glBlendFunci.xml">external</a> documentation. --spec blendFunci(Buf, Src, Dst) -> ok when Buf :: integer(),Src :: enum(),Dst :: enum(). +-spec blendFunci(Buf, Src, Dst) -> 'ok' when Buf :: integer(),Src :: enum(),Dst :: enum(). blendFunci(Buf,Src,Dst) -> cast(5589, <<Buf:?GLuint,Src:?GLenum,Dst:?GLenum>>). %% @doc %% See {@link blendFuncSeparate/4} --spec blendFuncSeparatei(Buf, SrcRGB, DstRGB, SrcAlpha, DstAlpha) -> ok when Buf :: integer(),SrcRGB :: enum(),DstRGB :: enum(),SrcAlpha :: enum(),DstAlpha :: enum(). +-spec blendFuncSeparatei(Buf, SrcRGB, DstRGB, SrcAlpha, DstAlpha) -> 'ok' when Buf :: integer(),SrcRGB :: enum(),DstRGB :: enum(),SrcAlpha :: enum(),DstAlpha :: enum(). blendFuncSeparatei(Buf,SrcRGB,DstRGB,SrcAlpha,DstAlpha) -> cast(5590, <<Buf:?GLuint,SrcRGB:?GLenum,DstRGB:?GLenum,SrcAlpha:?GLenum,DstAlpha:?GLenum>>). %% @doc glLoadTransposeMatrixARB %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glLoadTransposeMatrixARB.xml">external</a> documentation. --spec loadTransposeMatrixfARB(M) -> ok when M :: matrix(). +-spec loadTransposeMatrixfARB(M) -> 'ok' when M :: matrix(). loadTransposeMatrixfARB({M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16}) -> cast(5591, <<M1:?GLfloat,M2:?GLfloat,M3:?GLfloat,M4:?GLfloat,M5:?GLfloat,M6:?GLfloat,M7:?GLfloat,M8:?GLfloat,M9:?GLfloat,M10:?GLfloat,M11:?GLfloat,M12:?GLfloat,M13:?GLfloat,M14:?GLfloat,M15:?GLfloat,M16:?GLfloat>>); loadTransposeMatrixfARB({M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12}) -> @@ -12938,7 +12938,7 @@ loadTransposeMatrixfARB({M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12}) -> %% @doc glLoadTransposeMatrixARB %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glLoadTransposeMatrixARB.xml">external</a> documentation. --spec loadTransposeMatrixdARB(M) -> ok when M :: matrix(). +-spec loadTransposeMatrixdARB(M) -> 'ok' when M :: matrix(). loadTransposeMatrixdARB({M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16}) -> cast(5592, <<M1:?GLdouble,M2:?GLdouble,M3:?GLdouble,M4:?GLdouble,M5:?GLdouble,M6:?GLdouble,M7:?GLdouble,M8:?GLdouble,M9:?GLdouble,M10:?GLdouble,M11:?GLdouble,M12:?GLdouble,M13:?GLdouble,M14:?GLdouble,M15:?GLdouble,M16:?GLdouble>>); loadTransposeMatrixdARB({M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12}) -> @@ -12947,7 +12947,7 @@ loadTransposeMatrixdARB({M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12}) -> %% @doc glMultTransposeMatrixARB %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glMultTransposeMatrixARB.xml">external</a> documentation. --spec multTransposeMatrixfARB(M) -> ok when M :: matrix(). +-spec multTransposeMatrixfARB(M) -> 'ok' when M :: matrix(). multTransposeMatrixfARB({M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16}) -> cast(5593, <<M1:?GLfloat,M2:?GLfloat,M3:?GLfloat,M4:?GLfloat,M5:?GLfloat,M6:?GLfloat,M7:?GLfloat,M8:?GLfloat,M9:?GLfloat,M10:?GLfloat,M11:?GLfloat,M12:?GLfloat,M13:?GLfloat,M14:?GLfloat,M15:?GLfloat,M16:?GLfloat>>); multTransposeMatrixfARB({M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12}) -> @@ -12956,7 +12956,7 @@ multTransposeMatrixfARB({M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12}) -> %% @doc glMultTransposeMatrixARB %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glMultTransposeMatrixARB.xml">external</a> documentation. --spec multTransposeMatrixdARB(M) -> ok when M :: matrix(). +-spec multTransposeMatrixdARB(M) -> 'ok' when M :: matrix(). multTransposeMatrixdARB({M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16}) -> cast(5594, <<M1:?GLdouble,M2:?GLdouble,M3:?GLdouble,M4:?GLdouble,M5:?GLdouble,M6:?GLdouble,M7:?GLdouble,M8:?GLdouble,M9:?GLdouble,M10:?GLdouble,M11:?GLdouble,M12:?GLdouble,M13:?GLdouble,M14:?GLdouble,M15:?GLdouble,M16:?GLdouble>>); multTransposeMatrixdARB({M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12}) -> @@ -12965,7 +12965,7 @@ multTransposeMatrixdARB({M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12}) -> %% @doc glWeightARB %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glWeightARB.xml">external</a> documentation. --spec weightbvARB(Weights) -> ok when Weights :: [integer()]. +-spec weightbvARB(Weights) -> 'ok' when Weights :: [integer()]. weightbvARB(Weights) -> cast(5595, <<(length(Weights)):?GLuint, (<< <<C:?GLbyte>> || C <- Weights>>)/binary,0:((8-((length(Weights)+ 4) rem 8)) rem 8)>>). @@ -12973,7 +12973,7 @@ weightbvARB(Weights) -> %% @doc glWeightARB %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glWeightARB.xml">external</a> documentation. --spec weightsvARB(Weights) -> ok when Weights :: [integer()]. +-spec weightsvARB(Weights) -> 'ok' when Weights :: [integer()]. weightsvARB(Weights) -> cast(5596, <<(length(Weights)):?GLuint, (<< <<C:?GLshort>> || C <- Weights>>)/binary,0:((8-((length(Weights)*2+ 4) rem 8)) rem 8)>>). @@ -12981,7 +12981,7 @@ weightsvARB(Weights) -> %% @doc glWeightARB %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glWeightARB.xml">external</a> documentation. --spec weightivARB(Weights) -> ok when Weights :: [integer()]. +-spec weightivARB(Weights) -> 'ok' when Weights :: [integer()]. weightivARB(Weights) -> cast(5597, <<(length(Weights)):?GLuint, (<< <<C:?GLint>> || C <- Weights>>)/binary,0:(((1+length(Weights)) rem 2)*32)>>). @@ -12989,7 +12989,7 @@ weightivARB(Weights) -> %% @doc glWeightARB %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glWeightARB.xml">external</a> documentation. --spec weightfvARB(Weights) -> ok when Weights :: [float()]. +-spec weightfvARB(Weights) -> 'ok' when Weights :: [float()]. weightfvARB(Weights) -> cast(5598, <<(length(Weights)):?GLuint, (<< <<C:?GLfloat>> || C <- Weights>>)/binary,0:(((1+length(Weights)) rem 2)*32)>>). @@ -12997,7 +12997,7 @@ weightfvARB(Weights) -> %% @doc glWeightARB %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glWeightARB.xml">external</a> documentation. --spec weightdvARB(Weights) -> ok when Weights :: [float()]. +-spec weightdvARB(Weights) -> 'ok' when Weights :: [float()]. weightdvARB(Weights) -> cast(5599, <<(length(Weights)):?GLuint,0:32, (<< <<C:?GLdouble>> || C <- Weights>>)/binary>>). @@ -13005,7 +13005,7 @@ weightdvARB(Weights) -> %% @doc glWeightARB %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glWeightARB.xml">external</a> documentation. --spec weightubvARB(Weights) -> ok when Weights :: [integer()]. +-spec weightubvARB(Weights) -> 'ok' when Weights :: [integer()]. weightubvARB(Weights) -> cast(5600, <<(length(Weights)):?GLuint, (<< <<C:?GLubyte>> || C <- Weights>>)/binary,0:((8-((length(Weights)+ 4) rem 8)) rem 8)>>). @@ -13013,7 +13013,7 @@ weightubvARB(Weights) -> %% @doc glWeightARB %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glWeightARB.xml">external</a> documentation. --spec weightusvARB(Weights) -> ok when Weights :: [integer()]. +-spec weightusvARB(Weights) -> 'ok' when Weights :: [integer()]. weightusvARB(Weights) -> cast(5601, <<(length(Weights)):?GLuint, (<< <<C:?GLushort>> || C <- Weights>>)/binary,0:((8-((length(Weights)*2+ 4) rem 8)) rem 8)>>). @@ -13021,7 +13021,7 @@ weightusvARB(Weights) -> %% @doc glWeightARB %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glWeightARB.xml">external</a> documentation. --spec weightuivARB(Weights) -> ok when Weights :: [integer()]. +-spec weightuivARB(Weights) -> 'ok' when Weights :: [integer()]. weightuivARB(Weights) -> cast(5602, <<(length(Weights)):?GLuint, (<< <<C:?GLuint>> || C <- Weights>>)/binary,0:(((1+length(Weights)) rem 2)*32)>>). @@ -13029,21 +13029,21 @@ weightuivARB(Weights) -> %% @doc glVertexBlenARB %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glVertexBlenARB.xml">external</a> documentation. --spec vertexBlendARB(Count) -> ok when Count :: integer(). +-spec vertexBlendARB(Count) -> 'ok' when Count :: integer(). vertexBlendARB(Count) -> cast(5603, <<Count:?GLint>>). %% @doc glCurrentPaletteMatrixARB %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glCurrentPaletteMatrixARB.xml">external</a> documentation. --spec currentPaletteMatrixARB(Index) -> ok when Index :: integer(). +-spec currentPaletteMatrixARB(Index) -> 'ok' when Index :: integer(). currentPaletteMatrixARB(Index) -> cast(5604, <<Index:?GLint>>). %% @doc glMatrixIndexARB %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glMatrixIndexARB.xml">external</a> documentation. --spec matrixIndexubvARB(Indices) -> ok when Indices :: [integer()]. +-spec matrixIndexubvARB(Indices) -> 'ok' when Indices :: [integer()]. matrixIndexubvARB(Indices) -> cast(5605, <<(length(Indices)):?GLuint, (<< <<C:?GLubyte>> || C <- Indices>>)/binary,0:((8-((length(Indices)+ 4) rem 8)) rem 8)>>). @@ -13051,7 +13051,7 @@ matrixIndexubvARB(Indices) -> %% @doc glMatrixIndexARB %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glMatrixIndexARB.xml">external</a> documentation. --spec matrixIndexusvARB(Indices) -> ok when Indices :: [integer()]. +-spec matrixIndexusvARB(Indices) -> 'ok' when Indices :: [integer()]. matrixIndexusvARB(Indices) -> cast(5606, <<(length(Indices)):?GLuint, (<< <<C:?GLushort>> || C <- Indices>>)/binary,0:((8-((length(Indices)*2+ 4) rem 8)) rem 8)>>). @@ -13059,7 +13059,7 @@ matrixIndexusvARB(Indices) -> %% @doc glMatrixIndexARB %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glMatrixIndexARB.xml">external</a> documentation. --spec matrixIndexuivARB(Indices) -> ok when Indices :: [integer()]. +-spec matrixIndexuivARB(Indices) -> 'ok' when Indices :: [integer()]. matrixIndexuivARB(Indices) -> cast(5607, <<(length(Indices)):?GLuint, (<< <<C:?GLuint>> || C <- Indices>>)/binary,0:(((1+length(Indices)) rem 2)*32)>>). @@ -13067,21 +13067,21 @@ matrixIndexuivARB(Indices) -> %% @doc glProgramStringARB %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glProgramStringARB.xml">external</a> documentation. --spec programStringARB(Target, Format, String) -> ok when Target :: enum(),Format :: enum(),String :: string(). +-spec programStringARB(Target, Format, String) -> 'ok' when Target :: enum(),Format :: enum(),String :: string(). programStringARB(Target,Format,String) -> cast(5608, <<Target:?GLenum,Format:?GLenum,(list_to_binary([String|[0]]))/binary,0:((8-((length(String)+ 1) rem 8)) rem 8)>>). %% @doc glBindProgramARB %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glBindProgramARB.xml">external</a> documentation. --spec bindProgramARB(Target, Program) -> ok when Target :: enum(),Program :: integer(). +-spec bindProgramARB(Target, Program) -> 'ok' when Target :: enum(),Program :: integer(). bindProgramARB(Target,Program) -> cast(5609, <<Target:?GLenum,Program:?GLuint>>). %% @doc glDeleteProgramsARB %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glDeleteProgramsARB.xml">external</a> documentation. --spec deleteProgramsARB(Programs) -> ok when Programs :: [integer()]. +-spec deleteProgramsARB(Programs) -> 'ok' when Programs :: [integer()]. deleteProgramsARB(Programs) -> cast(5610, <<(length(Programs)):?GLuint, (<< <<C:?GLuint>> || C <- Programs>>)/binary,0:(((1+length(Programs)) rem 2)*32)>>). @@ -13096,56 +13096,56 @@ genProgramsARB(N) -> %% @doc glProgramEnvParameterARB %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glProgramEnvParameterARB.xml">external</a> documentation. --spec programEnvParameter4dARB(Target, Index, X, Y, Z, W) -> ok when Target :: enum(),Index :: integer(),X :: float(),Y :: float(),Z :: float(),W :: float(). +-spec programEnvParameter4dARB(Target, Index, X, Y, Z, W) -> 'ok' when Target :: enum(),Index :: integer(),X :: float(),Y :: float(),Z :: float(),W :: float(). programEnvParameter4dARB(Target,Index,X,Y,Z,W) -> cast(5612, <<Target:?GLenum,Index:?GLuint,X:?GLdouble,Y:?GLdouble,Z:?GLdouble,W:?GLdouble>>). %% @doc glProgramEnvParameterARB %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glProgramEnvParameterARB.xml">external</a> documentation. --spec programEnvParameter4dvARB(Target, Index, Params) -> ok when Target :: enum(),Index :: integer(),Params :: {float(),float(),float(),float()}. +-spec programEnvParameter4dvARB(Target, Index, Params) -> 'ok' when Target :: enum(),Index :: integer(),Params :: {float(),float(),float(),float()}. programEnvParameter4dvARB(Target,Index,{P1,P2,P3,P4}) -> cast(5613, <<Target:?GLenum,Index:?GLuint,P1:?GLdouble,P2:?GLdouble,P3:?GLdouble,P4:?GLdouble>>). %% @doc glProgramEnvParameterARB %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glProgramEnvParameterARB.xml">external</a> documentation. --spec programEnvParameter4fARB(Target, Index, X, Y, Z, W) -> ok when Target :: enum(),Index :: integer(),X :: float(),Y :: float(),Z :: float(),W :: float(). +-spec programEnvParameter4fARB(Target, Index, X, Y, Z, W) -> 'ok' when Target :: enum(),Index :: integer(),X :: float(),Y :: float(),Z :: float(),W :: float(). programEnvParameter4fARB(Target,Index,X,Y,Z,W) -> cast(5614, <<Target:?GLenum,Index:?GLuint,X:?GLfloat,Y:?GLfloat,Z:?GLfloat,W:?GLfloat>>). %% @doc glProgramEnvParameterARB %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glProgramEnvParameterARB.xml">external</a> documentation. --spec programEnvParameter4fvARB(Target, Index, Params) -> ok when Target :: enum(),Index :: integer(),Params :: {float(),float(),float(),float()}. +-spec programEnvParameter4fvARB(Target, Index, Params) -> 'ok' when Target :: enum(),Index :: integer(),Params :: {float(),float(),float(),float()}. programEnvParameter4fvARB(Target,Index,{P1,P2,P3,P4}) -> cast(5615, <<Target:?GLenum,Index:?GLuint,P1:?GLfloat,P2:?GLfloat,P3:?GLfloat,P4:?GLfloat>>). %% @doc glProgramLocalParameterARB %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glProgramLocalParameterARB.xml">external</a> documentation. --spec programLocalParameter4dARB(Target, Index, X, Y, Z, W) -> ok when Target :: enum(),Index :: integer(),X :: float(),Y :: float(),Z :: float(),W :: float(). +-spec programLocalParameter4dARB(Target, Index, X, Y, Z, W) -> 'ok' when Target :: enum(),Index :: integer(),X :: float(),Y :: float(),Z :: float(),W :: float(). programLocalParameter4dARB(Target,Index,X,Y,Z,W) -> cast(5616, <<Target:?GLenum,Index:?GLuint,X:?GLdouble,Y:?GLdouble,Z:?GLdouble,W:?GLdouble>>). %% @doc glProgramLocalParameterARB %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glProgramLocalParameterARB.xml">external</a> documentation. --spec programLocalParameter4dvARB(Target, Index, Params) -> ok when Target :: enum(),Index :: integer(),Params :: {float(),float(),float(),float()}. +-spec programLocalParameter4dvARB(Target, Index, Params) -> 'ok' when Target :: enum(),Index :: integer(),Params :: {float(),float(),float(),float()}. programLocalParameter4dvARB(Target,Index,{P1,P2,P3,P4}) -> cast(5617, <<Target:?GLenum,Index:?GLuint,P1:?GLdouble,P2:?GLdouble,P3:?GLdouble,P4:?GLdouble>>). %% @doc glProgramLocalParameterARB %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glProgramLocalParameterARB.xml">external</a> documentation. --spec programLocalParameter4fARB(Target, Index, X, Y, Z, W) -> ok when Target :: enum(),Index :: integer(),X :: float(),Y :: float(),Z :: float(),W :: float(). +-spec programLocalParameter4fARB(Target, Index, X, Y, Z, W) -> 'ok' when Target :: enum(),Index :: integer(),X :: float(),Y :: float(),Z :: float(),W :: float(). programLocalParameter4fARB(Target,Index,X,Y,Z,W) -> cast(5618, <<Target:?GLenum,Index:?GLuint,X:?GLfloat,Y:?GLfloat,Z:?GLfloat,W:?GLfloat>>). %% @doc glProgramLocalParameterARB %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glProgramLocalParameterARB.xml">external</a> documentation. --spec programLocalParameter4fvARB(Target, Index, Params) -> ok when Target :: enum(),Index :: integer(),Params :: {float(),float(),float(),float()}. +-spec programLocalParameter4fvARB(Target, Index, Params) -> 'ok' when Target :: enum(),Index :: integer(),Params :: {float(),float(),float(),float()}. programLocalParameter4fvARB(Target,Index,{P1,P2,P3,P4}) -> cast(5619, <<Target:?GLenum,Index:?GLuint,P1:?GLfloat,P2:?GLfloat,P3:?GLfloat,P4:?GLfloat>>). @@ -13180,7 +13180,7 @@ getProgramLocalParameterfvARB(Target,Index) -> %% @doc glGetProgramStringARB %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glGetProgramStringARB.xml">external</a> documentation. --spec getProgramStringARB(Target, Pname, String) -> ok when Target :: enum(),Pname :: enum(),String :: mem(). +-spec getProgramStringARB(Target, Pname, String) -> 'ok' when Target :: enum(),Pname :: enum(),String :: mem(). getProgramStringARB(Target,Pname,String) -> send_bin(String), call(5624, <<Target:?GLenum,Pname:?GLenum>>). @@ -13195,7 +13195,7 @@ getBufferParameterivARB(Target,Pname) -> %% @doc glDeleteObjectARB %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glDeleteObjectARB.xml">external</a> documentation. --spec deleteObjectARB(Obj) -> ok when Obj :: integer(). +-spec deleteObjectARB(Obj) -> 'ok' when Obj :: integer(). deleteObjectARB(Obj) -> cast(5626, <<Obj:?GLhandleARB>>). @@ -13209,7 +13209,7 @@ getHandleARB(Pname) -> %% @doc glDetachObjectARB %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glDetachObjectARB.xml">external</a> documentation. --spec detachObjectARB(ContainerObj, AttachedObj) -> ok when ContainerObj :: integer(),AttachedObj :: integer(). +-spec detachObjectARB(ContainerObj, AttachedObj) -> 'ok' when ContainerObj :: integer(),AttachedObj :: integer(). detachObjectARB(ContainerObj,AttachedObj) -> cast(5628, <<ContainerObj:?GLhandleARB,AttachedObj:?GLhandleARB>>). @@ -13223,7 +13223,7 @@ createShaderObjectARB(ShaderType) -> %% @doc glShaderSourceARB %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glShaderSourceARB.xml">external</a> documentation. --spec shaderSourceARB(ShaderObj, String) -> ok when ShaderObj :: integer(),String :: iolist(). +-spec shaderSourceARB(ShaderObj, String) -> 'ok' when ShaderObj :: integer(),String :: iolist(). shaderSourceARB(ShaderObj,String) -> StringTemp = list_to_binary([[Str|[0]] || Str <- String ]), cast(5630, <<ShaderObj:?GLhandleARB,(length(String)):?GLuint,(size(StringTemp)):?GLuint,(StringTemp)/binary,0:((8-((size(StringTemp)+4) rem 8)) rem 8)>>). @@ -13231,7 +13231,7 @@ shaderSourceARB(ShaderObj,String) -> %% @doc glCompileShaderARB %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glCompileShaderARB.xml">external</a> documentation. --spec compileShaderARB(ShaderObj) -> ok when ShaderObj :: integer(). +-spec compileShaderARB(ShaderObj) -> 'ok' when ShaderObj :: integer(). compileShaderARB(ShaderObj) -> cast(5631, <<ShaderObj:?GLhandleARB>>). @@ -13245,28 +13245,28 @@ createProgramObjectARB() -> %% @doc glAttachObjectARB %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glAttachObjectARB.xml">external</a> documentation. --spec attachObjectARB(ContainerObj, Obj) -> ok when ContainerObj :: integer(),Obj :: integer(). +-spec attachObjectARB(ContainerObj, Obj) -> 'ok' when ContainerObj :: integer(),Obj :: integer(). attachObjectARB(ContainerObj,Obj) -> cast(5633, <<ContainerObj:?GLhandleARB,Obj:?GLhandleARB>>). %% @doc glLinkProgramARB %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glLinkProgramARB.xml">external</a> documentation. --spec linkProgramARB(ProgramObj) -> ok when ProgramObj :: integer(). +-spec linkProgramARB(ProgramObj) -> 'ok' when ProgramObj :: integer(). linkProgramARB(ProgramObj) -> cast(5634, <<ProgramObj:?GLhandleARB>>). %% @doc glUseProgramObjectARB %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glUseProgramObjectARB.xml">external</a> documentation. --spec useProgramObjectARB(ProgramObj) -> ok when ProgramObj :: integer(). +-spec useProgramObjectARB(ProgramObj) -> 'ok' when ProgramObj :: integer(). useProgramObjectARB(ProgramObj) -> cast(5635, <<ProgramObj:?GLhandleARB>>). %% @doc glValidateProgramARB %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glValidateProgramARB.xml">external</a> documentation. --spec validateProgramARB(ProgramObj) -> ok when ProgramObj :: integer(). +-spec validateProgramARB(ProgramObj) -> 'ok' when ProgramObj :: integer(). validateProgramARB(ProgramObj) -> cast(5636, <<ProgramObj:?GLhandleARB>>). @@ -13336,7 +13336,7 @@ getShaderSourceARB(Obj,MaxLength) -> %% @doc glBindAttribLocationARB %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glBindAttribLocationARB.xml">external</a> documentation. --spec bindAttribLocationARB(ProgramObj, Index, Name) -> ok when ProgramObj :: integer(),Index :: integer(),Name :: string(). +-spec bindAttribLocationARB(ProgramObj, Index, Name) -> 'ok' when ProgramObj :: integer(),Index :: integer(),Name :: string(). bindAttribLocationARB(ProgramObj,Index,Name) -> cast(5646, <<ProgramObj:?GLhandleARB,Index:?GLuint,(list_to_binary([Name|[0]]))/binary,0:((8-((length(Name)+ 5) rem 8)) rem 8)>>). @@ -13378,7 +13378,7 @@ isRenderbuffer(Renderbuffer) -> %% object to `Target' . %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glBindRenderbuffer.xml">external</a> documentation. --spec bindRenderbuffer(Target, Renderbuffer) -> ok when Target :: enum(),Renderbuffer :: integer(). +-spec bindRenderbuffer(Target, Renderbuffer) -> 'ok' when Target :: enum(),Renderbuffer :: integer(). bindRenderbuffer(Target,Renderbuffer) -> cast(5650, <<Target:?GLenum,Renderbuffer:?GLuint>>). @@ -13400,7 +13400,7 @@ bindRenderbuffer(Target,Renderbuffer) -> %% renderbuffer image is specifically `not' detached from any non-bound framebuffers. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glDeleteRenderbuffers.xml">external</a> documentation. --spec deleteRenderbuffers(Renderbuffers) -> ok when Renderbuffers :: [integer()]. +-spec deleteRenderbuffers(Renderbuffers) -> 'ok' when Renderbuffers :: [integer()]. deleteRenderbuffers(Renderbuffers) -> cast(5651, <<(length(Renderbuffers)):?GLuint, (<< <<C:?GLuint>> || C <- Renderbuffers>>)/binary,0:(((1+length(Renderbuffers)) rem 2)*32)>>). @@ -13440,7 +13440,7 @@ genRenderbuffers(N) -> %% undefined. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glRenderbufferStorage.xml">external</a> documentation. --spec renderbufferStorage(Target, Internalformat, Width, Height) -> ok when Target :: enum(),Internalformat :: enum(),Width :: integer(),Height :: integer(). +-spec renderbufferStorage(Target, Internalformat, Width, Height) -> 'ok' when Target :: enum(),Internalformat :: enum(),Width :: integer(),Height :: integer(). renderbufferStorage(Target,Internalformat,Width,Height) -> cast(5653, <<Target:?GLenum,Internalformat:?GLenum,Width:?GLsizei,Height:?GLsizei>>). @@ -13500,7 +13500,7 @@ isFramebuffer(Framebuffer) -> %% object to `Target' . %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glBindFramebuffer.xml">external</a> documentation. --spec bindFramebuffer(Target, Framebuffer) -> ok when Target :: enum(),Framebuffer :: integer(). +-spec bindFramebuffer(Target, Framebuffer) -> 'ok' when Target :: enum(),Framebuffer :: integer(). bindFramebuffer(Target,Framebuffer) -> cast(5656, <<Target:?GLenum,Framebuffer:?GLuint>>). @@ -13515,7 +13515,7 @@ bindFramebuffer(Target,Framebuffer) -> %% had been executed with the corresponding `Target' and `Framebuffer' zero. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glDeleteFramebuffers.xml">external</a> documentation. --spec deleteFramebuffers(Framebuffers) -> ok when Framebuffers :: [integer()]. +-spec deleteFramebuffers(Framebuffers) -> 'ok' when Framebuffers :: [integer()]. deleteFramebuffers(Framebuffers) -> cast(5657, <<(length(Framebuffers)):?GLuint, (<< <<C:?GLuint>> || C <- Framebuffers>>)/binary,0:(((1+length(Framebuffers)) rem 2)*32)>>). @@ -13591,19 +13591,19 @@ checkFramebufferStatus(Target) -> %% @doc %% See {@link framebufferTexture/4} --spec framebufferTexture1D(Target, Attachment, Textarget, Texture, Level) -> ok when Target :: enum(),Attachment :: enum(),Textarget :: enum(),Texture :: integer(),Level :: integer(). +-spec framebufferTexture1D(Target, Attachment, Textarget, Texture, Level) -> 'ok' when Target :: enum(),Attachment :: enum(),Textarget :: enum(),Texture :: integer(),Level :: integer(). framebufferTexture1D(Target,Attachment,Textarget,Texture,Level) -> cast(5660, <<Target:?GLenum,Attachment:?GLenum,Textarget:?GLenum,Texture:?GLuint,Level:?GLint>>). %% @doc %% See {@link framebufferTexture/4} --spec framebufferTexture2D(Target, Attachment, Textarget, Texture, Level) -> ok when Target :: enum(),Attachment :: enum(),Textarget :: enum(),Texture :: integer(),Level :: integer(). +-spec framebufferTexture2D(Target, Attachment, Textarget, Texture, Level) -> 'ok' when Target :: enum(),Attachment :: enum(),Textarget :: enum(),Texture :: integer(),Level :: integer(). framebufferTexture2D(Target,Attachment,Textarget,Texture,Level) -> cast(5661, <<Target:?GLenum,Attachment:?GLenum,Textarget:?GLenum,Texture:?GLuint,Level:?GLint>>). %% @doc %% See {@link framebufferTexture/4} --spec framebufferTexture3D(Target, Attachment, Textarget, Texture, Level, Zoffset) -> ok when Target :: enum(),Attachment :: enum(),Textarget :: enum(),Texture :: integer(),Level :: integer(),Zoffset :: integer(). +-spec framebufferTexture3D(Target, Attachment, Textarget, Texture, Level, Zoffset) -> 'ok' when Target :: enum(),Attachment :: enum(),Textarget :: enum(),Texture :: integer(),Level :: integer(),Zoffset :: integer(). framebufferTexture3D(Target,Attachment,Textarget,Texture,Level,Zoffset) -> cast(5662, <<Target:?GLenum,Attachment:?GLenum,Textarget:?GLenum,Texture:?GLuint,Level:?GLint,Zoffset:?GLint>>). @@ -13635,7 +13635,7 @@ framebufferTexture3D(Target,Attachment,Textarget,Texture,Level,Zoffset) -> %% . %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glFramebufferRenderbuffer.xml">external</a> documentation. --spec framebufferRenderbuffer(Target, Attachment, Renderbuffertarget, Renderbuffer) -> ok when Target :: enum(),Attachment :: enum(),Renderbuffertarget :: enum(),Renderbuffer :: integer(). +-spec framebufferRenderbuffer(Target, Attachment, Renderbuffertarget, Renderbuffer) -> 'ok' when Target :: enum(),Attachment :: enum(),Renderbuffertarget :: enum(),Renderbuffer :: integer(). framebufferRenderbuffer(Target,Attachment,Renderbuffertarget,Renderbuffer) -> cast(5663, <<Target:?GLenum,Attachment:?GLenum,Renderbuffertarget:?GLenum,Renderbuffer:?GLuint>>). @@ -13751,7 +13751,7 @@ getFramebufferAttachmentParameteriv(Target,Attachment,Pname) -> %% independently. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glGenerateMipmap.xml">external</a> documentation. --spec generateMipmap(Target) -> ok when Target :: enum(). +-spec generateMipmap(Target) -> 'ok' when Target :: enum(). generateMipmap(Target) -> cast(5665, <<Target:?GLenum>>). @@ -13793,7 +13793,7 @@ generateMipmap(Target) -> %% buffers are the same, the result of the operation is undefined. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glBlitFramebuffer.xml">external</a> documentation. --spec blitFramebuffer(SrcX0, SrcY0, SrcX1, SrcY1, DstX0, DstY0, DstX1, DstY1, Mask, Filter) -> ok when SrcX0 :: integer(),SrcY0 :: integer(),SrcX1 :: integer(),SrcY1 :: integer(),DstX0 :: integer(),DstY0 :: integer(),DstX1 :: integer(),DstY1 :: integer(),Mask :: integer(),Filter :: enum(). +-spec blitFramebuffer(SrcX0, SrcY0, SrcX1, SrcY1, DstX0, DstY0, DstX1, DstY1, Mask, Filter) -> 'ok' when SrcX0 :: integer(),SrcY0 :: integer(),SrcX1 :: integer(),SrcY1 :: integer(),DstX0 :: integer(),DstY0 :: integer(),DstX1 :: integer(),DstY1 :: integer(),Mask :: integer(),Filter :: enum(). blitFramebuffer(SrcX0,SrcY0,SrcX1,SrcY1,DstX0,DstY0,DstX1,DstY1,Mask,Filter) -> cast(5666, <<SrcX0:?GLint,SrcY0:?GLint,SrcX1:?GLint,SrcY1:?GLint,DstX0:?GLint,DstY0:?GLint,DstX1:?GLint,DstY1:?GLint,Mask:?GLbitfield,Filter:?GLenum>>). @@ -13817,19 +13817,19 @@ blitFramebuffer(SrcX0,SrcY0,SrcX1,SrcY1,DstX0,DstY0,DstX1,DstY1,Mask,Filter) -> %% are undefined. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glRenderbufferStorageMultisample.xml">external</a> documentation. --spec renderbufferStorageMultisample(Target, Samples, Internalformat, Width, Height) -> ok when Target :: enum(),Samples :: integer(),Internalformat :: enum(),Width :: integer(),Height :: integer(). +-spec renderbufferStorageMultisample(Target, Samples, Internalformat, Width, Height) -> 'ok' when Target :: enum(),Samples :: integer(),Internalformat :: enum(),Width :: integer(),Height :: integer(). renderbufferStorageMultisample(Target,Samples,Internalformat,Width,Height) -> cast(5667, <<Target:?GLenum,Samples:?GLsizei,Internalformat:?GLenum,Width:?GLsizei,Height:?GLsizei>>). %% @doc %% See {@link framebufferTexture/4} --spec framebufferTextureLayer(Target, Attachment, Texture, Level, Layer) -> ok when Target :: enum(),Attachment :: enum(),Texture :: integer(),Level :: integer(),Layer :: integer(). +-spec framebufferTextureLayer(Target, Attachment, Texture, Level, Layer) -> 'ok' when Target :: enum(),Attachment :: enum(),Texture :: integer(),Level :: integer(),Layer :: integer(). framebufferTextureLayer(Target,Attachment,Texture,Level,Layer) -> cast(5668, <<Target:?GLenum,Attachment:?GLenum,Texture:?GLuint,Level:?GLint,Layer:?GLint>>). %% @doc %% See {@link framebufferTexture/4} --spec framebufferTextureFaceARB(Target, Attachment, Texture, Level, Face) -> ok when Target :: enum(),Attachment :: enum(),Texture :: integer(),Level :: integer(),Face :: enum(). +-spec framebufferTextureFaceARB(Target, Attachment, Texture, Level, Face) -> 'ok' when Target :: enum(),Attachment :: enum(),Texture :: integer(),Level :: integer(),Face :: enum(). framebufferTextureFaceARB(Target,Attachment,Texture,Level,Face) -> cast(5669, <<Target:?GLenum,Attachment:?GLenum,Texture:?GLuint,Level:?GLint,Face:?GLenum>>). @@ -13843,7 +13843,7 @@ framebufferTextureFaceARB(Target,Attachment,Texture,Level,Face) -> %% to indicate distinct subranges of the mapping which require flushing. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glFlushMappedBufferRange.xml">external</a> documentation. --spec flushMappedBufferRange(Target, Offset, Length) -> ok when Target :: enum(),Offset :: integer(),Length :: integer(). +-spec flushMappedBufferRange(Target, Offset, Length) -> 'ok' when Target :: enum(),Offset :: integer(),Length :: integer(). flushMappedBufferRange(Target,Offset,Length) -> cast(5670, <<Target:?GLenum,0:32,Offset:?GLintptr,Length:?GLsizeiptr>>). @@ -13858,7 +13858,7 @@ flushMappedBufferRange(Target,Offset,Length) -> %% array object, and any previous vertex array object binding is broken. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glBindVertexArray.xml">external</a> documentation. --spec bindVertexArray(Array) -> ok when Array :: integer(). +-spec bindVertexArray(Array) -> 'ok' when Array :: integer(). bindVertexArray(Array) -> cast(5671, <<Array:?GLuint>>). @@ -13871,7 +13871,7 @@ bindVertexArray(Array) -> %% current. Unused names in `Arrays' are silently ignored, as is the value zero. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glDeleteVertexArrays.xml">external</a> documentation. --spec deleteVertexArrays(Arrays) -> ok when Arrays :: [integer()]. +-spec deleteVertexArrays(Arrays) -> 'ok' when Arrays :: [integer()]. deleteVertexArrays(Arrays) -> cast(5672, <<(length(Arrays)):?GLuint, (<< <<C:?GLuint>> || C <- Arrays>>)/binary,0:(((1+length(Arrays)) rem 2)*32)>>). @@ -14045,7 +14045,7 @@ getUniformBlockIndex(Program,UniformBlockName) -> %% vertex, geometry, or fragment programming stages of program, respectively, is returned. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glGetActiveUniformBlock.xml">external</a> documentation. --spec getActiveUniformBlockiv(Program, UniformBlockIndex, Pname, Params) -> ok when Program :: integer(),UniformBlockIndex :: integer(),Pname :: enum(),Params :: mem(). +-spec getActiveUniformBlockiv(Program, UniformBlockIndex, Pname, Params) -> 'ok' when Program :: integer(),UniformBlockIndex :: integer(),Pname :: enum(),Params :: mem(). getActiveUniformBlockiv(Program,UniformBlockIndex,Pname,Params) -> send_bin(Params), call(5679, <<Program:?GLuint,UniformBlockIndex:?GLuint,Pname:?GLenum>>). @@ -14095,7 +14095,7 @@ getActiveUniformBlockName(Program,UniformBlockIndex,BufSize) -> %% assigned to each of its active uniform blocks is reset to zero. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glUniformBlockBinding.xml">external</a> documentation. --spec uniformBlockBinding(Program, UniformBlockIndex, UniformBlockBinding) -> ok when Program :: integer(),UniformBlockIndex :: integer(),UniformBlockBinding :: integer(). +-spec uniformBlockBinding(Program, UniformBlockIndex, UniformBlockBinding) -> 'ok' when Program :: integer(),UniformBlockIndex :: integer(),UniformBlockBinding :: integer(). uniformBlockBinding(Program,UniformBlockIndex,UniformBlockBinding) -> cast(5681, <<Program:?GLuint,UniformBlockIndex:?GLuint,UniformBlockBinding:?GLuint>>). @@ -14121,7 +14121,7 @@ uniformBlockBinding(Program,UniformBlockIndex,UniformBlockBinding) -> %% , `Writeoffset' and `Size' must not overlap. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glCopyBufferSubData.xml">external</a> documentation. --spec copyBufferSubData(ReadTarget, WriteTarget, ReadOffset, WriteOffset, Size) -> ok when ReadTarget :: enum(),WriteTarget :: enum(),ReadOffset :: integer(),WriteOffset :: integer(),Size :: integer(). +-spec copyBufferSubData(ReadTarget, WriteTarget, ReadOffset, WriteOffset, Size) -> 'ok' when ReadTarget :: enum(),WriteTarget :: enum(),ReadOffset :: integer(),WriteOffset :: integer(),Size :: integer(). copyBufferSubData(ReadTarget,WriteTarget,ReadOffset,WriteOffset,Size) -> cast(5682, <<ReadTarget:?GLenum,WriteTarget:?GLenum,ReadOffset:?GLintptr,WriteOffset:?GLintptr,Size:?GLsizeiptr>>). @@ -14135,7 +14135,7 @@ copyBufferSubData(ReadTarget,WriteTarget,ReadOffset,WriteOffset,Size) -> %% operation is undefined if the sum would be negative. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glDrawElementsBaseVertex.xml">external</a> documentation. --spec drawElementsBaseVertex(Mode, Count, Type, Indices, Basevertex) -> ok when Mode :: enum(),Count :: integer(),Type :: enum(),Indices :: offset()|mem(),Basevertex :: integer(). +-spec drawElementsBaseVertex(Mode, Count, Type, Indices, Basevertex) -> 'ok' when Mode :: enum(),Count :: integer(),Type :: enum(),Indices :: offset()|mem(),Basevertex :: integer(). drawElementsBaseVertex(Mode,Count,Type,Indices,Basevertex) when is_integer(Indices) -> cast(5683, <<Mode:?GLenum,Count:?GLsizei,Type:?GLenum,Indices:?GLuint,Basevertex:?GLint>>); drawElementsBaseVertex(Mode,Count,Type,Indices,Basevertex) -> @@ -14157,7 +14157,7 @@ drawElementsBaseVertex(Mode,Count,Type,Indices,Basevertex) -> %% if the sum would be negative. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glDrawRangeElementsBaseVertex.xml">external</a> documentation. --spec drawRangeElementsBaseVertex(Mode, Start, End, Count, Type, Indices, Basevertex) -> ok when Mode :: enum(),Start :: integer(),End :: integer(),Count :: integer(),Type :: enum(),Indices :: offset()|mem(),Basevertex :: integer(). +-spec drawRangeElementsBaseVertex(Mode, Start, End, Count, Type, Indices, Basevertex) -> 'ok' when Mode :: enum(),Start :: integer(),End :: integer(),Count :: integer(),Type :: enum(),Indices :: offset()|mem(),Basevertex :: integer(). drawRangeElementsBaseVertex(Mode,Start,End,Count,Type,Indices,Basevertex) when is_integer(Indices) -> cast(5685, <<Mode:?GLenum,Start:?GLuint,End:?GLuint,Count:?GLsizei,Type:?GLenum,Indices:?GLuint,Basevertex:?GLint>>); drawRangeElementsBaseVertex(Mode,Start,End,Count,Type,Indices,Basevertex) -> @@ -14174,7 +14174,7 @@ drawRangeElementsBaseVertex(Mode,Start,End,Count,Type,Indices,Basevertex) -> %% conditions). The operation is undefined if the sum would be negative. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glDrawElementsInstancedBaseVertex.xml">external</a> documentation. --spec drawElementsInstancedBaseVertex(Mode, Count, Type, Indices, Primcount, Basevertex) -> ok when Mode :: enum(),Count :: integer(),Type :: enum(),Indices :: offset()|mem(),Primcount :: integer(),Basevertex :: integer(). +-spec drawElementsInstancedBaseVertex(Mode, Count, Type, Indices, Primcount, Basevertex) -> 'ok' when Mode :: enum(),Count :: integer(),Type :: enum(),Indices :: offset()|mem(),Primcount :: integer(),Basevertex :: integer(). drawElementsInstancedBaseVertex(Mode,Count,Type,Indices,Primcount,Basevertex) when is_integer(Indices) -> cast(5687, <<Mode:?GLenum,Count:?GLsizei,Type:?GLenum,Indices:?GLuint,Primcount:?GLsizei,Basevertex:?GLint>>); drawElementsInstancedBaseVertex(Mode,Count,Type,Indices,Primcount,Basevertex) -> @@ -14211,7 +14211,7 @@ drawElementsInstancedBaseVertex(Mode,Count,Type,Indices,Primcount,Basevertex) -> %% by using the flat qualifier when declaring the output. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glProvokingVertex.xml">external</a> documentation. --spec provokingVertex(Mode) -> ok when Mode :: enum(). +-spec provokingVertex(Mode) -> 'ok' when Mode :: enum(). provokingVertex(Mode) -> cast(5689, <<Mode:?GLenum>>). @@ -14263,7 +14263,7 @@ isSync(Sync) -> %% ``gl:deleteSync'' will silently ignore a `Sync' value of zero. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glDeleteSync.xml">external</a> documentation. --spec deleteSync(Sync) -> ok when Sync :: integer(). +-spec deleteSync(Sync) -> 'ok' when Sync :: integer(). deleteSync(Sync) -> cast(5692, <<Sync:?GLsync>>). @@ -14311,7 +14311,7 @@ clientWaitSync(Sync,Flags,Timeout) -> %% If an error occurs, ``gl:waitSync'' does not cause the GL server to block. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glWaitSync.xml">external</a> documentation. --spec waitSync(Sync, Flags, Timeout) -> ok when Sync :: integer(),Flags :: integer(),Timeout :: integer(). +-spec waitSync(Sync, Flags, Timeout) -> 'ok' when Sync :: integer(),Flags :: integer(),Timeout :: integer(). waitSync(Sync,Flags,Timeout) -> cast(5694, <<Sync:?GLsync,Flags:?GLbitfield,0:32,Timeout:?GLuint64>>). @@ -14380,7 +14380,7 @@ getSynciv(Sync,Pname,BufSize) -> %% on the multisample texture targets. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glTexImage2DMultisample.xml">external</a> documentation. --spec texImage2DMultisample(Target, Samples, Internalformat, Width, Height, Fixedsamplelocations) -> ok when Target :: enum(),Samples :: integer(),Internalformat :: integer(),Width :: integer(),Height :: integer(),Fixedsamplelocations :: 0|1. +-spec texImage2DMultisample(Target, Samples, Internalformat, Width, Height, Fixedsamplelocations) -> 'ok' when Target :: enum(),Samples :: integer(),Internalformat :: integer(),Width :: integer(),Height :: integer(),Fixedsamplelocations :: 0|1. texImage2DMultisample(Target,Samples,Internalformat,Width,Height,Fixedsamplelocations) -> cast(5697, <<Target:?GLenum,Samples:?GLsizei,Internalformat:?GLint,Width:?GLsizei,Height:?GLsizei,Fixedsamplelocations:?GLboolean>>). @@ -14408,7 +14408,7 @@ texImage2DMultisample(Target,Samples,Internalformat,Width,Height,Fixedsampleloca %% on the multisample texture targets. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glTexImage3DMultisample.xml">external</a> documentation. --spec texImage3DMultisample(Target, Samples, Internalformat, Width, Height, Depth, Fixedsamplelocations) -> ok when Target :: enum(),Samples :: integer(),Internalformat :: integer(),Width :: integer(),Height :: integer(),Depth :: integer(),Fixedsamplelocations :: 0|1. +-spec texImage3DMultisample(Target, Samples, Internalformat, Width, Height, Depth, Fixedsamplelocations) -> 'ok' when Target :: enum(),Samples :: integer(),Internalformat :: integer(),Width :: integer(),Height :: integer(),Depth :: integer(),Fixedsamplelocations :: 0|1. texImage3DMultisample(Target,Samples,Internalformat,Width,Height,Depth,Fixedsamplelocations) -> cast(5698, <<Target:?GLenum,Samples:?GLsizei,Internalformat:?GLint,Width:?GLsizei,Height:?GLsizei,Depth:?GLsizei,Fixedsamplelocations:?GLboolean>>). @@ -14441,28 +14441,28 @@ getMultisamplefv(Pname,Index) -> %% to sample 32 x `M' + `B'. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glSampleMaski.xml">external</a> documentation. --spec sampleMaski(Index, Mask) -> ok when Index :: integer(),Mask :: integer(). +-spec sampleMaski(Index, Mask) -> 'ok' when Index :: integer(),Mask :: integer(). sampleMaski(Index,Mask) -> cast(5700, <<Index:?GLuint,Mask:?GLbitfield>>). %% @doc glNamedStringARB %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glNamedStringARB.xml">external</a> documentation. --spec namedStringARB(Type, Name, String) -> ok when Type :: enum(),Name :: string(),String :: string(). +-spec namedStringARB(Type, Name, String) -> 'ok' when Type :: enum(),Name :: string(),String :: string(). namedStringARB(Type,Name,String) -> cast(5701, <<Type:?GLenum,(list_to_binary([Name|[0]]))/binary,0:((8-((length(Name)+ 5) rem 8)) rem 8),(list_to_binary([String|[0]]))/binary,0:((8-((length(String)+ 1) rem 8)) rem 8)>>). %% @doc glDeleteNamedStringARB %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glDeleteNamedStringARB.xml">external</a> documentation. --spec deleteNamedStringARB(Name) -> ok when Name :: string(). +-spec deleteNamedStringARB(Name) -> 'ok' when Name :: string(). deleteNamedStringARB(Name) -> cast(5702, <<(list_to_binary([Name|[0]]))/binary,0:((8-((length(Name)+ 1) rem 8)) rem 8)>>). %% @doc glCompileShaderIncludeARB %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glCompileShaderIncludeARB.xml">external</a> documentation. --spec compileShaderIncludeARB(Shader, Path) -> ok when Shader :: integer(),Path :: iolist(). +-spec compileShaderIncludeARB(Shader, Path) -> 'ok' when Shader :: integer(),Path :: iolist(). compileShaderIncludeARB(Shader,Path) -> PathTemp = list_to_binary([[Str|[0]] || Str <- Path ]), cast(5703, <<Shader:?GLuint,(length(Path)):?GLuint,(size(PathTemp)):?GLuint,(PathTemp)/binary,0:((8-((size(PathTemp)+0) rem 8)) rem 8)>>). @@ -14491,7 +14491,7 @@ getNamedStringivARB(Name,Pname) -> %% @doc glBindFragDataLocationIndexe %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glBindFragDataLocationIndexe.xml">external</a> documentation. --spec bindFragDataLocationIndexed(Program, ColorNumber, Index, Name) -> ok when Program :: integer(),ColorNumber :: integer(),Index :: integer(),Name :: string(). +-spec bindFragDataLocationIndexed(Program, ColorNumber, Index, Name) -> 'ok' when Program :: integer(),ColorNumber :: integer(),Index :: integer(),Name :: string(). bindFragDataLocationIndexed(Program,ColorNumber,Index,Name) -> cast(5707, <<Program:?GLuint,ColorNumber:?GLuint,Index:?GLuint,(list_to_binary([Name|[0]]))/binary,0:((8-((length(Name)+ 5) rem 8)) rem 8)>>). @@ -14533,7 +14533,7 @@ genSamplers(Count) -> %% names in samplers are silently ignored, as is the reserved name zero. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glDeleteSamplers.xml">external</a> documentation. --spec deleteSamplers(Samplers) -> ok when Samplers :: [integer()]. +-spec deleteSamplers(Samplers) -> 'ok' when Samplers :: [integer()]. deleteSamplers(Samplers) -> cast(5710, <<(length(Samplers)):?GLuint, (<< <<C:?GLuint>> || C <- Samplers>>)/binary,0:(((1+length(Samplers)) rem 2)*32)>>). @@ -14564,7 +14564,7 @@ isSampler(Sampler) -> %% be bound to multiple texture units simultaneously. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glBindSampler.xml">external</a> documentation. --spec bindSampler(Unit, Sampler) -> ok when Unit :: integer(),Sampler :: integer(). +-spec bindSampler(Unit, Sampler) -> 'ok' when Unit :: integer(),Sampler :: integer(). bindSampler(Unit,Sampler) -> cast(5712, <<Unit:?GLuint,Sampler:?GLuint>>). @@ -14710,33 +14710,33 @@ bindSampler(Unit,Sampler) -> %% bound texture. result is assigned to R t. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glSamplerParameter.xml">external</a> documentation. --spec samplerParameteri(Sampler, Pname, Param) -> ok when Sampler :: integer(),Pname :: enum(),Param :: integer(). +-spec samplerParameteri(Sampler, Pname, Param) -> 'ok' when Sampler :: integer(),Pname :: enum(),Param :: integer(). samplerParameteri(Sampler,Pname,Param) -> cast(5713, <<Sampler:?GLuint,Pname:?GLenum,Param:?GLint>>). %% @doc %% See {@link samplerParameteri/3} --spec samplerParameteriv(Sampler, Pname, Param) -> ok when Sampler :: integer(),Pname :: enum(),Param :: [integer()]. +-spec samplerParameteriv(Sampler, Pname, Param) -> 'ok' when Sampler :: integer(),Pname :: enum(),Param :: [integer()]. samplerParameteriv(Sampler,Pname,Param) -> cast(5714, <<Sampler:?GLuint,Pname:?GLenum,(length(Param)):?GLuint, (<< <<C:?GLint>> || C <- Param>>)/binary,0:(((1+length(Param)) rem 2)*32)>>). %% @doc %% See {@link samplerParameteri/3} --spec samplerParameterf(Sampler, Pname, Param) -> ok when Sampler :: integer(),Pname :: enum(),Param :: float(). +-spec samplerParameterf(Sampler, Pname, Param) -> 'ok' when Sampler :: integer(),Pname :: enum(),Param :: float(). samplerParameterf(Sampler,Pname,Param) -> cast(5715, <<Sampler:?GLuint,Pname:?GLenum,Param:?GLfloat>>). %% @doc %% See {@link samplerParameteri/3} --spec samplerParameterfv(Sampler, Pname, Param) -> ok when Sampler :: integer(),Pname :: enum(),Param :: [float()]. +-spec samplerParameterfv(Sampler, Pname, Param) -> 'ok' when Sampler :: integer(),Pname :: enum(),Param :: [float()]. samplerParameterfv(Sampler,Pname,Param) -> cast(5716, <<Sampler:?GLuint,Pname:?GLenum,(length(Param)):?GLuint, (<< <<C:?GLfloat>> || C <- Param>>)/binary,0:(((1+length(Param)) rem 2)*32)>>). %% @doc %% See {@link samplerParameteri/3} --spec samplerParameterIiv(Sampler, Pname, Param) -> ok when Sampler :: integer(),Pname :: enum(),Param :: [integer()]. +-spec samplerParameterIiv(Sampler, Pname, Param) -> 'ok' when Sampler :: integer(),Pname :: enum(),Param :: [integer()]. samplerParameterIiv(Sampler,Pname,Param) -> cast(5717, <<Sampler:?GLuint,Pname:?GLenum,(length(Param)):?GLuint, (<< <<C:?GLint>> || C <- Param>>)/binary,0:(((1+length(Param)) rem 2)*32)>>). @@ -14744,7 +14744,7 @@ samplerParameterIiv(Sampler,Pname,Param) -> %% @doc glSamplerParameterI %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glSamplerParameterI.xml">external</a> documentation. --spec samplerParameterIuiv(Sampler, Pname, Param) -> ok when Sampler :: integer(),Pname :: enum(),Param :: [integer()]. +-spec samplerParameterIuiv(Sampler, Pname, Param) -> 'ok' when Sampler :: integer(),Pname :: enum(),Param :: [integer()]. samplerParameterIuiv(Sampler,Pname,Param) -> cast(5718, <<Sampler:?GLuint,Pname:?GLenum,(length(Param)):?GLuint, (<< <<C:?GLuint>> || C <- Param>>)/binary,0:(((1+length(Param)) rem 2)*32)>>). @@ -14826,7 +14826,7 @@ getSamplerParameterIuiv(Sampler,Pname) -> %% that query object. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glQueryCounter.xml">external</a> documentation. --spec queryCounter(Id, Target) -> ok when Id :: integer(),Target :: enum(). +-spec queryCounter(Id, Target) -> 'ok' when Id :: integer(),Target :: enum(). queryCounter(Id,Target) -> cast(5723, <<Id:?GLuint,Target:?GLenum>>). @@ -14870,7 +14870,7 @@ getQueryObjectui64v(Id,Pname) -> %% well defined. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glDrawArraysIndirect.xml">external</a> documentation. --spec drawArraysIndirect(Mode, Indirect) -> ok when Mode :: enum(),Indirect :: offset()|mem(). +-spec drawArraysIndirect(Mode, Indirect) -> 'ok' when Mode :: enum(),Indirect :: offset()|mem(). drawArraysIndirect(Mode,Indirect) when is_integer(Indirect) -> cast(5726, <<Mode:?GLenum,Indirect:?GLuint>>); drawArraysIndirect(Mode,Indirect) -> @@ -14910,7 +14910,7 @@ drawArraysIndirect(Mode,Indirect) -> %% well defined. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glDrawElementsIndirect.xml">external</a> documentation. --spec drawElementsIndirect(Mode, Type, Indirect) -> ok when Mode :: enum(),Type :: enum(),Indirect :: offset()|mem(). +-spec drawElementsIndirect(Mode, Type, Indirect) -> 'ok' when Mode :: enum(),Type :: enum(),Indirect :: offset()|mem(). drawElementsIndirect(Mode,Type,Indirect) when is_integer(Indirect) -> cast(5728, <<Mode:?GLenum,Type:?GLenum,Indirect:?GLuint>>); drawElementsIndirect(Mode,Type,Indirect) -> @@ -14919,115 +14919,115 @@ drawElementsIndirect(Mode,Type,Indirect) -> %% @doc %% See {@link uniform1f/2} --spec uniform1d(Location, X) -> ok when Location :: integer(),X :: float(). +-spec uniform1d(Location, X) -> 'ok' when Location :: integer(),X :: float(). uniform1d(Location,X) -> cast(5730, <<Location:?GLint,0:32,X:?GLdouble>>). %% @doc %% See {@link uniform1f/2} --spec uniform2d(Location, X, Y) -> ok when Location :: integer(),X :: float(),Y :: float(). +-spec uniform2d(Location, X, Y) -> 'ok' when Location :: integer(),X :: float(),Y :: float(). uniform2d(Location,X,Y) -> cast(5731, <<Location:?GLint,0:32,X:?GLdouble,Y:?GLdouble>>). %% @doc %% See {@link uniform1f/2} --spec uniform3d(Location, X, Y, Z) -> ok when Location :: integer(),X :: float(),Y :: float(),Z :: float(). +-spec uniform3d(Location, X, Y, Z) -> 'ok' when Location :: integer(),X :: float(),Y :: float(),Z :: float(). uniform3d(Location,X,Y,Z) -> cast(5732, <<Location:?GLint,0:32,X:?GLdouble,Y:?GLdouble,Z:?GLdouble>>). %% @doc %% See {@link uniform1f/2} --spec uniform4d(Location, X, Y, Z, W) -> ok when Location :: integer(),X :: float(),Y :: float(),Z :: float(),W :: float(). +-spec uniform4d(Location, X, Y, Z, W) -> 'ok' when Location :: integer(),X :: float(),Y :: float(),Z :: float(),W :: float(). uniform4d(Location,X,Y,Z,W) -> cast(5733, <<Location:?GLint,0:32,X:?GLdouble,Y:?GLdouble,Z:?GLdouble,W:?GLdouble>>). %% @doc %% See {@link uniform1f/2} --spec uniform1dv(Location, Value) -> ok when Location :: integer(),Value :: [float()]. +-spec uniform1dv(Location, Value) -> 'ok' when Location :: integer(),Value :: [float()]. uniform1dv(Location,Value) -> cast(5734, <<Location:?GLint,0:32,(length(Value)):?GLuint,0:32, (<< <<C:?GLdouble>> || C <- Value>>)/binary>>). %% @doc %% See {@link uniform1f/2} --spec uniform2dv(Location, Value) -> ok when Location :: integer(),Value :: [{float(),float()}]. +-spec uniform2dv(Location, Value) -> 'ok' when Location :: integer(),Value :: [{float(),float()}]. uniform2dv(Location,Value) -> cast(5735, <<Location:?GLint,0:32,(length(Value)):?GLuint,0:32, (<< <<V1:?GLdouble,V2:?GLdouble>> || {V1,V2} <- Value>>)/binary>>). %% @doc %% See {@link uniform1f/2} --spec uniform3dv(Location, Value) -> ok when Location :: integer(),Value :: [{float(),float(),float()}]. +-spec uniform3dv(Location, Value) -> 'ok' when Location :: integer(),Value :: [{float(),float(),float()}]. uniform3dv(Location,Value) -> cast(5736, <<Location:?GLint,0:32,(length(Value)):?GLuint,0:32, (<< <<V1:?GLdouble,V2:?GLdouble,V3:?GLdouble>> || {V1,V2,V3} <- Value>>)/binary>>). %% @doc %% See {@link uniform1f/2} --spec uniform4dv(Location, Value) -> ok when Location :: integer(),Value :: [{float(),float(),float(),float()}]. +-spec uniform4dv(Location, Value) -> 'ok' when Location :: integer(),Value :: [{float(),float(),float(),float()}]. uniform4dv(Location,Value) -> cast(5737, <<Location:?GLint,0:32,(length(Value)):?GLuint,0:32, (<< <<V1:?GLdouble,V2:?GLdouble,V3:?GLdouble,V4:?GLdouble>> || {V1,V2,V3,V4} <- Value>>)/binary>>). %% @doc %% See {@link uniform1f/2} --spec uniformMatrix2dv(Location, Transpose, Value) -> ok when Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float()}]. +-spec uniformMatrix2dv(Location, Transpose, Value) -> 'ok' when Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float()}]. uniformMatrix2dv(Location,Transpose,Value) -> cast(5738, <<Location:?GLint,Transpose:?GLboolean,0:24,(length(Value)):?GLuint,0:32, (<< <<V1:?GLdouble,V2:?GLdouble,V3:?GLdouble,V4:?GLdouble>> || {V1,V2,V3,V4} <- Value>>)/binary>>). %% @doc %% See {@link uniform1f/2} --spec uniformMatrix3dv(Location, Transpose, Value) -> ok when Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float(),float(),float(),float()}]. +-spec uniformMatrix3dv(Location, Transpose, Value) -> 'ok' when Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float(),float(),float(),float()}]. uniformMatrix3dv(Location,Transpose,Value) -> cast(5739, <<Location:?GLint,Transpose:?GLboolean,0:24,(length(Value)):?GLuint,0:32, (<< <<V1:?GLdouble,V2:?GLdouble,V3:?GLdouble,V4:?GLdouble,V5:?GLdouble,V6:?GLdouble,V7:?GLdouble,V8:?GLdouble,V9:?GLdouble>> || {V1,V2,V3,V4,V5,V6,V7,V8,V9} <- Value>>)/binary>>). %% @doc %% See {@link uniform1f/2} --spec uniformMatrix4dv(Location, Transpose, Value) -> ok when Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float()}]. +-spec uniformMatrix4dv(Location, Transpose, Value) -> 'ok' when Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float()}]. uniformMatrix4dv(Location,Transpose,Value) -> cast(5740, <<Location:?GLint,Transpose:?GLboolean,0:24,(length(Value)):?GLuint,0:32, (<< <<V1:?GLdouble,V2:?GLdouble,V3:?GLdouble,V4:?GLdouble,V5:?GLdouble,V6:?GLdouble,V7:?GLdouble,V8:?GLdouble,V9:?GLdouble,V10:?GLdouble,V11:?GLdouble,V12:?GLdouble,V13:?GLdouble,V14:?GLdouble,V15:?GLdouble,V16:?GLdouble>> || {V1,V2,V3,V4,V5,V6,V7,V8,V9,V10,V11,V12,V13,V14,V15,V16} <- Value>>)/binary>>). %% @doc %% See {@link uniform1f/2} --spec uniformMatrix2x3dv(Location, Transpose, Value) -> ok when Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float()}]. +-spec uniformMatrix2x3dv(Location, Transpose, Value) -> 'ok' when Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float()}]. uniformMatrix2x3dv(Location,Transpose,Value) -> cast(5741, <<Location:?GLint,Transpose:?GLboolean,0:24,(length(Value)):?GLuint,0:32, (<< <<V1:?GLdouble,V2:?GLdouble,V3:?GLdouble,V4:?GLdouble,V5:?GLdouble,V6:?GLdouble>> || {V1,V2,V3,V4,V5,V6} <- Value>>)/binary>>). %% @doc %% See {@link uniform1f/2} --spec uniformMatrix2x4dv(Location, Transpose, Value) -> ok when Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float(),float(),float()}]. +-spec uniformMatrix2x4dv(Location, Transpose, Value) -> 'ok' when Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float(),float(),float()}]. uniformMatrix2x4dv(Location,Transpose,Value) -> cast(5742, <<Location:?GLint,Transpose:?GLboolean,0:24,(length(Value)):?GLuint,0:32, (<< <<V1:?GLdouble,V2:?GLdouble,V3:?GLdouble,V4:?GLdouble,V5:?GLdouble,V6:?GLdouble,V7:?GLdouble,V8:?GLdouble>> || {V1,V2,V3,V4,V5,V6,V7,V8} <- Value>>)/binary>>). %% @doc %% See {@link uniform1f/2} --spec uniformMatrix3x2dv(Location, Transpose, Value) -> ok when Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float()}]. +-spec uniformMatrix3x2dv(Location, Transpose, Value) -> 'ok' when Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float()}]. uniformMatrix3x2dv(Location,Transpose,Value) -> cast(5743, <<Location:?GLint,Transpose:?GLboolean,0:24,(length(Value)):?GLuint,0:32, (<< <<V1:?GLdouble,V2:?GLdouble,V3:?GLdouble,V4:?GLdouble,V5:?GLdouble,V6:?GLdouble>> || {V1,V2,V3,V4,V5,V6} <- Value>>)/binary>>). %% @doc %% See {@link uniform1f/2} --spec uniformMatrix3x4dv(Location, Transpose, Value) -> ok when Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float()}]. +-spec uniformMatrix3x4dv(Location, Transpose, Value) -> 'ok' when Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float()}]. uniformMatrix3x4dv(Location,Transpose,Value) -> cast(5744, <<Location:?GLint,Transpose:?GLboolean,0:24,(length(Value)):?GLuint,0:32, (<< <<V1:?GLdouble,V2:?GLdouble,V3:?GLdouble,V4:?GLdouble,V5:?GLdouble,V6:?GLdouble,V7:?GLdouble,V8:?GLdouble,V9:?GLdouble,V10:?GLdouble,V11:?GLdouble,V12:?GLdouble>> || {V1,V2,V3,V4,V5,V6,V7,V8,V9,V10,V11,V12} <- Value>>)/binary>>). %% @doc %% See {@link uniform1f/2} --spec uniformMatrix4x2dv(Location, Transpose, Value) -> ok when Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float(),float(),float()}]. +-spec uniformMatrix4x2dv(Location, Transpose, Value) -> 'ok' when Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float(),float(),float()}]. uniformMatrix4x2dv(Location,Transpose,Value) -> cast(5745, <<Location:?GLint,Transpose:?GLboolean,0:24,(length(Value)):?GLuint,0:32, (<< <<V1:?GLdouble,V2:?GLdouble,V3:?GLdouble,V4:?GLdouble,V5:?GLdouble,V6:?GLdouble,V7:?GLdouble,V8:?GLdouble>> || {V1,V2,V3,V4,V5,V6,V7,V8} <- Value>>)/binary>>). %% @doc %% See {@link uniform1f/2} --spec uniformMatrix4x3dv(Location, Transpose, Value) -> ok when Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float()}]. +-spec uniformMatrix4x3dv(Location, Transpose, Value) -> 'ok' when Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float()}]. uniformMatrix4x3dv(Location,Transpose,Value) -> cast(5746, <<Location:?GLint,Transpose:?GLboolean,0:24,(length(Value)):?GLuint,0:32, (<< <<V1:?GLdouble,V2:?GLdouble,V3:?GLdouble,V4:?GLdouble,V5:?GLdouble,V6:?GLdouble,V7:?GLdouble,V8:?GLdouble,V9:?GLdouble,V10:?GLdouble,V11:?GLdouble,V12:?GLdouble>> || {V1,V2,V3,V4,V5,V6,V7,V8,V9,V10,V11,V12} <- Value>>)/binary>>). @@ -15126,7 +15126,7 @@ getActiveSubroutineName(Program,Shadertype,Index,Bufsize) -> %% for the shader stage. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glUniformSubroutines.xml">external</a> documentation. --spec uniformSubroutinesuiv(Shadertype, Indices) -> ok when Shadertype :: enum(),Indices :: [integer()]. +-spec uniformSubroutinesuiv(Shadertype, Indices) -> 'ok' when Shadertype :: enum(),Indices :: [integer()]. uniformSubroutinesuiv(Shadertype,Indices) -> cast(5752, <<Shadertype:?GLenum,(length(Indices)):?GLuint, (<< <<C:?GLuint>> || C <- Indices>>)/binary,0:(((length(Indices)) rem 2)*32)>>). @@ -15199,13 +15199,13 @@ getProgramStageiv(Program,Shadertype,Pname) -> %% %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glPatchParameter.xml">external</a> documentation. --spec patchParameteri(Pname, Value) -> ok when Pname :: enum(),Value :: integer(). +-spec patchParameteri(Pname, Value) -> 'ok' when Pname :: enum(),Value :: integer(). patchParameteri(Pname,Value) -> cast(5755, <<Pname:?GLenum,Value:?GLint>>). %% @doc %% See {@link patchParameteri/2} --spec patchParameterfv(Pname, Values) -> ok when Pname :: enum(),Values :: [float()]. +-spec patchParameterfv(Pname, Values) -> 'ok' when Pname :: enum(),Values :: [float()]. patchParameterfv(Pname,Values) -> cast(5756, <<Pname:?GLenum,(length(Values)):?GLuint, (<< <<C:?GLfloat>> || C <- Values>>)/binary,0:(((length(Values)) rem 2)*32)>>). @@ -15229,7 +15229,7 @@ patchParameterfv(Pname,Values) -> %% the currently bound transform feedback object. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glBindTransformFeedback.xml">external</a> documentation. --spec bindTransformFeedback(Target, Id) -> ok when Target :: enum(),Id :: integer(). +-spec bindTransformFeedback(Target, Id) -> 'ok' when Target :: enum(),Id :: integer(). bindTransformFeedback(Target,Id) -> cast(5757, <<Target:?GLenum,Id:?GLuint>>). @@ -15242,7 +15242,7 @@ bindTransformFeedback(Target,Id) -> %% becomes unused, but the underlying object is not deleted until it is no longer active. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glDeleteTransformFeedbacks.xml">external</a> documentation. --spec deleteTransformFeedbacks(Ids) -> ok when Ids :: [integer()]. +-spec deleteTransformFeedbacks(Ids) -> 'ok' when Ids :: [integer()]. deleteTransformFeedbacks(Ids) -> cast(5758, <<(length(Ids)):?GLuint, (<< <<C:?GLuint>> || C <- Ids>>)/binary,0:(((1+length(Ids)) rem 2)*32)>>). @@ -15282,7 +15282,7 @@ isTransformFeedback(Id) -> %% while transform feedback is paused. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glPauseTransformFeedback.xml">external</a> documentation. --spec pauseTransformFeedback() -> ok. +-spec pauseTransformFeedback() -> 'ok'. pauseTransformFeedback() -> cast(5761, <<>>). @@ -15295,7 +15295,7 @@ pauseTransformFeedback() -> %% while transform feedback is paused. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glResumeTransformFeedback.xml">external</a> documentation. --spec resumeTransformFeedback() -> ok. +-spec resumeTransformFeedback() -> 'ok'. resumeTransformFeedback() -> cast(5762, <<>>). @@ -15309,7 +15309,7 @@ resumeTransformFeedback() -> %% by `Id' . %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glDrawTransformFeedback.xml">external</a> documentation. --spec drawTransformFeedback(Mode, Id) -> ok when Mode :: enum(),Id :: integer(). +-spec drawTransformFeedback(Mode, Id) -> 'ok' when Mode :: enum(),Id :: integer(). drawTransformFeedback(Mode,Id) -> cast(5763, <<Mode:?GLenum,Id:?GLuint>>). @@ -15327,14 +15327,14 @@ drawTransformFeedback(Mode,Id) -> %% with `Stream' set to zero. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glDrawTransformFeedbackStream.xml">external</a> documentation. --spec drawTransformFeedbackStream(Mode, Id, Stream) -> ok when Mode :: enum(),Id :: integer(),Stream :: integer(). +-spec drawTransformFeedbackStream(Mode, Id, Stream) -> 'ok' when Mode :: enum(),Id :: integer(),Stream :: integer(). drawTransformFeedbackStream(Mode,Id,Stream) -> cast(5764, <<Mode:?GLenum,Id:?GLuint,Stream:?GLuint>>). %% @doc glBeginQueryIndexe %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glBeginQueryIndexe.xml">external</a> documentation. --spec beginQueryIndexed(Target, Index, Id) -> ok when Target :: enum(),Index :: integer(),Id :: integer(). +-spec beginQueryIndexed(Target, Index, Id) -> 'ok' when Target :: enum(),Index :: integer(),Id :: integer(). beginQueryIndexed(Target,Index,Id) -> cast(5765, <<Target:?GLenum,Index:?GLuint,Id:?GLuint>>). @@ -15411,7 +15411,7 @@ beginQueryIndexed(Target,Index,Id) -> %% is not yet complete. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glBeginQueryIndexed.xml">external</a> documentation. --spec endQueryIndexed(Target, Index) -> ok when Target :: enum(),Index :: integer(). +-spec endQueryIndexed(Target, Index) -> 'ok' when Target :: enum(),Index :: integer(). endQueryIndexed(Target,Index) -> cast(5766, <<Target:?GLenum,Index:?GLuint>>). @@ -15441,7 +15441,7 @@ getQueryIndexediv(Target,Index,Pname) -> %% freed by the call to ``gl:releaseShaderCompiler''. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glReleaseShaderCompiler.xml">external</a> documentation. --spec releaseShaderCompiler() -> ok. +-spec releaseShaderCompiler() -> 'ok'. releaseShaderCompiler() -> cast(5768, <<>>). @@ -15463,7 +15463,7 @@ releaseShaderCompiler() -> %% %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glShaderBinary.xml">external</a> documentation. --spec shaderBinary(Shaders, Binaryformat, Binary) -> ok when Shaders :: [integer()],Binaryformat :: enum(),Binary :: binary(). +-spec shaderBinary(Shaders, Binaryformat, Binary) -> 'ok' when Shaders :: [integer()],Binaryformat :: enum(),Binary :: binary(). shaderBinary(Shaders,Binaryformat,Binary) -> send_bin(Binary), cast(5769, <<(length(Shaders)):?GLuint, @@ -15496,14 +15496,14 @@ getShaderPrecisionFormat(Shadertype,Precisiontype) -> %% @doc %% See {@link depthRange/2} --spec depthRangef(N, F) -> ok when N :: clamp(),F :: clamp(). +-spec depthRangef(N, F) -> 'ok' when N :: clamp(),F :: clamp(). depthRangef(N,F) -> cast(5771, <<N:?GLclampf,F:?GLclampf>>). %% @doc glClearDepthf %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glClearDepthf.xml">external</a> documentation. --spec clearDepthf(D) -> ok when D :: clamp(). +-spec clearDepthf(D) -> 'ok' when D :: clamp(). clearDepthf(D) -> cast(5772, <<D:?GLclampf>>). @@ -15551,7 +15551,7 @@ getProgramBinary(Program,BufSize) -> %% the program was linked before saving are restored with ``gl:programBinary'' is called. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glProgramBinary.xml">external</a> documentation. --spec programBinary(Program, BinaryFormat, Binary) -> ok when Program :: integer(),BinaryFormat :: enum(),Binary :: binary(). +-spec programBinary(Program, BinaryFormat, Binary) -> 'ok' when Program :: integer(),BinaryFormat :: enum(),Binary :: binary(). programBinary(Program,BinaryFormat,Binary) -> send_bin(Binary), cast(5774, <<Program:?GLuint,BinaryFormat:?GLenum>>). @@ -15577,7 +15577,7 @@ programBinary(Program,BinaryFormat,Binary) -> %% is `?GL_FALSE'. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glProgramParameter.xml">external</a> documentation. --spec programParameteri(Program, Pname, Value) -> ok when Program :: integer(),Pname :: enum(),Value :: integer(). +-spec programParameteri(Program, Pname, Value) -> 'ok' when Program :: integer(),Pname :: enum(),Value :: integer(). programParameteri(Program,Pname,Value) -> cast(5775, <<Program:?GLuint,Pname:?GLenum,Value:?GLint>>). @@ -15602,7 +15602,7 @@ programParameteri(Program,Pname,Value) -> %% , an error is generated. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glUseProgramStages.xml">external</a> documentation. --spec useProgramStages(Pipeline, Stages, Program) -> ok when Pipeline :: integer(),Stages :: integer(),Program :: integer(). +-spec useProgramStages(Pipeline, Stages, Program) -> 'ok' when Pipeline :: integer(),Stages :: integer(),Program :: integer(). useProgramStages(Pipeline,Stages,Program) -> cast(5776, <<Pipeline:?GLuint,Stages:?GLbitfield,Program:?GLuint>>). @@ -15614,7 +15614,7 @@ useProgramStages(Pipeline,Stages,Program) -> %% no program has been made current through a call to {@link gl:useProgram/1} . %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glActiveShaderProgram.xml">external</a> documentation. --spec activeShaderProgram(Pipeline, Program) -> ok when Pipeline :: integer(),Program :: integer(). +-spec activeShaderProgram(Pipeline, Program) -> 'ok' when Pipeline :: integer(),Program :: integer(). activeShaderProgram(Pipeline,Program) -> cast(5777, <<Pipeline:?GLuint,Program:?GLuint>>). @@ -15644,7 +15644,7 @@ createShaderProgramv(Type,Strings) -> %% taken from its program objects. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glBindProgramPipeline.xml">external</a> documentation. --spec bindProgramPipeline(Pipeline) -> ok when Pipeline :: integer(). +-spec bindProgramPipeline(Pipeline) -> 'ok' when Pipeline :: integer(). bindProgramPipeline(Pipeline) -> cast(5779, <<Pipeline:?GLuint>>). @@ -15658,7 +15658,7 @@ bindProgramPipeline(Pipeline) -> %% %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glDeleteProgramPipelines.xml">external</a> documentation. --spec deleteProgramPipelines(Pipelines) -> ok when Pipelines :: [integer()]. +-spec deleteProgramPipelines(Pipelines) -> 'ok' when Pipelines :: [integer()]. deleteProgramPipelines(Pipelines) -> cast(5780, <<(length(Pipelines)):?GLuint, (<< <<C:?GLuint>> || C <- Pipelines>>)/binary,0:(((1+length(Pipelines)) rem 2)*32)>>). @@ -15790,334 +15790,334 @@ getProgramPipelineiv(Pipeline,Pname) -> %% a single matrix, and a count greater than 1 can be used to modify an array of matrices. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glProgramUniform.xml">external</a> documentation. --spec programUniform1i(Program, Location, V0) -> ok when Program :: integer(),Location :: integer(),V0 :: integer(). +-spec programUniform1i(Program, Location, V0) -> 'ok' when Program :: integer(),Location :: integer(),V0 :: integer(). programUniform1i(Program,Location,V0) -> cast(5784, <<Program:?GLuint,Location:?GLint,V0:?GLint>>). %% @doc %% See {@link programUniform1i/3} --spec programUniform1iv(Program, Location, Value) -> ok when Program :: integer(),Location :: integer(),Value :: [integer()]. +-spec programUniform1iv(Program, Location, Value) -> 'ok' when Program :: integer(),Location :: integer(),Value :: [integer()]. programUniform1iv(Program,Location,Value) -> cast(5785, <<Program:?GLuint,Location:?GLint,(length(Value)):?GLuint, (<< <<C:?GLint>> || C <- Value>>)/binary,0:(((1+length(Value)) rem 2)*32)>>). %% @doc %% See {@link programUniform1i/3} --spec programUniform1f(Program, Location, V0) -> ok when Program :: integer(),Location :: integer(),V0 :: float(). +-spec programUniform1f(Program, Location, V0) -> 'ok' when Program :: integer(),Location :: integer(),V0 :: float(). programUniform1f(Program,Location,V0) -> cast(5786, <<Program:?GLuint,Location:?GLint,V0:?GLfloat>>). %% @doc %% See {@link programUniform1i/3} --spec programUniform1fv(Program, Location, Value) -> ok when Program :: integer(),Location :: integer(),Value :: [float()]. +-spec programUniform1fv(Program, Location, Value) -> 'ok' when Program :: integer(),Location :: integer(),Value :: [float()]. programUniform1fv(Program,Location,Value) -> cast(5787, <<Program:?GLuint,Location:?GLint,(length(Value)):?GLuint, (<< <<C:?GLfloat>> || C <- Value>>)/binary,0:(((1+length(Value)) rem 2)*32)>>). %% @doc %% See {@link programUniform1i/3} --spec programUniform1d(Program, Location, V0) -> ok when Program :: integer(),Location :: integer(),V0 :: float(). +-spec programUniform1d(Program, Location, V0) -> 'ok' when Program :: integer(),Location :: integer(),V0 :: float(). programUniform1d(Program,Location,V0) -> cast(5788, <<Program:?GLuint,Location:?GLint,V0:?GLdouble>>). %% @doc %% See {@link programUniform1i/3} --spec programUniform1dv(Program, Location, Value) -> ok when Program :: integer(),Location :: integer(),Value :: [float()]. +-spec programUniform1dv(Program, Location, Value) -> 'ok' when Program :: integer(),Location :: integer(),Value :: [float()]. programUniform1dv(Program,Location,Value) -> cast(5789, <<Program:?GLuint,Location:?GLint,(length(Value)):?GLuint,0:32, (<< <<C:?GLdouble>> || C <- Value>>)/binary>>). %% @doc %% See {@link programUniform1i/3} --spec programUniform1ui(Program, Location, V0) -> ok when Program :: integer(),Location :: integer(),V0 :: integer(). +-spec programUniform1ui(Program, Location, V0) -> 'ok' when Program :: integer(),Location :: integer(),V0 :: integer(). programUniform1ui(Program,Location,V0) -> cast(5790, <<Program:?GLuint,Location:?GLint,V0:?GLuint>>). %% @doc %% See {@link programUniform1i/3} --spec programUniform1uiv(Program, Location, Value) -> ok when Program :: integer(),Location :: integer(),Value :: [integer()]. +-spec programUniform1uiv(Program, Location, Value) -> 'ok' when Program :: integer(),Location :: integer(),Value :: [integer()]. programUniform1uiv(Program,Location,Value) -> cast(5791, <<Program:?GLuint,Location:?GLint,(length(Value)):?GLuint, (<< <<C:?GLuint>> || C <- Value>>)/binary,0:(((1+length(Value)) rem 2)*32)>>). %% @doc %% See {@link programUniform1i/3} --spec programUniform2i(Program, Location, V0, V1) -> ok when Program :: integer(),Location :: integer(),V0 :: integer(),V1 :: integer(). +-spec programUniform2i(Program, Location, V0, V1) -> 'ok' when Program :: integer(),Location :: integer(),V0 :: integer(),V1 :: integer(). programUniform2i(Program,Location,V0,V1) -> cast(5792, <<Program:?GLuint,Location:?GLint,V0:?GLint,V1:?GLint>>). %% @doc %% See {@link programUniform1i/3} --spec programUniform2iv(Program, Location, Value) -> ok when Program :: integer(),Location :: integer(),Value :: [{integer(),integer()}]. +-spec programUniform2iv(Program, Location, Value) -> 'ok' when Program :: integer(),Location :: integer(),Value :: [{integer(),integer()}]. programUniform2iv(Program,Location,Value) -> cast(5793, <<Program:?GLuint,Location:?GLint,(length(Value)):?GLuint, (<< <<V1:?GLint,V2:?GLint>> || {V1,V2} <- Value>>)/binary>>). %% @doc %% See {@link programUniform1i/3} --spec programUniform2f(Program, Location, V0, V1) -> ok when Program :: integer(),Location :: integer(),V0 :: float(),V1 :: float(). +-spec programUniform2f(Program, Location, V0, V1) -> 'ok' when Program :: integer(),Location :: integer(),V0 :: float(),V1 :: float(). programUniform2f(Program,Location,V0,V1) -> cast(5794, <<Program:?GLuint,Location:?GLint,V0:?GLfloat,V1:?GLfloat>>). %% @doc %% See {@link programUniform1i/3} --spec programUniform2fv(Program, Location, Value) -> ok when Program :: integer(),Location :: integer(),Value :: [{float(),float()}]. +-spec programUniform2fv(Program, Location, Value) -> 'ok' when Program :: integer(),Location :: integer(),Value :: [{float(),float()}]. programUniform2fv(Program,Location,Value) -> cast(5795, <<Program:?GLuint,Location:?GLint,(length(Value)):?GLuint, (<< <<V1:?GLfloat,V2:?GLfloat>> || {V1,V2} <- Value>>)/binary>>). %% @doc %% See {@link programUniform1i/3} --spec programUniform2d(Program, Location, V0, V1) -> ok when Program :: integer(),Location :: integer(),V0 :: float(),V1 :: float(). +-spec programUniform2d(Program, Location, V0, V1) -> 'ok' when Program :: integer(),Location :: integer(),V0 :: float(),V1 :: float(). programUniform2d(Program,Location,V0,V1) -> cast(5796, <<Program:?GLuint,Location:?GLint,V0:?GLdouble,V1:?GLdouble>>). %% @doc %% See {@link programUniform1i/3} --spec programUniform2dv(Program, Location, Value) -> ok when Program :: integer(),Location :: integer(),Value :: [{float(),float()}]. +-spec programUniform2dv(Program, Location, Value) -> 'ok' when Program :: integer(),Location :: integer(),Value :: [{float(),float()}]. programUniform2dv(Program,Location,Value) -> cast(5797, <<Program:?GLuint,Location:?GLint,(length(Value)):?GLuint,0:32, (<< <<V1:?GLdouble,V2:?GLdouble>> || {V1,V2} <- Value>>)/binary>>). %% @doc %% See {@link programUniform1i/3} --spec programUniform2ui(Program, Location, V0, V1) -> ok when Program :: integer(),Location :: integer(),V0 :: integer(),V1 :: integer(). +-spec programUniform2ui(Program, Location, V0, V1) -> 'ok' when Program :: integer(),Location :: integer(),V0 :: integer(),V1 :: integer(). programUniform2ui(Program,Location,V0,V1) -> cast(5798, <<Program:?GLuint,Location:?GLint,V0:?GLuint,V1:?GLuint>>). %% @doc %% See {@link programUniform1i/3} --spec programUniform2uiv(Program, Location, Value) -> ok when Program :: integer(),Location :: integer(),Value :: [{integer(),integer()}]. +-spec programUniform2uiv(Program, Location, Value) -> 'ok' when Program :: integer(),Location :: integer(),Value :: [{integer(),integer()}]. programUniform2uiv(Program,Location,Value) -> cast(5799, <<Program:?GLuint,Location:?GLint,(length(Value)):?GLuint, (<< <<V1:?GLuint,V2:?GLuint>> || {V1,V2} <- Value>>)/binary>>). %% @doc %% See {@link programUniform1i/3} --spec programUniform3i(Program, Location, V0, V1, V2) -> ok when Program :: integer(),Location :: integer(),V0 :: integer(),V1 :: integer(),V2 :: integer(). +-spec programUniform3i(Program, Location, V0, V1, V2) -> 'ok' when Program :: integer(),Location :: integer(),V0 :: integer(),V1 :: integer(),V2 :: integer(). programUniform3i(Program,Location,V0,V1,V2) -> cast(5800, <<Program:?GLuint,Location:?GLint,V0:?GLint,V1:?GLint,V2:?GLint>>). %% @doc %% See {@link programUniform1i/3} --spec programUniform3iv(Program, Location, Value) -> ok when Program :: integer(),Location :: integer(),Value :: [{integer(),integer(),integer()}]. +-spec programUniform3iv(Program, Location, Value) -> 'ok' when Program :: integer(),Location :: integer(),Value :: [{integer(),integer(),integer()}]. programUniform3iv(Program,Location,Value) -> cast(5801, <<Program:?GLuint,Location:?GLint,(length(Value)):?GLuint, (<< <<V1:?GLint,V2:?GLint,V3:?GLint>> || {V1,V2,V3} <- Value>>)/binary>>). %% @doc %% See {@link programUniform1i/3} --spec programUniform3f(Program, Location, V0, V1, V2) -> ok when Program :: integer(),Location :: integer(),V0 :: float(),V1 :: float(),V2 :: float(). +-spec programUniform3f(Program, Location, V0, V1, V2) -> 'ok' when Program :: integer(),Location :: integer(),V0 :: float(),V1 :: float(),V2 :: float(). programUniform3f(Program,Location,V0,V1,V2) -> cast(5802, <<Program:?GLuint,Location:?GLint,V0:?GLfloat,V1:?GLfloat,V2:?GLfloat>>). %% @doc %% See {@link programUniform1i/3} --spec programUniform3fv(Program, Location, Value) -> ok when Program :: integer(),Location :: integer(),Value :: [{float(),float(),float()}]. +-spec programUniform3fv(Program, Location, Value) -> 'ok' when Program :: integer(),Location :: integer(),Value :: [{float(),float(),float()}]. programUniform3fv(Program,Location,Value) -> cast(5803, <<Program:?GLuint,Location:?GLint,(length(Value)):?GLuint, (<< <<V1:?GLfloat,V2:?GLfloat,V3:?GLfloat>> || {V1,V2,V3} <- Value>>)/binary>>). %% @doc %% See {@link programUniform1i/3} --spec programUniform3d(Program, Location, V0, V1, V2) -> ok when Program :: integer(),Location :: integer(),V0 :: float(),V1 :: float(),V2 :: float(). +-spec programUniform3d(Program, Location, V0, V1, V2) -> 'ok' when Program :: integer(),Location :: integer(),V0 :: float(),V1 :: float(),V2 :: float(). programUniform3d(Program,Location,V0,V1,V2) -> cast(5804, <<Program:?GLuint,Location:?GLint,V0:?GLdouble,V1:?GLdouble,V2:?GLdouble>>). %% @doc %% See {@link programUniform1i/3} --spec programUniform3dv(Program, Location, Value) -> ok when Program :: integer(),Location :: integer(),Value :: [{float(),float(),float()}]. +-spec programUniform3dv(Program, Location, Value) -> 'ok' when Program :: integer(),Location :: integer(),Value :: [{float(),float(),float()}]. programUniform3dv(Program,Location,Value) -> cast(5805, <<Program:?GLuint,Location:?GLint,(length(Value)):?GLuint,0:32, (<< <<V1:?GLdouble,V2:?GLdouble,V3:?GLdouble>> || {V1,V2,V3} <- Value>>)/binary>>). %% @doc %% See {@link programUniform1i/3} --spec programUniform3ui(Program, Location, V0, V1, V2) -> ok when Program :: integer(),Location :: integer(),V0 :: integer(),V1 :: integer(),V2 :: integer(). +-spec programUniform3ui(Program, Location, V0, V1, V2) -> 'ok' when Program :: integer(),Location :: integer(),V0 :: integer(),V1 :: integer(),V2 :: integer(). programUniform3ui(Program,Location,V0,V1,V2) -> cast(5806, <<Program:?GLuint,Location:?GLint,V0:?GLuint,V1:?GLuint,V2:?GLuint>>). %% @doc %% See {@link programUniform1i/3} --spec programUniform3uiv(Program, Location, Value) -> ok when Program :: integer(),Location :: integer(),Value :: [{integer(),integer(),integer()}]. +-spec programUniform3uiv(Program, Location, Value) -> 'ok' when Program :: integer(),Location :: integer(),Value :: [{integer(),integer(),integer()}]. programUniform3uiv(Program,Location,Value) -> cast(5807, <<Program:?GLuint,Location:?GLint,(length(Value)):?GLuint, (<< <<V1:?GLuint,V2:?GLuint,V3:?GLuint>> || {V1,V2,V3} <- Value>>)/binary>>). %% @doc %% See {@link programUniform1i/3} --spec programUniform4i(Program, Location, V0, V1, V2, V3) -> ok when Program :: integer(),Location :: integer(),V0 :: integer(),V1 :: integer(),V2 :: integer(),V3 :: integer(). +-spec programUniform4i(Program, Location, V0, V1, V2, V3) -> 'ok' when Program :: integer(),Location :: integer(),V0 :: integer(),V1 :: integer(),V2 :: integer(),V3 :: integer(). programUniform4i(Program,Location,V0,V1,V2,V3) -> cast(5808, <<Program:?GLuint,Location:?GLint,V0:?GLint,V1:?GLint,V2:?GLint,V3:?GLint>>). %% @doc %% See {@link programUniform1i/3} --spec programUniform4iv(Program, Location, Value) -> ok when Program :: integer(),Location :: integer(),Value :: [{integer(),integer(),integer(),integer()}]. +-spec programUniform4iv(Program, Location, Value) -> 'ok' when Program :: integer(),Location :: integer(),Value :: [{integer(),integer(),integer(),integer()}]. programUniform4iv(Program,Location,Value) -> cast(5809, <<Program:?GLuint,Location:?GLint,(length(Value)):?GLuint, (<< <<V1:?GLint,V2:?GLint,V3:?GLint,V4:?GLint>> || {V1,V2,V3,V4} <- Value>>)/binary>>). %% @doc %% See {@link programUniform1i/3} --spec programUniform4f(Program, Location, V0, V1, V2, V3) -> ok when Program :: integer(),Location :: integer(),V0 :: float(),V1 :: float(),V2 :: float(),V3 :: float(). +-spec programUniform4f(Program, Location, V0, V1, V2, V3) -> 'ok' when Program :: integer(),Location :: integer(),V0 :: float(),V1 :: float(),V2 :: float(),V3 :: float(). programUniform4f(Program,Location,V0,V1,V2,V3) -> cast(5810, <<Program:?GLuint,Location:?GLint,V0:?GLfloat,V1:?GLfloat,V2:?GLfloat,V3:?GLfloat>>). %% @doc %% See {@link programUniform1i/3} --spec programUniform4fv(Program, Location, Value) -> ok when Program :: integer(),Location :: integer(),Value :: [{float(),float(),float(),float()}]. +-spec programUniform4fv(Program, Location, Value) -> 'ok' when Program :: integer(),Location :: integer(),Value :: [{float(),float(),float(),float()}]. programUniform4fv(Program,Location,Value) -> cast(5811, <<Program:?GLuint,Location:?GLint,(length(Value)):?GLuint, (<< <<V1:?GLfloat,V2:?GLfloat,V3:?GLfloat,V4:?GLfloat>> || {V1,V2,V3,V4} <- Value>>)/binary>>). %% @doc %% See {@link programUniform1i/3} --spec programUniform4d(Program, Location, V0, V1, V2, V3) -> ok when Program :: integer(),Location :: integer(),V0 :: float(),V1 :: float(),V2 :: float(),V3 :: float(). +-spec programUniform4d(Program, Location, V0, V1, V2, V3) -> 'ok' when Program :: integer(),Location :: integer(),V0 :: float(),V1 :: float(),V2 :: float(),V3 :: float(). programUniform4d(Program,Location,V0,V1,V2,V3) -> cast(5812, <<Program:?GLuint,Location:?GLint,V0:?GLdouble,V1:?GLdouble,V2:?GLdouble,V3:?GLdouble>>). %% @doc %% See {@link programUniform1i/3} --spec programUniform4dv(Program, Location, Value) -> ok when Program :: integer(),Location :: integer(),Value :: [{float(),float(),float(),float()}]. +-spec programUniform4dv(Program, Location, Value) -> 'ok' when Program :: integer(),Location :: integer(),Value :: [{float(),float(),float(),float()}]. programUniform4dv(Program,Location,Value) -> cast(5813, <<Program:?GLuint,Location:?GLint,(length(Value)):?GLuint,0:32, (<< <<V1:?GLdouble,V2:?GLdouble,V3:?GLdouble,V4:?GLdouble>> || {V1,V2,V3,V4} <- Value>>)/binary>>). %% @doc %% See {@link programUniform1i/3} --spec programUniform4ui(Program, Location, V0, V1, V2, V3) -> ok when Program :: integer(),Location :: integer(),V0 :: integer(),V1 :: integer(),V2 :: integer(),V3 :: integer(). +-spec programUniform4ui(Program, Location, V0, V1, V2, V3) -> 'ok' when Program :: integer(),Location :: integer(),V0 :: integer(),V1 :: integer(),V2 :: integer(),V3 :: integer(). programUniform4ui(Program,Location,V0,V1,V2,V3) -> cast(5814, <<Program:?GLuint,Location:?GLint,V0:?GLuint,V1:?GLuint,V2:?GLuint,V3:?GLuint>>). %% @doc %% See {@link programUniform1i/3} --spec programUniform4uiv(Program, Location, Value) -> ok when Program :: integer(),Location :: integer(),Value :: [{integer(),integer(),integer(),integer()}]. +-spec programUniform4uiv(Program, Location, Value) -> 'ok' when Program :: integer(),Location :: integer(),Value :: [{integer(),integer(),integer(),integer()}]. programUniform4uiv(Program,Location,Value) -> cast(5815, <<Program:?GLuint,Location:?GLint,(length(Value)):?GLuint, (<< <<V1:?GLuint,V2:?GLuint,V3:?GLuint,V4:?GLuint>> || {V1,V2,V3,V4} <- Value>>)/binary>>). %% @doc %% See {@link programUniform1i/3} --spec programUniformMatrix2fv(Program, Location, Transpose, Value) -> ok when Program :: integer(),Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float()}]. +-spec programUniformMatrix2fv(Program, Location, Transpose, Value) -> 'ok' when Program :: integer(),Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float()}]. programUniformMatrix2fv(Program,Location,Transpose,Value) -> cast(5816, <<Program:?GLuint,Location:?GLint,Transpose:?GLboolean,0:24,(length(Value)):?GLuint, (<< <<V1:?GLfloat,V2:?GLfloat,V3:?GLfloat,V4:?GLfloat>> || {V1,V2,V3,V4} <- Value>>)/binary>>). %% @doc %% See {@link programUniform1i/3} --spec programUniformMatrix3fv(Program, Location, Transpose, Value) -> ok when Program :: integer(),Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float(),float(),float(),float()}]. +-spec programUniformMatrix3fv(Program, Location, Transpose, Value) -> 'ok' when Program :: integer(),Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float(),float(),float(),float()}]. programUniformMatrix3fv(Program,Location,Transpose,Value) -> cast(5817, <<Program:?GLuint,Location:?GLint,Transpose:?GLboolean,0:24,(length(Value)):?GLuint, (<< <<V1:?GLfloat,V2:?GLfloat,V3:?GLfloat,V4:?GLfloat,V5:?GLfloat,V6:?GLfloat,V7:?GLfloat,V8:?GLfloat,V9:?GLfloat>> || {V1,V2,V3,V4,V5,V6,V7,V8,V9} <- Value>>)/binary>>). %% @doc %% See {@link programUniform1i/3} --spec programUniformMatrix4fv(Program, Location, Transpose, Value) -> ok when Program :: integer(),Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float()}]. +-spec programUniformMatrix4fv(Program, Location, Transpose, Value) -> 'ok' when Program :: integer(),Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float()}]. programUniformMatrix4fv(Program,Location,Transpose,Value) -> cast(5818, <<Program:?GLuint,Location:?GLint,Transpose:?GLboolean,0:24,(length(Value)):?GLuint, (<< <<V1:?GLfloat,V2:?GLfloat,V3:?GLfloat,V4:?GLfloat,V5:?GLfloat,V6:?GLfloat,V7:?GLfloat,V8:?GLfloat,V9:?GLfloat,V10:?GLfloat,V11:?GLfloat,V12:?GLfloat,V13:?GLfloat,V14:?GLfloat,V15:?GLfloat,V16:?GLfloat>> || {V1,V2,V3,V4,V5,V6,V7,V8,V9,V10,V11,V12,V13,V14,V15,V16} <- Value>>)/binary>>). %% @doc %% See {@link programUniform1i/3} --spec programUniformMatrix2dv(Program, Location, Transpose, Value) -> ok when Program :: integer(),Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float()}]. +-spec programUniformMatrix2dv(Program, Location, Transpose, Value) -> 'ok' when Program :: integer(),Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float()}]. programUniformMatrix2dv(Program,Location,Transpose,Value) -> cast(5819, <<Program:?GLuint,Location:?GLint,Transpose:?GLboolean,0:56,(length(Value)):?GLuint,0:32, (<< <<V1:?GLdouble,V2:?GLdouble,V3:?GLdouble,V4:?GLdouble>> || {V1,V2,V3,V4} <- Value>>)/binary>>). %% @doc %% See {@link programUniform1i/3} --spec programUniformMatrix3dv(Program, Location, Transpose, Value) -> ok when Program :: integer(),Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float(),float(),float(),float()}]. +-spec programUniformMatrix3dv(Program, Location, Transpose, Value) -> 'ok' when Program :: integer(),Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float(),float(),float(),float()}]. programUniformMatrix3dv(Program,Location,Transpose,Value) -> cast(5820, <<Program:?GLuint,Location:?GLint,Transpose:?GLboolean,0:56,(length(Value)):?GLuint,0:32, (<< <<V1:?GLdouble,V2:?GLdouble,V3:?GLdouble,V4:?GLdouble,V5:?GLdouble,V6:?GLdouble,V7:?GLdouble,V8:?GLdouble,V9:?GLdouble>> || {V1,V2,V3,V4,V5,V6,V7,V8,V9} <- Value>>)/binary>>). %% @doc %% See {@link programUniform1i/3} --spec programUniformMatrix4dv(Program, Location, Transpose, Value) -> ok when Program :: integer(),Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float()}]. +-spec programUniformMatrix4dv(Program, Location, Transpose, Value) -> 'ok' when Program :: integer(),Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float()}]. programUniformMatrix4dv(Program,Location,Transpose,Value) -> cast(5821, <<Program:?GLuint,Location:?GLint,Transpose:?GLboolean,0:56,(length(Value)):?GLuint,0:32, (<< <<V1:?GLdouble,V2:?GLdouble,V3:?GLdouble,V4:?GLdouble,V5:?GLdouble,V6:?GLdouble,V7:?GLdouble,V8:?GLdouble,V9:?GLdouble,V10:?GLdouble,V11:?GLdouble,V12:?GLdouble,V13:?GLdouble,V14:?GLdouble,V15:?GLdouble,V16:?GLdouble>> || {V1,V2,V3,V4,V5,V6,V7,V8,V9,V10,V11,V12,V13,V14,V15,V16} <- Value>>)/binary>>). %% @doc %% See {@link programUniform1i/3} --spec programUniformMatrix2x3fv(Program, Location, Transpose, Value) -> ok when Program :: integer(),Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float()}]. +-spec programUniformMatrix2x3fv(Program, Location, Transpose, Value) -> 'ok' when Program :: integer(),Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float()}]. programUniformMatrix2x3fv(Program,Location,Transpose,Value) -> cast(5822, <<Program:?GLuint,Location:?GLint,Transpose:?GLboolean,0:24,(length(Value)):?GLuint, (<< <<V1:?GLfloat,V2:?GLfloat,V3:?GLfloat,V4:?GLfloat,V5:?GLfloat,V6:?GLfloat>> || {V1,V2,V3,V4,V5,V6} <- Value>>)/binary>>). %% @doc %% See {@link programUniform1i/3} --spec programUniformMatrix3x2fv(Program, Location, Transpose, Value) -> ok when Program :: integer(),Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float()}]. +-spec programUniformMatrix3x2fv(Program, Location, Transpose, Value) -> 'ok' when Program :: integer(),Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float()}]. programUniformMatrix3x2fv(Program,Location,Transpose,Value) -> cast(5823, <<Program:?GLuint,Location:?GLint,Transpose:?GLboolean,0:24,(length(Value)):?GLuint, (<< <<V1:?GLfloat,V2:?GLfloat,V3:?GLfloat,V4:?GLfloat,V5:?GLfloat,V6:?GLfloat>> || {V1,V2,V3,V4,V5,V6} <- Value>>)/binary>>). %% @doc %% See {@link programUniform1i/3} --spec programUniformMatrix2x4fv(Program, Location, Transpose, Value) -> ok when Program :: integer(),Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float(),float(),float()}]. +-spec programUniformMatrix2x4fv(Program, Location, Transpose, Value) -> 'ok' when Program :: integer(),Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float(),float(),float()}]. programUniformMatrix2x4fv(Program,Location,Transpose,Value) -> cast(5824, <<Program:?GLuint,Location:?GLint,Transpose:?GLboolean,0:24,(length(Value)):?GLuint, (<< <<V1:?GLfloat,V2:?GLfloat,V3:?GLfloat,V4:?GLfloat,V5:?GLfloat,V6:?GLfloat,V7:?GLfloat,V8:?GLfloat>> || {V1,V2,V3,V4,V5,V6,V7,V8} <- Value>>)/binary>>). %% @doc %% See {@link programUniform1i/3} --spec programUniformMatrix4x2fv(Program, Location, Transpose, Value) -> ok when Program :: integer(),Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float(),float(),float()}]. +-spec programUniformMatrix4x2fv(Program, Location, Transpose, Value) -> 'ok' when Program :: integer(),Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float(),float(),float()}]. programUniformMatrix4x2fv(Program,Location,Transpose,Value) -> cast(5825, <<Program:?GLuint,Location:?GLint,Transpose:?GLboolean,0:24,(length(Value)):?GLuint, (<< <<V1:?GLfloat,V2:?GLfloat,V3:?GLfloat,V4:?GLfloat,V5:?GLfloat,V6:?GLfloat,V7:?GLfloat,V8:?GLfloat>> || {V1,V2,V3,V4,V5,V6,V7,V8} <- Value>>)/binary>>). %% @doc %% See {@link programUniform1i/3} --spec programUniformMatrix3x4fv(Program, Location, Transpose, Value) -> ok when Program :: integer(),Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float()}]. +-spec programUniformMatrix3x4fv(Program, Location, Transpose, Value) -> 'ok' when Program :: integer(),Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float()}]. programUniformMatrix3x4fv(Program,Location,Transpose,Value) -> cast(5826, <<Program:?GLuint,Location:?GLint,Transpose:?GLboolean,0:24,(length(Value)):?GLuint, (<< <<V1:?GLfloat,V2:?GLfloat,V3:?GLfloat,V4:?GLfloat,V5:?GLfloat,V6:?GLfloat,V7:?GLfloat,V8:?GLfloat,V9:?GLfloat,V10:?GLfloat,V11:?GLfloat,V12:?GLfloat>> || {V1,V2,V3,V4,V5,V6,V7,V8,V9,V10,V11,V12} <- Value>>)/binary>>). %% @doc %% See {@link programUniform1i/3} --spec programUniformMatrix4x3fv(Program, Location, Transpose, Value) -> ok when Program :: integer(),Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float()}]. +-spec programUniformMatrix4x3fv(Program, Location, Transpose, Value) -> 'ok' when Program :: integer(),Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float()}]. programUniformMatrix4x3fv(Program,Location,Transpose,Value) -> cast(5827, <<Program:?GLuint,Location:?GLint,Transpose:?GLboolean,0:24,(length(Value)):?GLuint, (<< <<V1:?GLfloat,V2:?GLfloat,V3:?GLfloat,V4:?GLfloat,V5:?GLfloat,V6:?GLfloat,V7:?GLfloat,V8:?GLfloat,V9:?GLfloat,V10:?GLfloat,V11:?GLfloat,V12:?GLfloat>> || {V1,V2,V3,V4,V5,V6,V7,V8,V9,V10,V11,V12} <- Value>>)/binary>>). %% @doc %% See {@link programUniform1i/3} --spec programUniformMatrix2x3dv(Program, Location, Transpose, Value) -> ok when Program :: integer(),Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float()}]. +-spec programUniformMatrix2x3dv(Program, Location, Transpose, Value) -> 'ok' when Program :: integer(),Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float()}]. programUniformMatrix2x3dv(Program,Location,Transpose,Value) -> cast(5828, <<Program:?GLuint,Location:?GLint,Transpose:?GLboolean,0:56,(length(Value)):?GLuint,0:32, (<< <<V1:?GLdouble,V2:?GLdouble,V3:?GLdouble,V4:?GLdouble,V5:?GLdouble,V6:?GLdouble>> || {V1,V2,V3,V4,V5,V6} <- Value>>)/binary>>). %% @doc %% See {@link programUniform1i/3} --spec programUniformMatrix3x2dv(Program, Location, Transpose, Value) -> ok when Program :: integer(),Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float()}]. +-spec programUniformMatrix3x2dv(Program, Location, Transpose, Value) -> 'ok' when Program :: integer(),Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float()}]. programUniformMatrix3x2dv(Program,Location,Transpose,Value) -> cast(5829, <<Program:?GLuint,Location:?GLint,Transpose:?GLboolean,0:56,(length(Value)):?GLuint,0:32, (<< <<V1:?GLdouble,V2:?GLdouble,V3:?GLdouble,V4:?GLdouble,V5:?GLdouble,V6:?GLdouble>> || {V1,V2,V3,V4,V5,V6} <- Value>>)/binary>>). %% @doc %% See {@link programUniform1i/3} --spec programUniformMatrix2x4dv(Program, Location, Transpose, Value) -> ok when Program :: integer(),Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float(),float(),float()}]. +-spec programUniformMatrix2x4dv(Program, Location, Transpose, Value) -> 'ok' when Program :: integer(),Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float(),float(),float()}]. programUniformMatrix2x4dv(Program,Location,Transpose,Value) -> cast(5830, <<Program:?GLuint,Location:?GLint,Transpose:?GLboolean,0:56,(length(Value)):?GLuint,0:32, (<< <<V1:?GLdouble,V2:?GLdouble,V3:?GLdouble,V4:?GLdouble,V5:?GLdouble,V6:?GLdouble,V7:?GLdouble,V8:?GLdouble>> || {V1,V2,V3,V4,V5,V6,V7,V8} <- Value>>)/binary>>). %% @doc %% See {@link programUniform1i/3} --spec programUniformMatrix4x2dv(Program, Location, Transpose, Value) -> ok when Program :: integer(),Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float(),float(),float()}]. +-spec programUniformMatrix4x2dv(Program, Location, Transpose, Value) -> 'ok' when Program :: integer(),Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float(),float(),float()}]. programUniformMatrix4x2dv(Program,Location,Transpose,Value) -> cast(5831, <<Program:?GLuint,Location:?GLint,Transpose:?GLboolean,0:56,(length(Value)):?GLuint,0:32, (<< <<V1:?GLdouble,V2:?GLdouble,V3:?GLdouble,V4:?GLdouble,V5:?GLdouble,V6:?GLdouble,V7:?GLdouble,V8:?GLdouble>> || {V1,V2,V3,V4,V5,V6,V7,V8} <- Value>>)/binary>>). %% @doc %% See {@link programUniform1i/3} --spec programUniformMatrix3x4dv(Program, Location, Transpose, Value) -> ok when Program :: integer(),Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float()}]. +-spec programUniformMatrix3x4dv(Program, Location, Transpose, Value) -> 'ok' when Program :: integer(),Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float()}]. programUniformMatrix3x4dv(Program,Location,Transpose,Value) -> cast(5832, <<Program:?GLuint,Location:?GLint,Transpose:?GLboolean,0:56,(length(Value)):?GLuint,0:32, (<< <<V1:?GLdouble,V2:?GLdouble,V3:?GLdouble,V4:?GLdouble,V5:?GLdouble,V6:?GLdouble,V7:?GLdouble,V8:?GLdouble,V9:?GLdouble,V10:?GLdouble,V11:?GLdouble,V12:?GLdouble>> || {V1,V2,V3,V4,V5,V6,V7,V8,V9,V10,V11,V12} <- Value>>)/binary>>). %% @doc %% See {@link programUniform1i/3} --spec programUniformMatrix4x3dv(Program, Location, Transpose, Value) -> ok when Program :: integer(),Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float()}]. +-spec programUniformMatrix4x3dv(Program, Location, Transpose, Value) -> 'ok' when Program :: integer(),Location :: integer(),Transpose :: 0|1,Value :: [{float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float(),float()}]. programUniformMatrix4x3dv(Program,Location,Transpose,Value) -> cast(5833, <<Program:?GLuint,Location:?GLint,Transpose:?GLboolean,0:56,(length(Value)):?GLuint,0:32, (<< <<V1:?GLdouble,V2:?GLdouble,V3:?GLdouble,V4:?GLdouble,V5:?GLdouble,V6:?GLdouble,V7:?GLdouble,V8:?GLdouble,V9:?GLdouble,V10:?GLdouble,V11:?GLdouble,V12:?GLdouble>> || {V1,V2,V3,V4,V5,V6,V7,V8,V9,V10,V11,V12} <- Value>>)/binary>>). @@ -16138,7 +16138,7 @@ programUniformMatrix4x3dv(Program,Location,Transpose,Value) -> %% pipeline object is created with name `Pipeline' and the default state vector. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glValidateProgramPipeline.xml">external</a> documentation. --spec validateProgramPipeline(Pipeline) -> ok when Pipeline :: integer(). +-spec validateProgramPipeline(Pipeline) -> 'ok' when Pipeline :: integer(). validateProgramPipeline(Pipeline) -> cast(5834, <<Pipeline:?GLuint>>). @@ -16162,51 +16162,51 @@ getProgramPipelineInfoLog(Pipeline,BufSize) -> %% @doc glVertexAttribL %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glVertexAttribL.xml">external</a> documentation. --spec vertexAttribL1d(Index, X) -> ok when Index :: integer(),X :: float(). +-spec vertexAttribL1d(Index, X) -> 'ok' when Index :: integer(),X :: float(). vertexAttribL1d(Index,X) -> cast(5836, <<Index:?GLuint,0:32,X:?GLdouble>>). %% @doc glVertexAttribL %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glVertexAttribL.xml">external</a> documentation. --spec vertexAttribL2d(Index, X, Y) -> ok when Index :: integer(),X :: float(),Y :: float(). +-spec vertexAttribL2d(Index, X, Y) -> 'ok' when Index :: integer(),X :: float(),Y :: float(). vertexAttribL2d(Index,X,Y) -> cast(5837, <<Index:?GLuint,0:32,X:?GLdouble,Y:?GLdouble>>). %% @doc glVertexAttribL %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glVertexAttribL.xml">external</a> documentation. --spec vertexAttribL3d(Index, X, Y, Z) -> ok when Index :: integer(),X :: float(),Y :: float(),Z :: float(). +-spec vertexAttribL3d(Index, X, Y, Z) -> 'ok' when Index :: integer(),X :: float(),Y :: float(),Z :: float(). vertexAttribL3d(Index,X,Y,Z) -> cast(5838, <<Index:?GLuint,0:32,X:?GLdouble,Y:?GLdouble,Z:?GLdouble>>). %% @doc glVertexAttribL %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glVertexAttribL.xml">external</a> documentation. --spec vertexAttribL4d(Index, X, Y, Z, W) -> ok when Index :: integer(),X :: float(),Y :: float(),Z :: float(),W :: float(). +-spec vertexAttribL4d(Index, X, Y, Z, W) -> 'ok' when Index :: integer(),X :: float(),Y :: float(),Z :: float(),W :: float(). vertexAttribL4d(Index,X,Y,Z,W) -> cast(5839, <<Index:?GLuint,0:32,X:?GLdouble,Y:?GLdouble,Z:?GLdouble,W:?GLdouble>>). %% @equiv vertexAttribL1d(Index,X) --spec vertexAttribL1dv(Index :: integer(),V) -> ok when V :: {X :: float()}. +-spec vertexAttribL1dv(Index :: integer(),V) -> 'ok' when V :: {X :: float()}. vertexAttribL1dv(Index,{X}) -> vertexAttribL1d(Index,X). %% @equiv vertexAttribL2d(Index,X,Y) --spec vertexAttribL2dv(Index :: integer(),V) -> ok when V :: {X :: float(),Y :: float()}. +-spec vertexAttribL2dv(Index :: integer(),V) -> 'ok' when V :: {X :: float(),Y :: float()}. vertexAttribL2dv(Index,{X,Y}) -> vertexAttribL2d(Index,X,Y). %% @equiv vertexAttribL3d(Index,X,Y,Z) --spec vertexAttribL3dv(Index :: integer(),V) -> ok when V :: {X :: float(),Y :: float(),Z :: float()}. +-spec vertexAttribL3dv(Index :: integer(),V) -> 'ok' when V :: {X :: float(),Y :: float(),Z :: float()}. vertexAttribL3dv(Index,{X,Y,Z}) -> vertexAttribL3d(Index,X,Y,Z). %% @equiv vertexAttribL4d(Index,X,Y,Z,W) --spec vertexAttribL4dv(Index :: integer(),V) -> ok when V :: {X :: float(),Y :: float(),Z :: float(),W :: float()}. +-spec vertexAttribL4dv(Index :: integer(),V) -> 'ok' when V :: {X :: float(),Y :: float(),Z :: float(),W :: float()}. vertexAttribL4dv(Index,{X,Y,Z,W}) -> vertexAttribL4d(Index,X,Y,Z,W). %% @doc glVertexAttribLPointer %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glVertexAttribLPointer.xml">external</a> documentation. --spec vertexAttribLPointer(Index, Size, Type, Stride, Pointer) -> ok when Index :: integer(),Size :: integer(),Type :: enum(),Stride :: integer(),Pointer :: offset()|mem(). +-spec vertexAttribLPointer(Index, Size, Type, Stride, Pointer) -> 'ok' when Index :: integer(),Size :: integer(),Type :: enum(),Stride :: integer(),Pointer :: offset()|mem(). vertexAttribLPointer(Index,Size,Type,Stride,Pointer) when is_integer(Pointer) -> cast(5840, <<Index:?GLuint,Size:?GLint,Type:?GLenum,Stride:?GLsizei,Pointer:?GLuint>>); vertexAttribLPointer(Index,Size,Type,Stride,Pointer) -> @@ -16223,7 +16223,7 @@ getVertexAttribLdv(Index,Pname) -> %% @doc glViewportArrayv %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glViewportArrayv.xml">external</a> documentation. --spec viewportArrayv(First, V) -> ok when First :: integer(),V :: [{float(),float(),float(),float()}]. +-spec viewportArrayv(First, V) -> 'ok' when First :: integer(),V :: [{float(),float(),float(),float()}]. viewportArrayv(First,V) -> cast(5843, <<First:?GLuint,(length(V)):?GLuint, (<< <<V1:?GLfloat,V2:?GLfloat,V3:?GLfloat,V4:?GLfloat>> || {V1,V2,V3,V4} <- V>>)/binary>>). @@ -16263,20 +16263,20 @@ viewportArrayv(First,V) -> %% 1, v); } %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glViewportIndexed.xml">external</a> documentation. --spec viewportIndexedf(Index, X, Y, W, H) -> ok when Index :: integer(),X :: float(),Y :: float(),W :: float(),H :: float(). +-spec viewportIndexedf(Index, X, Y, W, H) -> 'ok' when Index :: integer(),X :: float(),Y :: float(),W :: float(),H :: float(). viewportIndexedf(Index,X,Y,W,H) -> cast(5844, <<Index:?GLuint,X:?GLfloat,Y:?GLfloat,W:?GLfloat,H:?GLfloat>>). %% @doc %% See {@link viewportIndexedf/5} --spec viewportIndexedfv(Index, V) -> ok when Index :: integer(),V :: {float(),float(),float(),float()}. +-spec viewportIndexedfv(Index, V) -> 'ok' when Index :: integer(),V :: {float(),float(),float(),float()}. viewportIndexedfv(Index,{V1,V2,V3,V4}) -> cast(5845, <<Index:?GLuint,V1:?GLfloat,V2:?GLfloat,V3:?GLfloat,V4:?GLfloat>>). %% @doc glScissorArrayv %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glScissorArrayv.xml">external</a> documentation. --spec scissorArrayv(First, V) -> ok when First :: integer(),V :: [{integer(),integer(),integer(),integer()}]. +-spec scissorArrayv(First, V) -> 'ok' when First :: integer(),V :: [{integer(),integer(),integer(),integer()}]. scissorArrayv(First,V) -> cast(5846, <<First:?GLuint,(length(V)):?GLuint, (<< <<V1:?GLint,V2:?GLint,V3:?GLint,V4:?GLint>> || {V1,V2,V3,V4} <- V>>)/binary>>). @@ -16284,21 +16284,21 @@ scissorArrayv(First,V) -> %% @doc glScissorIndexe %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glScissorIndexe.xml">external</a> documentation. --spec scissorIndexed(Index, Left, Bottom, Width, Height) -> ok when Index :: integer(),Left :: integer(),Bottom :: integer(),Width :: integer(),Height :: integer(). +-spec scissorIndexed(Index, Left, Bottom, Width, Height) -> 'ok' when Index :: integer(),Left :: integer(),Bottom :: integer(),Width :: integer(),Height :: integer(). scissorIndexed(Index,Left,Bottom,Width,Height) -> cast(5847, <<Index:?GLuint,Left:?GLint,Bottom:?GLint,Width:?GLsizei,Height:?GLsizei>>). %% @doc glScissorIndexe %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glScissorIndexe.xml">external</a> documentation. --spec scissorIndexedv(Index, V) -> ok when Index :: integer(),V :: {integer(),integer(),integer(),integer()}. +-spec scissorIndexedv(Index, V) -> 'ok' when Index :: integer(),V :: {integer(),integer(),integer(),integer()}. scissorIndexedv(Index,{V1,V2,V3,V4}) -> cast(5848, <<Index:?GLuint,V1:?GLint,V2:?GLint,V3:?GLint,V4:?GLint>>). %% @doc glDepthRangeArrayv %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glDepthRangeArrayv.xml">external</a> documentation. --spec depthRangeArrayv(First, V) -> ok when First :: integer(),V :: [{clamp(),clamp()}]. +-spec depthRangeArrayv(First, V) -> 'ok' when First :: integer(),V :: [{clamp(),clamp()}]. depthRangeArrayv(First,V) -> cast(5849, <<First:?GLuint,0:32,(length(V)):?GLuint,0:32, (<< <<V1:?GLclampd,V2:?GLclampd>> || {V1,V2} <- V>>)/binary>>). @@ -16306,7 +16306,7 @@ depthRangeArrayv(First,V) -> %% @doc glDepthRangeIndexe %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glDepthRangeIndexe.xml">external</a> documentation. --spec depthRangeIndexed(Index, N, F) -> ok when Index :: integer(),N :: clamp(),F :: clamp(). +-spec depthRangeIndexed(Index, N, F) -> 'ok' when Index :: integer(),N :: clamp(),F :: clamp(). depthRangeIndexed(Index,N,F) -> cast(5850, <<Index:?GLuint,0:32,N:?GLclampd,F:?GLclampd>>). @@ -16325,7 +16325,7 @@ getDoublei_v(Target,Index) -> %% @doc glDebugMessageControlARB %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glDebugMessageControlARB.xml">external</a> documentation. --spec debugMessageControlARB(Source, Type, Severity, Ids, Enabled) -> ok when Source :: enum(),Type :: enum(),Severity :: enum(),Ids :: [integer()],Enabled :: 0|1. +-spec debugMessageControlARB(Source, Type, Severity, Ids, Enabled) -> 'ok' when Source :: enum(),Type :: enum(),Severity :: enum(),Ids :: [integer()],Enabled :: 0|1. debugMessageControlARB(Source,Type,Severity,Ids,Enabled) -> cast(5853, <<Source:?GLenum,Type:?GLenum,Severity:?GLenum,(length(Ids)):?GLuint, (<< <<C:?GLuint>> || C <- Ids>>)/binary,0:(((length(Ids)) rem 2)*32),Enabled:?GLboolean>>). @@ -16333,7 +16333,7 @@ debugMessageControlARB(Source,Type,Severity,Ids,Enabled) -> %% @doc glDebugMessageInsertARB %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glDebugMessageInsertARB.xml">external</a> documentation. --spec debugMessageInsertARB(Source, Type, Id, Severity, Buf) -> ok when Source :: enum(),Type :: enum(),Id :: integer(),Severity :: enum(),Buf :: string(). +-spec debugMessageInsertARB(Source, Type, Id, Severity, Buf) -> 'ok' when Source :: enum(),Type :: enum(),Id :: integer(),Severity :: enum(),Buf :: string(). debugMessageInsertARB(Source,Type,Id,Severity,Buf) -> cast(5854, <<Source:?GLenum,Type:?GLenum,Id:?GLuint,Severity:?GLenum,(list_to_binary([Buf|[0]]))/binary,0:((8-((length(Buf)+ 1) rem 8)) rem 8)>>). @@ -16370,7 +16370,7 @@ getGraphicsResetStatusARB() -> %% value of `?gl_InstanceID'. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glDrawArraysInstancedBaseInstance.xml">external</a> documentation. --spec drawArraysInstancedBaseInstance(Mode, First, Count, Primcount, Baseinstance) -> ok when Mode :: enum(),First :: integer(),Count :: integer(),Primcount :: integer(),Baseinstance :: integer(). +-spec drawArraysInstancedBaseInstance(Mode, First, Count, Primcount, Baseinstance) -> 'ok' when Mode :: enum(),First :: integer(),Count :: integer(),Primcount :: integer(),Baseinstance :: integer(). drawArraysInstancedBaseInstance(Mode,First,Count,Primcount,Baseinstance) -> cast(5857, <<Mode:?GLenum,First:?GLint,Count:?GLsizei,Primcount:?GLsizei,Baseinstance:?GLuint>>). @@ -16393,7 +16393,7 @@ drawArraysInstancedBaseInstance(Mode,First,Count,Primcount,Baseinstance) -> %% value of `?gl_InstanceID'. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glDrawElementsInstancedBaseInstance.xml">external</a> documentation. --spec drawElementsInstancedBaseInstance(Mode, Count, Type, Indices, Primcount, Baseinstance) -> ok when Mode :: enum(),Count :: integer(),Type :: enum(),Indices :: offset()|mem(),Primcount :: integer(),Baseinstance :: integer(). +-spec drawElementsInstancedBaseInstance(Mode, Count, Type, Indices, Primcount, Baseinstance) -> 'ok' when Mode :: enum(),Count :: integer(),Type :: enum(),Indices :: offset()|mem(),Primcount :: integer(),Baseinstance :: integer(). drawElementsInstancedBaseInstance(Mode,Count,Type,Indices,Primcount,Baseinstance) when is_integer(Indices) -> cast(5858, <<Mode:?GLenum,Count:?GLsizei,Type:?GLenum,Indices:?GLuint,Primcount:?GLsizei,Baseinstance:?GLuint>>); drawElementsInstancedBaseInstance(Mode,Count,Type,Indices,Primcount,Baseinstance) -> @@ -16417,7 +16417,7 @@ drawElementsInstancedBaseInstance(Mode,Count,Type,Indices,Primcount,Baseinstance %% value of `?gl_InstanceID'. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glDrawElementsInstancedBaseVertexBaseInstance.xml">external</a> documentation. --spec drawElementsInstancedBaseVertexBaseInstance(Mode, Count, Type, Indices, Primcount, Basevertex, Baseinstance) -> ok when Mode :: enum(),Count :: integer(),Type :: enum(),Indices :: offset()|mem(),Primcount :: integer(),Basevertex :: integer(),Baseinstance :: integer(). +-spec drawElementsInstancedBaseVertexBaseInstance(Mode, Count, Type, Indices, Primcount, Basevertex, Baseinstance) -> 'ok' when Mode :: enum(),Count :: integer(),Type :: enum(),Indices :: offset()|mem(),Primcount :: integer(),Basevertex :: integer(),Baseinstance :: integer(). drawElementsInstancedBaseVertexBaseInstance(Mode,Count,Type,Indices,Primcount,Basevertex,Baseinstance) when is_integer(Indices) -> cast(5860, <<Mode:?GLenum,Count:?GLsizei,Type:?GLenum,Indices:?GLuint,Primcount:?GLsizei,Basevertex:?GLint,Baseinstance:?GLuint>>); drawElementsInstancedBaseVertexBaseInstance(Mode,Count,Type,Indices,Primcount,Basevertex,Baseinstance) -> @@ -16427,14 +16427,14 @@ drawElementsInstancedBaseVertexBaseInstance(Mode,Count,Type,Indices,Primcount,Ba %% @doc glDrawTransformFeedbackInstance %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glDrawTransformFeedbackInstance.xml">external</a> documentation. --spec drawTransformFeedbackInstanced(Mode, Id, Primcount) -> ok when Mode :: enum(),Id :: integer(),Primcount :: integer(). +-spec drawTransformFeedbackInstanced(Mode, Id, Primcount) -> 'ok' when Mode :: enum(),Id :: integer(),Primcount :: integer(). drawTransformFeedbackInstanced(Mode,Id,Primcount) -> cast(5862, <<Mode:?GLenum,Id:?GLuint,Primcount:?GLsizei>>). %% @doc glDrawTransformFeedbackStreamInstance %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glDrawTransformFeedbackStreamInstance.xml">external</a> documentation. --spec drawTransformFeedbackStreamInstanced(Mode, Id, Stream, Primcount) -> ok when Mode :: enum(),Id :: integer(),Stream :: integer(),Primcount :: integer(). +-spec drawTransformFeedbackStreamInstanced(Mode, Id, Stream, Primcount) -> 'ok' when Mode :: enum(),Id :: integer(),Stream :: integer(),Primcount :: integer(). drawTransformFeedbackStreamInstanced(Mode,Id,Stream,Primcount) -> cast(5863, <<Mode:?GLenum,Id:?GLuint,Stream:?GLuint,Primcount:?GLsizei>>). @@ -16503,7 +16503,7 @@ getInternalformativ(Target,Internalformat,Pname,BufSize) -> %% respectively. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glBindImageTexture.xml">external</a> documentation. --spec bindImageTexture(Unit, Texture, Level, Layered, Layer, Access, Format) -> ok when Unit :: integer(),Texture :: integer(),Level :: integer(),Layered :: 0|1,Layer :: integer(),Access :: enum(),Format :: enum(). +-spec bindImageTexture(Unit, Texture, Level, Layered, Layer, Access, Format) -> 'ok' when Unit :: integer(),Texture :: integer(),Level :: integer(),Layered :: 0|1,Layer :: integer(),Access :: enum(),Format :: enum(). bindImageTexture(Unit,Texture,Level,Layered,Layer,Access,Format) -> cast(5865, <<Unit:?GLuint,Texture:?GLuint,Level:?GLint,Layered:?GLboolean,0:24,Layer:?GLint,Access:?GLenum,Format:?GLenum>>). @@ -16630,7 +16630,7 @@ bindImageTexture(Unit,Texture,Level,Layered,Layer,Access,Format) -> %% passes is necessary. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glMemoryBarrier.xml">external</a> documentation. --spec memoryBarrier(Barriers) -> ok when Barriers :: integer(). +-spec memoryBarrier(Barriers) -> 'ok' when Barriers :: integer(). memoryBarrier(Barriers) -> cast(5866, <<Barriers:?GLbitfield>>). @@ -16663,7 +16663,7 @@ memoryBarrier(Barriers) -> %% %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glTexStorage1D.xml">external</a> documentation. --spec texStorage1D(Target, Levels, Internalformat, Width) -> ok when Target :: enum(),Levels :: integer(),Internalformat :: enum(),Width :: integer(). +-spec texStorage1D(Target, Levels, Internalformat, Width) -> 'ok' when Target :: enum(),Levels :: integer(),Internalformat :: enum(),Width :: integer(). texStorage1D(Target,Levels,Internalformat,Width) -> cast(5867, <<Target:?GLenum,Levels:?GLsizei,Internalformat:?GLenum,Width:?GLsizei>>). @@ -16708,7 +16708,7 @@ texStorage1D(Target,Levels,Internalformat,Width) -> %% %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glTexStorage2D.xml">external</a> documentation. --spec texStorage2D(Target, Levels, Internalformat, Width, Height) -> ok when Target :: enum(),Levels :: integer(),Internalformat :: enum(),Width :: integer(),Height :: integer(). +-spec texStorage2D(Target, Levels, Internalformat, Width, Height) -> 'ok' when Target :: enum(),Levels :: integer(),Internalformat :: enum(),Width :: integer(),Height :: integer(). texStorage2D(Target,Levels,Internalformat,Width,Height) -> cast(5868, <<Target:?GLenum,Levels:?GLsizei,Internalformat:?GLenum,Width:?GLsizei,Height:?GLsizei>>). @@ -16751,21 +16751,21 @@ texStorage2D(Target,Levels,Internalformat,Width,Height) -> %% %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glTexStorage3D.xml">external</a> documentation. --spec texStorage3D(Target, Levels, Internalformat, Width, Height, Depth) -> ok when Target :: enum(),Levels :: integer(),Internalformat :: enum(),Width :: integer(),Height :: integer(),Depth :: integer(). +-spec texStorage3D(Target, Levels, Internalformat, Width, Height, Depth) -> 'ok' when Target :: enum(),Levels :: integer(),Internalformat :: enum(),Width :: integer(),Height :: integer(),Depth :: integer(). texStorage3D(Target,Levels,Internalformat,Width,Height,Depth) -> cast(5869, <<Target:?GLenum,Levels:?GLsizei,Internalformat:?GLenum,Width:?GLsizei,Height:?GLsizei,Depth:?GLsizei>>). %% @doc glDepthBoundsEXT %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glDepthBoundsEXT.xml">external</a> documentation. --spec depthBoundsEXT(Zmin, Zmax) -> ok when Zmin :: clamp(),Zmax :: clamp(). +-spec depthBoundsEXT(Zmin, Zmax) -> 'ok' when Zmin :: clamp(),Zmax :: clamp(). depthBoundsEXT(Zmin,Zmax) -> cast(5870, <<Zmin:?GLclampd,Zmax:?GLclampd>>). %% @doc glStencilClearTagEXT %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glStencilClearTagEXT.xml">external</a> documentation. --spec stencilClearTagEXT(StencilTagBits, StencilClearTag) -> ok when StencilTagBits :: integer(),StencilClearTag :: integer(). +-spec stencilClearTagEXT(StencilTagBits, StencilClearTag) -> 'ok' when StencilTagBits :: integer(),StencilClearTag :: integer(). stencilClearTagEXT(StencilTagBits,StencilClearTag) -> cast(5871, <<StencilTagBits:?GLsizei,StencilClearTag:?GLuint>>). diff --git a/lib/wx/src/gen/glu.erl b/lib/wx/src/gen/glu.erl index 5faba48930..47d9a83999 100644 --- a/lib/wx/src/gen/glu.erl +++ b/lib/wx/src/gen/glu.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2008-2015. All Rights Reserved. +%% Copyright Ericsson AB 2008-2016. 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. @@ -356,7 +356,7 @@ checkExtension(ExtName,ExtString) -> %% at the +`y' axis. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/gluCylinder.xml">external</a> documentation. --spec cylinder(Quad, Base, Top, Height, Slices, Stacks) -> ok when Quad :: integer(),Base :: float(),Top :: float(),Height :: float(),Slices :: integer(),Stacks :: integer(). +-spec cylinder(Quad, Base, Top, Height, Slices, Stacks) -> 'ok' when Quad :: integer(),Base :: float(),Top :: float(),Height :: float(),Slices :: integer(),Stacks :: integer(). cylinder(Quad,Base,Top,Height,Slices,Stacks) -> cast(5017, <<Quad:?GLUquadric,Base:?GLdouble,Top:?GLdouble,Height:?GLdouble,Slices:?GLint,Stacks:?GLint>>). @@ -367,7 +367,7 @@ cylinder(Quad,Base,Top,Height,Slices,Stacks) -> %% cannot be used again. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/gluDeleteQuadric.xml">external</a> documentation. --spec deleteQuadric(Quad) -> ok when Quad :: integer(). +-spec deleteQuadric(Quad) -> 'ok' when Quad :: integer(). deleteQuadric(Quad) -> cast(5018, <<Quad:?GLUquadric>>). @@ -390,7 +390,7 @@ deleteQuadric(Quad) -> %% (0, -`r', 0) it is (0.5, 0). %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/gluDisk.xml">external</a> documentation. --spec disk(Quad, Inner, Outer, Slices, Loops) -> ok when Quad :: integer(),Inner :: float(),Outer :: float(),Slices :: integer(),Loops :: integer(). +-spec disk(Quad, Inner, Outer, Slices, Loops) -> 'ok' when Quad :: integer(),Inner :: float(),Outer :: float(),Slices :: integer(),Loops :: integer(). disk(Quad,Inner,Outer,Slices,Loops) -> cast(5019, <<Quad:?GLUquadric,Inner:?GLdouble,Outer:?GLdouble,Slices:?GLint,Loops:?GLint>>). @@ -468,7 +468,7 @@ getString(Name) -> %% -eyez); %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/gluLookAt.xml">external</a> documentation. --spec lookAt(EyeX, EyeY, EyeZ, CenterX, CenterY, CenterZ, UpX, UpY, UpZ) -> ok when EyeX :: float(),EyeY :: float(),EyeZ :: float(),CenterX :: float(),CenterY :: float(),CenterZ :: float(),UpX :: float(),UpY :: float(),UpZ :: float(). +-spec lookAt(EyeX, EyeY, EyeZ, CenterX, CenterY, CenterZ, UpX, UpY, UpZ) -> 'ok' when EyeX :: float(),EyeY :: float(),EyeZ :: float(),CenterX :: float(),CenterY :: float(),CenterZ :: float(),UpX :: float(),UpY :: float(),UpZ :: float(). lookAt(EyeX,EyeY,EyeZ,CenterX,CenterY,CenterZ,UpX,UpY,UpZ) -> cast(5022, <<EyeX:?GLdouble,EyeY:?GLdouble,EyeZ:?GLdouble,CenterX:?GLdouble,CenterY:?GLdouble,CenterZ:?GLdouble,UpX:?GLdouble,UpY:?GLdouble,UpZ:?GLdouble>>). @@ -489,7 +489,7 @@ newQuadric() -> %% to calling {@link gl:ortho/6} with near=-1 and far=1. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/gluOrtho2D.xml">external</a> documentation. --spec ortho2D(Left, Right, Bottom, Top) -> ok when Left :: float(),Right :: float(),Bottom :: float(),Top :: float(). +-spec ortho2D(Left, Right, Bottom, Top) -> 'ok' when Left :: float(),Right :: float(),Bottom :: float(),Top :: float(). ortho2D(Left,Right,Bottom,Top) -> cast(5024, <<Left:?GLdouble,Right:?GLdouble,Bottom:?GLdouble,Top:?GLdouble>>). @@ -518,7 +518,7 @@ ortho2D(Left,Right,Bottom,Top) -> %% at (0, -`r', 0) it is (0.5, 0.0). %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/gluPartialDisk.xml">external</a> documentation. --spec partialDisk(Quad, Inner, Outer, Slices, Loops, Start, Sweep) -> ok when Quad :: integer(),Inner :: float(),Outer :: float(),Slices :: integer(),Loops :: integer(),Start :: float(),Sweep :: float(). +-spec partialDisk(Quad, Inner, Outer, Slices, Loops, Start, Sweep) -> 'ok' when Quad :: integer(),Inner :: float(),Outer :: float(),Slices :: integer(),Loops :: integer(),Start :: float(),Sweep :: float(). partialDisk(Quad,Inner,Outer,Slices,Loops,Start,Sweep) -> cast(5025, <<Quad:?GLUquadric,Inner:?GLdouble,Outer:?GLdouble,Slices:?GLint,Loops:?GLint,Start:?GLdouble,Sweep:?GLdouble>>). @@ -542,7 +542,7 @@ partialDisk(Quad,Inner,Outer,Slices,Loops,Start,Sweep) -> %% (f/aspect 0 0 0 0 f 0 0 0 0(zFar+zNear)/(zNear-zFar)(2×zFar×zNear)/(zNear-zFar) 0 0 -1 0) %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/gluPerspective.xml">external</a> documentation. --spec perspective(Fovy, Aspect, ZNear, ZFar) -> ok when Fovy :: float(),Aspect :: float(),ZNear :: float(),ZFar :: float(). +-spec perspective(Fovy, Aspect, ZNear, ZFar) -> 'ok' when Fovy :: float(),Aspect :: float(),ZNear :: float(),ZFar :: float(). perspective(Fovy,Aspect,ZNear,ZFar) -> cast(5026, <<Fovy:?GLdouble,Aspect:?GLdouble,ZNear:?GLdouble,ZFar:?GLdouble>>). @@ -568,7 +568,7 @@ perspective(Fovy,Aspect,ZNear,ZFar) -> %% it was subdivided without the pick matrix. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/gluPickMatrix.xml">external</a> documentation. --spec pickMatrix(X, Y, DelX, DelY, Viewport) -> ok when X :: float(),Y :: float(),DelX :: float(),DelY :: float(),Viewport :: {integer(),integer(),integer(),integer()}. +-spec pickMatrix(X, Y, DelX, DelY, Viewport) -> 'ok' when X :: float(),Y :: float(),DelX :: float(),DelY :: float(),Viewport :: {integer(),integer(),integer(),integer()}. pickMatrix(X,Y,DelX,DelY,{V1,V2,V3,V4}) -> cast(5027, <<X:?GLdouble,Y:?GLdouble,DelX:?GLdouble,DelY:?GLdouble,V1:?GLint,V2:?GLint,V3:?GLint,V4:?GLint>>). @@ -621,7 +621,7 @@ project(ObjX,ObjY,ObjZ,{M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12},{P1,P2,P3,P4,P5, %% `?GLU_POINT': Quadrics are rendered as a set of points. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/gluQuadricDrawStyle.xml">external</a> documentation. --spec quadricDrawStyle(Quad, Draw) -> ok when Quad :: integer(),Draw :: enum(). +-spec quadricDrawStyle(Quad, Draw) -> 'ok' when Quad :: integer(),Draw :: enum(). quadricDrawStyle(Quad,Draw) -> cast(5029, <<Quad:?GLUquadric,Draw:?GLenum>>). @@ -638,7 +638,7 @@ quadricDrawStyle(Quad,Draw) -> %% initial value. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/gluQuadricNormals.xml">external</a> documentation. --spec quadricNormals(Quad, Normal) -> ok when Quad :: integer(),Normal :: enum(). +-spec quadricNormals(Quad, Normal) -> 'ok' when Quad :: integer(),Normal :: enum(). quadricNormals(Quad,Normal) -> cast(5030, <<Quad:?GLUquadric,Normal:?GLenum>>). @@ -656,7 +656,7 @@ quadricNormals(Quad,Normal) -> %% being drawn. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/gluQuadricOrientation.xml">external</a> documentation. --spec quadricOrientation(Quad, Orientation) -> ok when Quad :: integer(),Orientation :: enum(). +-spec quadricOrientation(Quad, Orientation) -> 'ok' when Quad :: integer(),Orientation :: enum(). quadricOrientation(Quad,Orientation) -> cast(5031, <<Quad:?GLUquadric,Orientation:?GLenum>>). @@ -671,7 +671,7 @@ quadricOrientation(Quad,Orientation) -> %% rendered. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/gluQuadricTexture.xml">external</a> documentation. --spec quadricTexture(Quad, Texture) -> ok when Quad :: integer(),Texture :: 0|1. +-spec quadricTexture(Quad, Texture) -> 'ok' when Quad :: integer(),Texture :: 0|1. quadricTexture(Quad,Texture) -> cast(5032, <<Quad:?GLUquadric,Texture:?GLboolean>>). @@ -714,7 +714,7 @@ scaleImage(Format,WIn,HIn,TypeIn,DataIn,WOut,HOut,TypeOut,DataOut) -> %% axis, and back to 1.0 at the +`y' axis. %% %% See <a href="http://www.opengl.org/sdk/docs/man/xhtml/gluSphere.xml">external</a> documentation. --spec sphere(Quad, Radius, Slices, Stacks) -> ok when Quad :: integer(),Radius :: float(),Slices :: integer(),Stacks :: integer(). +-spec sphere(Quad, Radius, Slices, Stacks) -> 'ok' when Quad :: integer(),Radius :: float(),Slices :: integer(),Stacks :: integer(). sphere(Quad,Radius,Slices,Stacks) -> cast(5034, <<Quad:?GLUquadric,Radius:?GLdouble,Slices:?GLint,Stacks:?GLint>>). diff --git a/lib/wx/src/gen/wxAcceleratorEntry.erl b/lib/wx/src/gen/wxAcceleratorEntry.erl index 0885c25371..78d2ec47de 100644 --- a/lib/wx/src/gen/wxAcceleratorEntry.erl +++ b/lib/wx/src/gen/wxAcceleratorEntry.erl @@ -47,10 +47,10 @@ new() -> %% Entry::wxAcceleratorEntry().<br /> %% -spec new([Option]) -> wxAcceleratorEntry() when - Option :: {flags, integer()} - | {keyCode, integer()} - | {cmd, integer()} - | {item, wxMenuItem:wxMenuItem()}; + Option :: {'flags', integer()} + | {'keyCode', integer()} + | {'cmd', integer()} + | {'item', wxMenuItem:wxMenuItem()}; (Entry) -> wxAcceleratorEntry() when Entry::wxAcceleratorEntry(). new(Options) @@ -93,7 +93,7 @@ getKeyCode(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @equiv set(This,Flags,KeyCode,Cmd, []) --spec set(This, Flags, KeyCode, Cmd) -> ok when +-spec set(This, Flags, KeyCode, Cmd) -> 'ok' when This::wxAcceleratorEntry(), Flags::integer(), KeyCode::integer(), Cmd::integer(). set(This,Flags,KeyCode,Cmd) @@ -101,9 +101,9 @@ set(This,Flags,KeyCode,Cmd) set(This,Flags,KeyCode,Cmd, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxacceleratorentry.html#wxacceleratorentryset">external documentation</a>. --spec set(This, Flags, KeyCode, Cmd, [Option]) -> ok when +-spec set(This, Flags, KeyCode, Cmd, [Option]) -> 'ok' when This::wxAcceleratorEntry(), Flags::integer(), KeyCode::integer(), Cmd::integer(), - Option :: {item, wxMenuItem:wxMenuItem()}. + Option :: {'item', wxMenuItem:wxMenuItem()}. set(#wx_ref{type=ThisT,ref=ThisRef},Flags,KeyCode,Cmd, Options) when is_integer(Flags),is_integer(KeyCode),is_integer(Cmd),is_list(Options) -> ?CLASS(ThisT,wxAcceleratorEntry), @@ -114,7 +114,7 @@ set(#wx_ref{type=ThisT,ref=ThisRef},Flags,KeyCode,Cmd, Options) <<ThisRef:32/?UI,Flags:32/?UI,KeyCode:32/?UI,Cmd:32/?UI, BinOpt/binary>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxAcceleratorEntry()) -> ok. +-spec destroy(This::wxAcceleratorEntry()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxAcceleratorEntry), wxe_util:destroy(?wxAcceleratorEntry_destroy,Obj), diff --git a/lib/wx/src/gen/wxAcceleratorTable.erl b/lib/wx/src/gen/wxAcceleratorTable.erl index 3ed419b057..4efcaaa7d0 100644 --- a/lib/wx/src/gen/wxAcceleratorTable.erl +++ b/lib/wx/src/gen/wxAcceleratorTable.erl @@ -46,7 +46,7 @@ new() -> N::integer(), Entries::[wxAcceleratorEntry:wxAcceleratorEntry()]. new(N,Entries) when is_integer(N),is_list(Entries) -> - [?CLASS(EntriesT,wxAcceleratorEntry) || #wx_ref{type=EntriesT} <- Entries], + _ = [?CLASS(EntriesT,wxAcceleratorEntry) || #wx_ref{type=EntriesT} <- Entries], wxe_util:construct(?wxAcceleratorTable_new_2, <<N:32/?UI,(length(Entries)):32/?UI, (<< <<(C#wx_ref.ref):32/?UI>> || C <- Entries>>)/binary, 0:(((0+length(Entries)) rem 2)*32)>>). @@ -60,7 +60,7 @@ ok(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxAcceleratorTable()) -> ok. +-spec destroy(This::wxAcceleratorTable()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxAcceleratorTable), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxArtProvider.erl b/lib/wx/src/gen/wxArtProvider.erl index c85c0b5457..da220a90c8 100644 --- a/lib/wx/src/gen/wxArtProvider.erl +++ b/lib/wx/src/gen/wxArtProvider.erl @@ -46,8 +46,8 @@ getBitmap(Id) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxartprovider.html#wxartprovidergetbitmap">external documentation</a>. -spec getBitmap(Id, [Option]) -> wxBitmap:wxBitmap() when Id::unicode:chardata(), - Option :: {client, unicode:chardata()} - | {size, {W::integer(), H::integer()}}. + Option :: {'client', unicode:chardata()} + | {'size', {W::integer(), H::integer()}}. getBitmap(Id, Options) when is_list(Id),is_list(Options) -> Id_UC = unicode:characters_to_binary([Id,0]), @@ -69,8 +69,8 @@ getIcon(Id) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxartprovider.html#wxartprovidergeticon">external documentation</a>. -spec getIcon(Id, [Option]) -> wxIcon:wxIcon() when Id::unicode:chardata(), - Option :: {client, unicode:chardata()} - | {size, {W::integer(), H::integer()}}. + Option :: {'client', unicode:chardata()} + | {'size', {W::integer(), H::integer()}}. getIcon(Id, Options) when is_list(Id),is_list(Options) -> Id_UC = unicode:characters_to_binary([Id,0]), diff --git a/lib/wx/src/gen/wxAuiDockArt.erl b/lib/wx/src/gen/wxAuiDockArt.erl index 4149b1d424..5b7890f132 100644 --- a/lib/wx/src/gen/wxAuiDockArt.erl +++ b/lib/wx/src/gen/wxAuiDockArt.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2008-2015. All Rights Reserved. +%% Copyright Ericsson AB 2008-2016. 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. @@ -63,7 +63,7 @@ getMetric(#wx_ref{type=ThisT,ref=ThisRef},Id) <<ThisRef:32/?UI,Id:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxauidockart.html#wxauidockartsetcolour">external documentation</a>. --spec setColour(This, Id, Colour) -> ok when +-spec setColour(This, Id, Colour) -> 'ok' when This::wxAuiDockArt(), Id::integer(), Colour::wx:wx_colour(). setColour(#wx_ref{type=ThisT,ref=ThisRef},Id,Colour) when is_integer(Id),tuple_size(Colour) =:= 3; tuple_size(Colour) =:= 4 -> @@ -72,7 +72,7 @@ setColour(#wx_ref{type=ThisT,ref=ThisRef},Id,Colour) <<ThisRef:32/?UI,Id:32/?UI,(wxe_util:colour_bin(Colour)):16/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxauidockart.html#wxauidockartsetfont">external documentation</a>. --spec setFont(This, Id, Font) -> ok when +-spec setFont(This, Id, Font) -> 'ok' when This::wxAuiDockArt(), Id::integer(), Font::wxFont:wxFont(). setFont(#wx_ref{type=ThisT,ref=ThisRef},Id,#wx_ref{type=FontT,ref=FontRef}) when is_integer(Id) -> @@ -82,7 +82,7 @@ setFont(#wx_ref{type=ThisT,ref=ThisRef},Id,#wx_ref{type=FontT,ref=FontRef}) <<ThisRef:32/?UI,Id:32/?UI,FontRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxauidockart.html#wxauidockartsetmetric">external documentation</a>. --spec setMetric(This, Id, New_val) -> ok when +-spec setMetric(This, Id, New_val) -> 'ok' when This::wxAuiDockArt(), Id::integer(), New_val::integer(). setMetric(#wx_ref{type=ThisT,ref=ThisRef},Id,New_val) when is_integer(Id),is_integer(New_val) -> diff --git a/lib/wx/src/gen/wxAuiManager.erl b/lib/wx/src/gen/wxAuiManager.erl index bf22e3091d..37693060e1 100644 --- a/lib/wx/src/gen/wxAuiManager.erl +++ b/lib/wx/src/gen/wxAuiManager.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2008-2015. All Rights Reserved. +%% Copyright Ericsson AB 2008-2016. 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. @@ -52,8 +52,8 @@ new() -> %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxauimanager.html#wxauimanagerwxauimanager">external documentation</a>. -spec new([Option]) -> wxAuiManager() when - Option :: {managed_wnd, wxWindow:wxWindow()} - | {flags, integer()}. + Option :: {'managed_wnd', wxWindow:wxWindow()} + | {'flags', integer()}. new(Options) when is_list(Options) -> MOpts = fun({managed_wnd, #wx_ref{type=Managed_wndT,ref=Managed_wndRef}}, Acc) -> ?CLASS(Managed_wndT,wxWindow),[<<1:32/?UI,Managed_wndRef:32/?UI>>|Acc]; @@ -78,8 +78,8 @@ addPane(This,Window) %% -spec addPane(This, Window, [Option]) -> boolean() when This::wxAuiManager(), Window::wxWindow:wxWindow(), - Option :: {direction, integer()} - | {caption, unicode:chardata()}; + Option :: {'direction', integer()} + | {'caption', unicode:chardata()}; (This, Window, Pane_info) -> boolean() when This::wxAuiManager(), Window::wxWindow:wxWindow(), Pane_info::wxAuiPaneInfo:wxAuiPaneInfo(). addPane(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=WindowT,ref=WindowRef}, Options) @@ -189,7 +189,7 @@ getPane(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=WindowT,ref=WindowRef}) -> <<ThisRef:32/?UI,WindowRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxauimanager.html#wxauimanagerhidehint">external documentation</a>. --spec hideHint(This) -> ok when +-spec hideHint(This) -> 'ok' when This::wxAuiManager(). hideHint(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxAuiManager), @@ -207,7 +207,7 @@ insertPane(This,Window,Insert_location) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxauimanager.html#wxauimanagerinsertpane">external documentation</a>. -spec insertPane(This, Window, Insert_location, [Option]) -> boolean() when This::wxAuiManager(), Window::wxWindow:wxWindow(), Insert_location::wxAuiPaneInfo:wxAuiPaneInfo(), - Option :: {insert_level, integer()}. + Option :: {'insert_level', integer()}. insertPane(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=WindowT,ref=WindowRef},#wx_ref{type=Insert_locationT,ref=Insert_locationRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxAuiManager), @@ -220,7 +220,7 @@ insertPane(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=WindowT,ref=WindowRef},# <<ThisRef:32/?UI,WindowRef:32/?UI,Insert_locationRef:32/?UI, 0:32,BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxauimanager.html#wxauimanagerloadpaneinfo">external documentation</a>. --spec loadPaneInfo(This, Pane_part, Pane) -> ok when +-spec loadPaneInfo(This, Pane_part, Pane) -> 'ok' when This::wxAuiManager(), Pane_part::unicode:chardata(), Pane::wxAuiPaneInfo:wxAuiPaneInfo(). loadPaneInfo(#wx_ref{type=ThisT,ref=ThisRef},Pane_part,#wx_ref{type=PaneT,ref=PaneRef}) when is_list(Pane_part) -> @@ -241,7 +241,7 @@ loadPerspective(This,Perspective) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxauimanager.html#wxauimanagerloadperspective">external documentation</a>. -spec loadPerspective(This, Perspective, [Option]) -> boolean() when This::wxAuiManager(), Perspective::unicode:chardata(), - Option :: {update, boolean()}. + Option :: {'update', boolean()}. loadPerspective(#wx_ref{type=ThisT,ref=ThisRef},Perspective, Options) when is_list(Perspective),is_list(Options) -> ?CLASS(ThisT,wxAuiManager), @@ -270,7 +270,7 @@ savePerspective(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxauimanager.html#wxauimanagersetartprovider">external documentation</a>. --spec setArtProvider(This, Art_provider) -> ok when +-spec setArtProvider(This, Art_provider) -> 'ok' when This::wxAuiManager(), Art_provider::wxAuiDockArt:wxAuiDockArt(). setArtProvider(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=Art_providerT,ref=Art_providerRef}) -> ?CLASS(ThisT,wxAuiManager), @@ -279,7 +279,7 @@ setArtProvider(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=Art_providerT,ref=Ar <<ThisRef:32/?UI,Art_providerRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxauimanager.html#wxauimanagersetdocksizeconstraint">external documentation</a>. --spec setDockSizeConstraint(This, Width_pct, Height_pct) -> ok when +-spec setDockSizeConstraint(This, Width_pct, Height_pct) -> 'ok' when This::wxAuiManager(), Width_pct::number(), Height_pct::number(). setDockSizeConstraint(#wx_ref{type=ThisT,ref=ThisRef},Width_pct,Height_pct) when is_number(Width_pct),is_number(Height_pct) -> @@ -288,7 +288,7 @@ setDockSizeConstraint(#wx_ref{type=ThisT,ref=ThisRef},Width_pct,Height_pct) <<ThisRef:32/?UI,0:32,Width_pct:64/?F,Height_pct:64/?F>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxauimanager.html#wxauimanagersetflags">external documentation</a>. --spec setFlags(This, Flags) -> ok when +-spec setFlags(This, Flags) -> 'ok' when This::wxAuiManager(), Flags::integer(). setFlags(#wx_ref{type=ThisT,ref=ThisRef},Flags) when is_integer(Flags) -> @@ -297,7 +297,7 @@ setFlags(#wx_ref{type=ThisT,ref=ThisRef},Flags) <<ThisRef:32/?UI,Flags:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxauimanager.html#wxauimanagersetmanagedwindow">external documentation</a>. --spec setManagedWindow(This, Managed_wnd) -> ok when +-spec setManagedWindow(This, Managed_wnd) -> 'ok' when This::wxAuiManager(), Managed_wnd::wxWindow:wxWindow(). setManagedWindow(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=Managed_wndT,ref=Managed_wndRef}) -> ?CLASS(ThisT,wxAuiManager), @@ -306,7 +306,7 @@ setManagedWindow(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=Managed_wndT,ref=M <<ThisRef:32/?UI,Managed_wndRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxauimanager.html#wxauimanagershowhint">external documentation</a>. --spec showHint(This, Rect) -> ok when +-spec showHint(This, Rect) -> 'ok' when This::wxAuiManager(), Rect::{X::integer(), Y::integer(), W::integer(), H::integer()}. showHint(#wx_ref{type=ThisT,ref=ThisRef},{RectX,RectY,RectW,RectH}) when is_integer(RectX),is_integer(RectY),is_integer(RectW),is_integer(RectH) -> @@ -315,7 +315,7 @@ showHint(#wx_ref{type=ThisT,ref=ThisRef},{RectX,RectY,RectW,RectH}) <<ThisRef:32/?UI,RectX:32/?UI,RectY:32/?UI,RectW:32/?UI,RectH:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxauimanager.html#wxauimanageruninit">external documentation</a>. --spec unInit(This) -> ok when +-spec unInit(This) -> 'ok' when This::wxAuiManager(). unInit(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxAuiManager), @@ -323,7 +323,7 @@ unInit(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxauimanager.html#wxauimanagerupdate">external documentation</a>. --spec update(This) -> ok when +-spec update(This) -> 'ok' when This::wxAuiManager(). update(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxAuiManager), @@ -331,7 +331,7 @@ update(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxAuiManager()) -> ok. +-spec destroy(This::wxAuiManager()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxAuiManager), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxAuiManagerEvent.erl b/lib/wx/src/gen/wxAuiManagerEvent.erl index 88e4433f24..2878c5b272 100644 --- a/lib/wx/src/gen/wxAuiManagerEvent.erl +++ b/lib/wx/src/gen/wxAuiManagerEvent.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2009-2015. All Rights Reserved. +%% Copyright Ericsson AB 2009-2016. 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. @@ -46,7 +46,7 @@ parent_class(_Class) -> erlang:error({badtype, ?MODULE}). -type wxAuiManagerEvent() :: wx:wx_object(). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxauimanagerevent.html#wxauimanagereventsetmanager">external documentation</a>. --spec setManager(This, Mgr) -> ok when +-spec setManager(This, Mgr) -> 'ok' when This::wxAuiManagerEvent(), Mgr::wxAuiManager:wxAuiManager(). setManager(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=MgrT,ref=MgrRef}) -> ?CLASS(ThisT,wxAuiManagerEvent), @@ -63,7 +63,7 @@ getManager(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxauimanagerevent.html#wxauimanagereventsetpane">external documentation</a>. --spec setPane(This, P) -> ok when +-spec setPane(This, P) -> 'ok' when This::wxAuiManagerEvent(), P::wxAuiPaneInfo:wxAuiPaneInfo(). setPane(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=PT,ref=PRef}) -> ?CLASS(ThisT,wxAuiManagerEvent), @@ -80,7 +80,7 @@ getPane(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxauimanagerevent.html#wxauimanagereventsetbutton">external documentation</a>. --spec setButton(This, B) -> ok when +-spec setButton(This, B) -> 'ok' when This::wxAuiManagerEvent(), B::integer(). setButton(#wx_ref{type=ThisT,ref=ThisRef},B) when is_integer(B) -> @@ -97,7 +97,7 @@ getButton(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxauimanagerevent.html#wxauimanagereventsetdc">external documentation</a>. --spec setDC(This, Pdc) -> ok when +-spec setDC(This, Pdc) -> 'ok' when This::wxAuiManagerEvent(), Pdc::wxDC:wxDC(). setDC(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=PdcT,ref=PdcRef}) -> ?CLASS(ThisT,wxAuiManagerEvent), @@ -114,7 +114,7 @@ getDC(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @equiv veto(This, []) --spec veto(This) -> ok when +-spec veto(This) -> 'ok' when This::wxAuiManagerEvent(). veto(This) @@ -122,9 +122,9 @@ veto(This) veto(This, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxauimanagerevent.html#wxauimanagereventveto">external documentation</a>. --spec veto(This, [Option]) -> ok when +-spec veto(This, [Option]) -> 'ok' when This::wxAuiManagerEvent(), - Option :: {veto, boolean()}. + Option :: {'veto', boolean()}. veto(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxAuiManagerEvent), @@ -143,7 +143,7 @@ getVeto(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxauimanagerevent.html#wxauimanagereventsetcanveto">external documentation</a>. --spec setCanVeto(This, Can_veto) -> ok when +-spec setCanVeto(This, Can_veto) -> 'ok' when This::wxAuiManagerEvent(), Can_veto::boolean(). setCanVeto(#wx_ref{type=ThisT,ref=ThisRef},Can_veto) when is_boolean(Can_veto) -> diff --git a/lib/wx/src/gen/wxAuiNotebook.erl b/lib/wx/src/gen/wxAuiNotebook.erl index 7ec1acb26d..42da35e16a 100644 --- a/lib/wx/src/gen/wxAuiNotebook.erl +++ b/lib/wx/src/gen/wxAuiNotebook.erl @@ -100,10 +100,10 @@ new(Parent) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxauinotebook.html#wxauinotebookwxauinotebook">external documentation</a>. -spec new(Parent, [Option]) -> wxAuiNotebook() when Parent::wxWindow:wxWindow(), - Option :: {id, integer()} - | {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()}. + Option :: {'id', integer()} + | {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()}. new(#wx_ref{type=ParentT,ref=ParentRef}, Options) when is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -127,8 +127,8 @@ addPage(This,Page,Caption) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxauinotebook.html#wxauinotebookaddpage">external documentation</a>. -spec addPage(This, Page, Caption, [Option]) -> boolean() when This::wxAuiNotebook(), Page::wxWindow:wxWindow(), Caption::unicode:chardata(), - Option :: {select, boolean()} - | {bitmap, wxBitmap:wxBitmap()}. + Option :: {'select', boolean()} + | {'bitmap', wxBitmap:wxBitmap()}. addPage(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=PageT,ref=PageRef},Caption, Options) when is_list(Caption),is_list(Options) -> ?CLASS(ThisT,wxAuiNotebook), @@ -152,10 +152,10 @@ create(This,Parent) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxauinotebook.html#wxauinotebookcreate">external documentation</a>. -spec create(This, Parent, [Option]) -> boolean() when This::wxAuiNotebook(), Parent::wxWindow:wxWindow(), - Option :: {id, integer()} - | {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()}. + Option :: {'id', integer()} + | {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()}. create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxAuiNotebook), @@ -249,8 +249,8 @@ insertPage(This,Page_idx,Page,Caption) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxauinotebook.html#wxauinotebookinsertpage">external documentation</a>. -spec insertPage(This, Page_idx, Page, Caption, [Option]) -> boolean() when This::wxAuiNotebook(), Page_idx::integer(), Page::wxWindow:wxWindow(), Caption::unicode:chardata(), - Option :: {select, boolean()} - | {bitmap, wxBitmap:wxBitmap()}. + Option :: {'select', boolean()} + | {'bitmap', wxBitmap:wxBitmap()}. insertPage(#wx_ref{type=ThisT,ref=ThisRef},Page_idx,#wx_ref{type=PageT,ref=PageRef},Caption, Options) when is_integer(Page_idx),is_list(Caption),is_list(Options) -> ?CLASS(ThisT,wxAuiNotebook), @@ -273,7 +273,7 @@ removePage(#wx_ref{type=ThisT,ref=ThisRef},Page) <<ThisRef:32/?UI,Page:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxauinotebook.html#wxauinotebooksetartprovider">external documentation</a>. --spec setArtProvider(This, Art) -> ok when +-spec setArtProvider(This, Art) -> 'ok' when This::wxAuiNotebook(), Art::wxAuiTabArt:wxAuiTabArt(). setArtProvider(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ArtT,ref=ArtRef}) -> ?CLASS(ThisT,wxAuiNotebook), @@ -320,7 +320,7 @@ setSelection(#wx_ref{type=ThisT,ref=ThisRef},New_page) <<ThisRef:32/?UI,New_page:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxauinotebook.html#wxauinotebooksettabctrlheight">external documentation</a>. --spec setTabCtrlHeight(This, Height) -> ok when +-spec setTabCtrlHeight(This, Height) -> 'ok' when This::wxAuiNotebook(), Height::integer(). setTabCtrlHeight(#wx_ref{type=ThisT,ref=ThisRef},Height) when is_integer(Height) -> @@ -329,7 +329,7 @@ setTabCtrlHeight(#wx_ref{type=ThisT,ref=ThisRef},Height) <<ThisRef:32/?UI,Height:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxauinotebook.html#wxauinotebooksetuniformbitmapsize">external documentation</a>. --spec setUniformBitmapSize(This, Size) -> ok when +-spec setUniformBitmapSize(This, Size) -> 'ok' when This::wxAuiNotebook(), Size::{W::integer(), H::integer()}. setUniformBitmapSize(#wx_ref{type=ThisT,ref=ThisRef},{SizeW,SizeH}) when is_integer(SizeW),is_integer(SizeH) -> @@ -338,7 +338,7 @@ setUniformBitmapSize(#wx_ref{type=ThisT,ref=ThisRef},{SizeW,SizeH}) <<ThisRef:32/?UI,SizeW:32/?UI,SizeH:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxAuiNotebook()) -> ok. +-spec destroy(This::wxAuiNotebook()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxAuiNotebook), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxAuiNotebookEvent.erl b/lib/wx/src/gen/wxAuiNotebookEvent.erl index 4ebe408cef..a51a85b7f4 100644 --- a/lib/wx/src/gen/wxAuiNotebookEvent.erl +++ b/lib/wx/src/gen/wxAuiNotebookEvent.erl @@ -52,7 +52,7 @@ parent_class(_Class) -> erlang:error({badtype, ?MODULE}). -type wxAuiNotebookEvent() :: wx:wx_object(). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxauinotebookevent.html#wxauinotebookeventsetselection">external documentation</a>. --spec setSelection(This, S) -> ok when +-spec setSelection(This, S) -> 'ok' when This::wxAuiNotebookEvent(), S::integer(). setSelection(#wx_ref{type=ThisT,ref=ThisRef},S) when is_integer(S) -> @@ -69,7 +69,7 @@ getSelection(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxauinotebookevent.html#wxauinotebookeventsetoldselection">external documentation</a>. --spec setOldSelection(This, S) -> ok when +-spec setOldSelection(This, S) -> 'ok' when This::wxAuiNotebookEvent(), S::integer(). setOldSelection(#wx_ref{type=ThisT,ref=ThisRef},S) when is_integer(S) -> @@ -86,7 +86,7 @@ getOldSelection(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxauinotebookevent.html#wxauinotebookeventsetdragsource">external documentation</a>. --spec setDragSource(This, S) -> ok when +-spec setDragSource(This, S) -> 'ok' when This::wxAuiNotebookEvent(), S::wxAuiNotebook:wxAuiNotebook(). setDragSource(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ST,ref=SRef}) -> ?CLASS(ThisT,wxAuiNotebookEvent), diff --git a/lib/wx/src/gen/wxAuiPaneInfo.erl b/lib/wx/src/gen/wxAuiPaneInfo.erl index 1f15e9cd39..858da200be 100644 --- a/lib/wx/src/gen/wxAuiPaneInfo.erl +++ b/lib/wx/src/gen/wxAuiPaneInfo.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2008-2015. All Rights Reserved. +%% Copyright Ericsson AB 2008-2016. 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. @@ -103,7 +103,7 @@ bottomDockable(This) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxauipaneinfo.html#wxauipaneinfobottomdockable">external documentation</a>. -spec bottomDockable(This, [Option]) -> wxAuiPaneInfo() when This::wxAuiPaneInfo(), - Option :: {b, boolean()}. + Option :: {'b', boolean()}. bottomDockable(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxAuiPaneInfo), @@ -134,7 +134,7 @@ captionVisible(This) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxauipaneinfo.html#wxauipaneinfocaptionvisible">external documentation</a>. -spec captionVisible(This, [Option]) -> wxAuiPaneInfo() when This::wxAuiPaneInfo(), - Option :: {visible, boolean()}. + Option :: {'visible', boolean()}. captionVisible(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxAuiPaneInfo), @@ -171,7 +171,7 @@ closeButton(This) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxauipaneinfo.html#wxauipaneinfoclosebutton">external documentation</a>. -spec closeButton(This, [Option]) -> wxAuiPaneInfo() when This::wxAuiPaneInfo(), - Option :: {visible, boolean()}. + Option :: {'visible', boolean()}. closeButton(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxAuiPaneInfo), @@ -200,7 +200,7 @@ destroyOnClose(This) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxauipaneinfo.html#wxauipaneinfodestroyonclose">external documentation</a>. -spec destroyOnClose(This, [Option]) -> wxAuiPaneInfo() when This::wxAuiPaneInfo(), - Option :: {b, boolean()}. + Option :: {'b', boolean()}. destroyOnClose(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxAuiPaneInfo), @@ -238,7 +238,7 @@ dockable(This) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxauipaneinfo.html#wxauipaneinfodockable">external documentation</a>. -spec dockable(This, [Option]) -> wxAuiPaneInfo() when This::wxAuiPaneInfo(), - Option :: {b, boolean()}. + Option :: {'b', boolean()}. dockable(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxAuiPaneInfo), @@ -275,7 +275,7 @@ floatable(This) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxauipaneinfo.html#wxauipaneinfofloatable">external documentation</a>. -spec floatable(This, [Option]) -> wxAuiPaneInfo() when This::wxAuiPaneInfo(), - Option :: {b, boolean()}. + Option :: {'b', boolean()}. floatable(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxAuiPaneInfo), @@ -332,7 +332,7 @@ gripper(This) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxauipaneinfo.html#wxauipaneinfogripper">external documentation</a>. -spec gripper(This, [Option]) -> wxAuiPaneInfo() when This::wxAuiPaneInfo(), - Option :: {visible, boolean()}. + Option :: {'visible', boolean()}. gripper(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxAuiPaneInfo), @@ -353,7 +353,7 @@ gripperTop(This) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxauipaneinfo.html#wxauipaneinfogrippertop">external documentation</a>. -spec gripperTop(This, [Option]) -> wxAuiPaneInfo() when This::wxAuiPaneInfo(), - Option :: {attop, boolean()}. + Option :: {'attop', boolean()}. gripperTop(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxAuiPaneInfo), @@ -576,7 +576,7 @@ leftDockable(This) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxauipaneinfo.html#wxauipaneinfoleftdockable">external documentation</a>. -spec leftDockable(This, [Option]) -> wxAuiPaneInfo() when This::wxAuiPaneInfo(), - Option :: {b, boolean()}. + Option :: {'b', boolean()}. leftDockable(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxAuiPaneInfo), @@ -615,7 +615,7 @@ maximizeButton(This) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxauipaneinfo.html#wxauipaneinfomaximizebutton">external documentation</a>. -spec maximizeButton(This, [Option]) -> wxAuiPaneInfo() when This::wxAuiPaneInfo(), - Option :: {visible, boolean()}. + Option :: {'visible', boolean()}. maximizeButton(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxAuiPaneInfo), @@ -654,7 +654,7 @@ minimizeButton(This) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxauipaneinfo.html#wxauipaneinfominimizebutton">external documentation</a>. -spec minimizeButton(This, [Option]) -> wxAuiPaneInfo() when This::wxAuiPaneInfo(), - Option :: {visible, boolean()}. + Option :: {'visible', boolean()}. minimizeButton(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxAuiPaneInfo), @@ -675,7 +675,7 @@ movable(This) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxauipaneinfo.html#wxauipaneinfomovable">external documentation</a>. -spec movable(This, [Option]) -> wxAuiPaneInfo() when This::wxAuiPaneInfo(), - Option :: {b, boolean()}. + Option :: {'b', boolean()}. movable(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxAuiPaneInfo), @@ -706,7 +706,7 @@ paneBorder(This) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxauipaneinfo.html#wxauipaneinfopaneborder">external documentation</a>. -spec paneBorder(This, [Option]) -> wxAuiPaneInfo() when This::wxAuiPaneInfo(), - Option :: {visible, boolean()}. + Option :: {'visible', boolean()}. paneBorder(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxAuiPaneInfo), @@ -727,7 +727,7 @@ pinButton(This) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxauipaneinfo.html#wxauipaneinfopinbutton">external documentation</a>. -spec pinButton(This, [Option]) -> wxAuiPaneInfo() when This::wxAuiPaneInfo(), - Option :: {visible, boolean()}. + Option :: {'visible', boolean()}. pinButton(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxAuiPaneInfo), @@ -757,7 +757,7 @@ resizable(This) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxauipaneinfo.html#wxauipaneinforesizable">external documentation</a>. -spec resizable(This, [Option]) -> wxAuiPaneInfo() when This::wxAuiPaneInfo(), - Option :: {resizable, boolean()}. + Option :: {'resizable', boolean()}. resizable(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxAuiPaneInfo), @@ -786,7 +786,7 @@ rightDockable(This) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxauipaneinfo.html#wxauipaneinforightdockable">external documentation</a>. -spec rightDockable(This, [Option]) -> wxAuiPaneInfo() when This::wxAuiPaneInfo(), - Option :: {b, boolean()}. + Option :: {'b', boolean()}. rightDockable(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxAuiPaneInfo), @@ -806,7 +806,7 @@ row(#wx_ref{type=ThisT,ref=ThisRef},Row) <<ThisRef:32/?UI,Row:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxauipaneinfo.html#wxauipaneinfosafeset">external documentation</a>. --spec safeSet(This, Source) -> ok when +-spec safeSet(This, Source) -> 'ok' when This::wxAuiPaneInfo(), Source::wxAuiPaneInfo(). safeSet(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=SourceT,ref=SourceRef}) -> ?CLASS(ThisT,wxAuiPaneInfo), @@ -834,7 +834,7 @@ show(This) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxauipaneinfo.html#wxauipaneinfoshow">external documentation</a>. -spec show(This, [Option]) -> wxAuiPaneInfo() when This::wxAuiPaneInfo(), - Option :: {show, boolean()}. + Option :: {'show', boolean()}. show(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxAuiPaneInfo), @@ -871,7 +871,7 @@ topDockable(This) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxauipaneinfo.html#wxauipaneinfotopdockable">external documentation</a>. -spec topDockable(This, [Option]) -> wxAuiPaneInfo() when This::wxAuiPaneInfo(), - Option :: {b, boolean()}. + Option :: {'b', boolean()}. topDockable(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxAuiPaneInfo), @@ -955,7 +955,7 @@ getFloatingSize(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxAuiPaneInfo()) -> ok. +-spec destroy(This::wxAuiPaneInfo()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxAuiPaneInfo), wxe_util:destroy(?wxAuiPaneInfo_destruct,Obj), diff --git a/lib/wx/src/gen/wxAuiSimpleTabArt.erl b/lib/wx/src/gen/wxAuiSimpleTabArt.erl index 57d12e2eb4..eae00e5591 100644 --- a/lib/wx/src/gen/wxAuiSimpleTabArt.erl +++ b/lib/wx/src/gen/wxAuiSimpleTabArt.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2008-2015. All Rights Reserved. +%% Copyright Ericsson AB 2008-2016. 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,7 +47,7 @@ new() -> <<>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxAuiSimpleTabArt()) -> ok. +-spec destroy(This::wxAuiSimpleTabArt()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxAuiSimpleTabArt), wxe_util:destroy(?wxAuiSimpleTabArt_destroy,Obj), diff --git a/lib/wx/src/gen/wxAuiTabArt.erl b/lib/wx/src/gen/wxAuiTabArt.erl index 80924c0269..324c167aa5 100644 --- a/lib/wx/src/gen/wxAuiTabArt.erl +++ b/lib/wx/src/gen/wxAuiTabArt.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2008-2015. All Rights Reserved. +%% Copyright Ericsson AB 2008-2016. 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. @@ -37,7 +37,7 @@ parent_class(_Class) -> erlang:error({badtype, ?MODULE}). -type wxAuiTabArt() :: wx:wx_object(). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxauitabart.html#wxauitabartsetflags">external documentation</a>. --spec setFlags(This, Flags) -> ok when +-spec setFlags(This, Flags) -> 'ok' when This::wxAuiTabArt(), Flags::integer(). setFlags(#wx_ref{type=ThisT,ref=ThisRef},Flags) when is_integer(Flags) -> @@ -46,7 +46,7 @@ setFlags(#wx_ref{type=ThisT,ref=ThisRef},Flags) <<ThisRef:32/?UI,Flags:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxauitabart.html#wxauitabartsetmeasuringfont">external documentation</a>. --spec setMeasuringFont(This, Font) -> ok when +-spec setMeasuringFont(This, Font) -> 'ok' when This::wxAuiTabArt(), Font::wxFont:wxFont(). setMeasuringFont(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=FontT,ref=FontRef}) -> ?CLASS(ThisT,wxAuiTabArt), @@ -55,7 +55,7 @@ setMeasuringFont(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=FontT,ref=FontRef} <<ThisRef:32/?UI,FontRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxauitabart.html#wxauitabartsetnormalfont">external documentation</a>. --spec setNormalFont(This, Font) -> ok when +-spec setNormalFont(This, Font) -> 'ok' when This::wxAuiTabArt(), Font::wxFont:wxFont(). setNormalFont(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=FontT,ref=FontRef}) -> ?CLASS(ThisT,wxAuiTabArt), @@ -64,7 +64,7 @@ setNormalFont(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=FontT,ref=FontRef}) - <<ThisRef:32/?UI,FontRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxauitabart.html#wxauitabartsetselectedfont">external documentation</a>. --spec setSelectedFont(This, Font) -> ok when +-spec setSelectedFont(This, Font) -> 'ok' when This::wxAuiTabArt(), Font::wxFont:wxFont(). setSelectedFont(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=FontT,ref=FontRef}) -> ?CLASS(ThisT,wxAuiTabArt), @@ -73,7 +73,7 @@ setSelectedFont(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=FontT,ref=FontRef}) <<ThisRef:32/?UI,FontRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxauitabart.html#wxauitabartsetcolour">external documentation</a>. --spec setColour(This, Colour) -> ok when +-spec setColour(This, Colour) -> 'ok' when This::wxAuiTabArt(), Colour::wx:wx_colour(). setColour(#wx_ref{type=ThisT,ref=ThisRef},Colour) when tuple_size(Colour) =:= 3; tuple_size(Colour) =:= 4 -> @@ -82,7 +82,7 @@ setColour(#wx_ref{type=ThisT,ref=ThisRef},Colour) <<ThisRef:32/?UI,(wxe_util:colour_bin(Colour)):16/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxauitabart.html#wxauitabartsetactivecolour">external documentation</a>. --spec setActiveColour(This, Colour) -> ok when +-spec setActiveColour(This, Colour) -> 'ok' when This::wxAuiTabArt(), Colour::wx:wx_colour(). setActiveColour(#wx_ref{type=ThisT,ref=ThisRef},Colour) when tuple_size(Colour) =:= 3; tuple_size(Colour) =:= 4 -> diff --git a/lib/wx/src/gen/wxBitmap.erl b/lib/wx/src/gen/wxBitmap.erl index 9bf2f8eee0..e7830dae9b 100644 --- a/lib/wx/src/gen/wxBitmap.erl +++ b/lib/wx/src/gen/wxBitmap.erl @@ -67,20 +67,20 @@ new(Image) %% <br /> Also:<br /> %% new(Filename, [Option]) -> wxBitmap() when<br /> %% Filename::unicode:chardata(),<br /> -%% Option :: {type, wx:wx_enum()};<br /> +%% Option :: {'type', wx:wx_enum()};<br /> %% (Image, [Option]) -> wxBitmap() when<br /> %% Image::wxImage:wxImage(),<br /> -%% Option :: {depth, integer()}.<br /> +%% Option :: {'depth', integer()}.<br /> %% %%<br /> Type = ?wxBITMAP_TYPE_INVALID | ?wxBITMAP_TYPE_BMP | ?wxBITMAP_TYPE_BMP_RESOURCE | ?wxBITMAP_TYPE_RESOURCE | ?wxBITMAP_TYPE_ICO | ?wxBITMAP_TYPE_ICO_RESOURCE | ?wxBITMAP_TYPE_CUR | ?wxBITMAP_TYPE_CUR_RESOURCE | ?wxBITMAP_TYPE_XBM | ?wxBITMAP_TYPE_XBM_DATA | ?wxBITMAP_TYPE_XPM | ?wxBITMAP_TYPE_XPM_DATA | ?wxBITMAP_TYPE_TIF | ?wxBITMAP_TYPE_TIF_RESOURCE | ?wxBITMAP_TYPE_GIF | ?wxBITMAP_TYPE_GIF_RESOURCE | ?wxBITMAP_TYPE_PNG | ?wxBITMAP_TYPE_PNG_RESOURCE | ?wxBITMAP_TYPE_JPEG | ?wxBITMAP_TYPE_JPEG_RESOURCE | ?wxBITMAP_TYPE_PNM | ?wxBITMAP_TYPE_PNM_RESOURCE | ?wxBITMAP_TYPE_PCX | ?wxBITMAP_TYPE_PCX_RESOURCE | ?wxBITMAP_TYPE_PICT | ?wxBITMAP_TYPE_PICT_RESOURCE | ?wxBITMAP_TYPE_ICON | ?wxBITMAP_TYPE_ICON_RESOURCE | ?wxBITMAP_TYPE_ANI | ?wxBITMAP_TYPE_IFF | ?wxBITMAP_TYPE_TGA | ?wxBITMAP_TYPE_MACCURSOR | ?wxBITMAP_TYPE_MACCURSOR_RESOURCE | ?wxBITMAP_TYPE_ANY -spec new(Width, Height) -> wxBitmap() when Width::integer(), Height::integer(); (Filename, [Option]) -> wxBitmap() when Filename::unicode:chardata(), - Option :: {type, wx:wx_enum()}; + Option :: {'type', wx:wx_enum()}; (Image, [Option]) -> wxBitmap() when Image::wxImage:wxImage(), - Option :: {depth, integer()}. + Option :: {'depth', integer()}. new(Width,Height) when is_integer(Width),is_integer(Height) -> @@ -106,13 +106,13 @@ new(#wx_ref{type=ImageT,ref=ImageRef}, Options) %% <br /> Also:<br /> %% new(Width, Height, [Option]) -> wxBitmap() when<br /> %% Width::integer(), Height::integer(),<br /> -%% Option :: {depth, integer()}.<br /> +%% Option :: {'depth', integer()}.<br /> %% -spec new(Bits, Width, Height) -> wxBitmap() when Bits::binary(), Width::integer(), Height::integer(); (Width, Height, [Option]) -> wxBitmap() when Width::integer(), Height::integer(), - Option :: {depth, integer()}. + Option :: {'depth', integer()}. new(Bits,Width,Height) when is_binary(Bits),is_integer(Width),is_integer(Height) -> @@ -128,7 +128,7 @@ new(Width,Height, Options) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxbitmap.html#wxbitmapwxbitmap">external documentation</a>. -spec new(Bits, Width, Height, [Option]) -> wxBitmap() when Bits::binary(), Width::integer(), Height::integer(), - Option :: {depth, integer()}. + Option :: {'depth', integer()}. new(Bits,Width,Height, Options) when is_binary(Bits),is_integer(Width),is_integer(Height),is_list(Options) -> wxe_util:send_bin(Bits), @@ -166,7 +166,7 @@ create(This,Width,Height) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxbitmap.html#wxbitmapcreate">external documentation</a>. -spec create(This, Width, Height, [Option]) -> boolean() when This::wxBitmap(), Width::integer(), Height::integer(), - Option :: {depth, integer()}. + Option :: {'depth', integer()}. create(#wx_ref{type=ThisT,ref=ThisRef},Width,Height, Options) when is_integer(Width),is_integer(Height),is_list(Options) -> ?CLASS(ThisT,wxBitmap), @@ -237,7 +237,7 @@ loadFile(This,Name) %%<br /> Type = ?wxBITMAP_TYPE_INVALID | ?wxBITMAP_TYPE_BMP | ?wxBITMAP_TYPE_BMP_RESOURCE | ?wxBITMAP_TYPE_RESOURCE | ?wxBITMAP_TYPE_ICO | ?wxBITMAP_TYPE_ICO_RESOURCE | ?wxBITMAP_TYPE_CUR | ?wxBITMAP_TYPE_CUR_RESOURCE | ?wxBITMAP_TYPE_XBM | ?wxBITMAP_TYPE_XBM_DATA | ?wxBITMAP_TYPE_XPM | ?wxBITMAP_TYPE_XPM_DATA | ?wxBITMAP_TYPE_TIF | ?wxBITMAP_TYPE_TIF_RESOURCE | ?wxBITMAP_TYPE_GIF | ?wxBITMAP_TYPE_GIF_RESOURCE | ?wxBITMAP_TYPE_PNG | ?wxBITMAP_TYPE_PNG_RESOURCE | ?wxBITMAP_TYPE_JPEG | ?wxBITMAP_TYPE_JPEG_RESOURCE | ?wxBITMAP_TYPE_PNM | ?wxBITMAP_TYPE_PNM_RESOURCE | ?wxBITMAP_TYPE_PCX | ?wxBITMAP_TYPE_PCX_RESOURCE | ?wxBITMAP_TYPE_PICT | ?wxBITMAP_TYPE_PICT_RESOURCE | ?wxBITMAP_TYPE_ICON | ?wxBITMAP_TYPE_ICON_RESOURCE | ?wxBITMAP_TYPE_ANI | ?wxBITMAP_TYPE_IFF | ?wxBITMAP_TYPE_TGA | ?wxBITMAP_TYPE_MACCURSOR | ?wxBITMAP_TYPE_MACCURSOR_RESOURCE | ?wxBITMAP_TYPE_ANY -spec loadFile(This, Name, [Option]) -> boolean() when This::wxBitmap(), Name::unicode:chardata(), - Option :: {type, wx:wx_enum()}. + Option :: {'type', wx:wx_enum()}. loadFile(#wx_ref{type=ThisT,ref=ThisRef},Name, Options) when is_list(Name),is_list(Options) -> ?CLASS(ThisT,wxBitmap), @@ -268,7 +268,7 @@ saveFile(This,Name,Type) %%<br /> Type = ?wxBITMAP_TYPE_INVALID | ?wxBITMAP_TYPE_BMP | ?wxBITMAP_TYPE_BMP_RESOURCE | ?wxBITMAP_TYPE_RESOURCE | ?wxBITMAP_TYPE_ICO | ?wxBITMAP_TYPE_ICO_RESOURCE | ?wxBITMAP_TYPE_CUR | ?wxBITMAP_TYPE_CUR_RESOURCE | ?wxBITMAP_TYPE_XBM | ?wxBITMAP_TYPE_XBM_DATA | ?wxBITMAP_TYPE_XPM | ?wxBITMAP_TYPE_XPM_DATA | ?wxBITMAP_TYPE_TIF | ?wxBITMAP_TYPE_TIF_RESOURCE | ?wxBITMAP_TYPE_GIF | ?wxBITMAP_TYPE_GIF_RESOURCE | ?wxBITMAP_TYPE_PNG | ?wxBITMAP_TYPE_PNG_RESOURCE | ?wxBITMAP_TYPE_JPEG | ?wxBITMAP_TYPE_JPEG_RESOURCE | ?wxBITMAP_TYPE_PNM | ?wxBITMAP_TYPE_PNM_RESOURCE | ?wxBITMAP_TYPE_PCX | ?wxBITMAP_TYPE_PCX_RESOURCE | ?wxBITMAP_TYPE_PICT | ?wxBITMAP_TYPE_PICT_RESOURCE | ?wxBITMAP_TYPE_ICON | ?wxBITMAP_TYPE_ICON_RESOURCE | ?wxBITMAP_TYPE_ANI | ?wxBITMAP_TYPE_IFF | ?wxBITMAP_TYPE_TGA | ?wxBITMAP_TYPE_MACCURSOR | ?wxBITMAP_TYPE_MACCURSOR_RESOURCE | ?wxBITMAP_TYPE_ANY -spec saveFile(This, Name, Type, [Option]) -> boolean() when This::wxBitmap(), Name::unicode:chardata(), Type::wx:wx_enum(), - Option :: {palette, wxPalette:wxPalette()}. + Option :: {'palette', wxPalette:wxPalette()}. saveFile(#wx_ref{type=ThisT,ref=ThisRef},Name,Type, Options) when is_list(Name),is_integer(Type),is_list(Options) -> ?CLASS(ThisT,wxBitmap), @@ -280,7 +280,7 @@ saveFile(#wx_ref{type=ThisT,ref=ThisRef},Name,Type, Options) <<ThisRef:32/?UI,(byte_size(Name_UC)):32/?UI,(Name_UC)/binary, 0:(((8- ((0+byte_size(Name_UC)) band 16#7)) band 16#7))/unit:8,Type:32/?UI, 0:32,BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxbitmap.html#wxbitmapsetdepth">external documentation</a>. --spec setDepth(This, Depth) -> ok when +-spec setDepth(This, Depth) -> 'ok' when This::wxBitmap(), Depth::integer(). setDepth(#wx_ref{type=ThisT,ref=ThisRef},Depth) when is_integer(Depth) -> @@ -289,7 +289,7 @@ setDepth(#wx_ref{type=ThisT,ref=ThisRef},Depth) <<ThisRef:32/?UI,Depth:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxbitmap.html#wxbitmapsetheight">external documentation</a>. --spec setHeight(This, Height) -> ok when +-spec setHeight(This, Height) -> 'ok' when This::wxBitmap(), Height::integer(). setHeight(#wx_ref{type=ThisT,ref=ThisRef},Height) when is_integer(Height) -> @@ -298,7 +298,7 @@ setHeight(#wx_ref{type=ThisT,ref=ThisRef},Height) <<ThisRef:32/?UI,Height:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxbitmap.html#wxbitmapsetmask">external documentation</a>. --spec setMask(This, Mask) -> ok when +-spec setMask(This, Mask) -> 'ok' when This::wxBitmap(), Mask::wxMask:wxMask(). setMask(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=MaskT,ref=MaskRef}) -> ?CLASS(ThisT,wxBitmap), @@ -307,7 +307,7 @@ setMask(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=MaskT,ref=MaskRef}) -> <<ThisRef:32/?UI,MaskRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxbitmap.html#wxbitmapsetpalette">external documentation</a>. --spec setPalette(This, Palette) -> ok when +-spec setPalette(This, Palette) -> 'ok' when This::wxBitmap(), Palette::wxPalette:wxPalette(). setPalette(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=PaletteT,ref=PaletteRef}) -> ?CLASS(ThisT,wxBitmap), @@ -316,7 +316,7 @@ setPalette(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=PaletteT,ref=PaletteRef} <<ThisRef:32/?UI,PaletteRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxbitmap.html#wxbitmapsetwidth">external documentation</a>. --spec setWidth(This, Width) -> ok when +-spec setWidth(This, Width) -> 'ok' when This::wxBitmap(), Width::integer(). setWidth(#wx_ref{type=ThisT,ref=ThisRef},Width) when is_integer(Width) -> @@ -325,7 +325,7 @@ setWidth(#wx_ref{type=ThisT,ref=ThisRef},Width) <<ThisRef:32/?UI,Width:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxBitmap()) -> ok. +-spec destroy(This::wxBitmap()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxBitmap), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxBitmapButton.erl b/lib/wx/src/gen/wxBitmapButton.erl index 642828b0b0..d1d2d037e8 100644 --- a/lib/wx/src/gen/wxBitmapButton.erl +++ b/lib/wx/src/gen/wxBitmapButton.erl @@ -100,10 +100,10 @@ new(Parent,Id,Bitmap) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxbitmapbutton.html#wxbitmapbuttonwxbitmapbutton">external documentation</a>. -spec new(Parent, Id, Bitmap, [Option]) -> wxBitmapButton() when Parent::wxWindow:wxWindow(), Id::integer(), Bitmap::wxBitmap:wxBitmap(), - Option :: {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()} - | {validator, wx:wx_object()}. + Option :: {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()} + | {'validator', wx:wx_object()}. new(#wx_ref{type=ParentT,ref=ParentRef},Id,#wx_ref{type=BitmapT,ref=BitmapRef}, Options) when is_integer(Id),is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -128,10 +128,10 @@ create(This,Parent,Id,Bitmap) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxbitmapbutton.html#wxbitmapbuttoncreate">external documentation</a>. -spec create(This, Parent, Id, Bitmap, [Option]) -> boolean() when This::wxBitmapButton(), Parent::wxWindow:wxWindow(), Id::integer(), Bitmap::wxBitmap:wxBitmap(), - Option :: {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()} - | {validator, wx:wx_object()}. + Option :: {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()} + | {'validator', wx:wx_object()}. create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef},Id,#wx_ref{type=BitmapT,ref=BitmapRef}, Options) when is_integer(Id),is_list(Options) -> ?CLASS(ThisT,wxBitmapButton), @@ -179,7 +179,7 @@ getBitmapSelected(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxbitmapbutton.html#wxbitmapbuttonsetbitmapdisabled">external documentation</a>. --spec setBitmapDisabled(This, Disabled) -> ok when +-spec setBitmapDisabled(This, Disabled) -> 'ok' when This::wxBitmapButton(), Disabled::wxBitmap:wxBitmap(). setBitmapDisabled(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=DisabledT,ref=DisabledRef}) -> ?CLASS(ThisT,wxBitmapButton), @@ -188,7 +188,7 @@ setBitmapDisabled(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=DisabledT,ref=Dis <<ThisRef:32/?UI,DisabledRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxbitmapbutton.html#wxbitmapbuttonsetbitmapfocus">external documentation</a>. --spec setBitmapFocus(This, Focus) -> ok when +-spec setBitmapFocus(This, Focus) -> 'ok' when This::wxBitmapButton(), Focus::wxBitmap:wxBitmap(). setBitmapFocus(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=FocusT,ref=FocusRef}) -> ?CLASS(ThisT,wxBitmapButton), @@ -197,7 +197,7 @@ setBitmapFocus(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=FocusT,ref=FocusRef} <<ThisRef:32/?UI,FocusRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxbitmapbutton.html#wxbitmapbuttonsetbitmaplabel">external documentation</a>. --spec setBitmapLabel(This, Bitmap) -> ok when +-spec setBitmapLabel(This, Bitmap) -> 'ok' when This::wxBitmapButton(), Bitmap::wxBitmap:wxBitmap(). setBitmapLabel(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=BitmapT,ref=BitmapRef}) -> ?CLASS(ThisT,wxBitmapButton), @@ -206,7 +206,7 @@ setBitmapLabel(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=BitmapT,ref=BitmapRe <<ThisRef:32/?UI,BitmapRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxbitmapbutton.html#wxbitmapbuttonsetbitmapselected">external documentation</a>. --spec setBitmapSelected(This, Sel) -> ok when +-spec setBitmapSelected(This, Sel) -> 'ok' when This::wxBitmapButton(), Sel::wxBitmap:wxBitmap(). setBitmapSelected(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=SelT,ref=SelRef}) -> ?CLASS(ThisT,wxBitmapButton), @@ -215,7 +215,7 @@ setBitmapSelected(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=SelT,ref=SelRef}) <<ThisRef:32/?UI,SelRef:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxBitmapButton()) -> ok. +-spec destroy(This::wxBitmapButton()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxBitmapButton), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxBitmapDataObject.erl b/lib/wx/src/gen/wxBitmapDataObject.erl index 2c90498880..58094a5910 100644 --- a/lib/wx/src/gen/wxBitmapDataObject.erl +++ b/lib/wx/src/gen/wxBitmapDataObject.erl @@ -51,7 +51,7 @@ new() -> %% Bitmap::wxBitmap:wxBitmap().<br /> %% -spec new([Option]) -> wxBitmapDataObject() when - Option :: {bitmap, wxBitmap:wxBitmap()}; + Option :: {'bitmap', wxBitmap:wxBitmap()}; (Bitmap) -> wxBitmapDataObject() when Bitmap::wxBitmap:wxBitmap(). new(Options) @@ -75,7 +75,7 @@ getBitmap(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxbitmapdataobject.html#wxbitmapdataobjectsetbitmap">external documentation</a>. --spec setBitmap(This, Bitmap) -> ok when +-spec setBitmap(This, Bitmap) -> 'ok' when This::wxBitmapDataObject(), Bitmap::wxBitmap:wxBitmap(). setBitmap(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=BitmapT,ref=BitmapRef}) -> ?CLASS(ThisT,wxBitmapDataObject), @@ -84,7 +84,7 @@ setBitmap(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=BitmapT,ref=BitmapRef}) - <<ThisRef:32/?UI,BitmapRef:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxBitmapDataObject()) -> ok. +-spec destroy(This::wxBitmapDataObject()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxBitmapDataObject), wxe_util:destroy(?wxBitmapDataObject_destroy,Obj), diff --git a/lib/wx/src/gen/wxBoxSizer.erl b/lib/wx/src/gen/wxBoxSizer.erl index 1a19b264d9..595be0a452 100644 --- a/lib/wx/src/gen/wxBoxSizer.erl +++ b/lib/wx/src/gen/wxBoxSizer.erl @@ -64,7 +64,7 @@ getOrientation(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxBoxSizer()) -> ok. +-spec destroy(This::wxBoxSizer()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxBoxSizer), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxBrush.erl b/lib/wx/src/gen/wxBrush.erl index bc1956c1f7..8f5eced1b9 100644 --- a/lib/wx/src/gen/wxBrush.erl +++ b/lib/wx/src/gen/wxBrush.erl @@ -63,7 +63,7 @@ new(#wx_ref{type=StippleBitmapT,ref=StippleBitmapRef}) -> %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxbrush.html#wxbrushwxbrush">external documentation</a>. -spec new(Colour, [Option]) -> wxBrush() when Colour::wx:wx_colour(), - Option :: {style, integer()}. + Option :: {'style', integer()}. new(Colour, Options) when tuple_size(Colour) =:= 3; tuple_size(Colour) =:= 4,is_list(Options) -> MOpts = fun({style, Style}, Acc) -> [<<1:32/?UI,Style:32/?UI>>|Acc]; @@ -113,7 +113,7 @@ isOk(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxbrush.html#wxbrushsetcolour">external documentation</a>. --spec setColour(This, Col) -> ok when +-spec setColour(This, Col) -> 'ok' when This::wxBrush(), Col::wx:wx_colour(). setColour(#wx_ref{type=ThisT,ref=ThisRef},Col) when tuple_size(Col) =:= 3; tuple_size(Col) =:= 4 -> @@ -122,7 +122,7 @@ setColour(#wx_ref{type=ThisT,ref=ThisRef},Col) <<ThisRef:32/?UI,(wxe_util:colour_bin(Col)):16/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxbrush.html#wxbrushsetcolour">external documentation</a>. --spec setColour(This, R, G, B) -> ok when +-spec setColour(This, R, G, B) -> 'ok' when This::wxBrush(), R::integer(), G::integer(), B::integer(). setColour(#wx_ref{type=ThisT,ref=ThisRef},R,G,B) when is_integer(R),is_integer(G),is_integer(B) -> @@ -131,7 +131,7 @@ setColour(#wx_ref{type=ThisT,ref=ThisRef},R,G,B) <<ThisRef:32/?UI,R:32/?UI,G:32/?UI,B:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxbrush.html#wxbrushsetstipple">external documentation</a>. --spec setStipple(This, Stipple) -> ok when +-spec setStipple(This, Stipple) -> 'ok' when This::wxBrush(), Stipple::wxBitmap:wxBitmap(). setStipple(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=StippleT,ref=StippleRef}) -> ?CLASS(ThisT,wxBrush), @@ -140,7 +140,7 @@ setStipple(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=StippleT,ref=StippleRef} <<ThisRef:32/?UI,StippleRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxbrush.html#wxbrushsetstyle">external documentation</a>. --spec setStyle(This, Style) -> ok when +-spec setStyle(This, Style) -> 'ok' when This::wxBrush(), Style::integer(). setStyle(#wx_ref{type=ThisT,ref=ThisRef},Style) when is_integer(Style) -> @@ -149,7 +149,7 @@ setStyle(#wx_ref{type=ThisT,ref=ThisRef},Style) <<ThisRef:32/?UI,Style:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxBrush()) -> ok. +-spec destroy(This::wxBrush()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxBrush), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxBufferedDC.erl b/lib/wx/src/gen/wxBufferedDC.erl index 67b851a84e..7856f6bb96 100644 --- a/lib/wx/src/gen/wxBufferedDC.erl +++ b/lib/wx/src/gen/wxBufferedDC.erl @@ -81,15 +81,15 @@ new(Dc) %% <br /> Also:<br /> %% new(Dc, [Option]) -> wxBufferedDC() when<br /> %% Dc::wxDC:wxDC(),<br /> -%% Option :: {buffer, wxBitmap:wxBitmap()}<br /> -%% | {style, integer()}.<br /> +%% Option :: {'buffer', wxBitmap:wxBitmap()}<br /> +%% | {'style', integer()}.<br /> %% -spec new(Dc, Area) -> wxBufferedDC() when Dc::wxDC:wxDC(), Area::{W::integer(), H::integer()}; (Dc, [Option]) -> wxBufferedDC() when Dc::wxDC:wxDC(), - Option :: {buffer, wxBitmap:wxBitmap()} - | {style, integer()}. + Option :: {'buffer', wxBitmap:wxBitmap()} + | {'style', integer()}. new(Dc,Area={AreaW,AreaH}) when is_record(Dc, wx_ref),is_integer(AreaW),is_integer(AreaH) -> @@ -107,7 +107,7 @@ new(#wx_ref{type=DcT,ref=DcRef}, Options) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxbuffereddc.html#wxbuffereddcwxbuffereddc">external documentation</a>. -spec new(Dc, Area, [Option]) -> wxBufferedDC() when Dc::wxDC:wxDC(), Area::{W::integer(), H::integer()}, - Option :: {style, integer()}. + Option :: {'style', integer()}. new(#wx_ref{type=DcT,ref=DcRef},{AreaW,AreaH}, Options) when is_integer(AreaW),is_integer(AreaH),is_list(Options) -> ?CLASS(DcT,wxDC), @@ -118,7 +118,7 @@ new(#wx_ref{type=DcT,ref=DcRef},{AreaW,AreaH}, Options) <<DcRef:32/?UI,AreaW:32/?UI,AreaH:32/?UI, 0:32,BinOpt/binary>>). %% @equiv init(This,Dc, []) --spec init(This, Dc) -> ok when +-spec init(This, Dc) -> 'ok' when This::wxBufferedDC(), Dc::wxDC:wxDC(). init(This,Dc) @@ -127,17 +127,17 @@ init(This,Dc) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxbuffereddc.html#wxbuffereddcinit">external documentation</a>. %% <br /> Also:<br /> -%% init(This, Dc, [Option]) -> ok when<br /> +%% init(This, Dc, [Option]) -> 'ok' when<br /> %% This::wxBufferedDC(), Dc::wxDC:wxDC(),<br /> -%% Option :: {buffer, wxBitmap:wxBitmap()}<br /> -%% | {style, integer()}.<br /> +%% Option :: {'buffer', wxBitmap:wxBitmap()}<br /> +%% | {'style', integer()}.<br /> %% --spec init(This, Dc, Area) -> ok when +-spec init(This, Dc, Area) -> 'ok' when This::wxBufferedDC(), Dc::wxDC:wxDC(), Area::{W::integer(), H::integer()}; - (This, Dc, [Option]) -> ok when + (This, Dc, [Option]) -> 'ok' when This::wxBufferedDC(), Dc::wxDC:wxDC(), - Option :: {buffer, wxBitmap:wxBitmap()} - | {style, integer()}. + Option :: {'buffer', wxBitmap:wxBitmap()} + | {'style', integer()}. init(This,Dc,Area={AreaW,AreaH}) when is_record(This, wx_ref),is_record(Dc, wx_ref),is_integer(AreaW),is_integer(AreaH) -> @@ -154,9 +154,9 @@ init(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=DcT,ref=DcRef}, Options) <<ThisRef:32/?UI,DcRef:32/?UI, BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxbuffereddc.html#wxbuffereddcinit">external documentation</a>. --spec init(This, Dc, Area, [Option]) -> ok when +-spec init(This, Dc, Area, [Option]) -> 'ok' when This::wxBufferedDC(), Dc::wxDC:wxDC(), Area::{W::integer(), H::integer()}, - Option :: {style, integer()}. + Option :: {'style', integer()}. init(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=DcT,ref=DcRef},{AreaW,AreaH}, Options) when is_integer(AreaW),is_integer(AreaH),is_list(Options) -> ?CLASS(ThisT,wxBufferedDC), @@ -168,7 +168,7 @@ init(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=DcT,ref=DcRef},{AreaW,AreaH}, <<ThisRef:32/?UI,DcRef:32/?UI,AreaW:32/?UI,AreaH:32/?UI, BinOpt/binary>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxBufferedDC()) -> ok. +-spec destroy(This::wxBufferedDC()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxBufferedDC), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxBufferedPaintDC.erl b/lib/wx/src/gen/wxBufferedPaintDC.erl index 0601caf300..5af5098d27 100644 --- a/lib/wx/src/gen/wxBufferedPaintDC.erl +++ b/lib/wx/src/gen/wxBufferedPaintDC.erl @@ -78,13 +78,13 @@ new(Window) %% <br /> Also:<br /> %% new(Window, [Option]) -> wxBufferedPaintDC() when<br /> %% Window::wxWindow:wxWindow(),<br /> -%% Option :: {style, integer()}.<br /> +%% Option :: {'style', integer()}.<br /> %% -spec new(Window, Buffer) -> wxBufferedPaintDC() when Window::wxWindow:wxWindow(), Buffer::wxBitmap:wxBitmap(); (Window, [Option]) -> wxBufferedPaintDC() when Window::wxWindow:wxWindow(), - Option :: {style, integer()}. + Option :: {'style', integer()}. new(Window,Buffer) when is_record(Window, wx_ref),is_record(Buffer, wx_ref) -> @@ -101,7 +101,7 @@ new(#wx_ref{type=WindowT,ref=WindowRef}, Options) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxbufferedpaintdc.html#wxbufferedpaintdcwxbufferedpaintdc">external documentation</a>. -spec new(Window, Buffer, [Option]) -> wxBufferedPaintDC() when Window::wxWindow:wxWindow(), Buffer::wxBitmap:wxBitmap(), - Option :: {style, integer()}. + Option :: {'style', integer()}. new(#wx_ref{type=WindowT,ref=WindowRef},#wx_ref{type=BufferT,ref=BufferRef}, Options) when is_list(Options) -> ?CLASS(WindowT,wxWindow), @@ -113,7 +113,7 @@ new(#wx_ref{type=WindowT,ref=WindowRef},#wx_ref{type=BufferT,ref=BufferRef}, Opt <<WindowRef:32/?UI,BufferRef:32/?UI, BinOpt/binary>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxBufferedPaintDC()) -> ok. +-spec destroy(This::wxBufferedPaintDC()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxBufferedPaintDC), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxButton.erl b/lib/wx/src/gen/wxButton.erl index c94303bbea..65d45caa13 100644 --- a/lib/wx/src/gen/wxButton.erl +++ b/lib/wx/src/gen/wxButton.erl @@ -97,11 +97,11 @@ new(Parent,Id) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxbutton.html#wxbuttonwxbutton">external documentation</a>. -spec new(Parent, Id, [Option]) -> wxButton() when Parent::wxWindow:wxWindow(), Id::integer(), - Option :: {label, unicode:chardata()} - | {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()} - | {validator, wx:wx_object()}. + Option :: {'label', unicode:chardata()} + | {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()} + | {'validator', wx:wx_object()}. new(#wx_ref{type=ParentT,ref=ParentRef},Id, Options) when is_integer(Id),is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -126,11 +126,11 @@ create(This,Parent,Id) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxbutton.html#wxbuttoncreate">external documentation</a>. -spec create(This, Parent, Id, [Option]) -> boolean() when This::wxButton(), Parent::wxWindow:wxWindow(), Id::integer(), - Option :: {label, unicode:chardata()} - | {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()} - | {validator, wx:wx_object()}. + Option :: {'label', unicode:chardata()} + | {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()} + | {'validator', wx:wx_object()}. create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef},Id, Options) when is_integer(Id),is_list(Options) -> ?CLASS(ThisT,wxButton), @@ -152,7 +152,7 @@ getDefaultSize() -> <<>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxbutton.html#wxbuttonsetdefault">external documentation</a>. --spec setDefault(This) -> ok when +-spec setDefault(This) -> 'ok' when This::wxButton(). setDefault(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxButton), @@ -160,7 +160,7 @@ setDefault(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxbutton.html#wxbuttonsetlabel">external documentation</a>. --spec setLabel(This, Label) -> ok when +-spec setLabel(This, Label) -> 'ok' when This::wxButton(), Label::unicode:chardata(). setLabel(#wx_ref{type=ThisT,ref=ThisRef},Label) when is_list(Label) -> @@ -170,7 +170,7 @@ setLabel(#wx_ref{type=ThisT,ref=ThisRef},Label) <<ThisRef:32/?UI,(byte_size(Label_UC)):32/?UI,(Label_UC)/binary, 0:(((8- ((0+byte_size(Label_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxButton()) -> ok. +-spec destroy(This::wxButton()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxButton), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxCalendarCtrl.erl b/lib/wx/src/gen/wxCalendarCtrl.erl index 1d4baeed08..93fcb61464 100644 --- a/lib/wx/src/gen/wxCalendarCtrl.erl +++ b/lib/wx/src/gen/wxCalendarCtrl.erl @@ -103,10 +103,10 @@ new(Parent,Id) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcalendarctrl.html#wxcalendarctrlwxcalendarctrl">external documentation</a>. -spec new(Parent, Id, [Option]) -> wxCalendarCtrl() when Parent::wxWindow:wxWindow(), Id::integer(), - Option :: {date, wx:wx_datetime()} - | {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()}. + Option :: {'date', wx:wx_datetime()} + | {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()}. new(#wx_ref{type=ParentT,ref=ParentRef},Id, Options) when is_integer(Id),is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -130,10 +130,10 @@ create(This,Parent,Id) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcalendarctrl.html#wxcalendarctrlcreate">external documentation</a>. -spec create(This, Parent, Id, [Option]) -> boolean() when This::wxCalendarCtrl(), Parent::wxWindow:wxWindow(), Id::integer(), - Option :: {date, wx:wx_datetime()} - | {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()}. + Option :: {'date', wx:wx_datetime()} + | {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()}. create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef},Id, Options) when is_integer(Id),is_list(Options) -> ?CLASS(ThisT,wxCalendarCtrl), @@ -165,7 +165,7 @@ getDate(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @equiv enableYearChange(This, []) --spec enableYearChange(This) -> ok when +-spec enableYearChange(This) -> 'ok' when This::wxCalendarCtrl(). enableYearChange(This) @@ -173,9 +173,9 @@ enableYearChange(This) enableYearChange(This, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcalendarctrl.html#wxcalendarctrlenableyearchange">external documentation</a>. --spec enableYearChange(This, [Option]) -> ok when +-spec enableYearChange(This, [Option]) -> 'ok' when This::wxCalendarCtrl(), - Option :: {enable, boolean()}. + Option :: {'enable', boolean()}. enableYearChange(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxCalendarCtrl), @@ -186,7 +186,7 @@ enableYearChange(#wx_ref{type=ThisT,ref=ThisRef}, Options) <<ThisRef:32/?UI, 0:32,BinOpt/binary>>). %% @equiv enableMonthChange(This, []) --spec enableMonthChange(This) -> ok when +-spec enableMonthChange(This) -> 'ok' when This::wxCalendarCtrl(). enableMonthChange(This) @@ -194,9 +194,9 @@ enableMonthChange(This) enableMonthChange(This, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcalendarctrl.html#wxcalendarctrlenablemonthchange">external documentation</a>. --spec enableMonthChange(This, [Option]) -> ok when +-spec enableMonthChange(This, [Option]) -> 'ok' when This::wxCalendarCtrl(), - Option :: {enable, boolean()}. + Option :: {'enable', boolean()}. enableMonthChange(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxCalendarCtrl), @@ -207,7 +207,7 @@ enableMonthChange(#wx_ref{type=ThisT,ref=ThisRef}, Options) <<ThisRef:32/?UI, 0:32,BinOpt/binary>>). %% @equiv enableHolidayDisplay(This, []) --spec enableHolidayDisplay(This) -> ok when +-spec enableHolidayDisplay(This) -> 'ok' when This::wxCalendarCtrl(). enableHolidayDisplay(This) @@ -215,9 +215,9 @@ enableHolidayDisplay(This) enableHolidayDisplay(This, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcalendarctrl.html#wxcalendarctrlenableholidaydisplay">external documentation</a>. --spec enableHolidayDisplay(This, [Option]) -> ok when +-spec enableHolidayDisplay(This, [Option]) -> 'ok' when This::wxCalendarCtrl(), - Option :: {display, boolean()}. + Option :: {'display', boolean()}. enableHolidayDisplay(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxCalendarCtrl), @@ -228,7 +228,7 @@ enableHolidayDisplay(#wx_ref{type=ThisT,ref=ThisRef}, Options) <<ThisRef:32/?UI, 0:32,BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcalendarctrl.html#wxcalendarctrlsetheadercolours">external documentation</a>. --spec setHeaderColours(This, ColFg, ColBg) -> ok when +-spec setHeaderColours(This, ColFg, ColBg) -> 'ok' when This::wxCalendarCtrl(), ColFg::wx:wx_colour(), ColBg::wx:wx_colour(). setHeaderColours(#wx_ref{type=ThisT,ref=ThisRef},ColFg,ColBg) when tuple_size(ColFg) =:= 3; tuple_size(ColFg) =:= 4,tuple_size(ColBg) =:= 3; tuple_size(ColBg) =:= 4 -> @@ -253,7 +253,7 @@ getHeaderColourBg(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcalendarctrl.html#wxcalendarctrlsethighlightcolours">external documentation</a>. --spec setHighlightColours(This, ColFg, ColBg) -> ok when +-spec setHighlightColours(This, ColFg, ColBg) -> 'ok' when This::wxCalendarCtrl(), ColFg::wx:wx_colour(), ColBg::wx:wx_colour(). setHighlightColours(#wx_ref{type=ThisT,ref=ThisRef},ColFg,ColBg) when tuple_size(ColFg) =:= 3; tuple_size(ColFg) =:= 4,tuple_size(ColBg) =:= 3; tuple_size(ColBg) =:= 4 -> @@ -278,7 +278,7 @@ getHighlightColourBg(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcalendarctrl.html#wxcalendarctrlsetholidaycolours">external documentation</a>. --spec setHolidayColours(This, ColFg, ColBg) -> ok when +-spec setHolidayColours(This, ColFg, ColBg) -> 'ok' when This::wxCalendarCtrl(), ColFg::wx:wx_colour(), ColBg::wx:wx_colour(). setHolidayColours(#wx_ref{type=ThisT,ref=ThisRef},ColFg,ColBg) when tuple_size(ColFg) =:= 3; tuple_size(ColFg) =:= 4,tuple_size(ColBg) =:= 3; tuple_size(ColBg) =:= 4 -> @@ -312,7 +312,7 @@ getAttr(#wx_ref{type=ThisT,ref=ThisRef},Day) <<ThisRef:32/?UI,Day:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcalendarctrl.html#wxcalendarctrlsetattr">external documentation</a>. --spec setAttr(This, Day, Attr) -> ok when +-spec setAttr(This, Day, Attr) -> 'ok' when This::wxCalendarCtrl(), Day::integer(), Attr::wxCalendarDateAttr:wxCalendarDateAttr(). setAttr(#wx_ref{type=ThisT,ref=ThisRef},Day,#wx_ref{type=AttrT,ref=AttrRef}) when is_integer(Day) -> @@ -322,7 +322,7 @@ setAttr(#wx_ref{type=ThisT,ref=ThisRef},Day,#wx_ref{type=AttrT,ref=AttrRef}) <<ThisRef:32/?UI,Day:32/?UI,AttrRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcalendarctrl.html#wxcalendarctrlsetholiday">external documentation</a>. --spec setHoliday(This, Day) -> ok when +-spec setHoliday(This, Day) -> 'ok' when This::wxCalendarCtrl(), Day::integer(). setHoliday(#wx_ref{type=ThisT,ref=ThisRef},Day) when is_integer(Day) -> @@ -331,7 +331,7 @@ setHoliday(#wx_ref{type=ThisT,ref=ThisRef},Day) <<ThisRef:32/?UI,Day:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcalendarctrl.html#wxcalendarctrlresetattr">external documentation</a>. --spec resetAttr(This, Day) -> ok when +-spec resetAttr(This, Day) -> 'ok' when This::wxCalendarCtrl(), Day::integer(). resetAttr(#wx_ref{type=ThisT,ref=ThisRef},Day) when is_integer(Day) -> @@ -352,7 +352,7 @@ hitTest(#wx_ref{type=ThisT,ref=ThisRef},{PosX,PosY}) <<ThisRef:32/?UI,PosX:32/?UI,PosY:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxCalendarCtrl()) -> ok. +-spec destroy(This::wxCalendarCtrl()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxCalendarCtrl), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxCalendarDateAttr.erl b/lib/wx/src/gen/wxCalendarDateAttr.erl index 175b03cfdd..cb670fd273 100644 --- a/lib/wx/src/gen/wxCalendarDateAttr.erl +++ b/lib/wx/src/gen/wxCalendarDateAttr.erl @@ -67,21 +67,21 @@ new(ColText) %% <br /> Also:<br /> %% new(ColText, [Option]) -> wxCalendarDateAttr() when<br /> %% ColText::wx:wx_colour(),<br /> -%% Option :: {colBack, wx:wx_colour()}<br /> -%% | {colBorder, wx:wx_colour()}<br /> -%% | {font, wxFont:wxFont()}<br /> -%% | {border, wx:wx_enum()}.<br /> +%% Option :: {'colBack', wx:wx_colour()}<br /> +%% | {'colBorder', wx:wx_colour()}<br /> +%% | {'font', wxFont:wxFont()}<br /> +%% | {'border', wx:wx_enum()}.<br /> %% %%<br /> Border = ?wxCAL_BORDER_NONE | ?wxCAL_BORDER_SQUARE | ?wxCAL_BORDER_ROUND -spec new(Border, [Option]) -> wxCalendarDateAttr() when Border::wx:wx_enum(), - Option :: {colBorder, wx:wx_colour()}; + Option :: {'colBorder', wx:wx_colour()}; (ColText, [Option]) -> wxCalendarDateAttr() when ColText::wx:wx_colour(), - Option :: {colBack, wx:wx_colour()} - | {colBorder, wx:wx_colour()} - | {font, wxFont:wxFont()} - | {border, wx:wx_enum()}. + Option :: {'colBack', wx:wx_colour()} + | {'colBorder', wx:wx_colour()} + | {'font', wxFont:wxFont()} + | {'border', wx:wx_enum()}. new(Border, Options) when is_integer(Border),is_list(Options) -> MOpts = fun({colBorder, ColBorder}, Acc) -> [<<1:32/?UI,(wxe_util:colour_bin(ColBorder)):16/binary,0:32>>|Acc]; @@ -101,7 +101,7 @@ new(ColText, Options) <<(wxe_util:colour_bin(ColText)):16/binary, BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcalendardateattr.html#wxcalendardateattrsettextcolour">external documentation</a>. --spec setTextColour(This, ColText) -> ok when +-spec setTextColour(This, ColText) -> 'ok' when This::wxCalendarDateAttr(), ColText::wx:wx_colour(). setTextColour(#wx_ref{type=ThisT,ref=ThisRef},ColText) when tuple_size(ColText) =:= 3; tuple_size(ColText) =:= 4 -> @@ -110,7 +110,7 @@ setTextColour(#wx_ref{type=ThisT,ref=ThisRef},ColText) <<ThisRef:32/?UI,(wxe_util:colour_bin(ColText)):16/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcalendardateattr.html#wxcalendardateattrsetbackgroundcolour">external documentation</a>. --spec setBackgroundColour(This, ColBack) -> ok when +-spec setBackgroundColour(This, ColBack) -> 'ok' when This::wxCalendarDateAttr(), ColBack::wx:wx_colour(). setBackgroundColour(#wx_ref{type=ThisT,ref=ThisRef},ColBack) when tuple_size(ColBack) =:= 3; tuple_size(ColBack) =:= 4 -> @@ -119,7 +119,7 @@ setBackgroundColour(#wx_ref{type=ThisT,ref=ThisRef},ColBack) <<ThisRef:32/?UI,(wxe_util:colour_bin(ColBack)):16/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcalendardateattr.html#wxcalendardateattrsetbordercolour">external documentation</a>. --spec setBorderColour(This, Col) -> ok when +-spec setBorderColour(This, Col) -> 'ok' when This::wxCalendarDateAttr(), Col::wx:wx_colour(). setBorderColour(#wx_ref{type=ThisT,ref=ThisRef},Col) when tuple_size(Col) =:= 3; tuple_size(Col) =:= 4 -> @@ -128,7 +128,7 @@ setBorderColour(#wx_ref{type=ThisT,ref=ThisRef},Col) <<ThisRef:32/?UI,(wxe_util:colour_bin(Col)):16/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcalendardateattr.html#wxcalendardateattrsetfont">external documentation</a>. --spec setFont(This, Font) -> ok when +-spec setFont(This, Font) -> 'ok' when This::wxCalendarDateAttr(), Font::wxFont:wxFont(). setFont(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=FontT,ref=FontRef}) -> ?CLASS(ThisT,wxCalendarDateAttr), @@ -138,7 +138,7 @@ setFont(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=FontT,ref=FontRef}) -> %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcalendardateattr.html#wxcalendardateattrsetborder">external documentation</a>. %%<br /> Border = ?wxCAL_BORDER_NONE | ?wxCAL_BORDER_SQUARE | ?wxCAL_BORDER_ROUND --spec setBorder(This, Border) -> ok when +-spec setBorder(This, Border) -> 'ok' when This::wxCalendarDateAttr(), Border::wx:wx_enum(). setBorder(#wx_ref{type=ThisT,ref=ThisRef},Border) when is_integer(Border) -> @@ -147,7 +147,7 @@ setBorder(#wx_ref{type=ThisT,ref=ThisRef},Border) <<ThisRef:32/?UI,Border:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcalendardateattr.html#wxcalendardateattrsetholiday">external documentation</a>. --spec setHoliday(This, Holiday) -> ok when +-spec setHoliday(This, Holiday) -> 'ok' when This::wxCalendarDateAttr(), Holiday::boolean(). setHoliday(#wx_ref{type=ThisT,ref=ThisRef},Holiday) when is_boolean(Holiday) -> @@ -245,7 +245,7 @@ getBorder(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxCalendarDateAttr()) -> ok. +-spec destroy(This::wxCalendarDateAttr()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxCalendarDateAttr), wxe_util:destroy(?wxCalendarDateAttr_destroy,Obj), diff --git a/lib/wx/src/gen/wxCaret.erl b/lib/wx/src/gen/wxCaret.erl index 9da832aa67..8833a920d5 100644 --- a/lib/wx/src/gen/wxCaret.erl +++ b/lib/wx/src/gen/wxCaret.erl @@ -106,7 +106,7 @@ getWindow(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcaret.html#wxcarethide">external documentation</a>. --spec hide(This) -> ok when +-spec hide(This) -> 'ok' when This::wxCaret(). hide(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxCaret), @@ -130,7 +130,7 @@ isVisible(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcaret.html#wxcaretmove">external documentation</a>. --spec move(This, Pt) -> ok when +-spec move(This, Pt) -> 'ok' when This::wxCaret(), Pt::{X::integer(), Y::integer()}. move(#wx_ref{type=ThisT,ref=ThisRef},{PtX,PtY}) when is_integer(PtX),is_integer(PtY) -> @@ -139,7 +139,7 @@ move(#wx_ref{type=ThisT,ref=ThisRef},{PtX,PtY}) <<ThisRef:32/?UI,PtX:32/?UI,PtY:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcaret.html#wxcaretmove">external documentation</a>. --spec move(This, X, Y) -> ok when +-spec move(This, X, Y) -> 'ok' when This::wxCaret(), X::integer(), Y::integer(). move(#wx_ref{type=ThisT,ref=ThisRef},X,Y) when is_integer(X),is_integer(Y) -> @@ -148,7 +148,7 @@ move(#wx_ref{type=ThisT,ref=ThisRef},X,Y) <<ThisRef:32/?UI,X:32/?UI,Y:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcaret.html#wxcaretsetblinktime">external documentation</a>. --spec setBlinkTime(Milliseconds) -> ok when +-spec setBlinkTime(Milliseconds) -> 'ok' when Milliseconds::integer(). setBlinkTime(Milliseconds) when is_integer(Milliseconds) -> @@ -156,7 +156,7 @@ setBlinkTime(Milliseconds) <<Milliseconds:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcaret.html#wxcaretsetsize">external documentation</a>. --spec setSize(This, Size) -> ok when +-spec setSize(This, Size) -> 'ok' when This::wxCaret(), Size::{W::integer(), H::integer()}. setSize(#wx_ref{type=ThisT,ref=ThisRef},{SizeW,SizeH}) when is_integer(SizeW),is_integer(SizeH) -> @@ -165,7 +165,7 @@ setSize(#wx_ref{type=ThisT,ref=ThisRef},{SizeW,SizeH}) <<ThisRef:32/?UI,SizeW:32/?UI,SizeH:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcaret.html#wxcaretsetsize">external documentation</a>. --spec setSize(This, Width, Height) -> ok when +-spec setSize(This, Width, Height) -> 'ok' when This::wxCaret(), Width::integer(), Height::integer(). setSize(#wx_ref{type=ThisT,ref=ThisRef},Width,Height) when is_integer(Width),is_integer(Height) -> @@ -174,7 +174,7 @@ setSize(#wx_ref{type=ThisT,ref=ThisRef},Width,Height) <<ThisRef:32/?UI,Width:32/?UI,Height:32/?UI>>). %% @equiv show(This, []) --spec show(This) -> ok when +-spec show(This) -> 'ok' when This::wxCaret(). show(This) @@ -182,9 +182,9 @@ show(This) show(This, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcaret.html#wxcaretshow">external documentation</a>. --spec show(This, [Option]) -> ok when +-spec show(This, [Option]) -> 'ok' when This::wxCaret(), - Option :: {show, boolean()}. + Option :: {'show', boolean()}. show(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxCaret), @@ -195,7 +195,7 @@ show(#wx_ref{type=ThisT,ref=ThisRef}, Options) <<ThisRef:32/?UI, 0:32,BinOpt/binary>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxCaret()) -> ok. +-spec destroy(This::wxCaret()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxCaret), wxe_util:destroy(?wxCaret_destruct,Obj), diff --git a/lib/wx/src/gen/wxCheckBox.erl b/lib/wx/src/gen/wxCheckBox.erl index 2cea4d04b4..3276add802 100644 --- a/lib/wx/src/gen/wxCheckBox.erl +++ b/lib/wx/src/gen/wxCheckBox.erl @@ -98,10 +98,10 @@ new(Parent,Id,Label) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcheckbox.html#wxcheckboxwxcheckbox">external documentation</a>. -spec new(Parent, Id, Label, [Option]) -> wxCheckBox() when Parent::wxWindow:wxWindow(), Id::integer(), Label::unicode:chardata(), - Option :: {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()} - | {validator, wx:wx_object()}. + Option :: {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()} + | {'validator', wx:wx_object()}. new(#wx_ref{type=ParentT,ref=ParentRef},Id,Label, Options) when is_integer(Id),is_list(Label),is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -126,10 +126,10 @@ create(This,Parent,Id,Label) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcheckbox.html#wxcheckboxcreate">external documentation</a>. -spec create(This, Parent, Id, Label, [Option]) -> boolean() when This::wxCheckBox(), Parent::wxWindow:wxWindow(), Id::integer(), Label::unicode:chardata(), - Option :: {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()} - | {validator, wx:wx_object()}. + Option :: {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()} + | {'validator', wx:wx_object()}. create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef},Id,Label, Options) when is_integer(Id),is_list(Label),is_list(Options) -> ?CLASS(ThisT,wxCheckBox), @@ -186,7 +186,7 @@ isChecked(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcheckbox.html#wxcheckboxsetvalue">external documentation</a>. --spec setValue(This, State) -> ok when +-spec setValue(This, State) -> 'ok' when This::wxCheckBox(), State::boolean(). setValue(#wx_ref{type=ThisT,ref=ThisRef},State) when is_boolean(State) -> @@ -196,7 +196,7 @@ setValue(#wx_ref{type=ThisT,ref=ThisRef},State) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcheckbox.html#wxcheckboxset3statevalue">external documentation</a>. %%<br /> State = ?wxCHK_UNCHECKED | ?wxCHK_CHECKED | ?wxCHK_UNDETERMINED --spec set3StateValue(This, State) -> ok when +-spec set3StateValue(This, State) -> 'ok' when This::wxCheckBox(), State::wx:wx_enum(). set3StateValue(#wx_ref{type=ThisT,ref=ThisRef},State) when is_integer(State) -> @@ -205,7 +205,7 @@ set3StateValue(#wx_ref{type=ThisT,ref=ThisRef},State) <<ThisRef:32/?UI,State:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxCheckBox()) -> ok. +-spec destroy(This::wxCheckBox()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxCheckBox), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxCheckListBox.erl b/lib/wx/src/gen/wxCheckListBox.erl index f6013e4863..888f29518c 100644 --- a/lib/wx/src/gen/wxCheckListBox.erl +++ b/lib/wx/src/gen/wxCheckListBox.erl @@ -105,11 +105,11 @@ new(Parent,Id) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxchecklistbox.html#wxchecklistboxwxchecklistbox">external documentation</a>. -spec new(Parent, Id, [Option]) -> wxCheckListBox() when Parent::wxWindow:wxWindow(), Id::integer(), - Option :: {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {choices, [unicode:chardata()]} - | {style, integer()} - | {validator, wx:wx_object()}. + Option :: {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'choices', [unicode:chardata()]} + | {'style', integer()} + | {'validator', wx:wx_object()}. new(#wx_ref{type=ParentT,ref=ParentRef},Id, Options) when is_integer(Id),is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -124,7 +124,7 @@ new(#wx_ref{type=ParentT,ref=ParentRef},Id, Options) <<ParentRef:32/?UI,Id:32/?UI, BinOpt/binary>>). %% @equiv check(This,Index, []) --spec check(This, Index) -> ok when +-spec check(This, Index) -> 'ok' when This::wxCheckListBox(), Index::integer(). check(This,Index) @@ -132,9 +132,9 @@ check(This,Index) check(This,Index, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxchecklistbox.html#wxchecklistboxcheck">external documentation</a>. --spec check(This, Index, [Option]) -> ok when +-spec check(This, Index, [Option]) -> 'ok' when This::wxCheckListBox(), Index::integer(), - Option :: {check, boolean()}. + Option :: {'check', boolean()}. check(#wx_ref{type=ThisT,ref=ThisRef},Index, Options) when is_integer(Index),is_list(Options) -> ?CLASS(ThisT,wxCheckListBox), @@ -154,7 +154,7 @@ isChecked(#wx_ref{type=ThisT,ref=ThisRef},Index) <<ThisRef:32/?UI,Index:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxCheckListBox()) -> ok. +-spec destroy(This::wxCheckListBox()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxCheckListBox), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxChoice.erl b/lib/wx/src/gen/wxChoice.erl index 73867d6597..1a90b275d1 100644 --- a/lib/wx/src/gen/wxChoice.erl +++ b/lib/wx/src/gen/wxChoice.erl @@ -103,11 +103,11 @@ new(Parent,Id) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxchoice.html#wxchoicewxchoice">external documentation</a>. -spec new(Parent, Id, [Option]) -> wxChoice() when Parent::wxWindow:wxWindow(), Id::integer(), - Option :: {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {choices, [unicode:chardata()]} - | {style, integer()} - | {validator, wx:wx_object()}. + Option :: {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'choices', [unicode:chardata()]} + | {'style', integer()} + | {'validator', wx:wx_object()}. new(#wx_ref{type=ParentT,ref=ParentRef},Id, Options) when is_integer(Id),is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -132,8 +132,8 @@ create(This,Parent,Id,Pos={PosX,PosY},Size={SizeW,SizeH},Choices) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxchoice.html#wxchoicecreate">external documentation</a>. -spec create(This, Parent, Id, Pos, Size, Choices, [Option]) -> boolean() when This::wxChoice(), Parent::wxWindow:wxWindow(), Id::integer(), Pos::{X::integer(), Y::integer()}, Size::{W::integer(), H::integer()}, Choices::[unicode:chardata()], - Option :: {style, integer()} - | {validator, wx:wx_object()}. + Option :: {'style', integer()} + | {'validator', wx:wx_object()}. create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef},Id,{PosX,PosY},{SizeW,SizeH},Choices, Options) when is_integer(Id),is_integer(PosX),is_integer(PosY),is_integer(SizeW),is_integer(SizeH),is_list(Choices),is_list(Options) -> ?CLASS(ThisT,wxChoice), @@ -148,7 +148,7 @@ create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef},Id,{P <<ThisRef:32/?UI,ParentRef:32/?UI,Id:32/?UI,PosX:32/?UI,PosY:32/?UI,SizeW:32/?UI,SizeH:32/?UI,(length(Choices_UCA)):32/?UI, (<< <<(byte_size(UC_Str)):32/?UI, UC_Str/binary>>|| UC_Str <- Choices_UCA>>)/binary, 0:(((8- ((0 + lists:sum([byte_size(S)+4||S<-Choices_UCA])) band 16#7)) band 16#7))/unit:8, BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxchoice.html#wxchoicedelete">external documentation</a>. --spec delete(This, N) -> ok when +-spec delete(This, N) -> 'ok' when This::wxChoice(), N::integer(). delete(#wx_ref{type=ThisT,ref=ThisRef},N) when is_integer(N) -> @@ -165,7 +165,7 @@ getColumns(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @equiv setColumns(This, []) --spec setColumns(This) -> ok when +-spec setColumns(This) -> 'ok' when This::wxChoice(). setColumns(This) @@ -173,9 +173,9 @@ setColumns(This) setColumns(This, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxchoice.html#wxchoicesetcolumns">external documentation</a>. --spec setColumns(This, [Option]) -> ok when +-spec setColumns(This, [Option]) -> 'ok' when This::wxChoice(), - Option :: {n, integer()}. + Option :: {'n', integer()}. setColumns(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxChoice), @@ -186,7 +186,7 @@ setColumns(#wx_ref{type=ThisT,ref=ThisRef}, Options) <<ThisRef:32/?UI, 0:32,BinOpt/binary>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxChoice()) -> ok. +-spec destroy(This::wxChoice()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxChoice), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxChoicebook.erl b/lib/wx/src/gen/wxChoicebook.erl index 37a44a813a..34b62ff75b 100644 --- a/lib/wx/src/gen/wxChoicebook.erl +++ b/lib/wx/src/gen/wxChoicebook.erl @@ -101,9 +101,9 @@ new(Parent,Id) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxchoicebook.html#wxchoicebookwxchoicebook">external documentation</a>. -spec new(Parent, Id, [Option]) -> wxChoicebook() when Parent::wxWindow:wxWindow(), Id::integer(), - Option :: {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()}. + Option :: {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()}. new(#wx_ref{type=ParentT,ref=ParentRef},Id, Options) when is_integer(Id),is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -126,8 +126,8 @@ addPage(This,Page,Text) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxchoicebook.html#wxchoicebookaddpage">external documentation</a>. -spec addPage(This, Page, Text, [Option]) -> boolean() when This::wxChoicebook(), Page::wxWindow:wxWindow(), Text::unicode:chardata(), - Option :: {bSelect, boolean()} - | {imageId, integer()}. + Option :: {'bSelect', boolean()} + | {'imageId', integer()}. addPage(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=PageT,ref=PageRef},Text, Options) when is_list(Text),is_list(Options) -> ?CLASS(ThisT,wxChoicebook), @@ -141,7 +141,7 @@ addPage(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=PageT,ref=PageRef},Text, Op <<ThisRef:32/?UI,PageRef:32/?UI,(byte_size(Text_UC)):32/?UI,(Text_UC)/binary, 0:(((8- ((4+byte_size(Text_UC)) band 16#7)) band 16#7))/unit:8, BinOpt/binary>>). %% @equiv advanceSelection(This, []) --spec advanceSelection(This) -> ok when +-spec advanceSelection(This) -> 'ok' when This::wxChoicebook(). advanceSelection(This) @@ -149,9 +149,9 @@ advanceSelection(This) advanceSelection(This, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxchoicebook.html#wxchoicebookadvanceselection">external documentation</a>. --spec advanceSelection(This, [Option]) -> ok when +-spec advanceSelection(This, [Option]) -> 'ok' when This::wxChoicebook(), - Option :: {forward, boolean()}. + Option :: {'forward', boolean()}. advanceSelection(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxChoicebook), @@ -162,7 +162,7 @@ advanceSelection(#wx_ref{type=ThisT,ref=ThisRef}, Options) <<ThisRef:32/?UI, 0:32,BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxchoicebook.html#wxchoicebookassignimagelist">external documentation</a>. --spec assignImageList(This, ImageList) -> ok when +-spec assignImageList(This, ImageList) -> 'ok' when This::wxChoicebook(), ImageList::wxImageList:wxImageList(). assignImageList(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ImageListT,ref=ImageListRef}) -> ?CLASS(ThisT,wxChoicebook), @@ -181,9 +181,9 @@ create(This,Parent,Id) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxchoicebook.html#wxchoicebookcreate">external documentation</a>. -spec create(This, Parent, Id, [Option]) -> boolean() when This::wxChoicebook(), Parent::wxWindow:wxWindow(), Id::integer(), - Option :: {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()}. + Option :: {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()}. create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef},Id, Options) when is_integer(Id),is_list(Options) -> ?CLASS(ThisT,wxChoicebook), @@ -302,8 +302,8 @@ insertPage(This,N,Page,Text) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxchoicebook.html#wxchoicebookinsertpage">external documentation</a>. -spec insertPage(This, N, Page, Text, [Option]) -> boolean() when This::wxChoicebook(), N::integer(), Page::wxWindow:wxWindow(), Text::unicode:chardata(), - Option :: {bSelect, boolean()} - | {imageId, integer()}. + Option :: {'bSelect', boolean()} + | {'imageId', integer()}. insertPage(#wx_ref{type=ThisT,ref=ThisRef},N,#wx_ref{type=PageT,ref=PageRef},Text, Options) when is_integer(N),is_list(Text),is_list(Options) -> ?CLASS(ThisT,wxChoicebook), @@ -317,7 +317,7 @@ insertPage(#wx_ref{type=ThisT,ref=ThisRef},N,#wx_ref{type=PageT,ref=PageRef},Tex <<ThisRef:32/?UI,N:32/?UI,PageRef:32/?UI,(byte_size(Text_UC)):32/?UI,(Text_UC)/binary, 0:(((8- ((0+byte_size(Text_UC)) band 16#7)) band 16#7))/unit:8, BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxchoicebook.html#wxchoicebooksetimagelist">external documentation</a>. --spec setImageList(This, ImageList) -> ok when +-spec setImageList(This, ImageList) -> 'ok' when This::wxChoicebook(), ImageList::wxImageList:wxImageList(). setImageList(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ImageListT,ref=ImageListRef}) -> ?CLASS(ThisT,wxChoicebook), @@ -326,7 +326,7 @@ setImageList(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ImageListT,ref=ImageLi <<ThisRef:32/?UI,ImageListRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxchoicebook.html#wxchoicebooksetpagesize">external documentation</a>. --spec setPageSize(This, Size) -> ok when +-spec setPageSize(This, Size) -> 'ok' when This::wxChoicebook(), Size::{W::integer(), H::integer()}. setPageSize(#wx_ref{type=ThisT,ref=ThisRef},{SizeW,SizeH}) when is_integer(SizeW),is_integer(SizeH) -> @@ -372,7 +372,7 @@ changeSelection(#wx_ref{type=ThisT,ref=ThisRef},N) <<ThisRef:32/?UI,N:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxChoicebook()) -> ok. +-spec destroy(This::wxChoicebook()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxChoicebook), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxClientDC.erl b/lib/wx/src/gen/wxClientDC.erl index 3e9bcd33dd..4965536690 100644 --- a/lib/wx/src/gen/wxClientDC.erl +++ b/lib/wx/src/gen/wxClientDC.erl @@ -80,7 +80,7 @@ new(#wx_ref{type=WinT,ref=WinRef}) -> <<WinRef:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxClientDC()) -> ok. +-spec destroy(This::wxClientDC()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxClientDC), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxClipboard.erl b/lib/wx/src/gen/wxClipboard.erl index cbf9e63067..747e4f1610 100644 --- a/lib/wx/src/gen/wxClipboard.erl +++ b/lib/wx/src/gen/wxClipboard.erl @@ -52,7 +52,7 @@ addData(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=DataT,ref=DataRef}) -> <<ThisRef:32/?UI,DataRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxclipboard.html#wxclipboardclear">external documentation</a>. --spec clear(This) -> ok when +-spec clear(This) -> 'ok' when This::wxClipboard(). clear(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxClipboard), @@ -60,7 +60,7 @@ clear(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxclipboard.html#wxclipboardclose">external documentation</a>. --spec close(This) -> ok when +-spec close(This) -> 'ok' when This::wxClipboard(). close(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxClipboard), @@ -110,7 +110,7 @@ setData(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=DataT,ref=DataRef}) -> <<ThisRef:32/?UI,DataRef:32/?UI>>). %% @equiv usePrimarySelection(This, []) --spec usePrimarySelection(This) -> ok when +-spec usePrimarySelection(This) -> 'ok' when This::wxClipboard(). usePrimarySelection(This) @@ -118,9 +118,9 @@ usePrimarySelection(This) usePrimarySelection(This, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxclipboard.html#wxclipboarduseprimaryselection">external documentation</a>. --spec usePrimarySelection(This, [Option]) -> ok when +-spec usePrimarySelection(This, [Option]) -> 'ok' when This::wxClipboard(), - Option :: {primary, boolean()}. + Option :: {'primary', boolean()}. usePrimarySelection(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxClipboard), @@ -147,7 +147,7 @@ get() -> <<>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxClipboard()) -> ok. +-spec destroy(This::wxClipboard()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxClipboard), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxCloseEvent.erl b/lib/wx/src/gen/wxCloseEvent.erl index b02a578b9e..6a683c6e8c 100644 --- a/lib/wx/src/gen/wxCloseEvent.erl +++ b/lib/wx/src/gen/wxCloseEvent.erl @@ -61,7 +61,7 @@ getLoggingOff(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcloseevent.html#wxcloseeventsetcanveto">external documentation</a>. --spec setCanVeto(This, CanVeto) -> ok when +-spec setCanVeto(This, CanVeto) -> 'ok' when This::wxCloseEvent(), CanVeto::boolean(). setCanVeto(#wx_ref{type=ThisT,ref=ThisRef},CanVeto) when is_boolean(CanVeto) -> @@ -70,7 +70,7 @@ setCanVeto(#wx_ref{type=ThisT,ref=ThisRef},CanVeto) <<ThisRef:32/?UI,(wxe_util:from_bool(CanVeto)):32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcloseevent.html#wxcloseeventsetloggingoff">external documentation</a>. --spec setLoggingOff(This, LogOff) -> ok when +-spec setLoggingOff(This, LogOff) -> 'ok' when This::wxCloseEvent(), LogOff::boolean(). setLoggingOff(#wx_ref{type=ThisT,ref=ThisRef},LogOff) when is_boolean(LogOff) -> @@ -79,7 +79,7 @@ setLoggingOff(#wx_ref{type=ThisT,ref=ThisRef},LogOff) <<ThisRef:32/?UI,(wxe_util:from_bool(LogOff)):32/?UI>>). %% @equiv veto(This, []) --spec veto(This) -> ok when +-spec veto(This) -> 'ok' when This::wxCloseEvent(). veto(This) @@ -87,9 +87,9 @@ veto(This) veto(This, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcloseevent.html#wxcloseeventveto">external documentation</a>. --spec veto(This, [Option]) -> ok when +-spec veto(This, [Option]) -> 'ok' when This::wxCloseEvent(), - Option :: {veto, boolean()}. + Option :: {'veto', boolean()}. veto(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxCloseEvent), diff --git a/lib/wx/src/gen/wxColourData.erl b/lib/wx/src/gen/wxColourData.erl index 7379592298..92586688f6 100644 --- a/lib/wx/src/gen/wxColourData.erl +++ b/lib/wx/src/gen/wxColourData.erl @@ -76,7 +76,7 @@ getCustomColour(#wx_ref{type=ThisT,ref=ThisRef},I) <<ThisRef:32/?UI,I:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcolourdata.html#wxcolourdatasetchoosefull">external documentation</a>. --spec setChooseFull(This, Flag) -> ok when +-spec setChooseFull(This, Flag) -> 'ok' when This::wxColourData(), Flag::boolean(). setChooseFull(#wx_ref{type=ThisT,ref=ThisRef},Flag) when is_boolean(Flag) -> @@ -85,7 +85,7 @@ setChooseFull(#wx_ref{type=ThisT,ref=ThisRef},Flag) <<ThisRef:32/?UI,(wxe_util:from_bool(Flag)):32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcolourdata.html#wxcolourdatasetcolour">external documentation</a>. --spec setColour(This, Colour) -> ok when +-spec setColour(This, Colour) -> 'ok' when This::wxColourData(), Colour::wx:wx_colour(). setColour(#wx_ref{type=ThisT,ref=ThisRef},Colour) when tuple_size(Colour) =:= 3; tuple_size(Colour) =:= 4 -> @@ -94,7 +94,7 @@ setColour(#wx_ref{type=ThisT,ref=ThisRef},Colour) <<ThisRef:32/?UI,(wxe_util:colour_bin(Colour)):16/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcolourdata.html#wxcolourdatasetcustomcolour">external documentation</a>. --spec setCustomColour(This, I, Colour) -> ok when +-spec setCustomColour(This, I, Colour) -> 'ok' when This::wxColourData(), I::integer(), Colour::wx:wx_colour(). setCustomColour(#wx_ref{type=ThisT,ref=ThisRef},I,Colour) when is_integer(I),tuple_size(Colour) =:= 3; tuple_size(Colour) =:= 4 -> @@ -103,7 +103,7 @@ setCustomColour(#wx_ref{type=ThisT,ref=ThisRef},I,Colour) <<ThisRef:32/?UI,I:32/?UI,(wxe_util:colour_bin(Colour)):16/binary>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxColourData()) -> ok. +-spec destroy(This::wxColourData()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxColourData), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxColourDialog.erl b/lib/wx/src/gen/wxColourDialog.erl index 15eee30727..9c97434d9a 100644 --- a/lib/wx/src/gen/wxColourDialog.erl +++ b/lib/wx/src/gen/wxColourDialog.erl @@ -105,7 +105,7 @@ new(Parent) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcolourdialog.html#wxcolourdialogwxcolourdialog">external documentation</a>. -spec new(Parent, [Option]) -> wxColourDialog() when Parent::wxWindow:wxWindow(), - Option :: {data, wxColourData:wxColourData()}. + Option :: {'data', wxColourData:wxColourData()}. new(#wx_ref{type=ParentT,ref=ParentRef}, Options) when is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -126,7 +126,7 @@ create(This,Parent) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcolourdialog.html#wxcolourdialogcreate">external documentation</a>. -spec create(This, Parent, [Option]) -> boolean() when This::wxColourDialog(), Parent::wxWindow:wxWindow(), - Option :: {data, wxColourData:wxColourData()}. + Option :: {'data', wxColourData:wxColourData()}. create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxColourDialog), @@ -146,7 +146,7 @@ getColourData(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxColourDialog()) -> ok. +-spec destroy(This::wxColourDialog()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxColourDialog), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxColourPickerCtrl.erl b/lib/wx/src/gen/wxColourPickerCtrl.erl index 486441c005..9c987b4dde 100644 --- a/lib/wx/src/gen/wxColourPickerCtrl.erl +++ b/lib/wx/src/gen/wxColourPickerCtrl.erl @@ -102,11 +102,11 @@ new(Parent,Id) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcolourpickerctrl.html#wxcolourpickerctrlwxcolourpickerctrl">external documentation</a>. -spec new(Parent, Id, [Option]) -> wxColourPickerCtrl() when Parent::wxWindow:wxWindow(), Id::integer(), - Option :: {col, wx:wx_colour()} - | {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()} - | {validator, wx:wx_object()}. + Option :: {'col', wx:wx_colour()} + | {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()} + | {'validator', wx:wx_object()}. new(#wx_ref{type=ParentT,ref=ParentRef},Id, Options) when is_integer(Id),is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -131,11 +131,11 @@ create(This,Parent,Id) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcolourpickerctrl.html#wxcolourpickerctrlcreate">external documentation</a>. -spec create(This, Parent, Id, [Option]) -> boolean() when This::wxColourPickerCtrl(), Parent::wxWindow:wxWindow(), Id::integer(), - Option :: {col, wx:wx_colour()} - | {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()} - | {validator, wx:wx_object()}. + Option :: {'col', wx:wx_colour()} + | {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()} + | {'validator', wx:wx_object()}. create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef},Id, Options) when is_integer(Id),is_list(Options) -> ?CLASS(ThisT,wxColourPickerCtrl), @@ -160,12 +160,12 @@ getColour(#wx_ref{type=ThisT,ref=ThisRef}) -> %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcolourpickerctrl.html#wxcolourpickerctrlsetcolour">external documentation</a>. %% <br /> Also:<br /> -%% setColour(This, Col) -> ok when<br /> +%% setColour(This, Col) -> 'ok' when<br /> %% This::wxColourPickerCtrl(), Col::wx:wx_colour().<br /> %% -spec setColour(This, Text) -> boolean() when This::wxColourPickerCtrl(), Text::unicode:chardata(); - (This, Col) -> ok when + (This, Col) -> 'ok' when This::wxColourPickerCtrl(), Col::wx:wx_colour(). setColour(#wx_ref{type=ThisT,ref=ThisRef},Text) when is_list(Text) -> @@ -180,7 +180,7 @@ setColour(#wx_ref{type=ThisT,ref=ThisRef},Col) <<ThisRef:32/?UI,(wxe_util:colour_bin(Col)):16/binary>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxColourPickerCtrl()) -> ok. +-spec destroy(This::wxColourPickerCtrl()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxColourPickerCtrl), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxComboBox.erl b/lib/wx/src/gen/wxComboBox.erl index 37d6e71605..bbdf768eba 100644 --- a/lib/wx/src/gen/wxComboBox.erl +++ b/lib/wx/src/gen/wxComboBox.erl @@ -105,12 +105,12 @@ new(Parent,Id) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcombobox.html#wxcomboboxwxcombobox">external documentation</a>. -spec new(Parent, Id, [Option]) -> wxComboBox() when Parent::wxWindow:wxWindow(), Id::integer(), - Option :: {value, unicode:chardata()} - | {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {choices, [unicode:chardata()]} - | {style, integer()} - | {validator, wx:wx_object()}. + Option :: {'value', unicode:chardata()} + | {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'choices', [unicode:chardata()]} + | {'style', integer()} + | {'validator', wx:wx_object()}. new(#wx_ref{type=ParentT,ref=ParentRef},Id, Options) when is_integer(Id),is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -136,8 +136,8 @@ create(This,Parent,Id,Value,Pos={PosX,PosY},Size={SizeW,SizeH},Choices) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcombobox.html#wxcomboboxcreate">external documentation</a>. -spec create(This, Parent, Id, Value, Pos, Size, Choices, [Option]) -> boolean() when This::wxComboBox(), Parent::wxWindow:wxWindow(), Id::integer(), Value::unicode:chardata(), Pos::{X::integer(), Y::integer()}, Size::{W::integer(), H::integer()}, Choices::[unicode:chardata()], - Option :: {style, integer()} - | {validator, wx:wx_object()}. + Option :: {'style', integer()} + | {'validator', wx:wx_object()}. create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef},Id,Value,{PosX,PosY},{SizeW,SizeH},Choices, Options) when is_integer(Id),is_list(Value),is_integer(PosX),is_integer(PosY),is_integer(SizeW),is_integer(SizeH),is_list(Choices),is_list(Options) -> ?CLASS(ThisT,wxComboBox), @@ -193,7 +193,7 @@ canUndo(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcombobox.html#wxcomboboxcopy">external documentation</a>. --spec copy(This) -> ok when +-spec copy(This) -> 'ok' when This::wxComboBox(). copy(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxComboBox), @@ -201,7 +201,7 @@ copy(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcombobox.html#wxcomboboxcut">external documentation</a>. --spec cut(This) -> ok when +-spec cut(This) -> 'ok' when This::wxComboBox(). cut(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxComboBox), @@ -233,7 +233,7 @@ getValue(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcombobox.html#wxcomboboxpaste">external documentation</a>. --spec paste(This) -> ok when +-spec paste(This) -> 'ok' when This::wxComboBox(). paste(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxComboBox), @@ -241,7 +241,7 @@ paste(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcombobox.html#wxcomboboxredo">external documentation</a>. --spec redo(This) -> ok when +-spec redo(This) -> 'ok' when This::wxComboBox(). redo(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxComboBox), @@ -249,7 +249,7 @@ redo(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcombobox.html#wxcomboboxreplace">external documentation</a>. --spec replace(This, From, To, Value) -> ok when +-spec replace(This, From, To, Value) -> 'ok' when This::wxComboBox(), From::integer(), To::integer(), Value::unicode:chardata(). replace(#wx_ref{type=ThisT,ref=ThisRef},From,To,Value) when is_integer(From),is_integer(To),is_list(Value) -> @@ -259,7 +259,7 @@ replace(#wx_ref{type=ThisT,ref=ThisRef},From,To,Value) <<ThisRef:32/?UI,From:32/?UI,To:32/?UI,(byte_size(Value_UC)):32/?UI,(Value_UC)/binary, 0:(((8- ((0+byte_size(Value_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcombobox.html#wxcomboboxremove">external documentation</a>. --spec remove(This, From, To) -> ok when +-spec remove(This, From, To) -> 'ok' when This::wxComboBox(), From::integer(), To::integer(). remove(#wx_ref{type=ThisT,ref=ThisRef},From,To) when is_integer(From),is_integer(To) -> @@ -268,7 +268,7 @@ remove(#wx_ref{type=ThisT,ref=ThisRef},From,To) <<ThisRef:32/?UI,From:32/?UI,To:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcombobox.html#wxcomboboxsetinsertionpoint">external documentation</a>. --spec setInsertionPoint(This, Pos) -> ok when +-spec setInsertionPoint(This, Pos) -> 'ok' when This::wxComboBox(), Pos::integer(). setInsertionPoint(#wx_ref{type=ThisT,ref=ThisRef},Pos) when is_integer(Pos) -> @@ -277,7 +277,7 @@ setInsertionPoint(#wx_ref{type=ThisT,ref=ThisRef},Pos) <<ThisRef:32/?UI,Pos:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcombobox.html#wxcomboboxsetinsertionpointend">external documentation</a>. --spec setInsertionPointEnd(This) -> ok when +-spec setInsertionPointEnd(This) -> 'ok' when This::wxComboBox(). setInsertionPointEnd(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxComboBox), @@ -285,7 +285,7 @@ setInsertionPointEnd(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcombobox.html#wxcomboboxsetselection">external documentation</a>. --spec setSelection(This, N) -> ok when +-spec setSelection(This, N) -> 'ok' when This::wxComboBox(), N::integer(). setSelection(#wx_ref{type=ThisT,ref=ThisRef},N) when is_integer(N) -> @@ -294,7 +294,7 @@ setSelection(#wx_ref{type=ThisT,ref=ThisRef},N) <<ThisRef:32/?UI,N:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcombobox.html#wxcomboboxsetselection">external documentation</a>. --spec setSelection(This, From, To) -> ok when +-spec setSelection(This, From, To) -> 'ok' when This::wxComboBox(), From::integer(), To::integer(). setSelection(#wx_ref{type=ThisT,ref=ThisRef},From,To) when is_integer(From),is_integer(To) -> @@ -303,7 +303,7 @@ setSelection(#wx_ref{type=ThisT,ref=ThisRef},From,To) <<ThisRef:32/?UI,From:32/?UI,To:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcombobox.html#wxcomboboxsetvalue">external documentation</a>. --spec setValue(This, Value) -> ok when +-spec setValue(This, Value) -> 'ok' when This::wxComboBox(), Value::unicode:chardata(). setValue(#wx_ref{type=ThisT,ref=ThisRef},Value) when is_list(Value) -> @@ -313,7 +313,7 @@ setValue(#wx_ref{type=ThisT,ref=ThisRef},Value) <<ThisRef:32/?UI,(byte_size(Value_UC)):32/?UI,(Value_UC)/binary, 0:(((8- ((0+byte_size(Value_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcombobox.html#wxcomboboxundo">external documentation</a>. --spec undo(This) -> ok when +-spec undo(This) -> 'ok' when This::wxComboBox(). undo(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxComboBox), @@ -321,7 +321,7 @@ undo(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxComboBox()) -> ok. +-spec destroy(This::wxComboBox()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxComboBox), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxCommandEvent.erl b/lib/wx/src/gen/wxCommandEvent.erl index a36aa3aa95..781482aebb 100644 --- a/lib/wx/src/gen/wxCommandEvent.erl +++ b/lib/wx/src/gen/wxCommandEvent.erl @@ -102,7 +102,7 @@ isSelection(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcommandevent.html#wxcommandeventsetint">external documentation</a>. --spec setInt(This, I) -> ok when +-spec setInt(This, I) -> 'ok' when This::wxCommandEvent(), I::integer(). setInt(#wx_ref{type=ThisT,ref=ThisRef},I) when is_integer(I) -> @@ -111,7 +111,7 @@ setInt(#wx_ref{type=ThisT,ref=ThisRef},I) <<ThisRef:32/?UI,I:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcommandevent.html#wxcommandeventsetstring">external documentation</a>. --spec setString(This, S) -> ok when +-spec setString(This, S) -> 'ok' when This::wxCommandEvent(), S::unicode:chardata(). setString(#wx_ref{type=ThisT,ref=ThisRef},S) when is_list(S) -> diff --git a/lib/wx/src/gen/wxContextMenuEvent.erl b/lib/wx/src/gen/wxContextMenuEvent.erl index 94a7a2948d..f1c953badb 100644 --- a/lib/wx/src/gen/wxContextMenuEvent.erl +++ b/lib/wx/src/gen/wxContextMenuEvent.erl @@ -57,7 +57,7 @@ getPosition(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcontextmenuevent.html#wxcontextmenueventsetposition">external documentation</a>. --spec setPosition(This, Pos) -> ok when +-spec setPosition(This, Pos) -> 'ok' when This::wxContextMenuEvent(), Pos::{X::integer(), Y::integer()}. setPosition(#wx_ref{type=ThisT,ref=ThisRef},{PosX,PosY}) when is_integer(PosX),is_integer(PosY) -> diff --git a/lib/wx/src/gen/wxControl.erl b/lib/wx/src/gen/wxControl.erl index f84ec34b02..a84f88639b 100644 --- a/lib/wx/src/gen/wxControl.erl +++ b/lib/wx/src/gen/wxControl.erl @@ -86,7 +86,7 @@ getLabel(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcontrol.html#wxcontrolsetlabel">external documentation</a>. --spec setLabel(This, Label) -> ok when +-spec setLabel(This, Label) -> 'ok' when This::wxControl(), Label::unicode:chardata(). setLabel(#wx_ref{type=ThisT,ref=ThisRef},Label) when is_list(Label) -> diff --git a/lib/wx/src/gen/wxControlWithItems.erl b/lib/wx/src/gen/wxControlWithItems.erl index d52c7917a2..c4d116d9e7 100644 --- a/lib/wx/src/gen/wxControlWithItems.erl +++ b/lib/wx/src/gen/wxControlWithItems.erl @@ -104,7 +104,7 @@ append(#wx_ref{type=ThisT,ref=ThisRef},Item,ClientData) <<ThisRef:32/?UI,(byte_size(Item_UC)):32/?UI,(Item_UC)/binary, 0:(((8- ((0+byte_size(Item_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcontrolwithitems.html#wxcontrolwithitemsappend">external documentation</a>. --spec appendStrings(This, Strings) -> ok when +-spec appendStrings(This, Strings) -> 'ok' when This::wxControlWithItems(), Strings::[unicode:chardata()]. appendStrings(#wx_ref{type=ThisT,ref=ThisRef},Strings) when is_list(Strings) -> @@ -115,7 +115,7 @@ appendStrings(#wx_ref{type=ThisT,ref=ThisRef},Strings) <<ThisRef:32/?UI,(length(Strings_UCA)):32/?UI, (<< <<(byte_size(UC_Str)):32/?UI, UC_Str/binary>>|| UC_Str <- Strings_UCA>>)/binary, 0:(((8- ((0 + lists:sum([byte_size(S)+4||S<-Strings_UCA])) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcontrolwithitems.html#wxcontrolwithitemsclear">external documentation</a>. --spec clear(This) -> ok when +-spec clear(This) -> 'ok' when This::wxControlWithItems(). clear(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxControlWithItems), @@ -123,7 +123,7 @@ clear(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcontrolwithitems.html#wxcontrolwithitemsdelete">external documentation</a>. --spec delete(This, N) -> ok when +-spec delete(This, N) -> 'ok' when This::wxControlWithItems(), N::integer(). delete(#wx_ref{type=ThisT,ref=ThisRef},N) when is_integer(N) -> @@ -142,7 +142,7 @@ findString(This,S) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcontrolwithitems.html#wxcontrolwithitemsfindstring">external documentation</a>. -spec findString(This, S, [Option]) -> integer() when This::wxControlWithItems(), S::unicode:chardata(), - Option :: {bCase, boolean()}. + Option :: {'bCase', boolean()}. findString(#wx_ref{type=ThisT,ref=ThisRef},S, Options) when is_list(S),is_list(Options) -> ?CLASS(ThisT,wxControlWithItems), @@ -163,7 +163,7 @@ getClientData(#wx_ref{type=ThisT,ref=ThisRef},N) <<ThisRef:32/?UI,N:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcontrolwithitems.html#wxcontrolwithitemssetclientobject">external documentation</a>. --spec setClientData(This, N, ClientData) -> ok when +-spec setClientData(This, N, ClientData) -> 'ok' when This::wxControlWithItems(), N::integer(), ClientData::term(). setClientData(#wx_ref{type=ThisT,ref=ThisRef},N,ClientData) when is_integer(N) -> @@ -235,7 +235,7 @@ isEmpty(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcontrolwithitems.html#wxcontrolwithitemsselect">external documentation</a>. --spec select(This, N) -> ok when +-spec select(This, N) -> 'ok' when This::wxControlWithItems(), N::integer(). select(#wx_ref{type=ThisT,ref=ThisRef},N) when is_integer(N) -> @@ -244,7 +244,7 @@ select(#wx_ref{type=ThisT,ref=ThisRef},N) <<ThisRef:32/?UI,N:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcontrolwithitems.html#wxcontrolwithitemssetselection">external documentation</a>. --spec setSelection(This, N) -> ok when +-spec setSelection(This, N) -> 'ok' when This::wxControlWithItems(), N::integer(). setSelection(#wx_ref{type=ThisT,ref=ThisRef},N) when is_integer(N) -> @@ -253,7 +253,7 @@ setSelection(#wx_ref{type=ThisT,ref=ThisRef},N) <<ThisRef:32/?UI,N:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcontrolwithitems.html#wxcontrolwithitemssetstring">external documentation</a>. --spec setString(This, N, S) -> ok when +-spec setString(This, N, S) -> 'ok' when This::wxControlWithItems(), N::integer(), S::unicode:chardata(). setString(#wx_ref{type=ThisT,ref=ThisRef},N,S) when is_integer(N),is_list(S) -> diff --git a/lib/wx/src/gen/wxCursor.erl b/lib/wx/src/gen/wxCursor.erl index 7f32b140e6..689935576a 100644 --- a/lib/wx/src/gen/wxCursor.erl +++ b/lib/wx/src/gen/wxCursor.erl @@ -78,8 +78,8 @@ new(Bits,Width,Height) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxcursor.html#wxcursorwxcursor">external documentation</a>. -spec new(Bits, Width, Height, [Option]) -> wxCursor() when Bits::binary(), Width::integer(), Height::integer(), - Option :: {hotSpotX, integer()} - | {hotSpotY, integer()}. + Option :: {'hotSpotX', integer()} + | {'hotSpotY', integer()}. new(Bits,Width,Height, Options) when is_binary(Bits),is_integer(Width),is_integer(Height),is_list(Options) -> wxe_util:send_bin(Bits), @@ -99,7 +99,7 @@ ok(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxCursor()) -> ok. +-spec destroy(This::wxCursor()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxCursor), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxDC.erl b/lib/wx/src/gen/wxDC.erl index 263ad76526..ad7a4251ec 100644 --- a/lib/wx/src/gen/wxDC.erl +++ b/lib/wx/src/gen/wxDC.erl @@ -69,9 +69,9 @@ blit(This,DestPt={DestPtX,DestPtY},Sz={SzW,SzH},Source,SrcPt={SrcPtX,SrcPtY}) %%<br /> Rop = integer -spec blit(This, DestPt, Sz, Source, SrcPt, [Option]) -> boolean() when This::wxDC(), DestPt::{X::integer(), Y::integer()}, Sz::{W::integer(), H::integer()}, Source::wxDC(), SrcPt::{X::integer(), Y::integer()}, - Option :: {rop, wx:wx_enum()} - | {useMask, boolean()} - | {srcPtMask, {X::integer(), Y::integer()}}. + Option :: {'rop', wx:wx_enum()} + | {'useMask', boolean()} + | {'srcPtMask', {X::integer(), Y::integer()}}. blit(#wx_ref{type=ThisT,ref=ThisRef},{DestPtX,DestPtY},{SzW,SzH},#wx_ref{type=SourceT,ref=SourceRef},{SrcPtX,SrcPtY}, Options) when is_integer(DestPtX),is_integer(DestPtY),is_integer(SzW),is_integer(SzH),is_integer(SrcPtX),is_integer(SrcPtY),is_list(Options) -> ?CLASS(ThisT,wxDC), @@ -85,7 +85,7 @@ blit(#wx_ref{type=ThisT,ref=ThisRef},{DestPtX,DestPtY},{SzW,SzH},#wx_ref{type=So <<ThisRef:32/?UI,DestPtX:32/?UI,DestPtY:32/?UI,SzW:32/?UI,SzH:32/?UI,SourceRef:32/?UI,SrcPtX:32/?UI,SrcPtY:32/?UI, BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdc.html#wxdccalcboundingbox">external documentation</a>. --spec calcBoundingBox(This, X, Y) -> ok when +-spec calcBoundingBox(This, X, Y) -> 'ok' when This::wxDC(), X::integer(), Y::integer(). calcBoundingBox(#wx_ref{type=ThisT,ref=ThisRef},X,Y) when is_integer(X),is_integer(Y) -> @@ -94,7 +94,7 @@ calcBoundingBox(#wx_ref{type=ThisT,ref=ThisRef},X,Y) <<ThisRef:32/?UI,X:32/?UI,Y:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdc.html#wxdcclear">external documentation</a>. --spec clear(This) -> ok when +-spec clear(This) -> 'ok' when This::wxDC(). clear(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxDC), @@ -102,7 +102,7 @@ clear(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdc.html#wxdccomputescaleandorigin">external documentation</a>. --spec computeScaleAndOrigin(This) -> ok when +-spec computeScaleAndOrigin(This) -> 'ok' when This::wxDC(). computeScaleAndOrigin(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxDC), @@ -110,7 +110,7 @@ computeScaleAndOrigin(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdc.html#wxdccrosshair">external documentation</a>. --spec crossHair(This, Pt) -> ok when +-spec crossHair(This, Pt) -> 'ok' when This::wxDC(), Pt::{X::integer(), Y::integer()}. crossHair(#wx_ref{type=ThisT,ref=ThisRef},{PtX,PtY}) when is_integer(PtX),is_integer(PtY) -> @@ -119,7 +119,7 @@ crossHair(#wx_ref{type=ThisT,ref=ThisRef},{PtX,PtY}) <<ThisRef:32/?UI,PtX:32/?UI,PtY:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdc.html#wxdcdestroyclippingregion">external documentation</a>. --spec destroyClippingRegion(This) -> ok when +-spec destroyClippingRegion(This) -> 'ok' when This::wxDC(). destroyClippingRegion(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxDC), @@ -163,7 +163,7 @@ deviceToLogicalYRel(#wx_ref{type=ThisT,ref=ThisRef},Y) <<ThisRef:32/?UI,Y:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdc.html#wxdcdrawarc">external documentation</a>. --spec drawArc(This, Pt1, Pt2, Centre) -> ok when +-spec drawArc(This, Pt1, Pt2, Centre) -> 'ok' when This::wxDC(), Pt1::{X::integer(), Y::integer()}, Pt2::{X::integer(), Y::integer()}, Centre::{X::integer(), Y::integer()}. drawArc(#wx_ref{type=ThisT,ref=ThisRef},{Pt1X,Pt1Y},{Pt2X,Pt2Y},{CentreX,CentreY}) when is_integer(Pt1X),is_integer(Pt1Y),is_integer(Pt2X),is_integer(Pt2Y),is_integer(CentreX),is_integer(CentreY) -> @@ -172,7 +172,7 @@ drawArc(#wx_ref{type=ThisT,ref=ThisRef},{Pt1X,Pt1Y},{Pt2X,Pt2Y},{CentreX,CentreY <<ThisRef:32/?UI,Pt1X:32/?UI,Pt1Y:32/?UI,Pt2X:32/?UI,Pt2Y:32/?UI,CentreX:32/?UI,CentreY:32/?UI>>). %% @equiv drawBitmap(This,Bmp,Pt, []) --spec drawBitmap(This, Bmp, Pt) -> ok when +-spec drawBitmap(This, Bmp, Pt) -> 'ok' when This::wxDC(), Bmp::wxBitmap:wxBitmap(), Pt::{X::integer(), Y::integer()}. drawBitmap(This,Bmp,Pt={PtX,PtY}) @@ -180,9 +180,9 @@ drawBitmap(This,Bmp,Pt={PtX,PtY}) drawBitmap(This,Bmp,Pt, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdc.html#wxdcdrawbitmap">external documentation</a>. --spec drawBitmap(This, Bmp, Pt, [Option]) -> ok when +-spec drawBitmap(This, Bmp, Pt, [Option]) -> 'ok' when This::wxDC(), Bmp::wxBitmap:wxBitmap(), Pt::{X::integer(), Y::integer()}, - Option :: {useMask, boolean()}. + Option :: {'useMask', boolean()}. drawBitmap(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=BmpT,ref=BmpRef},{PtX,PtY}, Options) when is_integer(PtX),is_integer(PtY),is_list(Options) -> ?CLASS(ThisT,wxDC), @@ -194,7 +194,7 @@ drawBitmap(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=BmpT,ref=BmpRef},{PtX,Pt <<ThisRef:32/?UI,BmpRef:32/?UI,PtX:32/?UI,PtY:32/?UI, BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdc.html#wxdcdrawcheckmark">external documentation</a>. --spec drawCheckMark(This, Rect) -> ok when +-spec drawCheckMark(This, Rect) -> 'ok' when This::wxDC(), Rect::{X::integer(), Y::integer(), W::integer(), H::integer()}. drawCheckMark(#wx_ref{type=ThisT,ref=ThisRef},{RectX,RectY,RectW,RectH}) when is_integer(RectX),is_integer(RectY),is_integer(RectW),is_integer(RectH) -> @@ -203,7 +203,7 @@ drawCheckMark(#wx_ref{type=ThisT,ref=ThisRef},{RectX,RectY,RectW,RectH}) <<ThisRef:32/?UI,RectX:32/?UI,RectY:32/?UI,RectW:32/?UI,RectH:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdc.html#wxdcdrawcircle">external documentation</a>. --spec drawCircle(This, Pt, Radius) -> ok when +-spec drawCircle(This, Pt, Radius) -> 'ok' when This::wxDC(), Pt::{X::integer(), Y::integer()}, Radius::integer(). drawCircle(#wx_ref{type=ThisT,ref=ThisRef},{PtX,PtY},Radius) when is_integer(PtX),is_integer(PtY),is_integer(Radius) -> @@ -212,7 +212,7 @@ drawCircle(#wx_ref{type=ThisT,ref=ThisRef},{PtX,PtY},Radius) <<ThisRef:32/?UI,PtX:32/?UI,PtY:32/?UI,Radius:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdc.html#wxdcdrawellipse">external documentation</a>. --spec drawEllipse(This, Rect) -> ok when +-spec drawEllipse(This, Rect) -> 'ok' when This::wxDC(), Rect::{X::integer(), Y::integer(), W::integer(), H::integer()}. drawEllipse(#wx_ref{type=ThisT,ref=ThisRef},{RectX,RectY,RectW,RectH}) when is_integer(RectX),is_integer(RectY),is_integer(RectW),is_integer(RectH) -> @@ -221,7 +221,7 @@ drawEllipse(#wx_ref{type=ThisT,ref=ThisRef},{RectX,RectY,RectW,RectH}) <<ThisRef:32/?UI,RectX:32/?UI,RectY:32/?UI,RectW:32/?UI,RectH:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdc.html#wxdcdrawellipse">external documentation</a>. --spec drawEllipse(This, Pt, Sz) -> ok when +-spec drawEllipse(This, Pt, Sz) -> 'ok' when This::wxDC(), Pt::{X::integer(), Y::integer()}, Sz::{W::integer(), H::integer()}. drawEllipse(#wx_ref{type=ThisT,ref=ThisRef},{PtX,PtY},{SzW,SzH}) when is_integer(PtX),is_integer(PtY),is_integer(SzW),is_integer(SzH) -> @@ -230,7 +230,7 @@ drawEllipse(#wx_ref{type=ThisT,ref=ThisRef},{PtX,PtY},{SzW,SzH}) <<ThisRef:32/?UI,PtX:32/?UI,PtY:32/?UI,SzW:32/?UI,SzH:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdc.html#wxdcdrawellipticarc">external documentation</a>. --spec drawEllipticArc(This, Pt, Sz, Sa, Ea) -> ok when +-spec drawEllipticArc(This, Pt, Sz, Sa, Ea) -> 'ok' when This::wxDC(), Pt::{X::integer(), Y::integer()}, Sz::{W::integer(), H::integer()}, Sa::number(), Ea::number(). drawEllipticArc(#wx_ref{type=ThisT,ref=ThisRef},{PtX,PtY},{SzW,SzH},Sa,Ea) when is_integer(PtX),is_integer(PtY),is_integer(SzW),is_integer(SzH),is_number(Sa),is_number(Ea) -> @@ -239,7 +239,7 @@ drawEllipticArc(#wx_ref{type=ThisT,ref=ThisRef},{PtX,PtY},{SzW,SzH},Sa,Ea) <<ThisRef:32/?UI,PtX:32/?UI,PtY:32/?UI,SzW:32/?UI,SzH:32/?UI,0:32,Sa:64/?F,Ea:64/?F>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdc.html#wxdcdrawicon">external documentation</a>. --spec drawIcon(This, Icon, Pt) -> ok when +-spec drawIcon(This, Icon, Pt) -> 'ok' when This::wxDC(), Icon::wxIcon:wxIcon(), Pt::{X::integer(), Y::integer()}. drawIcon(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=IconT,ref=IconRef},{PtX,PtY}) when is_integer(PtX),is_integer(PtY) -> @@ -249,7 +249,7 @@ drawIcon(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=IconT,ref=IconRef},{PtX,Pt <<ThisRef:32/?UI,IconRef:32/?UI,PtX:32/?UI,PtY:32/?UI>>). %% @equiv drawLabel(This,Text,Rect, []) --spec drawLabel(This, Text, Rect) -> ok when +-spec drawLabel(This, Text, Rect) -> 'ok' when This::wxDC(), Text::unicode:chardata(), Rect::{X::integer(), Y::integer(), W::integer(), H::integer()}. drawLabel(This,Text,Rect={RectX,RectY,RectW,RectH}) @@ -257,10 +257,10 @@ drawLabel(This,Text,Rect={RectX,RectY,RectW,RectH}) drawLabel(This,Text,Rect, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdc.html#wxdcdrawlabel">external documentation</a>. --spec drawLabel(This, Text, Rect, [Option]) -> ok when +-spec drawLabel(This, Text, Rect, [Option]) -> 'ok' when This::wxDC(), Text::unicode:chardata(), Rect::{X::integer(), Y::integer(), W::integer(), H::integer()}, - Option :: {alignment, integer()} - | {indexAccel, integer()}. + Option :: {'alignment', integer()} + | {'indexAccel', integer()}. drawLabel(#wx_ref{type=ThisT,ref=ThisRef},Text,{RectX,RectY,RectW,RectH}, Options) when is_list(Text),is_integer(RectX),is_integer(RectY),is_integer(RectW),is_integer(RectH),is_list(Options) -> ?CLASS(ThisT,wxDC), @@ -273,7 +273,7 @@ drawLabel(#wx_ref{type=ThisT,ref=ThisRef},Text,{RectX,RectY,RectW,RectH}, Option <<ThisRef:32/?UI,(byte_size(Text_UC)):32/?UI,(Text_UC)/binary, 0:(((8- ((0+byte_size(Text_UC)) band 16#7)) band 16#7))/unit:8,RectX:32/?UI,RectY:32/?UI,RectW:32/?UI,RectH:32/?UI, BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdc.html#wxdcdrawline">external documentation</a>. --spec drawLine(This, Pt1, Pt2) -> ok when +-spec drawLine(This, Pt1, Pt2) -> 'ok' when This::wxDC(), Pt1::{X::integer(), Y::integer()}, Pt2::{X::integer(), Y::integer()}. drawLine(#wx_ref{type=ThisT,ref=ThisRef},{Pt1X,Pt1Y},{Pt2X,Pt2Y}) when is_integer(Pt1X),is_integer(Pt1Y),is_integer(Pt2X),is_integer(Pt2Y) -> @@ -282,7 +282,7 @@ drawLine(#wx_ref{type=ThisT,ref=ThisRef},{Pt1X,Pt1Y},{Pt2X,Pt2Y}) <<ThisRef:32/?UI,Pt1X:32/?UI,Pt1Y:32/?UI,Pt2X:32/?UI,Pt2Y:32/?UI>>). %% @equiv drawLines(This,Points, []) --spec drawLines(This, Points) -> ok when +-spec drawLines(This, Points) -> 'ok' when This::wxDC(), Points::[{X::integer(), Y::integer()}]. drawLines(This,Points) @@ -290,10 +290,10 @@ drawLines(This,Points) drawLines(This,Points, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdc.html#wxdcdrawlines">external documentation</a>. --spec drawLines(This, Points, [Option]) -> ok when +-spec drawLines(This, Points, [Option]) -> 'ok' when This::wxDC(), Points::[{X::integer(), Y::integer()}], - Option :: {xoffset, integer()} - | {yoffset, integer()}. + Option :: {'xoffset', integer()} + | {'yoffset', integer()}. drawLines(#wx_ref{type=ThisT,ref=ThisRef},Points, Options) when is_list(Points),is_list(Options) -> ?CLASS(ThisT,wxDC), @@ -306,7 +306,7 @@ drawLines(#wx_ref{type=ThisT,ref=ThisRef},Points, Options) (<< <<X:32/?I,Y:32/?I>> || {X,Y} <- Points>>)/binary, BinOpt/binary>>). %% @equiv drawPolygon(This,Points, []) --spec drawPolygon(This, Points) -> ok when +-spec drawPolygon(This, Points) -> 'ok' when This::wxDC(), Points::[{X::integer(), Y::integer()}]. drawPolygon(This,Points) @@ -315,11 +315,11 @@ drawPolygon(This,Points) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdc.html#wxdcdrawpolygon">external documentation</a>. %%<br /> FillStyle = integer --spec drawPolygon(This, Points, [Option]) -> ok when +-spec drawPolygon(This, Points, [Option]) -> 'ok' when This::wxDC(), Points::[{X::integer(), Y::integer()}], - Option :: {xoffset, integer()} - | {yoffset, integer()} - | {fillStyle, wx:wx_enum()}. + Option :: {'xoffset', integer()} + | {'yoffset', integer()} + | {'fillStyle', wx:wx_enum()}. drawPolygon(#wx_ref{type=ThisT,ref=ThisRef},Points, Options) when is_list(Points),is_list(Options) -> ?CLASS(ThisT,wxDC), @@ -333,7 +333,7 @@ drawPolygon(#wx_ref{type=ThisT,ref=ThisRef},Points, Options) (<< <<X:32/?I,Y:32/?I>> || {X,Y} <- Points>>)/binary, BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdc.html#wxdcdrawpoint">external documentation</a>. --spec drawPoint(This, Pt) -> ok when +-spec drawPoint(This, Pt) -> 'ok' when This::wxDC(), Pt::{X::integer(), Y::integer()}. drawPoint(#wx_ref{type=ThisT,ref=ThisRef},{PtX,PtY}) when is_integer(PtX),is_integer(PtY) -> @@ -342,7 +342,7 @@ drawPoint(#wx_ref{type=ThisT,ref=ThisRef},{PtX,PtY}) <<ThisRef:32/?UI,PtX:32/?UI,PtY:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdc.html#wxdcdrawrectangle">external documentation</a>. --spec drawRectangle(This, Rect) -> ok when +-spec drawRectangle(This, Rect) -> 'ok' when This::wxDC(), Rect::{X::integer(), Y::integer(), W::integer(), H::integer()}. drawRectangle(#wx_ref{type=ThisT,ref=ThisRef},{RectX,RectY,RectW,RectH}) when is_integer(RectX),is_integer(RectY),is_integer(RectW),is_integer(RectH) -> @@ -351,7 +351,7 @@ drawRectangle(#wx_ref{type=ThisT,ref=ThisRef},{RectX,RectY,RectW,RectH}) <<ThisRef:32/?UI,RectX:32/?UI,RectY:32/?UI,RectW:32/?UI,RectH:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdc.html#wxdcdrawrectangle">external documentation</a>. --spec drawRectangle(This, Pt, Sz) -> ok when +-spec drawRectangle(This, Pt, Sz) -> 'ok' when This::wxDC(), Pt::{X::integer(), Y::integer()}, Sz::{W::integer(), H::integer()}. drawRectangle(#wx_ref{type=ThisT,ref=ThisRef},{PtX,PtY},{SzW,SzH}) when is_integer(PtX),is_integer(PtY),is_integer(SzW),is_integer(SzH) -> @@ -360,7 +360,7 @@ drawRectangle(#wx_ref{type=ThisT,ref=ThisRef},{PtX,PtY},{SzW,SzH}) <<ThisRef:32/?UI,PtX:32/?UI,PtY:32/?UI,SzW:32/?UI,SzH:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdc.html#wxdcdrawrotatedtext">external documentation</a>. --spec drawRotatedText(This, Text, Pt, Angle) -> ok when +-spec drawRotatedText(This, Text, Pt, Angle) -> 'ok' when This::wxDC(), Text::unicode:chardata(), Pt::{X::integer(), Y::integer()}, Angle::number(). drawRotatedText(#wx_ref{type=ThisT,ref=ThisRef},Text,{PtX,PtY},Angle) when is_list(Text),is_integer(PtX),is_integer(PtY),is_number(Angle) -> @@ -370,7 +370,7 @@ drawRotatedText(#wx_ref{type=ThisT,ref=ThisRef},Text,{PtX,PtY},Angle) <<ThisRef:32/?UI,(byte_size(Text_UC)):32/?UI,(Text_UC)/binary, 0:(((8- ((0+byte_size(Text_UC)) band 16#7)) band 16#7))/unit:8,PtX:32/?UI,PtY:32/?UI,Angle:64/?F>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdc.html#wxdcdrawroundedrectangle">external documentation</a>. --spec drawRoundedRectangle(This, R, Radius) -> ok when +-spec drawRoundedRectangle(This, R, Radius) -> 'ok' when This::wxDC(), R::{X::integer(), Y::integer(), W::integer(), H::integer()}, Radius::number(). drawRoundedRectangle(#wx_ref{type=ThisT,ref=ThisRef},{RX,RY,RW,RH},Radius) when is_integer(RX),is_integer(RY),is_integer(RW),is_integer(RH),is_number(Radius) -> @@ -379,7 +379,7 @@ drawRoundedRectangle(#wx_ref{type=ThisT,ref=ThisRef},{RX,RY,RW,RH},Radius) <<ThisRef:32/?UI,RX:32/?UI,RY:32/?UI,RW:32/?UI,RH:32/?UI,0:32,Radius:64/?F>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdc.html#wxdcdrawroundedrectangle">external documentation</a>. --spec drawRoundedRectangle(This, Pt, Sz, Radius) -> ok when +-spec drawRoundedRectangle(This, Pt, Sz, Radius) -> 'ok' when This::wxDC(), Pt::{X::integer(), Y::integer()}, Sz::{W::integer(), H::integer()}, Radius::number(). drawRoundedRectangle(#wx_ref{type=ThisT,ref=ThisRef},{PtX,PtY},{SzW,SzH},Radius) when is_integer(PtX),is_integer(PtY),is_integer(SzW),is_integer(SzH),is_number(Radius) -> @@ -388,7 +388,7 @@ drawRoundedRectangle(#wx_ref{type=ThisT,ref=ThisRef},{PtX,PtY},{SzW,SzH},Radius) <<ThisRef:32/?UI,PtX:32/?UI,PtY:32/?UI,SzW:32/?UI,SzH:32/?UI,0:32,Radius:64/?F>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdc.html#wxdcdrawtext">external documentation</a>. --spec drawText(This, Text, Pt) -> ok when +-spec drawText(This, Text, Pt) -> 'ok' when This::wxDC(), Text::unicode:chardata(), Pt::{X::integer(), Y::integer()}. drawText(#wx_ref{type=ThisT,ref=ThisRef},Text,{PtX,PtY}) when is_list(Text),is_integer(PtX),is_integer(PtY) -> @@ -398,7 +398,7 @@ drawText(#wx_ref{type=ThisT,ref=ThisRef},Text,{PtX,PtY}) <<ThisRef:32/?UI,(byte_size(Text_UC)):32/?UI,(Text_UC)/binary, 0:(((8- ((0+byte_size(Text_UC)) band 16#7)) band 16#7))/unit:8,PtX:32/?UI,PtY:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdc.html#wxdcenddoc">external documentation</a>. --spec endDoc(This) -> ok when +-spec endDoc(This) -> 'ok' when This::wxDC(). endDoc(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxDC), @@ -406,7 +406,7 @@ endDoc(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdc.html#wxdcendpage">external documentation</a>. --spec endPage(This) -> ok when +-spec endPage(This) -> 'ok' when This::wxDC(). endPage(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxDC), @@ -425,7 +425,7 @@ floodFill(This,Pt={PtX,PtY},Col) %%<br /> Style = integer -spec floodFill(This, Pt, Col, [Option]) -> boolean() when This::wxDC(), Pt::{X::integer(), Y::integer()}, Col::wx:wx_colour(), - Option :: {style, wx:wx_enum()}. + Option :: {'style', wx:wx_enum()}. floodFill(#wx_ref{type=ThisT,ref=ThisRef},{PtX,PtY},Col, Options) when is_integer(PtX),is_integer(PtY),tuple_size(Col) =:= 3; tuple_size(Col) =:= 4,is_list(Options) -> ?CLASS(ThisT,wxDC), @@ -530,7 +530,7 @@ getMultiLineTextExtent(#wx_ref{type=ThisT,ref=ThisRef},String) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdc.html#wxdcgetmultilinetextextent">external documentation</a>. -spec getMultiLineTextExtent(This, String, [Option]) -> {Width::integer(), Height::integer(), HeightLine::integer()} when This::wxDC(), String::unicode:chardata(), - Option :: {font, wxFont:wxFont()}. + Option :: {'font', wxFont:wxFont()}. getMultiLineTextExtent(#wx_ref{type=ThisT,ref=ThisRef},String, Options) when is_list(String),is_list(Options) -> ?CLASS(ThisT,wxDC), @@ -616,7 +616,7 @@ getTextExtent(#wx_ref{type=ThisT,ref=ThisRef},String) -spec getTextExtent(This, String, [Option]) -> Result when Result :: {X::integer(), Y::integer(), Descent::integer(), ExternalLeading::integer()}, This::wxDC(), String::unicode:chardata(), - Option :: {theFont, wxFont:wxFont()}. + Option :: {'theFont', wxFont:wxFont()}. getTextExtent(#wx_ref{type=ThisT,ref=ThisRef},String, Options) when is_list(String),is_list(Options) -> ?CLASS(ThisT,wxDC), @@ -644,7 +644,7 @@ getUserScale(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdc.html#wxdcgradientfillconcentric">external documentation</a>. --spec gradientFillConcentric(This, Rect, InitialColour, DestColour) -> ok when +-spec gradientFillConcentric(This, Rect, InitialColour, DestColour) -> 'ok' when This::wxDC(), Rect::{X::integer(), Y::integer(), W::integer(), H::integer()}, InitialColour::wx:wx_colour(), DestColour::wx:wx_colour(). gradientFillConcentric(#wx_ref{type=ThisT,ref=ThisRef},{RectX,RectY,RectW,RectH},InitialColour,DestColour) when is_integer(RectX),is_integer(RectY),is_integer(RectW),is_integer(RectH),tuple_size(InitialColour) =:= 3; tuple_size(InitialColour) =:= 4,tuple_size(DestColour) =:= 3; tuple_size(DestColour) =:= 4 -> @@ -653,7 +653,7 @@ gradientFillConcentric(#wx_ref{type=ThisT,ref=ThisRef},{RectX,RectY,RectW,RectH} <<ThisRef:32/?UI,RectX:32/?UI,RectY:32/?UI,RectW:32/?UI,RectH:32/?UI,(wxe_util:colour_bin(InitialColour)):16/binary,(wxe_util:colour_bin(DestColour)):16/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdc.html#wxdcgradientfillconcentric">external documentation</a>. --spec gradientFillConcentric(This, Rect, InitialColour, DestColour, CircleCenter) -> ok when +-spec gradientFillConcentric(This, Rect, InitialColour, DestColour, CircleCenter) -> 'ok' when This::wxDC(), Rect::{X::integer(), Y::integer(), W::integer(), H::integer()}, InitialColour::wx:wx_colour(), DestColour::wx:wx_colour(), CircleCenter::{X::integer(), Y::integer()}. gradientFillConcentric(#wx_ref{type=ThisT,ref=ThisRef},{RectX,RectY,RectW,RectH},InitialColour,DestColour,{CircleCenterX,CircleCenterY}) when is_integer(RectX),is_integer(RectY),is_integer(RectW),is_integer(RectH),tuple_size(InitialColour) =:= 3; tuple_size(InitialColour) =:= 4,tuple_size(DestColour) =:= 3; tuple_size(DestColour) =:= 4,is_integer(CircleCenterX),is_integer(CircleCenterY) -> @@ -662,7 +662,7 @@ gradientFillConcentric(#wx_ref{type=ThisT,ref=ThisRef},{RectX,RectY,RectW,RectH} <<ThisRef:32/?UI,RectX:32/?UI,RectY:32/?UI,RectW:32/?UI,RectH:32/?UI,(wxe_util:colour_bin(InitialColour)):16/binary,(wxe_util:colour_bin(DestColour)):16/binary,CircleCenterX:32/?UI,CircleCenterY:32/?UI>>). %% @equiv gradientFillLinear(This,Rect,InitialColour,DestColour, []) --spec gradientFillLinear(This, Rect, InitialColour, DestColour) -> ok when +-spec gradientFillLinear(This, Rect, InitialColour, DestColour) -> 'ok' when This::wxDC(), Rect::{X::integer(), Y::integer(), W::integer(), H::integer()}, InitialColour::wx:wx_colour(), DestColour::wx:wx_colour(). gradientFillLinear(This,Rect={RectX,RectY,RectW,RectH},InitialColour,DestColour) @@ -671,9 +671,9 @@ gradientFillLinear(This,Rect={RectX,RectY,RectW,RectH},InitialColour,DestColour) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdc.html#wxdcgradientfilllinear">external documentation</a>. %%<br /> NDirection = ?wxLEFT | ?wxRIGHT | ?wxUP | ?wxDOWN | ?wxTOP | ?wxBOTTOM | ?wxNORTH | ?wxSOUTH | ?wxWEST | ?wxEAST | ?wxALL --spec gradientFillLinear(This, Rect, InitialColour, DestColour, [Option]) -> ok when +-spec gradientFillLinear(This, Rect, InitialColour, DestColour, [Option]) -> 'ok' when This::wxDC(), Rect::{X::integer(), Y::integer(), W::integer(), H::integer()}, InitialColour::wx:wx_colour(), DestColour::wx:wx_colour(), - Option :: {nDirection, wx:wx_enum()}. + Option :: {'nDirection', wx:wx_enum()}. gradientFillLinear(#wx_ref{type=ThisT,ref=ThisRef},{RectX,RectY,RectW,RectH},InitialColour,DestColour, Options) when is_integer(RectX),is_integer(RectY),is_integer(RectW),is_integer(RectH),tuple_size(InitialColour) =:= 3; tuple_size(InitialColour) =:= 4,tuple_size(DestColour) =:= 3; tuple_size(DestColour) =:= 4,is_list(Options) -> ?CLASS(ThisT,wxDC), @@ -760,7 +760,7 @@ isOk(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdc.html#wxdcresetboundingbox">external documentation</a>. --spec resetBoundingBox(This) -> ok when +-spec resetBoundingBox(This) -> 'ok' when This::wxDC(). resetBoundingBox(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxDC), @@ -768,7 +768,7 @@ resetBoundingBox(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdc.html#wxdcsetaxisorientation">external documentation</a>. --spec setAxisOrientation(This, XLeftRight, YBottomUp) -> ok when +-spec setAxisOrientation(This, XLeftRight, YBottomUp) -> 'ok' when This::wxDC(), XLeftRight::boolean(), YBottomUp::boolean(). setAxisOrientation(#wx_ref{type=ThisT,ref=ThisRef},XLeftRight,YBottomUp) when is_boolean(XLeftRight),is_boolean(YBottomUp) -> @@ -777,7 +777,7 @@ setAxisOrientation(#wx_ref{type=ThisT,ref=ThisRef},XLeftRight,YBottomUp) <<ThisRef:32/?UI,(wxe_util:from_bool(XLeftRight)):32/?UI,(wxe_util:from_bool(YBottomUp)):32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdc.html#wxdcsetbackground">external documentation</a>. --spec setBackground(This, Brush) -> ok when +-spec setBackground(This, Brush) -> 'ok' when This::wxDC(), Brush::wxBrush:wxBrush(). setBackground(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=BrushT,ref=BrushRef}) -> ?CLASS(ThisT,wxDC), @@ -786,7 +786,7 @@ setBackground(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=BrushT,ref=BrushRef}) <<ThisRef:32/?UI,BrushRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdc.html#wxdcsetbackgroundmode">external documentation</a>. --spec setBackgroundMode(This, Mode) -> ok when +-spec setBackgroundMode(This, Mode) -> 'ok' when This::wxDC(), Mode::integer(). setBackgroundMode(#wx_ref{type=ThisT,ref=ThisRef},Mode) when is_integer(Mode) -> @@ -795,7 +795,7 @@ setBackgroundMode(#wx_ref{type=ThisT,ref=ThisRef},Mode) <<ThisRef:32/?UI,Mode:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdc.html#wxdcsetbrush">external documentation</a>. --spec setBrush(This, Brush) -> ok when +-spec setBrush(This, Brush) -> 'ok' when This::wxDC(), Brush::wxBrush:wxBrush(). setBrush(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=BrushT,ref=BrushRef}) -> ?CLASS(ThisT,wxDC), @@ -805,12 +805,12 @@ setBrush(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=BrushT,ref=BrushRef}) -> %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdc.html#wxdcsetclippingregion">external documentation</a>. %% <br /> Also:<br /> -%% setClippingRegion(This, Rect) -> ok when<br /> +%% setClippingRegion(This, Rect) -> 'ok' when<br /> %% This::wxDC(), Rect::{X::integer(), Y::integer(), W::integer(), H::integer()}.<br /> %% --spec setClippingRegion(This, Region) -> ok when +-spec setClippingRegion(This, Region) -> 'ok' when This::wxDC(), Region::wxRegion:wxRegion(); - (This, Rect) -> ok when + (This, Rect) -> 'ok' when This::wxDC(), Rect::{X::integer(), Y::integer(), W::integer(), H::integer()}. setClippingRegion(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=RegionT,ref=RegionRef}) -> ?CLASS(ThisT,wxDC), @@ -824,7 +824,7 @@ setClippingRegion(#wx_ref{type=ThisT,ref=ThisRef},{RectX,RectY,RectW,RectH}) <<ThisRef:32/?UI,RectX:32/?UI,RectY:32/?UI,RectW:32/?UI,RectH:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdc.html#wxdcsetclippingregion">external documentation</a>. --spec setClippingRegion(This, Pt, Sz) -> ok when +-spec setClippingRegion(This, Pt, Sz) -> 'ok' when This::wxDC(), Pt::{X::integer(), Y::integer()}, Sz::{W::integer(), H::integer()}. setClippingRegion(#wx_ref{type=ThisT,ref=ThisRef},{PtX,PtY},{SzW,SzH}) when is_integer(PtX),is_integer(PtY),is_integer(SzW),is_integer(SzH) -> @@ -833,7 +833,7 @@ setClippingRegion(#wx_ref{type=ThisT,ref=ThisRef},{PtX,PtY},{SzW,SzH}) <<ThisRef:32/?UI,PtX:32/?UI,PtY:32/?UI,SzW:32/?UI,SzH:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdc.html#wxdcsetdeviceorigin">external documentation</a>. --spec setDeviceOrigin(This, X, Y) -> ok when +-spec setDeviceOrigin(This, X, Y) -> 'ok' when This::wxDC(), X::integer(), Y::integer(). setDeviceOrigin(#wx_ref{type=ThisT,ref=ThisRef},X,Y) when is_integer(X),is_integer(Y) -> @@ -842,7 +842,7 @@ setDeviceOrigin(#wx_ref{type=ThisT,ref=ThisRef},X,Y) <<ThisRef:32/?UI,X:32/?UI,Y:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdc.html#wxdcsetfont">external documentation</a>. --spec setFont(This, Font) -> ok when +-spec setFont(This, Font) -> 'ok' when This::wxDC(), Font::wxFont:wxFont(). setFont(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=FontT,ref=FontRef}) -> ?CLASS(ThisT,wxDC), @@ -852,7 +852,7 @@ setFont(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=FontT,ref=FontRef}) -> %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdc.html#wxdcsetlayoutdirection">external documentation</a>. %%<br /> Dir = ?wxLayout_Default | ?wxLayout_LeftToRight | ?wxLayout_RightToLeft --spec setLayoutDirection(This, Dir) -> ok when +-spec setLayoutDirection(This, Dir) -> 'ok' when This::wxDC(), Dir::wx:wx_enum(). setLayoutDirection(#wx_ref{type=ThisT,ref=ThisRef},Dir) when is_integer(Dir) -> @@ -862,7 +862,7 @@ setLayoutDirection(#wx_ref{type=ThisT,ref=ThisRef},Dir) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdc.html#wxdcsetlogicalfunction">external documentation</a>. %%<br /> Function = integer --spec setLogicalFunction(This, Function) -> ok when +-spec setLogicalFunction(This, Function) -> 'ok' when This::wxDC(), Function::wx:wx_enum(). setLogicalFunction(#wx_ref{type=ThisT,ref=ThisRef},Function) when is_integer(Function) -> @@ -872,7 +872,7 @@ setLogicalFunction(#wx_ref{type=ThisT,ref=ThisRef},Function) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdc.html#wxdcsetmapmode">external documentation</a>. %%<br /> Mode = integer --spec setMapMode(This, Mode) -> ok when +-spec setMapMode(This, Mode) -> 'ok' when This::wxDC(), Mode::wx:wx_enum(). setMapMode(#wx_ref{type=ThisT,ref=ThisRef},Mode) when is_integer(Mode) -> @@ -881,7 +881,7 @@ setMapMode(#wx_ref{type=ThisT,ref=ThisRef},Mode) <<ThisRef:32/?UI,Mode:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdc.html#wxdcsetpalette">external documentation</a>. --spec setPalette(This, Palette) -> ok when +-spec setPalette(This, Palette) -> 'ok' when This::wxDC(), Palette::wxPalette:wxPalette(). setPalette(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=PaletteT,ref=PaletteRef}) -> ?CLASS(ThisT,wxDC), @@ -890,7 +890,7 @@ setPalette(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=PaletteT,ref=PaletteRef} <<ThisRef:32/?UI,PaletteRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdc.html#wxdcsetpen">external documentation</a>. --spec setPen(This, Pen) -> ok when +-spec setPen(This, Pen) -> 'ok' when This::wxDC(), Pen::wxPen:wxPen(). setPen(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=PenT,ref=PenRef}) -> ?CLASS(ThisT,wxDC), @@ -899,7 +899,7 @@ setPen(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=PenT,ref=PenRef}) -> <<ThisRef:32/?UI,PenRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdc.html#wxdcsettextbackground">external documentation</a>. --spec setTextBackground(This, Colour) -> ok when +-spec setTextBackground(This, Colour) -> 'ok' when This::wxDC(), Colour::wx:wx_colour(). setTextBackground(#wx_ref{type=ThisT,ref=ThisRef},Colour) when tuple_size(Colour) =:= 3; tuple_size(Colour) =:= 4 -> @@ -908,7 +908,7 @@ setTextBackground(#wx_ref{type=ThisT,ref=ThisRef},Colour) <<ThisRef:32/?UI,(wxe_util:colour_bin(Colour)):16/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdc.html#wxdcsettextforeground">external documentation</a>. --spec setTextForeground(This, Colour) -> ok when +-spec setTextForeground(This, Colour) -> 'ok' when This::wxDC(), Colour::wx:wx_colour(). setTextForeground(#wx_ref{type=ThisT,ref=ThisRef},Colour) when tuple_size(Colour) =:= 3; tuple_size(Colour) =:= 4 -> @@ -917,7 +917,7 @@ setTextForeground(#wx_ref{type=ThisT,ref=ThisRef},Colour) <<ThisRef:32/?UI,(wxe_util:colour_bin(Colour)):16/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdc.html#wxdcsetuserscale">external documentation</a>. --spec setUserScale(This, X, Y) -> ok when +-spec setUserScale(This, X, Y) -> 'ok' when This::wxDC(), X::number(), Y::number(). setUserScale(#wx_ref{type=ThisT,ref=ThisRef},X,Y) when is_number(X),is_number(Y) -> @@ -936,7 +936,7 @@ startDoc(#wx_ref{type=ThisT,ref=ThisRef},Message) <<ThisRef:32/?UI,(byte_size(Message_UC)):32/?UI,(Message_UC)/binary, 0:(((8- ((0+byte_size(Message_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdc.html#wxdcstartpage">external documentation</a>. --spec startPage(This) -> ok when +-spec startPage(This) -> 'ok' when This::wxDC(). startPage(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxDC), diff --git a/lib/wx/src/gen/wxDCOverlay.erl b/lib/wx/src/gen/wxDCOverlay.erl index f98e310ba6..6eb0be1d64 100644 --- a/lib/wx/src/gen/wxDCOverlay.erl +++ b/lib/wx/src/gen/wxDCOverlay.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2008-2015. All Rights Reserved. +%% Copyright Ericsson AB 2008-2016. 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. @@ -55,7 +55,7 @@ new(#wx_ref{type=OverlayT,ref=OverlayRef},#wx_ref{type=DcT,ref=DcRef},X,Y,Width, <<OverlayRef:32/?UI,DcRef:32/?UI,X:32/?UI,Y:32/?UI,Width:32/?UI,Height:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdcoverlay.html#wxdcoverlayclear">external documentation</a>. --spec clear(This) -> ok when +-spec clear(This) -> 'ok' when This::wxDCOverlay(). clear(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxDCOverlay), @@ -63,7 +63,7 @@ clear(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxDCOverlay()) -> ok. +-spec destroy(This::wxDCOverlay()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxDCOverlay), wxe_util:destroy(?wxDCOverlay_destruct,Obj), diff --git a/lib/wx/src/gen/wxDatePickerCtrl.erl b/lib/wx/src/gen/wxDatePickerCtrl.erl index 057f91d4e8..1b306a498a 100644 --- a/lib/wx/src/gen/wxDatePickerCtrl.erl +++ b/lib/wx/src/gen/wxDatePickerCtrl.erl @@ -102,11 +102,11 @@ new(Parent,Id) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdatepickerctrl.html#wxdatepickerctrlwxdatepickerctrl">external documentation</a>. -spec new(Parent, Id, [Option]) -> wxDatePickerCtrl() when Parent::wxWindow:wxWindow(), Id::integer(), - Option :: {date, wx:wx_datetime()} - | {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()} - | {validator, wx:wx_object()}. + Option :: {'date', wx:wx_datetime()} + | {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()} + | {'validator', wx:wx_object()}. new(#wx_ref{type=ParentT,ref=ParentRef},Id, Options) when is_integer(Id),is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -138,7 +138,7 @@ getValue(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdatepickerctrl.html#wxdatepickerctrlsetrange">external documentation</a>. --spec setRange(This, Dt1, Dt2) -> ok when +-spec setRange(This, Dt1, Dt2) -> 'ok' when This::wxDatePickerCtrl(), Dt1::wx:wx_datetime(), Dt2::wx:wx_datetime(). setRange(#wx_ref{type=ThisT,ref=ThisRef},Dt1,Dt2) when tuple_size(Dt1) =:= 2,tuple_size(Dt2) =:= 2 -> @@ -147,7 +147,7 @@ setRange(#wx_ref{type=ThisT,ref=ThisRef},Dt1,Dt2) <<ThisRef:32/?UI,(wxe_util:datetime_bin(Dt1)):24/binary,(wxe_util:datetime_bin(Dt2)):24/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdatepickerctrl.html#wxdatepickerctrlsetvalue">external documentation</a>. --spec setValue(This, Date) -> ok when +-spec setValue(This, Date) -> 'ok' when This::wxDatePickerCtrl(), Date::wx:wx_datetime(). setValue(#wx_ref{type=ThisT,ref=ThisRef},Date) when tuple_size(Date) =:= 2 -> @@ -156,7 +156,7 @@ setValue(#wx_ref{type=ThisT,ref=ThisRef},Date) <<ThisRef:32/?UI,(wxe_util:datetime_bin(Date)):24/binary>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxDatePickerCtrl()) -> ok. +-spec destroy(This::wxDatePickerCtrl()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxDatePickerCtrl), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxDialog.erl b/lib/wx/src/gen/wxDialog.erl index c3f4828c68..9f98644828 100644 --- a/lib/wx/src/gen/wxDialog.erl +++ b/lib/wx/src/gen/wxDialog.erl @@ -103,9 +103,9 @@ new(Parent,Id,Title) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdialog.html#wxdialogwxdialog">external documentation</a>. -spec new(Parent, Id, Title, [Option]) -> wxDialog() when Parent::wxWindow:wxWindow(), Id::integer(), Title::unicode:chardata(), - Option :: {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()}. + Option :: {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()}. new(#wx_ref{type=ParentT,ref=ParentRef},Id,Title, Options) when is_integer(Id),is_list(Title),is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -129,9 +129,9 @@ create(This,Parent,Id,Title) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdialog.html#wxdialogcreate">external documentation</a>. -spec create(This, Parent, Id, Title, [Option]) -> boolean() when This::wxDialog(), Parent::wxWindow:wxWindow(), Id::integer(), Title::unicode:chardata(), - Option :: {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()}. + Option :: {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()}. create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef},Id,Title, Options) when is_integer(Id),is_list(Title),is_list(Options) -> ?CLASS(ThisT,wxDialog), @@ -164,7 +164,7 @@ createStdDialogButtonSizer(#wx_ref{type=ThisT,ref=ThisRef},Flags) <<ThisRef:32/?UI,Flags:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdialog.html#wxdialogendmodal">external documentation</a>. --spec endModal(This, RetCode) -> ok when +-spec endModal(This, RetCode) -> 'ok' when This::wxDialog(), RetCode::integer(). endModal(#wx_ref{type=ThisT,ref=ThisRef},RetCode) when is_integer(RetCode) -> @@ -197,7 +197,7 @@ isModal(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdialog.html#wxdialogsetaffirmativeid">external documentation</a>. --spec setAffirmativeId(This, AffirmativeId) -> ok when +-spec setAffirmativeId(This, AffirmativeId) -> 'ok' when This::wxDialog(), AffirmativeId::integer(). setAffirmativeId(#wx_ref{type=ThisT,ref=ThisRef},AffirmativeId) when is_integer(AffirmativeId) -> @@ -206,7 +206,7 @@ setAffirmativeId(#wx_ref{type=ThisT,ref=ThisRef},AffirmativeId) <<ThisRef:32/?UI,AffirmativeId:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdialog.html#wxdialogsetreturncode">external documentation</a>. --spec setReturnCode(This, ReturnCode) -> ok when +-spec setReturnCode(This, ReturnCode) -> 'ok' when This::wxDialog(), ReturnCode::integer(). setReturnCode(#wx_ref{type=ThisT,ref=ThisRef},ReturnCode) when is_integer(ReturnCode) -> @@ -225,7 +225,7 @@ show(This) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdialog.html#wxdialogshow">external documentation</a>. -spec show(This, [Option]) -> boolean() when This::wxDialog(), - Option :: {show, boolean()}. + Option :: {'show', boolean()}. show(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxDialog), @@ -244,7 +244,7 @@ showModal(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxDialog()) -> ok. +-spec destroy(This::wxDialog()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxDialog), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxDirDialog.erl b/lib/wx/src/gen/wxDirDialog.erl index aa7a419bcd..1b6b9dba71 100644 --- a/lib/wx/src/gen/wxDirDialog.erl +++ b/lib/wx/src/gen/wxDirDialog.erl @@ -99,11 +99,11 @@ new(Parent) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdirdialog.html#wxdirdialogwxdirdialog">external documentation</a>. -spec new(Parent, [Option]) -> wxDirDialog() when Parent::wxWindow:wxWindow(), - Option :: {title, unicode:chardata()} - | {defaultPath, unicode:chardata()} - | {style, integer()} - | {pos, {X::integer(), Y::integer()}} - | {sz, {W::integer(), H::integer()}}. + Option :: {'title', unicode:chardata()} + | {'defaultPath', unicode:chardata()} + | {'style', integer()} + | {'pos', {X::integer(), Y::integer()}} + | {'sz', {W::integer(), H::integer()}}. new(#wx_ref{type=ParentT,ref=ParentRef}, Options) when is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -134,7 +134,7 @@ getMessage(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdirdialog.html#wxdirdialogsetmessage">external documentation</a>. --spec setMessage(This, Message) -> ok when +-spec setMessage(This, Message) -> 'ok' when This::wxDirDialog(), Message::unicode:chardata(). setMessage(#wx_ref{type=ThisT,ref=ThisRef},Message) when is_list(Message) -> @@ -144,7 +144,7 @@ setMessage(#wx_ref{type=ThisT,ref=ThisRef},Message) <<ThisRef:32/?UI,(byte_size(Message_UC)):32/?UI,(Message_UC)/binary, 0:(((8- ((0+byte_size(Message_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdirdialog.html#wxdirdialogsetpath">external documentation</a>. --spec setPath(This, Path) -> ok when +-spec setPath(This, Path) -> 'ok' when This::wxDirDialog(), Path::unicode:chardata(). setPath(#wx_ref{type=ThisT,ref=ThisRef},Path) when is_list(Path) -> @@ -154,7 +154,7 @@ setPath(#wx_ref{type=ThisT,ref=ThisRef},Path) <<ThisRef:32/?UI,(byte_size(Path_UC)):32/?UI,(Path_UC)/binary, 0:(((8- ((0+byte_size(Path_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxDirDialog()) -> ok. +-spec destroy(This::wxDirDialog()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxDirDialog), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxDirPickerCtrl.erl b/lib/wx/src/gen/wxDirPickerCtrl.erl index fea7ee71a1..3bedeb7f54 100644 --- a/lib/wx/src/gen/wxDirPickerCtrl.erl +++ b/lib/wx/src/gen/wxDirPickerCtrl.erl @@ -102,12 +102,12 @@ new(Parent,Id) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdirpickerctrl.html#wxdirpickerctrlwxdirpickerctrl">external documentation</a>. -spec new(Parent, Id, [Option]) -> wxDirPickerCtrl() when Parent::wxWindow:wxWindow(), Id::integer(), - Option :: {path, unicode:chardata()} - | {message, unicode:chardata()} - | {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()} - | {validator, wx:wx_object()}. + Option :: {'path', unicode:chardata()} + | {'message', unicode:chardata()} + | {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()} + | {'validator', wx:wx_object()}. new(#wx_ref{type=ParentT,ref=ParentRef},Id, Options) when is_integer(Id),is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -133,12 +133,12 @@ create(This,Parent,Id) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdirpickerctrl.html#wxdirpickerctrlcreate">external documentation</a>. -spec create(This, Parent, Id, [Option]) -> boolean() when This::wxDirPickerCtrl(), Parent::wxWindow:wxWindow(), Id::integer(), - Option :: {path, unicode:chardata()} - | {message, unicode:chardata()} - | {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()} - | {validator, wx:wx_object()}. + Option :: {'path', unicode:chardata()} + | {'message', unicode:chardata()} + | {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()} + | {'validator', wx:wx_object()}. create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef},Id, Options) when is_integer(Id),is_list(Options) -> ?CLASS(ThisT,wxDirPickerCtrl), @@ -163,7 +163,7 @@ getPath(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxdirpickerctrl.html#wxdirpickerctrlsetpath">external documentation</a>. --spec setPath(This, Str) -> ok when +-spec setPath(This, Str) -> 'ok' when This::wxDirPickerCtrl(), Str::unicode:chardata(). setPath(#wx_ref{type=ThisT,ref=ThisRef},Str) when is_list(Str) -> @@ -173,7 +173,7 @@ setPath(#wx_ref{type=ThisT,ref=ThisRef},Str) <<ThisRef:32/?UI,(byte_size(Str_UC)):32/?UI,(Str_UC)/binary, 0:(((8- ((0+byte_size(Str_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxDirPickerCtrl()) -> ok. +-spec destroy(This::wxDirPickerCtrl()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxDirPickerCtrl), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxEvent.erl b/lib/wx/src/gen/wxEvent.erl index b896c938c2..677badd364 100644 --- a/lib/wx/src/gen/wxEvent.erl +++ b/lib/wx/src/gen/wxEvent.erl @@ -69,7 +69,7 @@ isCommandEvent(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxevent.html#wxeventresumepropagation">external documentation</a>. --spec resumePropagation(This, PropagationLevel) -> ok when +-spec resumePropagation(This, PropagationLevel) -> 'ok' when This::wxEvent(), PropagationLevel::integer(). resumePropagation(#wx_ref{type=ThisT,ref=ThisRef},PropagationLevel) when is_integer(PropagationLevel) -> @@ -86,7 +86,7 @@ shouldPropagate(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @equiv skip(This, []) --spec skip(This) -> ok when +-spec skip(This) -> 'ok' when This::wxEvent(). skip(This) @@ -94,9 +94,9 @@ skip(This) skip(This, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxevent.html#wxeventskip">external documentation</a>. --spec skip(This, [Option]) -> ok when +-spec skip(This, [Option]) -> 'ok' when This::wxEvent(), - Option :: {skip, boolean()}. + Option :: {'skip', boolean()}. skip(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxEvent), diff --git a/lib/wx/src/gen/wxEvtHandler.erl b/lib/wx/src/gen/wxEvtHandler.erl index d330075101..8d56ad952c 100644 --- a/lib/wx/src/gen/wxEvtHandler.erl +++ b/lib/wx/src/gen/wxEvtHandler.erl @@ -53,7 +53,7 @@ -type wxEvtHandler() :: wx:wx_object(). %% @doc Equivalent to {@link connect/3. connect(This, EventType, [])} --spec connect(This::wxEvtHandler(), EventType::wxEventType()) -> ok. +-spec connect(This::wxEvtHandler(), EventType::wxEventType()) -> 'ok'. connect(This, EventType) -> connect(This, EventType, []). @@ -75,9 +75,9 @@ connect(This, EventType) -> %% to process the event. Default not specfied i.e. a message will %% be delivered to the process calling this function. %% {userData, term()} An erlang term that will be sent with the event. Default: []. --spec connect(This::wxEvtHandler(), EventType::wxEventType(), [Option]) -> ok when - Option :: {id, integer()} | {lastId, integer()} | {skip, boolean()} | - callback | {callback, function()} | {userData, term()}. +-spec connect(This::wxEvtHandler(), EventType::wxEventType(), [Option]) -> 'ok' when + Option :: {'id', integer()} | {'lastId', integer()} | {'skip', boolean()} | + 'callback' | {'callback', function()} | {'userData', term()}. connect(This=#wx_ref{type=ThisT}, EventType, Options) -> EvH = parse_opts(Options, #evh{et=EventType}), ?CLASS(ThisT,wxEvtHandler), @@ -135,7 +135,7 @@ disconnect(This=#wx_ref{type=ThisT,ref=_ThisRef}, EventType) when is_atom(EventT %% EventType may be the atom 'null' to match any eventtype. %% Notice that the options skip and userdata is not used to match the eventhandler. -spec disconnect(This::wxEvtHandler(), EventType::wxEventType(), [Option]) -> boolean() when - Option :: {id, integer()} | {lastId, integer()} | {callback, function()}. + Option :: {'id', integer()} | {'lastId', integer()} | {'callback', function()}. disconnect(This=#wx_ref{type=ThisT,ref=_ThisRef}, EventType, Opts) -> ?CLASS(ThisT,wxEvtHandler), EvH = parse_opts(Opts, #evh{et=EventType}), diff --git a/lib/wx/src/gen/wxFileDataObject.erl b/lib/wx/src/gen/wxFileDataObject.erl index 15f7d149e1..06d8ceb9cd 100644 --- a/lib/wx/src/gen/wxFileDataObject.erl +++ b/lib/wx/src/gen/wxFileDataObject.erl @@ -46,7 +46,7 @@ new() -> <<>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxfiledataobject.html#wxfiledataobjectaddfile">external documentation</a>. --spec addFile(This, Filename) -> ok when +-spec addFile(This, Filename) -> 'ok' when This::wxFileDataObject(), Filename::unicode:chardata(). addFile(#wx_ref{type=ThisT,ref=ThisRef},Filename) when is_list(Filename) -> @@ -64,7 +64,7 @@ getFilenames(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxFileDataObject()) -> ok. +-spec destroy(This::wxFileDataObject()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxFileDataObject), wxe_util:destroy(?wxFileDataObject_destroy,Obj), diff --git a/lib/wx/src/gen/wxFileDialog.erl b/lib/wx/src/gen/wxFileDialog.erl index 36ee6463ae..070fce3a39 100644 --- a/lib/wx/src/gen/wxFileDialog.erl +++ b/lib/wx/src/gen/wxFileDialog.erl @@ -101,13 +101,13 @@ new(Parent) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxfiledialog.html#wxfiledialogwxfiledialog">external documentation</a>. -spec new(Parent, [Option]) -> wxFileDialog() when Parent::wxWindow:wxWindow(), - Option :: {message, unicode:chardata()} - | {defaultDir, unicode:chardata()} - | {defaultFile, unicode:chardata()} - | {wildCard, unicode:chardata()} - | {style, integer()} - | {pos, {X::integer(), Y::integer()}} - | {sz, {W::integer(), H::integer()}}. + Option :: {'message', unicode:chardata()} + | {'defaultDir', unicode:chardata()} + | {'defaultFile', unicode:chardata()} + | {'wildCard', unicode:chardata()} + | {'style', integer()} + | {'pos', {X::integer(), Y::integer()}} + | {'sz', {W::integer(), H::integer()}}. new(#wx_ref{type=ParentT,ref=ParentRef}, Options) when is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -188,7 +188,7 @@ getWildcard(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxfiledialog.html#wxfiledialogsetdirectory">external documentation</a>. --spec setDirectory(This, Dir) -> ok when +-spec setDirectory(This, Dir) -> 'ok' when This::wxFileDialog(), Dir::unicode:chardata(). setDirectory(#wx_ref{type=ThisT,ref=ThisRef},Dir) when is_list(Dir) -> @@ -198,7 +198,7 @@ setDirectory(#wx_ref{type=ThisT,ref=ThisRef},Dir) <<ThisRef:32/?UI,(byte_size(Dir_UC)):32/?UI,(Dir_UC)/binary, 0:(((8- ((0+byte_size(Dir_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxfiledialog.html#wxfiledialogsetfilename">external documentation</a>. --spec setFilename(This, Name) -> ok when +-spec setFilename(This, Name) -> 'ok' when This::wxFileDialog(), Name::unicode:chardata(). setFilename(#wx_ref{type=ThisT,ref=ThisRef},Name) when is_list(Name) -> @@ -208,7 +208,7 @@ setFilename(#wx_ref{type=ThisT,ref=ThisRef},Name) <<ThisRef:32/?UI,(byte_size(Name_UC)):32/?UI,(Name_UC)/binary, 0:(((8- ((0+byte_size(Name_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxfiledialog.html#wxfiledialogsetfilterindex">external documentation</a>. --spec setFilterIndex(This, FilterIndex) -> ok when +-spec setFilterIndex(This, FilterIndex) -> 'ok' when This::wxFileDialog(), FilterIndex::integer(). setFilterIndex(#wx_ref{type=ThisT,ref=ThisRef},FilterIndex) when is_integer(FilterIndex) -> @@ -217,7 +217,7 @@ setFilterIndex(#wx_ref{type=ThisT,ref=ThisRef},FilterIndex) <<ThisRef:32/?UI,FilterIndex:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxfiledialog.html#wxfiledialogsetmessage">external documentation</a>. --spec setMessage(This, Message) -> ok when +-spec setMessage(This, Message) -> 'ok' when This::wxFileDialog(), Message::unicode:chardata(). setMessage(#wx_ref{type=ThisT,ref=ThisRef},Message) when is_list(Message) -> @@ -227,7 +227,7 @@ setMessage(#wx_ref{type=ThisT,ref=ThisRef},Message) <<ThisRef:32/?UI,(byte_size(Message_UC)):32/?UI,(Message_UC)/binary, 0:(((8- ((0+byte_size(Message_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxfiledialog.html#wxfiledialogsetpath">external documentation</a>. --spec setPath(This, Path) -> ok when +-spec setPath(This, Path) -> 'ok' when This::wxFileDialog(), Path::unicode:chardata(). setPath(#wx_ref{type=ThisT,ref=ThisRef},Path) when is_list(Path) -> @@ -237,7 +237,7 @@ setPath(#wx_ref{type=ThisT,ref=ThisRef},Path) <<ThisRef:32/?UI,(byte_size(Path_UC)):32/?UI,(Path_UC)/binary, 0:(((8- ((0+byte_size(Path_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxfiledialog.html#wxfiledialogsetwildcard">external documentation</a>. --spec setWildcard(This, WildCard) -> ok when +-spec setWildcard(This, WildCard) -> 'ok' when This::wxFileDialog(), WildCard::unicode:chardata(). setWildcard(#wx_ref{type=ThisT,ref=ThisRef},WildCard) when is_list(WildCard) -> @@ -247,7 +247,7 @@ setWildcard(#wx_ref{type=ThisT,ref=ThisRef},WildCard) <<ThisRef:32/?UI,(byte_size(WildCard_UC)):32/?UI,(WildCard_UC)/binary, 0:(((8- ((0+byte_size(WildCard_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxFileDialog()) -> ok. +-spec destroy(This::wxFileDialog()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxFileDialog), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxFilePickerCtrl.erl b/lib/wx/src/gen/wxFilePickerCtrl.erl index 2b57a5927b..396403dc22 100644 --- a/lib/wx/src/gen/wxFilePickerCtrl.erl +++ b/lib/wx/src/gen/wxFilePickerCtrl.erl @@ -102,13 +102,13 @@ new(Parent,Id) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxfilepickerctrl.html#wxfilepickerctrlwxfilepickerctrl">external documentation</a>. -spec new(Parent, Id, [Option]) -> wxFilePickerCtrl() when Parent::wxWindow:wxWindow(), Id::integer(), - Option :: {path, unicode:chardata()} - | {message, unicode:chardata()} - | {wildcard, unicode:chardata()} - | {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()} - | {validator, wx:wx_object()}. + Option :: {'path', unicode:chardata()} + | {'message', unicode:chardata()} + | {'wildcard', unicode:chardata()} + | {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()} + | {'validator', wx:wx_object()}. new(#wx_ref{type=ParentT,ref=ParentRef},Id, Options) when is_integer(Id),is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -135,13 +135,13 @@ create(This,Parent,Id) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxfilepickerctrl.html#wxfilepickerctrlcreate">external documentation</a>. -spec create(This, Parent, Id, [Option]) -> boolean() when This::wxFilePickerCtrl(), Parent::wxWindow:wxWindow(), Id::integer(), - Option :: {path, unicode:chardata()} - | {message, unicode:chardata()} - | {wildcard, unicode:chardata()} - | {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()} - | {validator, wx:wx_object()}. + Option :: {'path', unicode:chardata()} + | {'message', unicode:chardata()} + | {'wildcard', unicode:chardata()} + | {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()} + | {'validator', wx:wx_object()}. create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef},Id, Options) when is_integer(Id),is_list(Options) -> ?CLASS(ThisT,wxFilePickerCtrl), @@ -167,7 +167,7 @@ getPath(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxfilepickerctrl.html#wxfilepickerctrlsetpath">external documentation</a>. --spec setPath(This, Str) -> ok when +-spec setPath(This, Str) -> 'ok' when This::wxFilePickerCtrl(), Str::unicode:chardata(). setPath(#wx_ref{type=ThisT,ref=ThisRef},Str) when is_list(Str) -> @@ -177,7 +177,7 @@ setPath(#wx_ref{type=ThisT,ref=ThisRef},Str) <<ThisRef:32/?UI,(byte_size(Str_UC)):32/?UI,(Str_UC)/binary, 0:(((8- ((0+byte_size(Str_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxFilePickerCtrl()) -> ok. +-spec destroy(This::wxFilePickerCtrl()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxFilePickerCtrl), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxFindReplaceData.erl b/lib/wx/src/gen/wxFindReplaceData.erl index 851ad2d76f..9b4b910f7e 100644 --- a/lib/wx/src/gen/wxFindReplaceData.erl +++ b/lib/wx/src/gen/wxFindReplaceData.erl @@ -75,7 +75,7 @@ getFlags(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxfindreplacedata.html#wxfindreplacedatasetflags">external documentation</a>. --spec setFlags(This, Flags) -> ok when +-spec setFlags(This, Flags) -> 'ok' when This::wxFindReplaceData(), Flags::integer(). setFlags(#wx_ref{type=ThisT,ref=ThisRef},Flags) when is_integer(Flags) -> @@ -84,7 +84,7 @@ setFlags(#wx_ref{type=ThisT,ref=ThisRef},Flags) <<ThisRef:32/?UI,Flags:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxfindreplacedata.html#wxfindreplacedatasetfindstring">external documentation</a>. --spec setFindString(This, Str) -> ok when +-spec setFindString(This, Str) -> 'ok' when This::wxFindReplaceData(), Str::unicode:chardata(). setFindString(#wx_ref{type=ThisT,ref=ThisRef},Str) when is_list(Str) -> @@ -94,7 +94,7 @@ setFindString(#wx_ref{type=ThisT,ref=ThisRef},Str) <<ThisRef:32/?UI,(byte_size(Str_UC)):32/?UI,(Str_UC)/binary, 0:(((8- ((0+byte_size(Str_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxfindreplacedata.html#wxfindreplacedatasetreplacestring">external documentation</a>. --spec setReplaceString(This, Str) -> ok when +-spec setReplaceString(This, Str) -> 'ok' when This::wxFindReplaceData(), Str::unicode:chardata(). setReplaceString(#wx_ref{type=ThisT,ref=ThisRef},Str) when is_list(Str) -> @@ -104,7 +104,7 @@ setReplaceString(#wx_ref{type=ThisT,ref=ThisRef},Str) <<ThisRef:32/?UI,(byte_size(Str_UC)):32/?UI,(Str_UC)/binary, 0:(((8- ((0+byte_size(Str_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxFindReplaceData()) -> ok. +-spec destroy(This::wxFindReplaceData()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxFindReplaceData), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxFindReplaceDialog.erl b/lib/wx/src/gen/wxFindReplaceDialog.erl index d265e232b3..a34fc329ae 100644 --- a/lib/wx/src/gen/wxFindReplaceDialog.erl +++ b/lib/wx/src/gen/wxFindReplaceDialog.erl @@ -105,7 +105,7 @@ new(Parent,Data,Title) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxfindreplacedialog.html#wxfindreplacedialogwxfindreplacedialog">external documentation</a>. -spec new(Parent, Data, Title, [Option]) -> wxFindReplaceDialog() when Parent::wxWindow:wxWindow(), Data::wxFindReplaceData:wxFindReplaceData(), Title::unicode:chardata(), - Option :: {style, integer()}. + Option :: {'style', integer()}. new(#wx_ref{type=ParentT,ref=ParentRef},#wx_ref{type=DataT,ref=DataRef},Title, Options) when is_list(Title),is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -128,7 +128,7 @@ create(This,Parent,Data,Title) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxfindreplacedialog.html#wxfindreplacedialogcreate">external documentation</a>. -spec create(This, Parent, Data, Title, [Option]) -> boolean() when This::wxFindReplaceDialog(), Parent::wxWindow:wxWindow(), Data::wxFindReplaceData:wxFindReplaceData(), Title::unicode:chardata(), - Option :: {style, integer()}. + Option :: {'style', integer()}. create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef},#wx_ref{type=DataT,ref=DataRef},Title, Options) when is_list(Title),is_list(Options) -> ?CLASS(ThisT,wxFindReplaceDialog), @@ -150,7 +150,7 @@ getData(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxFindReplaceDialog()) -> ok. +-spec destroy(This::wxFindReplaceDialog()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxFindReplaceDialog), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxFlexGridSizer.erl b/lib/wx/src/gen/wxFlexGridSizer.erl index 84a9b619ac..80ef8f6b24 100644 --- a/lib/wx/src/gen/wxFlexGridSizer.erl +++ b/lib/wx/src/gen/wxFlexGridSizer.erl @@ -64,8 +64,8 @@ new(Cols) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxflexgridsizer.html#wxflexgridsizerwxflexgridsizer">external documentation</a>. -spec new(Cols, [Option]) -> wxFlexGridSizer() when Cols::integer(), - Option :: {vgap, integer()} - | {hgap, integer()}. + Option :: {'vgap', integer()} + | {'hgap', integer()}. new(Cols, Options) when is_integer(Cols),is_list(Options) -> MOpts = fun({vgap, Vgap}, Acc) -> [<<1:32/?UI,Vgap:32/?UI>>|Acc]; @@ -84,7 +84,7 @@ new(Rows,Cols,Vgap,Hgap) <<Rows:32/?UI,Cols:32/?UI,Vgap:32/?UI,Hgap:32/?UI>>). %% @equiv addGrowableCol(This,Idx, []) --spec addGrowableCol(This, Idx) -> ok when +-spec addGrowableCol(This, Idx) -> 'ok' when This::wxFlexGridSizer(), Idx::integer(). addGrowableCol(This,Idx) @@ -92,9 +92,9 @@ addGrowableCol(This,Idx) addGrowableCol(This,Idx, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxflexgridsizer.html#wxflexgridsizeraddgrowablecol">external documentation</a>. --spec addGrowableCol(This, Idx, [Option]) -> ok when +-spec addGrowableCol(This, Idx, [Option]) -> 'ok' when This::wxFlexGridSizer(), Idx::integer(), - Option :: {proportion, integer()}. + Option :: {'proportion', integer()}. addGrowableCol(#wx_ref{type=ThisT,ref=ThisRef},Idx, Options) when is_integer(Idx),is_list(Options) -> ?CLASS(ThisT,wxFlexGridSizer), @@ -105,7 +105,7 @@ addGrowableCol(#wx_ref{type=ThisT,ref=ThisRef},Idx, Options) <<ThisRef:32/?UI,Idx:32/?UI, BinOpt/binary>>). %% @equiv addGrowableRow(This,Idx, []) --spec addGrowableRow(This, Idx) -> ok when +-spec addGrowableRow(This, Idx) -> 'ok' when This::wxFlexGridSizer(), Idx::integer(). addGrowableRow(This,Idx) @@ -113,9 +113,9 @@ addGrowableRow(This,Idx) addGrowableRow(This,Idx, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxflexgridsizer.html#wxflexgridsizeraddgrowablerow">external documentation</a>. --spec addGrowableRow(This, Idx, [Option]) -> ok when +-spec addGrowableRow(This, Idx, [Option]) -> 'ok' when This::wxFlexGridSizer(), Idx::integer(), - Option :: {proportion, integer()}. + Option :: {'proportion', integer()}. addGrowableRow(#wx_ref{type=ThisT,ref=ThisRef},Idx, Options) when is_integer(Idx),is_list(Options) -> ?CLASS(ThisT,wxFlexGridSizer), @@ -143,7 +143,7 @@ getNonFlexibleGrowMode(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxflexgridsizer.html#wxflexgridsizerremovegrowablecol">external documentation</a>. --spec removeGrowableCol(This, Idx) -> ok when +-spec removeGrowableCol(This, Idx) -> 'ok' when This::wxFlexGridSizer(), Idx::integer(). removeGrowableCol(#wx_ref{type=ThisT,ref=ThisRef},Idx) when is_integer(Idx) -> @@ -152,7 +152,7 @@ removeGrowableCol(#wx_ref{type=ThisT,ref=ThisRef},Idx) <<ThisRef:32/?UI,Idx:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxflexgridsizer.html#wxflexgridsizerremovegrowablerow">external documentation</a>. --spec removeGrowableRow(This, Idx) -> ok when +-spec removeGrowableRow(This, Idx) -> 'ok' when This::wxFlexGridSizer(), Idx::integer(). removeGrowableRow(#wx_ref{type=ThisT,ref=ThisRef},Idx) when is_integer(Idx) -> @@ -161,7 +161,7 @@ removeGrowableRow(#wx_ref{type=ThisT,ref=ThisRef},Idx) <<ThisRef:32/?UI,Idx:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxflexgridsizer.html#wxflexgridsizersetflexibledirection">external documentation</a>. --spec setFlexibleDirection(This, Direction) -> ok when +-spec setFlexibleDirection(This, Direction) -> 'ok' when This::wxFlexGridSizer(), Direction::integer(). setFlexibleDirection(#wx_ref{type=ThisT,ref=ThisRef},Direction) when is_integer(Direction) -> @@ -171,7 +171,7 @@ setFlexibleDirection(#wx_ref{type=ThisT,ref=ThisRef},Direction) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxflexgridsizer.html#wxflexgridsizersetnonflexiblegrowmode">external documentation</a>. %%<br /> Mode = ?wxFLEX_GROWMODE_NONE | ?wxFLEX_GROWMODE_SPECIFIED | ?wxFLEX_GROWMODE_ALL --spec setNonFlexibleGrowMode(This, Mode) -> ok when +-spec setNonFlexibleGrowMode(This, Mode) -> 'ok' when This::wxFlexGridSizer(), Mode::wx:wx_enum(). setNonFlexibleGrowMode(#wx_ref{type=ThisT,ref=ThisRef},Mode) when is_integer(Mode) -> @@ -180,7 +180,7 @@ setNonFlexibleGrowMode(#wx_ref{type=ThisT,ref=ThisRef},Mode) <<ThisRef:32/?UI,Mode:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxFlexGridSizer()) -> ok. +-spec destroy(This::wxFlexGridSizer()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxFlexGridSizer), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxFont.erl b/lib/wx/src/gen/wxFont.erl index 9b98f8b06e..56e6e96b6d 100644 --- a/lib/wx/src/gen/wxFont.erl +++ b/lib/wx/src/gen/wxFont.erl @@ -68,9 +68,9 @@ new(Size,Family,Style,Weight) %%<br /> Style = ?wxFONTSTYLE_NORMAL | ?wxFONTSTYLE_ITALIC | ?wxFONTSTYLE_SLANT | ?wxFONTSTYLE_MAX -spec new(Size, Family, Style, Weight, [Option]) -> wxFont() when Size::integer(), Family::wx:wx_enum(), Style::wx:wx_enum(), Weight::integer(), - Option :: {underlined, boolean()} - | {face, unicode:chardata()} - | {encoding, wx:wx_enum()}. + Option :: {'underlined', boolean()} + | {'face', unicode:chardata()} + | {'encoding', wx:wx_enum()}. new(Size,Family,Style,Weight, Options) when is_integer(Size),is_integer(Family),is_integer(Style),is_integer(Weight),is_list(Options) -> MOpts = fun({underlined, Underlined}, Acc) -> [<<1:32/?UI,(wxe_util:from_bool(Underlined)):32/?UI>>|Acc]; @@ -172,7 +172,7 @@ ok(#wx_ref{type=ThisT,ref=ThisRef}) -> %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxfont.html#wxfontsetdefaultencoding">external documentation</a>. %%<br /> Encoding = ?wxFONTENCODING_SYSTEM | ?wxFONTENCODING_DEFAULT | ?wxFONTENCODING_ISO8859_1 | ?wxFONTENCODING_ISO8859_2 | ?wxFONTENCODING_ISO8859_3 | ?wxFONTENCODING_ISO8859_4 | ?wxFONTENCODING_ISO8859_5 | ?wxFONTENCODING_ISO8859_6 | ?wxFONTENCODING_ISO8859_7 | ?wxFONTENCODING_ISO8859_8 | ?wxFONTENCODING_ISO8859_9 | ?wxFONTENCODING_ISO8859_10 | ?wxFONTENCODING_ISO8859_11 | ?wxFONTENCODING_ISO8859_12 | ?wxFONTENCODING_ISO8859_13 | ?wxFONTENCODING_ISO8859_14 | ?wxFONTENCODING_ISO8859_15 | ?wxFONTENCODING_ISO8859_MAX | ?wxFONTENCODING_KOI8 | ?wxFONTENCODING_KOI8_U | ?wxFONTENCODING_ALTERNATIVE | ?wxFONTENCODING_BULGARIAN | ?wxFONTENCODING_CP437 | ?wxFONTENCODING_CP850 | ?wxFONTENCODING_CP852 | ?wxFONTENCODING_CP855 | ?wxFONTENCODING_CP866 | ?wxFONTENCODING_CP874 | ?wxFONTENCODING_CP932 | ?wxFONTENCODING_CP936 | ?wxFONTENCODING_CP949 | ?wxFONTENCODING_CP950 | ?wxFONTENCODING_CP1250 | ?wxFONTENCODING_CP1251 | ?wxFONTENCODING_CP1252 | ?wxFONTENCODING_CP1253 | ?wxFONTENCODING_CP1254 | ?wxFONTENCODING_CP1255 | ?wxFONTENCODING_CP1256 | ?wxFONTENCODING_CP1257 | ?wxFONTENCODING_CP12_MAX | ?wxFONTENCODING_UTF7 | ?wxFONTENCODING_UTF8 | ?wxFONTENCODING_EUC_JP | ?wxFONTENCODING_UTF16BE | ?wxFONTENCODING_UTF16LE | ?wxFONTENCODING_UTF32BE | ?wxFONTENCODING_UTF32LE | ?wxFONTENCODING_MACROMAN | ?wxFONTENCODING_MACJAPANESE | ?wxFONTENCODING_MACCHINESETRAD | ?wxFONTENCODING_MACKOREAN | ?wxFONTENCODING_MACARABIC | ?wxFONTENCODING_MACHEBREW | ?wxFONTENCODING_MACGREEK | ?wxFONTENCODING_MACCYRILLIC | ?wxFONTENCODING_MACDEVANAGARI | ?wxFONTENCODING_MACGURMUKHI | ?wxFONTENCODING_MACGUJARATI | ?wxFONTENCODING_MACORIYA | ?wxFONTENCODING_MACBENGALI | ?wxFONTENCODING_MACTAMIL | ?wxFONTENCODING_MACTELUGU | ?wxFONTENCODING_MACKANNADA | ?wxFONTENCODING_MACMALAJALAM | ?wxFONTENCODING_MACSINHALESE | ?wxFONTENCODING_MACBURMESE | ?wxFONTENCODING_MACKHMER | ?wxFONTENCODING_MACTHAI | ?wxFONTENCODING_MACLAOTIAN | ?wxFONTENCODING_MACGEORGIAN | ?wxFONTENCODING_MACARMENIAN | ?wxFONTENCODING_MACCHINESESIMP | ?wxFONTENCODING_MACTIBETAN | ?wxFONTENCODING_MACMONGOLIAN | ?wxFONTENCODING_MACETHIOPIC | ?wxFONTENCODING_MACCENTRALEUR | ?wxFONTENCODING_MACVIATNAMESE | ?wxFONTENCODING_MACARABICEXT | ?wxFONTENCODING_MACSYMBOL | ?wxFONTENCODING_MACDINGBATS | ?wxFONTENCODING_MACTURKISH | ?wxFONTENCODING_MACCROATIAN | ?wxFONTENCODING_MACICELANDIC | ?wxFONTENCODING_MACROMANIAN | ?wxFONTENCODING_MACCELTIC | ?wxFONTENCODING_MACGAELIC | ?wxFONTENCODING_MACKEYBOARD | ?wxFONTENCODING_MAX | ?wxFONTENCODING_MACMIN | ?wxFONTENCODING_MACMAX | ?wxFONTENCODING_UTF16 | ?wxFONTENCODING_UTF32 | ?wxFONTENCODING_UNICODE | ?wxFONTENCODING_GB2312 | ?wxFONTENCODING_BIG5 | ?wxFONTENCODING_SHIFT_JIS --spec setDefaultEncoding(Encoding) -> ok when +-spec setDefaultEncoding(Encoding) -> 'ok' when Encoding::wx:wx_enum(). setDefaultEncoding(Encoding) when is_integer(Encoding) -> @@ -191,7 +191,7 @@ setFaceName(#wx_ref{type=ThisT,ref=ThisRef},FaceName) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxfont.html#wxfontsetfamily">external documentation</a>. %%<br /> Family = ?wxFONTFAMILY_DEFAULT | ?wxFONTFAMILY_DECORATIVE | ?wxFONTFAMILY_ROMAN | ?wxFONTFAMILY_SCRIPT | ?wxFONTFAMILY_SWISS | ?wxFONTFAMILY_MODERN | ?wxFONTFAMILY_TELETYPE | ?wxFONTFAMILY_MAX | ?wxFONTFAMILY_UNKNOWN --spec setFamily(This, Family) -> ok when +-spec setFamily(This, Family) -> 'ok' when This::wxFont(), Family::wx:wx_enum(). setFamily(#wx_ref{type=ThisT,ref=ThisRef},Family) when is_integer(Family) -> @@ -200,7 +200,7 @@ setFamily(#wx_ref{type=ThisT,ref=ThisRef},Family) <<ThisRef:32/?UI,Family:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxfont.html#wxfontsetpointsize">external documentation</a>. --spec setPointSize(This, PointSize) -> ok when +-spec setPointSize(This, PointSize) -> 'ok' when This::wxFont(), PointSize::integer(). setPointSize(#wx_ref{type=ThisT,ref=ThisRef},PointSize) when is_integer(PointSize) -> @@ -210,7 +210,7 @@ setPointSize(#wx_ref{type=ThisT,ref=ThisRef},PointSize) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxfont.html#wxfontsetstyle">external documentation</a>. %%<br /> Style = ?wxFONTSTYLE_NORMAL | ?wxFONTSTYLE_ITALIC | ?wxFONTSTYLE_SLANT | ?wxFONTSTYLE_MAX --spec setStyle(This, Style) -> ok when +-spec setStyle(This, Style) -> 'ok' when This::wxFont(), Style::wx:wx_enum(). setStyle(#wx_ref{type=ThisT,ref=ThisRef},Style) when is_integer(Style) -> @@ -219,7 +219,7 @@ setStyle(#wx_ref{type=ThisT,ref=ThisRef},Style) <<ThisRef:32/?UI,Style:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxfont.html#wxfontsetunderlined">external documentation</a>. --spec setUnderlined(This, Underlined) -> ok when +-spec setUnderlined(This, Underlined) -> 'ok' when This::wxFont(), Underlined::boolean(). setUnderlined(#wx_ref{type=ThisT,ref=ThisRef},Underlined) when is_boolean(Underlined) -> @@ -228,7 +228,7 @@ setUnderlined(#wx_ref{type=ThisT,ref=ThisRef},Underlined) <<ThisRef:32/?UI,(wxe_util:from_bool(Underlined)):32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxfont.html#wxfontsetweight">external documentation</a>. --spec setWeight(This, Weight) -> ok when +-spec setWeight(This, Weight) -> 'ok' when This::wxFont(), Weight::integer(). setWeight(#wx_ref{type=ThisT,ref=ThisRef},Weight) when is_integer(Weight) -> @@ -237,7 +237,7 @@ setWeight(#wx_ref{type=ThisT,ref=ThisRef},Weight) <<ThisRef:32/?UI,Weight:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxFont()) -> ok. +-spec destroy(This::wxFont()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxFont), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxFontData.erl b/lib/wx/src/gen/wxFontData.erl index 066367862f..2d1a1b5568 100644 --- a/lib/wx/src/gen/wxFontData.erl +++ b/lib/wx/src/gen/wxFontData.erl @@ -52,7 +52,7 @@ new(#wx_ref{type=DataT,ref=DataRef}) -> <<DataRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxfontdata.html#wxfontdataenableeffects">external documentation</a>. --spec enableEffects(This, Flag) -> ok when +-spec enableEffects(This, Flag) -> 'ok' when This::wxFontData(), Flag::boolean(). enableEffects(#wx_ref{type=ThisT,ref=ThisRef},Flag) when is_boolean(Flag) -> @@ -109,7 +109,7 @@ getShowHelp(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxfontdata.html#wxfontdatasetallowsymbols">external documentation</a>. --spec setAllowSymbols(This, Flag) -> ok when +-spec setAllowSymbols(This, Flag) -> 'ok' when This::wxFontData(), Flag::boolean(). setAllowSymbols(#wx_ref{type=ThisT,ref=ThisRef},Flag) when is_boolean(Flag) -> @@ -118,7 +118,7 @@ setAllowSymbols(#wx_ref{type=ThisT,ref=ThisRef},Flag) <<ThisRef:32/?UI,(wxe_util:from_bool(Flag)):32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxfontdata.html#wxfontdatasetchosenfont">external documentation</a>. --spec setChosenFont(This, Font) -> ok when +-spec setChosenFont(This, Font) -> 'ok' when This::wxFontData(), Font::wxFont:wxFont(). setChosenFont(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=FontT,ref=FontRef}) -> ?CLASS(ThisT,wxFontData), @@ -127,7 +127,7 @@ setChosenFont(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=FontT,ref=FontRef}) - <<ThisRef:32/?UI,FontRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxfontdata.html#wxfontdatasetcolour">external documentation</a>. --spec setColour(This, Colour) -> ok when +-spec setColour(This, Colour) -> 'ok' when This::wxFontData(), Colour::wx:wx_colour(). setColour(#wx_ref{type=ThisT,ref=ThisRef},Colour) when tuple_size(Colour) =:= 3; tuple_size(Colour) =:= 4 -> @@ -136,7 +136,7 @@ setColour(#wx_ref{type=ThisT,ref=ThisRef},Colour) <<ThisRef:32/?UI,(wxe_util:colour_bin(Colour)):16/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxfontdata.html#wxfontdatasetinitialfont">external documentation</a>. --spec setInitialFont(This, Font) -> ok when +-spec setInitialFont(This, Font) -> 'ok' when This::wxFontData(), Font::wxFont:wxFont(). setInitialFont(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=FontT,ref=FontRef}) -> ?CLASS(ThisT,wxFontData), @@ -145,7 +145,7 @@ setInitialFont(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=FontT,ref=FontRef}) <<ThisRef:32/?UI,FontRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxfontdata.html#wxfontdatasetrange">external documentation</a>. --spec setRange(This, MinRange, MaxRange) -> ok when +-spec setRange(This, MinRange, MaxRange) -> 'ok' when This::wxFontData(), MinRange::integer(), MaxRange::integer(). setRange(#wx_ref{type=ThisT,ref=ThisRef},MinRange,MaxRange) when is_integer(MinRange),is_integer(MaxRange) -> @@ -154,7 +154,7 @@ setRange(#wx_ref{type=ThisT,ref=ThisRef},MinRange,MaxRange) <<ThisRef:32/?UI,MinRange:32/?UI,MaxRange:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxfontdata.html#wxfontdatasetshowhelp">external documentation</a>. --spec setShowHelp(This, Flag) -> ok when +-spec setShowHelp(This, Flag) -> 'ok' when This::wxFontData(), Flag::boolean(). setShowHelp(#wx_ref{type=ThisT,ref=ThisRef},Flag) when is_boolean(Flag) -> @@ -163,7 +163,7 @@ setShowHelp(#wx_ref{type=ThisT,ref=ThisRef},Flag) <<ThisRef:32/?UI,(wxe_util:from_bool(Flag)):32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxFontData()) -> ok. +-spec destroy(This::wxFontData()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxFontData), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxFontDialog.erl b/lib/wx/src/gen/wxFontDialog.erl index de199cfcce..3e6a913973 100644 --- a/lib/wx/src/gen/wxFontDialog.erl +++ b/lib/wx/src/gen/wxFontDialog.erl @@ -122,7 +122,7 @@ getFontData(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxFontDialog()) -> ok. +-spec destroy(This::wxFontDialog()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxFontDialog), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxFontPickerCtrl.erl b/lib/wx/src/gen/wxFontPickerCtrl.erl index c21061e0fe..0356f795eb 100644 --- a/lib/wx/src/gen/wxFontPickerCtrl.erl +++ b/lib/wx/src/gen/wxFontPickerCtrl.erl @@ -103,11 +103,11 @@ new(Parent,Id) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxfontpickerctrl.html#wxfontpickerctrlwxfontpickerctrl">external documentation</a>. -spec new(Parent, Id, [Option]) -> wxFontPickerCtrl() when Parent::wxWindow:wxWindow(), Id::integer(), - Option :: {initial, wxFont:wxFont()} - | {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()} - | {validator, wx:wx_object()}. + Option :: {'initial', wxFont:wxFont()} + | {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()} + | {'validator', wx:wx_object()}. new(#wx_ref{type=ParentT,ref=ParentRef},Id, Options) when is_integer(Id),is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -132,11 +132,11 @@ create(This,Parent,Id) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxfontpickerctrl.html#wxfontpickerctrlcreate">external documentation</a>. -spec create(This, Parent, Id, [Option]) -> boolean() when This::wxFontPickerCtrl(), Parent::wxWindow:wxWindow(), Id::integer(), - Option :: {initial, wxFont:wxFont()} - | {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()} - | {validator, wx:wx_object()}. + Option :: {'initial', wxFont:wxFont()} + | {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()} + | {'validator', wx:wx_object()}. create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef},Id, Options) when is_integer(Id),is_list(Options) -> ?CLASS(ThisT,wxFontPickerCtrl), @@ -160,7 +160,7 @@ getSelectedFont(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxfontpickerctrl.html#wxfontpickerctrlsetselectedfont">external documentation</a>. --spec setSelectedFont(This, F) -> ok when +-spec setSelectedFont(This, F) -> 'ok' when This::wxFontPickerCtrl(), F::wxFont:wxFont(). setSelectedFont(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=FT,ref=FRef}) -> ?CLASS(ThisT,wxFontPickerCtrl), @@ -177,7 +177,7 @@ getMaxPointSize(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxfontpickerctrl.html#wxfontpickerctrlsetmaxpointsize">external documentation</a>. --spec setMaxPointSize(This, Max) -> ok when +-spec setMaxPointSize(This, Max) -> 'ok' when This::wxFontPickerCtrl(), Max::integer(). setMaxPointSize(#wx_ref{type=ThisT,ref=ThisRef},Max) when is_integer(Max) -> @@ -186,7 +186,7 @@ setMaxPointSize(#wx_ref{type=ThisT,ref=ThisRef},Max) <<ThisRef:32/?UI,Max:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxFontPickerCtrl()) -> ok. +-spec destroy(This::wxFontPickerCtrl()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxFontPickerCtrl), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxFrame.erl b/lib/wx/src/gen/wxFrame.erl index 75860cd9b7..93aad5b235 100644 --- a/lib/wx/src/gen/wxFrame.erl +++ b/lib/wx/src/gen/wxFrame.erl @@ -105,9 +105,9 @@ new(Parent,Id,Title) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxframe.html#wxframewxframe">external documentation</a>. -spec new(Parent, Id, Title, [Option]) -> wxFrame() when Parent::wxWindow:wxWindow(), Id::integer(), Title::unicode:chardata(), - Option :: {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()}. + Option :: {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()}. new(#wx_ref{type=ParentT,ref=ParentRef},Id,Title, Options) when is_integer(Id),is_list(Title),is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -131,9 +131,9 @@ create(This,Parent,Id,Title) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxframe.html#wxframecreate">external documentation</a>. -spec create(This, Parent, Id, Title, [Option]) -> boolean() when This::wxFrame(), Parent::wxWindow:wxWindow(), Id::integer(), Title::unicode:chardata(), - Option :: {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()}. + Option :: {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()}. create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef},Id,Title, Options) when is_integer(Id),is_list(Title),is_list(Options) -> ?CLASS(ThisT,wxFrame), @@ -158,9 +158,9 @@ createStatusBar(This) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxframe.html#wxframecreatestatusbar">external documentation</a>. -spec createStatusBar(This, [Option]) -> wxStatusBar:wxStatusBar() when This::wxFrame(), - Option :: {number, integer()} - | {style, integer()} - | {id, integer()}. + Option :: {'number', integer()} + | {'style', integer()} + | {'id', integer()}. createStatusBar(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxFrame), @@ -183,8 +183,8 @@ createToolBar(This) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxframe.html#wxframecreatetoolbar">external documentation</a>. -spec createToolBar(This, [Option]) -> wxToolBar:wxToolBar() when This::wxFrame(), - Option :: {style, integer()} - | {id, integer()}. + Option :: {'style', integer()} + | {'id', integer()}. createToolBar(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxFrame), @@ -245,7 +245,7 @@ processCommand(#wx_ref{type=ThisT,ref=ThisRef},Winid) <<ThisRef:32/?UI,Winid:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxframe.html#wxframesendsizeevent">external documentation</a>. --spec sendSizeEvent(This) -> ok when +-spec sendSizeEvent(This) -> 'ok' when This::wxFrame(). sendSizeEvent(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxFrame), @@ -253,7 +253,7 @@ sendSizeEvent(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxframe.html#wxframesetmenubar">external documentation</a>. --spec setMenuBar(This, Menubar) -> ok when +-spec setMenuBar(This, Menubar) -> 'ok' when This::wxFrame(), Menubar::wxMenuBar:wxMenuBar(). setMenuBar(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=MenubarT,ref=MenubarRef}) -> ?CLASS(ThisT,wxFrame), @@ -262,7 +262,7 @@ setMenuBar(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=MenubarT,ref=MenubarRef} <<ThisRef:32/?UI,MenubarRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxframe.html#wxframesetstatusbar">external documentation</a>. --spec setStatusBar(This, Statbar) -> ok when +-spec setStatusBar(This, Statbar) -> 'ok' when This::wxFrame(), Statbar::wxStatusBar:wxStatusBar(). setStatusBar(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=StatbarT,ref=StatbarRef}) -> ?CLASS(ThisT,wxFrame), @@ -271,7 +271,7 @@ setStatusBar(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=StatbarT,ref=StatbarRe <<ThisRef:32/?UI,StatbarRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxframe.html#wxframesetstatusbarpane">external documentation</a>. --spec setStatusBarPane(This, N) -> ok when +-spec setStatusBarPane(This, N) -> 'ok' when This::wxFrame(), N::integer(). setStatusBarPane(#wx_ref{type=ThisT,ref=ThisRef},N) when is_integer(N) -> @@ -280,7 +280,7 @@ setStatusBarPane(#wx_ref{type=ThisT,ref=ThisRef},N) <<ThisRef:32/?UI,N:32/?UI>>). %% @equiv setStatusText(This,Text, []) --spec setStatusText(This, Text) -> ok when +-spec setStatusText(This, Text) -> 'ok' when This::wxFrame(), Text::unicode:chardata(). setStatusText(This,Text) @@ -288,9 +288,9 @@ setStatusText(This,Text) setStatusText(This,Text, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxframe.html#wxframesetstatustext">external documentation</a>. --spec setStatusText(This, Text, [Option]) -> ok when +-spec setStatusText(This, Text, [Option]) -> 'ok' when This::wxFrame(), Text::unicode:chardata(), - Option :: {number, integer()}. + Option :: {'number', integer()}. setStatusText(#wx_ref{type=ThisT,ref=ThisRef},Text, Options) when is_list(Text),is_list(Options) -> ?CLASS(ThisT,wxFrame), @@ -302,7 +302,7 @@ setStatusText(#wx_ref{type=ThisT,ref=ThisRef},Text, Options) <<ThisRef:32/?UI,(byte_size(Text_UC)):32/?UI,(Text_UC)/binary, 0:(((8- ((0+byte_size(Text_UC)) band 16#7)) band 16#7))/unit:8, BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxframe.html#wxframesetstatuswidths">external documentation</a>. --spec setStatusWidths(This, Widths_field) -> ok when +-spec setStatusWidths(This, Widths_field) -> 'ok' when This::wxFrame(), Widths_field::[integer()]. setStatusWidths(#wx_ref{type=ThisT,ref=ThisRef},Widths_field) when is_list(Widths_field) -> @@ -312,7 +312,7 @@ setStatusWidths(#wx_ref{type=ThisT,ref=ThisRef},Widths_field) (<< <<C:32/?I>> || C <- Widths_field>>)/binary, 0:(((0+length(Widths_field)) rem 2)*32)>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxframe.html#wxframesettoolbar">external documentation</a>. --spec setToolBar(This, Toolbar) -> ok when +-spec setToolBar(This, Toolbar) -> 'ok' when This::wxFrame(), Toolbar::wxToolBar:wxToolBar(). setToolBar(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ToolbarT,ref=ToolbarRef}) -> ?CLASS(ThisT,wxFrame), @@ -321,7 +321,7 @@ setToolBar(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ToolbarT,ref=ToolbarRef} <<ThisRef:32/?UI,ToolbarRef:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxFrame()) -> ok. +-spec destroy(This::wxFrame()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxFrame), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxGLCanvas.erl b/lib/wx/src/gen/wxGLCanvas.erl index 9d3d13740d..2007047bd3 100644 --- a/lib/wx/src/gen/wxGLCanvas.erl +++ b/lib/wx/src/gen/wxGLCanvas.erl @@ -89,25 +89,25 @@ new(Parent) %% <br /> Also:<br /> %% new(Parent, [Option]) -> wxGLCanvas() when<br /> %% Parent::wxWindow:wxWindow(),<br /> -%% Option :: {id, integer()}<br /> -%% | {pos, {X::integer(), Y::integer()}}<br /> -%% | {size, {W::integer(), H::integer()}}<br /> -%% | {style, integer()}<br /> -%% | {name, unicode:chardata()}<br /> -%% | {attribList, [integer()]}<br /> -%% | {palette, wxPalette:wxPalette()}.<br /> +%% Option :: {'id', integer()}<br /> +%% | {'pos', {X::integer(), Y::integer()}}<br /> +%% | {'size', {W::integer(), H::integer()}}<br /> +%% | {'style', integer()}<br /> +%% | {'name', unicode:chardata()}<br /> +%% | {'attribList', [integer()]}<br /> +%% | {'palette', wxPalette:wxPalette()}.<br /> %% -spec new(Parent, Shared) -> wxGLCanvas() when Parent::wxWindow:wxWindow(), Shared::wx:wx_object() | wxGLCanvas(); (Parent, [Option]) -> wxGLCanvas() when Parent::wxWindow:wxWindow(), - Option :: {id, integer()} - | {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()} - | {name, unicode:chardata()} - | {attribList, [integer()]} - | {palette, wxPalette:wxPalette()}. + Option :: {'id', integer()} + | {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()} + | {'name', unicode:chardata()} + | {'attribList', [integer()]} + | {'palette', wxPalette:wxPalette()}. new(Parent,Shared) when is_record(Parent, wx_ref),is_record(Shared, wx_ref) -> @@ -131,13 +131,13 @@ new(#wx_ref{type=ParentT,ref=ParentRef}, Options) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxglcanvas.html#wxglcanvaswxglcanvas">external documentation</a>. -spec new(Parent, Shared, [Option]) -> wxGLCanvas() when Parent::wxWindow:wxWindow(), Shared::wx:wx_object() | wxGLCanvas(), - Option :: {id, integer()} - | {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()} - | {name, unicode:chardata()} - | {attribList, [integer()]} - | {palette, wxPalette:wxPalette()}. + Option :: {'id', integer()} + | {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()} + | {'name', unicode:chardata()} + | {'attribList', [integer()]} + | {'palette', wxPalette:wxPalette()}. new(#wx_ref{type=ParentT,ref=ParentRef},#wx_ref{type=SharedT,ref=SharedRef}, Options) when is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -169,7 +169,7 @@ getContext(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxglcanvas.html#wxglcanvassetcurrent">external documentation</a>. --spec setCurrent(This) -> ok when +-spec setCurrent(This) -> 'ok' when This::wxGLCanvas(). setCurrent(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxGLCanvas), @@ -179,7 +179,7 @@ setCurrent(#wx_ref{type=ThisT,ref=ThisRef}) -> _Result. %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxglcanvas.html#wxglcanvasswapbuffers">external documentation</a>. --spec swapBuffers(This) -> ok when +-spec swapBuffers(This) -> 'ok' when This::wxGLCanvas(). swapBuffers(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxGLCanvas), @@ -187,7 +187,7 @@ swapBuffers(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxGLCanvas()) -> ok. +-spec destroy(This::wxGLCanvas()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxGLCanvas), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxGauge.erl b/lib/wx/src/gen/wxGauge.erl index 2745e251b4..fa2e7618e8 100644 --- a/lib/wx/src/gen/wxGauge.erl +++ b/lib/wx/src/gen/wxGauge.erl @@ -97,10 +97,10 @@ new(Parent,Id,Range) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgauge.html#wxgaugewxgauge">external documentation</a>. -spec new(Parent, Id, Range, [Option]) -> wxGauge() when Parent::wxWindow:wxWindow(), Id::integer(), Range::integer(), - Option :: {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()} - | {validator, wx:wx_object()}. + Option :: {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()} + | {'validator', wx:wx_object()}. new(#wx_ref{type=ParentT,ref=ParentRef},Id,Range, Options) when is_integer(Id),is_integer(Range),is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -124,10 +124,10 @@ create(This,Parent,Id,Range) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgauge.html#wxgaugecreate">external documentation</a>. -spec create(This, Parent, Id, Range, [Option]) -> boolean() when This::wxGauge(), Parent::wxWindow:wxWindow(), Id::integer(), Range::integer(), - Option :: {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()} - | {validator, wx:wx_object()}. + Option :: {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()} + | {'validator', wx:wx_object()}. create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef},Id,Range, Options) when is_integer(Id),is_integer(Range),is_list(Options) -> ?CLASS(ThisT,wxGauge), @@ -166,7 +166,7 @@ isVertical(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgauge.html#wxgaugesetrange">external documentation</a>. --spec setRange(This, R) -> ok when +-spec setRange(This, R) -> 'ok' when This::wxGauge(), R::integer(). setRange(#wx_ref{type=ThisT,ref=ThisRef},R) when is_integer(R) -> @@ -175,7 +175,7 @@ setRange(#wx_ref{type=ThisT,ref=ThisRef},R) <<ThisRef:32/?UI,R:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgauge.html#wxgaugesetvalue">external documentation</a>. --spec setValue(This, Pos) -> ok when +-spec setValue(This, Pos) -> 'ok' when This::wxGauge(), Pos::integer(). setValue(#wx_ref{type=ThisT,ref=ThisRef},Pos) when is_integer(Pos) -> @@ -184,7 +184,7 @@ setValue(#wx_ref{type=ThisT,ref=ThisRef},Pos) <<ThisRef:32/?UI,Pos:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgauge.html#wxgaugepulse">external documentation</a>. --spec pulse(This) -> ok when +-spec pulse(This) -> 'ok' when This::wxGauge(). pulse(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxGauge), @@ -192,7 +192,7 @@ pulse(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxGauge()) -> ok. +-spec destroy(This::wxGauge()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxGauge), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxGenericDirCtrl.erl b/lib/wx/src/gen/wxGenericDirCtrl.erl index bc26a1645e..3ea99c682d 100644 --- a/lib/wx/src/gen/wxGenericDirCtrl.erl +++ b/lib/wx/src/gen/wxGenericDirCtrl.erl @@ -99,13 +99,13 @@ new(Parent) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgenericdirctrl.html#wxgenericdirctrlwxgenericdirctrl">external documentation</a>. -spec new(Parent, [Option]) -> wxGenericDirCtrl() when Parent::wxWindow:wxWindow(), - Option :: {id, integer()} - | {dir, unicode:chardata()} - | {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()} - | {filter, unicode:chardata()} - | {defaultFilter, integer()}. + Option :: {'id', integer()} + | {'dir', unicode:chardata()} + | {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()} + | {'filter', unicode:chardata()} + | {'defaultFilter', integer()}. new(#wx_ref{type=ParentT,ref=ParentRef}, Options) when is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -132,13 +132,13 @@ create(This,Parent) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgenericdirctrl.html#wxgenericdirctrlcreate">external documentation</a>. -spec create(This, Parent, [Option]) -> boolean() when This::wxGenericDirCtrl(), Parent::wxWindow:wxWindow(), - Option :: {id, integer()} - | {dir, unicode:chardata()} - | {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()} - | {filter, unicode:chardata()} - | {defaultFilter, integer()}. + Option :: {'id', integer()} + | {'dir', unicode:chardata()} + | {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()} + | {'filter', unicode:chardata()} + | {'defaultFilter', integer()}. create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxGenericDirCtrl), @@ -156,7 +156,7 @@ create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef}, Opti <<ThisRef:32/?UI,ParentRef:32/?UI, BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgenericdirctrl.html#wxgenericdirctrlinit">external documentation</a>. --spec init(This) -> ok when +-spec init(This) -> 'ok' when This::wxGenericDirCtrl(). init(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxGenericDirCtrl), @@ -164,7 +164,7 @@ init(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgenericdirctrl.html#wxgenericdirctrlcollapsetree">external documentation</a>. --spec collapseTree(This) -> ok when +-spec collapseTree(This) -> 'ok' when This::wxGenericDirCtrl(). collapseTree(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxGenericDirCtrl), @@ -238,7 +238,7 @@ getTreeCtrl(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgenericdirctrl.html#wxgenericdirctrlrecreatetree">external documentation</a>. --spec reCreateTree(This) -> ok when +-spec reCreateTree(This) -> 'ok' when This::wxGenericDirCtrl(). reCreateTree(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxGenericDirCtrl), @@ -246,7 +246,7 @@ reCreateTree(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgenericdirctrl.html#wxgenericdirctrlsetdefaultpath">external documentation</a>. --spec setDefaultPath(This, Path) -> ok when +-spec setDefaultPath(This, Path) -> 'ok' when This::wxGenericDirCtrl(), Path::unicode:chardata(). setDefaultPath(#wx_ref{type=ThisT,ref=ThisRef},Path) when is_list(Path) -> @@ -256,7 +256,7 @@ setDefaultPath(#wx_ref{type=ThisT,ref=ThisRef},Path) <<ThisRef:32/?UI,(byte_size(Path_UC)):32/?UI,(Path_UC)/binary, 0:(((8- ((0+byte_size(Path_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgenericdirctrl.html#wxgenericdirctrlsetfilter">external documentation</a>. --spec setFilter(This, Filter) -> ok when +-spec setFilter(This, Filter) -> 'ok' when This::wxGenericDirCtrl(), Filter::unicode:chardata(). setFilter(#wx_ref{type=ThisT,ref=ThisRef},Filter) when is_list(Filter) -> @@ -266,7 +266,7 @@ setFilter(#wx_ref{type=ThisT,ref=ThisRef},Filter) <<ThisRef:32/?UI,(byte_size(Filter_UC)):32/?UI,(Filter_UC)/binary, 0:(((8- ((0+byte_size(Filter_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgenericdirctrl.html#wxgenericdirctrlsetfilterindex">external documentation</a>. --spec setFilterIndex(This, N) -> ok when +-spec setFilterIndex(This, N) -> 'ok' when This::wxGenericDirCtrl(), N::integer(). setFilterIndex(#wx_ref{type=ThisT,ref=ThisRef},N) when is_integer(N) -> @@ -275,7 +275,7 @@ setFilterIndex(#wx_ref{type=ThisT,ref=ThisRef},N) <<ThisRef:32/?UI,N:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgenericdirctrl.html#wxgenericdirctrlsetpath">external documentation</a>. --spec setPath(This, Path) -> ok when +-spec setPath(This, Path) -> 'ok' when This::wxGenericDirCtrl(), Path::unicode:chardata(). setPath(#wx_ref{type=ThisT,ref=ThisRef},Path) when is_list(Path) -> @@ -285,7 +285,7 @@ setPath(#wx_ref{type=ThisT,ref=ThisRef},Path) <<ThisRef:32/?UI,(byte_size(Path_UC)):32/?UI,(Path_UC)/binary, 0:(((8- ((0+byte_size(Path_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxGenericDirCtrl()) -> ok. +-spec destroy(This::wxGenericDirCtrl()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxGenericDirCtrl), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxGraphicsContext.erl b/lib/wx/src/gen/wxGraphicsContext.erl index bbb2cfc0ca..0aa2119210 100644 --- a/lib/wx/src/gen/wxGraphicsContext.erl +++ b/lib/wx/src/gen/wxGraphicsContext.erl @@ -114,7 +114,7 @@ createFont(This,Font) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgraphicscontext.html#wxgraphicscontextcreatefont">external documentation</a>. -spec createFont(This, Font, [Option]) -> wxGraphicsFont:wxGraphicsFont() when This::wxGraphicsContext(), Font::wxFont:wxFont(), - Option :: {col, wx:wx_colour()}. + Option :: {'col', wx:wx_colour()}. createFont(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=FontT,ref=FontRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxGraphicsContext), @@ -136,12 +136,12 @@ createMatrix(This) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgraphicscontext.html#wxgraphicscontextcreatematrix">external documentation</a>. -spec createMatrix(This, [Option]) -> wxGraphicsMatrix:wxGraphicsMatrix() when This::wxGraphicsContext(), - Option :: {a, number()} - | {b, number()} - | {c, number()} - | {d, number()} - | {tx, number()} - | {ty, number()}. + Option :: {'a', number()} + | {'b', number()} + | {'c', number()} + | {'d', number()} + | {'tx', number()} + | {'ty', number()}. createMatrix(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxGraphicsContext), @@ -165,7 +165,7 @@ createPath(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgraphicscontext.html#wxgraphicscontextclip">external documentation</a>. --spec clip(This, Region) -> ok when +-spec clip(This, Region) -> 'ok' when This::wxGraphicsContext(), Region::wxRegion:wxRegion(). clip(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=RegionT,ref=RegionRef}) -> ?CLASS(ThisT,wxGraphicsContext), @@ -174,7 +174,7 @@ clip(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=RegionT,ref=RegionRef}) -> <<ThisRef:32/?UI,RegionRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgraphicscontext.html#wxgraphicscontextclip">external documentation</a>. --spec clip(This, X, Y, W, H) -> ok when +-spec clip(This, X, Y, W, H) -> 'ok' when This::wxGraphicsContext(), X::number(), Y::number(), W::number(), H::number(). clip(#wx_ref{type=ThisT,ref=ThisRef},X,Y,W,H) when is_number(X),is_number(Y),is_number(W),is_number(H) -> @@ -183,7 +183,7 @@ clip(#wx_ref{type=ThisT,ref=ThisRef},X,Y,W,H) <<ThisRef:32/?UI,0:32,X:64/?F,Y:64/?F,W:64/?F,H:64/?F>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgraphicscontext.html#wxgraphicscontextresetclip">external documentation</a>. --spec resetClip(This) -> ok when +-spec resetClip(This) -> 'ok' when This::wxGraphicsContext(). resetClip(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxGraphicsContext), @@ -191,7 +191,7 @@ resetClip(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgraphicscontext.html#wxgraphicscontextdrawbitmap">external documentation</a>. --spec drawBitmap(This, Bmp, X, Y, W, H) -> ok when +-spec drawBitmap(This, Bmp, X, Y, W, H) -> 'ok' when This::wxGraphicsContext(), Bmp::wxBitmap:wxBitmap(), X::number(), Y::number(), W::number(), H::number(). drawBitmap(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=BmpT,ref=BmpRef},X,Y,W,H) when is_number(X),is_number(Y),is_number(W),is_number(H) -> @@ -201,7 +201,7 @@ drawBitmap(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=BmpT,ref=BmpRef},X,Y,W,H <<ThisRef:32/?UI,BmpRef:32/?UI,X:64/?F,Y:64/?F,W:64/?F,H:64/?F>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgraphicscontext.html#wxgraphicscontextdrawellipse">external documentation</a>. --spec drawEllipse(This, X, Y, W, H) -> ok when +-spec drawEllipse(This, X, Y, W, H) -> 'ok' when This::wxGraphicsContext(), X::number(), Y::number(), W::number(), H::number(). drawEllipse(#wx_ref{type=ThisT,ref=ThisRef},X,Y,W,H) when is_number(X),is_number(Y),is_number(W),is_number(H) -> @@ -210,7 +210,7 @@ drawEllipse(#wx_ref{type=ThisT,ref=ThisRef},X,Y,W,H) <<ThisRef:32/?UI,0:32,X:64/?F,Y:64/?F,W:64/?F,H:64/?F>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgraphicscontext.html#wxgraphicscontextdrawicon">external documentation</a>. --spec drawIcon(This, Icon, X, Y, W, H) -> ok when +-spec drawIcon(This, Icon, X, Y, W, H) -> 'ok' when This::wxGraphicsContext(), Icon::wxIcon:wxIcon(), X::number(), Y::number(), W::number(), H::number(). drawIcon(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=IconT,ref=IconRef},X,Y,W,H) when is_number(X),is_number(Y),is_number(W),is_number(H) -> @@ -220,7 +220,7 @@ drawIcon(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=IconT,ref=IconRef},X,Y,W,H <<ThisRef:32/?UI,IconRef:32/?UI,X:64/?F,Y:64/?F,W:64/?F,H:64/?F>>). %% @equiv drawLines(This,Points, []) --spec drawLines(This, Points) -> ok when +-spec drawLines(This, Points) -> 'ok' when This::wxGraphicsContext(), Points::[{X::float(), Y::float()}]. drawLines(This,Points) @@ -229,9 +229,9 @@ drawLines(This,Points) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgraphicscontext.html#wxgraphicscontextdrawlines">external documentation</a>. %%<br /> FillStyle = integer --spec drawLines(This, Points, [Option]) -> ok when +-spec drawLines(This, Points, [Option]) -> 'ok' when This::wxGraphicsContext(), Points::[{X::float(), Y::float()}], - Option :: {fillStyle, wx:wx_enum()}. + Option :: {'fillStyle', wx:wx_enum()}. drawLines(#wx_ref{type=ThisT,ref=ThisRef},Points, Options) when is_list(Points),is_list(Options) -> ?CLASS(ThisT,wxGraphicsContext), @@ -243,7 +243,7 @@ drawLines(#wx_ref{type=ThisT,ref=ThisRef},Points, Options) (<< <<X:64/?F,Y:64/?F>> || {X,Y} <- Points>>)/binary, BinOpt/binary>>). %% @equiv drawPath(This,Path, []) --spec drawPath(This, Path) -> ok when +-spec drawPath(This, Path) -> 'ok' when This::wxGraphicsContext(), Path::wxGraphicsPath:wxGraphicsPath(). drawPath(This,Path) @@ -252,9 +252,9 @@ drawPath(This,Path) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgraphicscontext.html#wxgraphicscontextdrawpath">external documentation</a>. %%<br /> FillStyle = integer --spec drawPath(This, Path, [Option]) -> ok when +-spec drawPath(This, Path, [Option]) -> 'ok' when This::wxGraphicsContext(), Path::wxGraphicsPath:wxGraphicsPath(), - Option :: {fillStyle, wx:wx_enum()}. + Option :: {'fillStyle', wx:wx_enum()}. drawPath(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=PathT,ref=PathRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxGraphicsContext), @@ -266,7 +266,7 @@ drawPath(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=PathT,ref=PathRef}, Option <<ThisRef:32/?UI,PathRef:32/?UI, BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgraphicscontext.html#wxgraphicscontextdrawrectangle">external documentation</a>. --spec drawRectangle(This, X, Y, W, H) -> ok when +-spec drawRectangle(This, X, Y, W, H) -> 'ok' when This::wxGraphicsContext(), X::number(), Y::number(), W::number(), H::number(). drawRectangle(#wx_ref{type=ThisT,ref=ThisRef},X,Y,W,H) when is_number(X),is_number(Y),is_number(W),is_number(H) -> @@ -275,7 +275,7 @@ drawRectangle(#wx_ref{type=ThisT,ref=ThisRef},X,Y,W,H) <<ThisRef:32/?UI,0:32,X:64/?F,Y:64/?F,W:64/?F,H:64/?F>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgraphicscontext.html#wxgraphicscontextdrawroundedrectangle">external documentation</a>. --spec drawRoundedRectangle(This, X, Y, W, H, Radius) -> ok when +-spec drawRoundedRectangle(This, X, Y, W, H, Radius) -> 'ok' when This::wxGraphicsContext(), X::number(), Y::number(), W::number(), H::number(), Radius::number(). drawRoundedRectangle(#wx_ref{type=ThisT,ref=ThisRef},X,Y,W,H,Radius) when is_number(X),is_number(Y),is_number(W),is_number(H),is_number(Radius) -> @@ -284,7 +284,7 @@ drawRoundedRectangle(#wx_ref{type=ThisT,ref=ThisRef},X,Y,W,H,Radius) <<ThisRef:32/?UI,0:32,X:64/?F,Y:64/?F,W:64/?F,H:64/?F,Radius:64/?F>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgraphicscontext.html#wxgraphicscontextdrawtext">external documentation</a>. --spec drawText(This, Str, X, Y) -> ok when +-spec drawText(This, Str, X, Y) -> 'ok' when This::wxGraphicsContext(), Str::unicode:chardata(), X::number(), Y::number(). drawText(#wx_ref{type=ThisT,ref=ThisRef},Str,X,Y) when is_list(Str),is_number(X),is_number(Y) -> @@ -295,12 +295,12 @@ drawText(#wx_ref{type=ThisT,ref=ThisRef},Str,X,Y) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgraphicscontext.html#wxgraphicscontextdrawtext">external documentation</a>. %% <br /> Also:<br /> -%% drawText(This, Str, X, Y, BackgroundBrush) -> ok when<br /> +%% drawText(This, Str, X, Y, BackgroundBrush) -> 'ok' when<br /> %% This::wxGraphicsContext(), Str::unicode:chardata(), X::number(), Y::number(), BackgroundBrush::wxGraphicsBrush:wxGraphicsBrush().<br /> %% --spec drawText(This, Str, X, Y, Angle) -> ok when +-spec drawText(This, Str, X, Y, Angle) -> 'ok' when This::wxGraphicsContext(), Str::unicode:chardata(), X::number(), Y::number(), Angle::number(); - (This, Str, X, Y, BackgroundBrush) -> ok when + (This, Str, X, Y, BackgroundBrush) -> 'ok' when This::wxGraphicsContext(), Str::unicode:chardata(), X::number(), Y::number(), BackgroundBrush::wxGraphicsBrush:wxGraphicsBrush(). drawText(#wx_ref{type=ThisT,ref=ThisRef},Str,X,Y,Angle) when is_list(Str),is_number(X),is_number(Y),is_number(Angle) -> @@ -317,7 +317,7 @@ drawText(#wx_ref{type=ThisT,ref=ThisRef},Str,X,Y,#wx_ref{type=BackgroundBrushT,r <<ThisRef:32/?UI,(byte_size(Str_UC)):32/?UI,(Str_UC)/binary, 0:(((8- ((0+byte_size(Str_UC)) band 16#7)) band 16#7))/unit:8,X:64/?F,Y:64/?F,BackgroundBrushRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgraphicscontext.html#wxgraphicscontextdrawtext">external documentation</a>. --spec drawText(This, Str, X, Y, Angle, BackgroundBrush) -> ok when +-spec drawText(This, Str, X, Y, Angle, BackgroundBrush) -> 'ok' when This::wxGraphicsContext(), Str::unicode:chardata(), X::number(), Y::number(), Angle::number(), BackgroundBrush::wxGraphicsBrush:wxGraphicsBrush(). drawText(#wx_ref{type=ThisT,ref=ThisRef},Str,X,Y,Angle,#wx_ref{type=BackgroundBrushT,ref=BackgroundBrushRef}) when is_list(Str),is_number(X),is_number(Y),is_number(Angle) -> @@ -328,7 +328,7 @@ drawText(#wx_ref{type=ThisT,ref=ThisRef},Str,X,Y,Angle,#wx_ref{type=BackgroundBr <<ThisRef:32/?UI,(byte_size(Str_UC)):32/?UI,(Str_UC)/binary, 0:(((8- ((0+byte_size(Str_UC)) band 16#7)) band 16#7))/unit:8,X:64/?F,Y:64/?F,Angle:64/?F,BackgroundBrushRef:32/?UI>>). %% @equiv fillPath(This,Path, []) --spec fillPath(This, Path) -> ok when +-spec fillPath(This, Path) -> 'ok' when This::wxGraphicsContext(), Path::wxGraphicsPath:wxGraphicsPath(). fillPath(This,Path) @@ -337,9 +337,9 @@ fillPath(This,Path) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgraphicscontext.html#wxgraphicscontextfillpath">external documentation</a>. %%<br /> FillStyle = integer --spec fillPath(This, Path, [Option]) -> ok when +-spec fillPath(This, Path, [Option]) -> 'ok' when This::wxGraphicsContext(), Path::wxGraphicsPath:wxGraphicsPath(), - Option :: {fillStyle, wx:wx_enum()}. + Option :: {'fillStyle', wx:wx_enum()}. fillPath(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=PathT,ref=PathRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxGraphicsContext), @@ -351,7 +351,7 @@ fillPath(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=PathT,ref=PathRef}, Option <<ThisRef:32/?UI,PathRef:32/?UI, BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgraphicscontext.html#wxgraphicscontextstrokepath">external documentation</a>. --spec strokePath(This, Path) -> ok when +-spec strokePath(This, Path) -> 'ok' when This::wxGraphicsContext(), Path::wxGraphicsPath:wxGraphicsPath(). strokePath(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=PathT,ref=PathRef}) -> ?CLASS(ThisT,wxGraphicsContext), @@ -381,7 +381,7 @@ getTextExtent(#wx_ref{type=ThisT,ref=ThisRef},Text) <<ThisRef:32/?UI,(byte_size(Text_UC)):32/?UI,(Text_UC)/binary, 0:(((8- ((0+byte_size(Text_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgraphicscontext.html#wxgraphicscontextrotate">external documentation</a>. --spec rotate(This, Angle) -> ok when +-spec rotate(This, Angle) -> 'ok' when This::wxGraphicsContext(), Angle::number(). rotate(#wx_ref{type=ThisT,ref=ThisRef},Angle) when is_number(Angle) -> @@ -390,7 +390,7 @@ rotate(#wx_ref{type=ThisT,ref=ThisRef},Angle) <<ThisRef:32/?UI,0:32,Angle:64/?F>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgraphicscontext.html#wxgraphicscontextscale">external documentation</a>. --spec scale(This, XScale, YScale) -> ok when +-spec scale(This, XScale, YScale) -> 'ok' when This::wxGraphicsContext(), XScale::number(), YScale::number(). scale(#wx_ref{type=ThisT,ref=ThisRef},XScale,YScale) when is_number(XScale),is_number(YScale) -> @@ -399,7 +399,7 @@ scale(#wx_ref{type=ThisT,ref=ThisRef},XScale,YScale) <<ThisRef:32/?UI,0:32,XScale:64/?F,YScale:64/?F>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgraphicscontext.html#wxgraphicscontexttranslate">external documentation</a>. --spec translate(This, Dx, Dy) -> ok when +-spec translate(This, Dx, Dy) -> 'ok' when This::wxGraphicsContext(), Dx::number(), Dy::number(). translate(#wx_ref{type=ThisT,ref=ThisRef},Dx,Dy) when is_number(Dx),is_number(Dy) -> @@ -416,7 +416,7 @@ getTransform(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgraphicscontext.html#wxgraphicscontextsettransform">external documentation</a>. --spec setTransform(This, Matrix) -> ok when +-spec setTransform(This, Matrix) -> 'ok' when This::wxGraphicsContext(), Matrix::wxGraphicsMatrix:wxGraphicsMatrix(). setTransform(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=MatrixT,ref=MatrixRef}) -> ?CLASS(ThisT,wxGraphicsContext), @@ -425,7 +425,7 @@ setTransform(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=MatrixT,ref=MatrixRef} <<ThisRef:32/?UI,MatrixRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgraphicscontext.html#wxgraphicscontextconcattransform">external documentation</a>. --spec concatTransform(This, Matrix) -> ok when +-spec concatTransform(This, Matrix) -> 'ok' when This::wxGraphicsContext(), Matrix::wxGraphicsMatrix:wxGraphicsMatrix(). concatTransform(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=MatrixT,ref=MatrixRef}) -> ?CLASS(ThisT,wxGraphicsContext), @@ -434,7 +434,7 @@ concatTransform(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=MatrixT,ref=MatrixR <<ThisRef:32/?UI,MatrixRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgraphicscontext.html#wxgraphicscontextsetbrush">external documentation</a>. --spec setBrush(This, Brush) -> ok when +-spec setBrush(This, Brush) -> 'ok' when This::wxGraphicsContext(), Brush::wxGraphicsBrush:wxGraphicsBrush() | wxBrush:wxBrush(). setBrush(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=BrushT,ref=BrushRef}) -> ?CLASS(ThisT,wxGraphicsContext), @@ -448,7 +448,7 @@ setBrush(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=BrushT,ref=BrushRef}) -> <<ThisRef:32/?UI,BrushRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgraphicscontext.html#wxgraphicscontextsetfont">external documentation</a>. --spec setFont(This, Font) -> ok when +-spec setFont(This, Font) -> 'ok' when This::wxGraphicsContext(), Font::wxGraphicsFont:wxGraphicsFont(). setFont(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=FontT,ref=FontRef}) -> ?CLASS(ThisT,wxGraphicsContext), @@ -457,7 +457,7 @@ setFont(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=FontT,ref=FontRef}) -> <<ThisRef:32/?UI,FontRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgraphicscontext.html#wxgraphicscontextsetfont">external documentation</a>. --spec setFont(This, Font, Colour) -> ok when +-spec setFont(This, Font, Colour) -> 'ok' when This::wxGraphicsContext(), Font::wxFont:wxFont(), Colour::wx:wx_colour(). setFont(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=FontT,ref=FontRef},Colour) when tuple_size(Colour) =:= 3; tuple_size(Colour) =:= 4 -> @@ -467,7 +467,7 @@ setFont(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=FontT,ref=FontRef},Colour) <<ThisRef:32/?UI,FontRef:32/?UI,(wxe_util:colour_bin(Colour)):16/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgraphicscontext.html#wxgraphicscontextsetpen">external documentation</a>. --spec setPen(This, Pen) -> ok when +-spec setPen(This, Pen) -> 'ok' when This::wxGraphicsContext(), Pen::wxPen:wxPen() | wxGraphicsPen:wxGraphicsPen(). setPen(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=PenT,ref=PenRef}) -> ?CLASS(ThisT,wxGraphicsContext), @@ -481,7 +481,7 @@ setPen(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=PenT,ref=PenRef}) -> <<ThisRef:32/?UI,PenRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgraphicscontext.html#wxgraphicscontextstrokeline">external documentation</a>. --spec strokeLine(This, X1, Y1, X2, Y2) -> ok when +-spec strokeLine(This, X1, Y1, X2, Y2) -> 'ok' when This::wxGraphicsContext(), X1::number(), Y1::number(), X2::number(), Y2::number(). strokeLine(#wx_ref{type=ThisT,ref=ThisRef},X1,Y1,X2,Y2) when is_number(X1),is_number(Y1),is_number(X2),is_number(Y2) -> @@ -490,7 +490,7 @@ strokeLine(#wx_ref{type=ThisT,ref=ThisRef},X1,Y1,X2,Y2) <<ThisRef:32/?UI,0:32,X1:64/?F,Y1:64/?F,X2:64/?F,Y2:64/?F>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgraphicscontext.html#wxgraphicscontextstrokelines">external documentation</a>. --spec strokeLines(This, Points) -> ok when +-spec strokeLines(This, Points) -> 'ok' when This::wxGraphicsContext(), Points::[{X::float(), Y::float()}]. strokeLines(#wx_ref{type=ThisT,ref=ThisRef},Points) when is_list(Points) -> @@ -500,7 +500,7 @@ strokeLines(#wx_ref{type=ThisT,ref=ThisRef},Points) (<< <<X:64/?F,Y:64/?F>> || {X,Y} <- Points>>)/binary>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxGraphicsContext()) -> ok. +-spec destroy(This::wxGraphicsContext()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxGraphicsContext), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxGraphicsMatrix.erl b/lib/wx/src/gen/wxGraphicsMatrix.erl index b22e667fed..d388643ef7 100644 --- a/lib/wx/src/gen/wxGraphicsMatrix.erl +++ b/lib/wx/src/gen/wxGraphicsMatrix.erl @@ -41,7 +41,7 @@ parent_class(_Class) -> erlang:error({badtype, ?MODULE}). -type wxGraphicsMatrix() :: wx:wx_object(). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgraphicsmatrix.html#wxgraphicsmatrixconcat">external documentation</a>. --spec concat(This, T) -> ok when +-spec concat(This, T) -> 'ok' when This::wxGraphicsMatrix(), T::wxGraphicsMatrix(). concat(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=TT,ref=TRef}) -> ?CLASS(ThisT,wxGraphicsMatrix), @@ -59,7 +59,7 @@ get(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgraphicsmatrix.html#wxgraphicsmatrixinvert">external documentation</a>. --spec invert(This) -> ok when +-spec invert(This) -> 'ok' when This::wxGraphicsMatrix(). invert(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxGraphicsMatrix), @@ -84,7 +84,7 @@ isIdentity(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgraphicsmatrix.html#wxgraphicsmatrixrotate">external documentation</a>. --spec rotate(This, Angle) -> ok when +-spec rotate(This, Angle) -> 'ok' when This::wxGraphicsMatrix(), Angle::number(). rotate(#wx_ref{type=ThisT,ref=ThisRef},Angle) when is_number(Angle) -> @@ -93,7 +93,7 @@ rotate(#wx_ref{type=ThisT,ref=ThisRef},Angle) <<ThisRef:32/?UI,0:32,Angle:64/?F>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgraphicsmatrix.html#wxgraphicsmatrixscale">external documentation</a>. --spec scale(This, XScale, YScale) -> ok when +-spec scale(This, XScale, YScale) -> 'ok' when This::wxGraphicsMatrix(), XScale::number(), YScale::number(). scale(#wx_ref{type=ThisT,ref=ThisRef},XScale,YScale) when is_number(XScale),is_number(YScale) -> @@ -102,7 +102,7 @@ scale(#wx_ref{type=ThisT,ref=ThisRef},XScale,YScale) <<ThisRef:32/?UI,0:32,XScale:64/?F,YScale:64/?F>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgraphicsmatrix.html#wxgraphicsmatrixtranslate">external documentation</a>. --spec translate(This, Dx, Dy) -> ok when +-spec translate(This, Dx, Dy) -> 'ok' when This::wxGraphicsMatrix(), Dx::number(), Dy::number(). translate(#wx_ref{type=ThisT,ref=ThisRef},Dx,Dy) when is_number(Dx),is_number(Dy) -> @@ -111,7 +111,7 @@ translate(#wx_ref{type=ThisT,ref=ThisRef},Dx,Dy) <<ThisRef:32/?UI,0:32,Dx:64/?F,Dy:64/?F>>). %% @equiv set(This, []) --spec set(This) -> ok when +-spec set(This) -> 'ok' when This::wxGraphicsMatrix(). set(This) @@ -119,14 +119,14 @@ set(This) set(This, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgraphicsmatrix.html#wxgraphicsmatrixset">external documentation</a>. --spec set(This, [Option]) -> ok when +-spec set(This, [Option]) -> 'ok' when This::wxGraphicsMatrix(), - Option :: {a, number()} - | {b, number()} - | {c, number()} - | {d, number()} - | {tx, number()} - | {ty, number()}. + Option :: {'a', number()} + | {'b', number()} + | {'c', number()} + | {'d', number()} + | {'tx', number()} + | {'ty', number()}. set(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxGraphicsMatrix), diff --git a/lib/wx/src/gen/wxGraphicsObject.erl b/lib/wx/src/gen/wxGraphicsObject.erl index f0e4d94785..8657b8d2eb 100644 --- a/lib/wx/src/gen/wxGraphicsObject.erl +++ b/lib/wx/src/gen/wxGraphicsObject.erl @@ -52,7 +52,7 @@ isNull(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxGraphicsObject()) -> ok. +-spec destroy(This::wxGraphicsObject()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxGraphicsObject), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxGraphicsPath.erl b/lib/wx/src/gen/wxGraphicsPath.erl index b2f7cd1785..266271d537 100644 --- a/lib/wx/src/gen/wxGraphicsPath.erl +++ b/lib/wx/src/gen/wxGraphicsPath.erl @@ -44,7 +44,7 @@ parent_class(_Class) -> erlang:error({badtype, ?MODULE}). -type wxGraphicsPath() :: wx:wx_object(). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgraphicspath.html#wxgraphicspathmovetopoint">external documentation</a>. --spec moveToPoint(This, P) -> ok when +-spec moveToPoint(This, P) -> 'ok' when This::wxGraphicsPath(), P::{X::float(), Y::float()}. moveToPoint(#wx_ref{type=ThisT,ref=ThisRef},{PX,PY}) when is_number(PX),is_number(PY) -> @@ -53,7 +53,7 @@ moveToPoint(#wx_ref{type=ThisT,ref=ThisRef},{PX,PY}) <<ThisRef:32/?UI,0:32,PX:64/?F,PY:64/?F>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgraphicspath.html#wxgraphicspathmovetopoint">external documentation</a>. --spec moveToPoint(This, X, Y) -> ok when +-spec moveToPoint(This, X, Y) -> 'ok' when This::wxGraphicsPath(), X::number(), Y::number(). moveToPoint(#wx_ref{type=ThisT,ref=ThisRef},X,Y) when is_number(X),is_number(Y) -> @@ -62,7 +62,7 @@ moveToPoint(#wx_ref{type=ThisT,ref=ThisRef},X,Y) <<ThisRef:32/?UI,0:32,X:64/?F,Y:64/?F>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgraphicspath.html#wxgraphicspathaddarc">external documentation</a>. --spec addArc(This, C, R, StartAngle, EndAngle, Clockwise) -> ok when +-spec addArc(This, C, R, StartAngle, EndAngle, Clockwise) -> 'ok' when This::wxGraphicsPath(), C::{X::float(), Y::float()}, R::number(), StartAngle::number(), EndAngle::number(), Clockwise::boolean(). addArc(#wx_ref{type=ThisT,ref=ThisRef},{CX,CY},R,StartAngle,EndAngle,Clockwise) when is_number(CX),is_number(CY),is_number(R),is_number(StartAngle),is_number(EndAngle),is_boolean(Clockwise) -> @@ -71,7 +71,7 @@ addArc(#wx_ref{type=ThisT,ref=ThisRef},{CX,CY},R,StartAngle,EndAngle,Clockwise) <<ThisRef:32/?UI,0:32,CX:64/?F,CY:64/?F,R:64/?F,StartAngle:64/?F,EndAngle:64/?F,(wxe_util:from_bool(Clockwise)):32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgraphicspath.html#wxgraphicspathaddarc">external documentation</a>. --spec addArc(This, X, Y, R, StartAngle, EndAngle, Clockwise) -> ok when +-spec addArc(This, X, Y, R, StartAngle, EndAngle, Clockwise) -> 'ok' when This::wxGraphicsPath(), X::number(), Y::number(), R::number(), StartAngle::number(), EndAngle::number(), Clockwise::boolean(). addArc(#wx_ref{type=ThisT,ref=ThisRef},X,Y,R,StartAngle,EndAngle,Clockwise) when is_number(X),is_number(Y),is_number(R),is_number(StartAngle),is_number(EndAngle),is_boolean(Clockwise) -> @@ -80,7 +80,7 @@ addArc(#wx_ref{type=ThisT,ref=ThisRef},X,Y,R,StartAngle,EndAngle,Clockwise) <<ThisRef:32/?UI,0:32,X:64/?F,Y:64/?F,R:64/?F,StartAngle:64/?F,EndAngle:64/?F,(wxe_util:from_bool(Clockwise)):32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgraphicspath.html#wxgraphicspathaddarctopoint">external documentation</a>. --spec addArcToPoint(This, X1, Y1, X2, Y2, R) -> ok when +-spec addArcToPoint(This, X1, Y1, X2, Y2, R) -> 'ok' when This::wxGraphicsPath(), X1::number(), Y1::number(), X2::number(), Y2::number(), R::number(). addArcToPoint(#wx_ref{type=ThisT,ref=ThisRef},X1,Y1,X2,Y2,R) when is_number(X1),is_number(Y1),is_number(X2),is_number(Y2),is_number(R) -> @@ -89,7 +89,7 @@ addArcToPoint(#wx_ref{type=ThisT,ref=ThisRef},X1,Y1,X2,Y2,R) <<ThisRef:32/?UI,0:32,X1:64/?F,Y1:64/?F,X2:64/?F,Y2:64/?F,R:64/?F>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgraphicspath.html#wxgraphicspathaddcircle">external documentation</a>. --spec addCircle(This, X, Y, R) -> ok when +-spec addCircle(This, X, Y, R) -> 'ok' when This::wxGraphicsPath(), X::number(), Y::number(), R::number(). addCircle(#wx_ref{type=ThisT,ref=ThisRef},X,Y,R) when is_number(X),is_number(Y),is_number(R) -> @@ -98,7 +98,7 @@ addCircle(#wx_ref{type=ThisT,ref=ThisRef},X,Y,R) <<ThisRef:32/?UI,0:32,X:64/?F,Y:64/?F,R:64/?F>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgraphicspath.html#wxgraphicspathaddcurvetopoint">external documentation</a>. --spec addCurveToPoint(This, C1, C2, E) -> ok when +-spec addCurveToPoint(This, C1, C2, E) -> 'ok' when This::wxGraphicsPath(), C1::{X::float(), Y::float()}, C2::{X::float(), Y::float()}, E::{X::float(), Y::float()}. addCurveToPoint(#wx_ref{type=ThisT,ref=ThisRef},{C1X,C1Y},{C2X,C2Y},{EX,EY}) when is_number(C1X),is_number(C1Y),is_number(C2X),is_number(C2Y),is_number(EX),is_number(EY) -> @@ -107,7 +107,7 @@ addCurveToPoint(#wx_ref{type=ThisT,ref=ThisRef},{C1X,C1Y},{C2X,C2Y},{EX,EY}) <<ThisRef:32/?UI,0:32,C1X:64/?F,C1Y:64/?F,C2X:64/?F,C2Y:64/?F,EX:64/?F,EY:64/?F>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgraphicspath.html#wxgraphicspathaddcurvetopoint">external documentation</a>. --spec addCurveToPoint(This, Cx1, Cy1, Cx2, Cy2, X, Y) -> ok when +-spec addCurveToPoint(This, Cx1, Cy1, Cx2, Cy2, X, Y) -> 'ok' when This::wxGraphicsPath(), Cx1::number(), Cy1::number(), Cx2::number(), Cy2::number(), X::number(), Y::number(). addCurveToPoint(#wx_ref{type=ThisT,ref=ThisRef},Cx1,Cy1,Cx2,Cy2,X,Y) when is_number(Cx1),is_number(Cy1),is_number(Cx2),is_number(Cy2),is_number(X),is_number(Y) -> @@ -116,7 +116,7 @@ addCurveToPoint(#wx_ref{type=ThisT,ref=ThisRef},Cx1,Cy1,Cx2,Cy2,X,Y) <<ThisRef:32/?UI,0:32,Cx1:64/?F,Cy1:64/?F,Cx2:64/?F,Cy2:64/?F,X:64/?F,Y:64/?F>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgraphicspath.html#wxgraphicspathaddellipse">external documentation</a>. --spec addEllipse(This, X, Y, W, H) -> ok when +-spec addEllipse(This, X, Y, W, H) -> 'ok' when This::wxGraphicsPath(), X::number(), Y::number(), W::number(), H::number(). addEllipse(#wx_ref{type=ThisT,ref=ThisRef},X,Y,W,H) when is_number(X),is_number(Y),is_number(W),is_number(H) -> @@ -125,7 +125,7 @@ addEllipse(#wx_ref{type=ThisT,ref=ThisRef},X,Y,W,H) <<ThisRef:32/?UI,0:32,X:64/?F,Y:64/?F,W:64/?F,H:64/?F>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgraphicspath.html#wxgraphicspathaddlinetopoint">external documentation</a>. --spec addLineToPoint(This, P) -> ok when +-spec addLineToPoint(This, P) -> 'ok' when This::wxGraphicsPath(), P::{X::float(), Y::float()}. addLineToPoint(#wx_ref{type=ThisT,ref=ThisRef},{PX,PY}) when is_number(PX),is_number(PY) -> @@ -134,7 +134,7 @@ addLineToPoint(#wx_ref{type=ThisT,ref=ThisRef},{PX,PY}) <<ThisRef:32/?UI,0:32,PX:64/?F,PY:64/?F>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgraphicspath.html#wxgraphicspathaddlinetopoint">external documentation</a>. --spec addLineToPoint(This, X, Y) -> ok when +-spec addLineToPoint(This, X, Y) -> 'ok' when This::wxGraphicsPath(), X::number(), Y::number(). addLineToPoint(#wx_ref{type=ThisT,ref=ThisRef},X,Y) when is_number(X),is_number(Y) -> @@ -143,7 +143,7 @@ addLineToPoint(#wx_ref{type=ThisT,ref=ThisRef},X,Y) <<ThisRef:32/?UI,0:32,X:64/?F,Y:64/?F>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgraphicspath.html#wxgraphicspathaddpath">external documentation</a>. --spec addPath(This, Path) -> ok when +-spec addPath(This, Path) -> 'ok' when This::wxGraphicsPath(), Path::wxGraphicsPath(). addPath(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=PathT,ref=PathRef}) -> ?CLASS(ThisT,wxGraphicsPath), @@ -152,7 +152,7 @@ addPath(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=PathT,ref=PathRef}) -> <<ThisRef:32/?UI,PathRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgraphicspath.html#wxgraphicspathaddquadcurvetopoint">external documentation</a>. --spec addQuadCurveToPoint(This, Cx, Cy, X, Y) -> ok when +-spec addQuadCurveToPoint(This, Cx, Cy, X, Y) -> 'ok' when This::wxGraphicsPath(), Cx::number(), Cy::number(), X::number(), Y::number(). addQuadCurveToPoint(#wx_ref{type=ThisT,ref=ThisRef},Cx,Cy,X,Y) when is_number(Cx),is_number(Cy),is_number(X),is_number(Y) -> @@ -161,7 +161,7 @@ addQuadCurveToPoint(#wx_ref{type=ThisT,ref=ThisRef},Cx,Cy,X,Y) <<ThisRef:32/?UI,0:32,Cx:64/?F,Cy:64/?F,X:64/?F,Y:64/?F>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgraphicspath.html#wxgraphicspathaddrectangle">external documentation</a>. --spec addRectangle(This, X, Y, W, H) -> ok when +-spec addRectangle(This, X, Y, W, H) -> 'ok' when This::wxGraphicsPath(), X::number(), Y::number(), W::number(), H::number(). addRectangle(#wx_ref{type=ThisT,ref=ThisRef},X,Y,W,H) when is_number(X),is_number(Y),is_number(W),is_number(H) -> @@ -170,7 +170,7 @@ addRectangle(#wx_ref{type=ThisT,ref=ThisRef},X,Y,W,H) <<ThisRef:32/?UI,0:32,X:64/?F,Y:64/?F,W:64/?F,H:64/?F>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgraphicspath.html#wxgraphicspathaddroundedrectangle">external documentation</a>. --spec addRoundedRectangle(This, X, Y, W, H, Radius) -> ok when +-spec addRoundedRectangle(This, X, Y, W, H, Radius) -> 'ok' when This::wxGraphicsPath(), X::number(), Y::number(), W::number(), H::number(), Radius::number(). addRoundedRectangle(#wx_ref{type=ThisT,ref=ThisRef},X,Y,W,H,Radius) when is_number(X),is_number(Y),is_number(W),is_number(H),is_number(Radius) -> @@ -179,7 +179,7 @@ addRoundedRectangle(#wx_ref{type=ThisT,ref=ThisRef},X,Y,W,H,Radius) <<ThisRef:32/?UI,0:32,X:64/?F,Y:64/?F,W:64/?F,H:64/?F,Radius:64/?F>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgraphicspath.html#wxgraphicspathclosesubpath">external documentation</a>. --spec closeSubpath(This) -> ok when +-spec closeSubpath(This) -> 'ok' when This::wxGraphicsPath(). closeSubpath(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxGraphicsPath), @@ -198,14 +198,14 @@ contains(This,C={CX,CY}) %% <br /> Also:<br /> %% contains(This, C, [Option]) -> boolean() when<br /> %% This::wxGraphicsPath(), C::{X::float(), Y::float()},<br /> -%% Option :: {fillStyle, wx:wx_enum()}.<br /> +%% Option :: {'fillStyle', wx:wx_enum()}.<br /> %% %%<br /> FillStyle = integer -spec contains(This, X, Y) -> boolean() when This::wxGraphicsPath(), X::number(), Y::number(); (This, C, [Option]) -> boolean() when This::wxGraphicsPath(), C::{X::float(), Y::float()}, - Option :: {fillStyle, wx:wx_enum()}. + Option :: {'fillStyle', wx:wx_enum()}. contains(This,X,Y) when is_record(This, wx_ref),is_number(X),is_number(Y) -> @@ -223,7 +223,7 @@ contains(#wx_ref{type=ThisT,ref=ThisRef},{CX,CY}, Options) %%<br /> FillStyle = integer -spec contains(This, X, Y, [Option]) -> boolean() when This::wxGraphicsPath(), X::number(), Y::number(), - Option :: {fillStyle, wx:wx_enum()}. + Option :: {'fillStyle', wx:wx_enum()}. contains(#wx_ref{type=ThisT,ref=ThisRef},X,Y, Options) when is_number(X),is_number(Y),is_list(Options) -> ?CLASS(ThisT,wxGraphicsPath), @@ -250,7 +250,7 @@ getCurrentPoint(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgraphicspath.html#wxgraphicspathtransform">external documentation</a>. --spec transform(This, Matrix) -> ok when +-spec transform(This, Matrix) -> 'ok' when This::wxGraphicsPath(), Matrix::wxGraphicsMatrix:wxGraphicsMatrix(). transform(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=MatrixT,ref=MatrixRef}) -> ?CLASS(ThisT,wxGraphicsPath), diff --git a/lib/wx/src/gen/wxGraphicsRenderer.erl b/lib/wx/src/gen/wxGraphicsRenderer.erl index c28222fe24..a1b67476e3 100644 --- a/lib/wx/src/gen/wxGraphicsRenderer.erl +++ b/lib/wx/src/gen/wxGraphicsRenderer.erl @@ -106,7 +106,7 @@ createFont(This,Font) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgraphicsrenderer.html#wxgraphicsrenderercreatefont">external documentation</a>. -spec createFont(This, Font, [Option]) -> wxGraphicsFont:wxGraphicsFont() when This::wxGraphicsRenderer(), Font::wxFont:wxFont(), - Option :: {col, wx:wx_colour()}. + Option :: {'col', wx:wx_colour()}. createFont(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=FontT,ref=FontRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxGraphicsRenderer), @@ -128,12 +128,12 @@ createMatrix(This) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgraphicsrenderer.html#wxgraphicsrenderercreatematrix">external documentation</a>. -spec createMatrix(This, [Option]) -> wxGraphicsMatrix:wxGraphicsMatrix() when This::wxGraphicsRenderer(), - Option :: {a, number()} - | {b, number()} - | {c, number()} - | {d, number()} - | {tx, number()} - | {ty, number()}. + Option :: {'a', number()} + | {'b', number()} + | {'c', number()} + | {'d', number()} + | {'tx', number()} + | {'ty', number()}. createMatrix(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxGraphicsRenderer), diff --git a/lib/wx/src/gen/wxGrid.erl b/lib/wx/src/gen/wxGrid.erl index 49bd89f188..a1533cbd9f 100644 --- a/lib/wx/src/gen/wxGrid.erl +++ b/lib/wx/src/gen/wxGrid.erl @@ -154,17 +154,17 @@ new(Parent,Id) %% <br /> Also:<br /> %% new(Parent, Id, [Option]) -> wxGrid() when<br /> %% Parent::wxWindow:wxWindow(), Id::integer(),<br /> -%% Option :: {pos, {X::integer(), Y::integer()}}<br /> -%% | {size, {W::integer(), H::integer()}}<br /> -%% | {style, integer()}.<br /> +%% Option :: {'pos', {X::integer(), Y::integer()}}<br /> +%% | {'size', {W::integer(), H::integer()}}<br /> +%% | {'style', integer()}.<br /> %% -spec new(Parent, X, Y) -> wxGrid() when Parent::wxWindow:wxWindow(), X::integer(), Y::integer(); (Parent, Id, [Option]) -> wxGrid() when Parent::wxWindow:wxWindow(), Id::integer(), - Option :: {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()}. + Option :: {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()}. new(Parent,X,Y) when is_record(Parent, wx_ref),is_integer(X),is_integer(Y) -> @@ -183,9 +183,9 @@ new(#wx_ref{type=ParentT,ref=ParentRef},Id, Options) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridwxgrid">external documentation</a>. -spec new(Parent, X, Y, [Option]) -> wxGrid() when Parent::wxWindow:wxWindow(), X::integer(), Y::integer(), - Option :: {w, integer()} - | {h, integer()} - | {style, integer()}. + Option :: {'w', integer()} + | {'h', integer()} + | {'style', integer()}. new(#wx_ref{type=ParentT,ref=ParentRef},X,Y, Options) when is_integer(X),is_integer(Y),is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -208,8 +208,8 @@ appendCols(This) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridappendcols">external documentation</a>. -spec appendCols(This, [Option]) -> boolean() when This::wxGrid(), - Option :: {numCols, integer()} - | {updateLabels, boolean()}. + Option :: {'numCols', integer()} + | {'updateLabels', boolean()}. appendCols(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxGrid), @@ -231,8 +231,8 @@ appendRows(This) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridappendrows">external documentation</a>. -spec appendRows(This, [Option]) -> boolean() when This::wxGrid(), - Option :: {numRows, integer()} - | {updateLabels, boolean()}. + Option :: {'numRows', integer()} + | {'updateLabels', boolean()}. appendRows(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxGrid), @@ -244,7 +244,7 @@ appendRows(#wx_ref{type=ThisT,ref=ThisRef}, Options) <<ThisRef:32/?UI, 0:32,BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridautosize">external documentation</a>. --spec autoSize(This) -> ok when +-spec autoSize(This) -> 'ok' when This::wxGrid(). autoSize(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxGrid), @@ -252,7 +252,7 @@ autoSize(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @equiv autoSizeColumn(This,Col, []) --spec autoSizeColumn(This, Col) -> ok when +-spec autoSizeColumn(This, Col) -> 'ok' when This::wxGrid(), Col::integer(). autoSizeColumn(This,Col) @@ -260,9 +260,9 @@ autoSizeColumn(This,Col) autoSizeColumn(This,Col, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridautosizecolumn">external documentation</a>. --spec autoSizeColumn(This, Col, [Option]) -> ok when +-spec autoSizeColumn(This, Col, [Option]) -> 'ok' when This::wxGrid(), Col::integer(), - Option :: {setAsMin, boolean()}. + Option :: {'setAsMin', boolean()}. autoSizeColumn(#wx_ref{type=ThisT,ref=ThisRef},Col, Options) when is_integer(Col),is_list(Options) -> ?CLASS(ThisT,wxGrid), @@ -273,7 +273,7 @@ autoSizeColumn(#wx_ref{type=ThisT,ref=ThisRef},Col, Options) <<ThisRef:32/?UI,Col:32/?UI, BinOpt/binary>>). %% @equiv autoSizeColumns(This, []) --spec autoSizeColumns(This) -> ok when +-spec autoSizeColumns(This) -> 'ok' when This::wxGrid(). autoSizeColumns(This) @@ -281,9 +281,9 @@ autoSizeColumns(This) autoSizeColumns(This, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridautosizecolumns">external documentation</a>. --spec autoSizeColumns(This, [Option]) -> ok when +-spec autoSizeColumns(This, [Option]) -> 'ok' when This::wxGrid(), - Option :: {setAsMin, boolean()}. + Option :: {'setAsMin', boolean()}. autoSizeColumns(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxGrid), @@ -294,7 +294,7 @@ autoSizeColumns(#wx_ref{type=ThisT,ref=ThisRef}, Options) <<ThisRef:32/?UI, 0:32,BinOpt/binary>>). %% @equiv autoSizeRow(This,Row, []) --spec autoSizeRow(This, Row) -> ok when +-spec autoSizeRow(This, Row) -> 'ok' when This::wxGrid(), Row::integer(). autoSizeRow(This,Row) @@ -302,9 +302,9 @@ autoSizeRow(This,Row) autoSizeRow(This,Row, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridautosizerow">external documentation</a>. --spec autoSizeRow(This, Row, [Option]) -> ok when +-spec autoSizeRow(This, Row, [Option]) -> 'ok' when This::wxGrid(), Row::integer(), - Option :: {setAsMin, boolean()}. + Option :: {'setAsMin', boolean()}. autoSizeRow(#wx_ref{type=ThisT,ref=ThisRef},Row, Options) when is_integer(Row),is_list(Options) -> ?CLASS(ThisT,wxGrid), @@ -315,7 +315,7 @@ autoSizeRow(#wx_ref{type=ThisT,ref=ThisRef},Row, Options) <<ThisRef:32/?UI,Row:32/?UI, BinOpt/binary>>). %% @equiv autoSizeRows(This, []) --spec autoSizeRows(This) -> ok when +-spec autoSizeRows(This) -> 'ok' when This::wxGrid(). autoSizeRows(This) @@ -323,9 +323,9 @@ autoSizeRows(This) autoSizeRows(This, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridautosizerows">external documentation</a>. --spec autoSizeRows(This, [Option]) -> ok when +-spec autoSizeRows(This, [Option]) -> 'ok' when This::wxGrid(), - Option :: {setAsMin, boolean()}. + Option :: {'setAsMin', boolean()}. autoSizeRows(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxGrid), @@ -336,7 +336,7 @@ autoSizeRows(#wx_ref{type=ThisT,ref=ThisRef}, Options) <<ThisRef:32/?UI, 0:32,BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridbeginbatch">external documentation</a>. --spec beginBatch(This) -> ok when +-spec beginBatch(This) -> 'ok' when This::wxGrid(). beginBatch(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxGrid), @@ -403,7 +403,7 @@ cellToRect(#wx_ref{type=ThisT,ref=ThisRef},Row,Col) <<ThisRef:32/?UI,Row:32/?UI,Col:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridcleargrid">external documentation</a>. --spec clearGrid(This) -> ok when +-spec clearGrid(This) -> 'ok' when This::wxGrid(). clearGrid(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxGrid), @@ -411,7 +411,7 @@ clearGrid(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridclearselection">external documentation</a>. --spec clearSelection(This) -> ok when +-spec clearSelection(This) -> 'ok' when This::wxGrid(). clearSelection(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxGrid), @@ -430,7 +430,7 @@ createGrid(This,NumRows,NumCols) %%<br /> Selmode = ?wxGrid_wxGridSelectCells | ?wxGrid_wxGridSelectRows | ?wxGrid_wxGridSelectColumns -spec createGrid(This, NumRows, NumCols, [Option]) -> boolean() when This::wxGrid(), NumRows::integer(), NumCols::integer(), - Option :: {selmode, wx:wx_enum()}. + Option :: {'selmode', wx:wx_enum()}. createGrid(#wx_ref{type=ThisT,ref=ThisRef},NumRows,NumCols, Options) when is_integer(NumRows),is_integer(NumCols),is_list(Options) -> ?CLASS(ThisT,wxGrid), @@ -451,9 +451,9 @@ deleteCols(This) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgriddeletecols">external documentation</a>. -spec deleteCols(This, [Option]) -> boolean() when This::wxGrid(), - Option :: {pos, integer()} - | {numCols, integer()} - | {updateLabels, boolean()}. + Option :: {'pos', integer()} + | {'numCols', integer()} + | {'updateLabels', boolean()}. deleteCols(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxGrid), @@ -476,9 +476,9 @@ deleteRows(This) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgriddeleterows">external documentation</a>. -spec deleteRows(This, [Option]) -> boolean() when This::wxGrid(), - Option :: {pos, integer()} - | {numRows, integer()} - | {updateLabels, boolean()}. + Option :: {'pos', integer()} + | {'numRows', integer()} + | {'updateLabels', boolean()}. deleteRows(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxGrid), @@ -491,7 +491,7 @@ deleteRows(#wx_ref{type=ThisT,ref=ThisRef}, Options) <<ThisRef:32/?UI, 0:32,BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgriddisablecelleditcontrol">external documentation</a>. --spec disableCellEditControl(This) -> ok when +-spec disableCellEditControl(This) -> 'ok' when This::wxGrid(). disableCellEditControl(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxGrid), @@ -499,7 +499,7 @@ disableCellEditControl(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgriddisabledragcolsize">external documentation</a>. --spec disableDragColSize(This) -> ok when +-spec disableDragColSize(This) -> 'ok' when This::wxGrid(). disableDragColSize(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxGrid), @@ -507,7 +507,7 @@ disableDragColSize(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgriddisabledraggridsize">external documentation</a>. --spec disableDragGridSize(This) -> ok when +-spec disableDragGridSize(This) -> 'ok' when This::wxGrid(). disableDragGridSize(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxGrid), @@ -515,7 +515,7 @@ disableDragGridSize(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgriddisabledragrowsize">external documentation</a>. --spec disableDragRowSize(This) -> ok when +-spec disableDragRowSize(This) -> 'ok' when This::wxGrid(). disableDragRowSize(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxGrid), @@ -523,7 +523,7 @@ disableDragRowSize(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @equiv enableCellEditControl(This, []) --spec enableCellEditControl(This) -> ok when +-spec enableCellEditControl(This) -> 'ok' when This::wxGrid(). enableCellEditControl(This) @@ -531,9 +531,9 @@ enableCellEditControl(This) enableCellEditControl(This, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridenablecelleditcontrol">external documentation</a>. --spec enableCellEditControl(This, [Option]) -> ok when +-spec enableCellEditControl(This, [Option]) -> 'ok' when This::wxGrid(), - Option :: {enable, boolean()}. + Option :: {'enable', boolean()}. enableCellEditControl(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxGrid), @@ -544,7 +544,7 @@ enableCellEditControl(#wx_ref{type=ThisT,ref=ThisRef}, Options) <<ThisRef:32/?UI, 0:32,BinOpt/binary>>). %% @equiv enableDragColSize(This, []) --spec enableDragColSize(This) -> ok when +-spec enableDragColSize(This) -> 'ok' when This::wxGrid(). enableDragColSize(This) @@ -552,9 +552,9 @@ enableDragColSize(This) enableDragColSize(This, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridenabledragcolsize">external documentation</a>. --spec enableDragColSize(This, [Option]) -> ok when +-spec enableDragColSize(This, [Option]) -> 'ok' when This::wxGrid(), - Option :: {enable, boolean()}. + Option :: {'enable', boolean()}. enableDragColSize(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxGrid), @@ -565,7 +565,7 @@ enableDragColSize(#wx_ref{type=ThisT,ref=ThisRef}, Options) <<ThisRef:32/?UI, 0:32,BinOpt/binary>>). %% @equiv enableDragGridSize(This, []) --spec enableDragGridSize(This) -> ok when +-spec enableDragGridSize(This) -> 'ok' when This::wxGrid(). enableDragGridSize(This) @@ -573,9 +573,9 @@ enableDragGridSize(This) enableDragGridSize(This, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridenabledraggridsize">external documentation</a>. --spec enableDragGridSize(This, [Option]) -> ok when +-spec enableDragGridSize(This, [Option]) -> 'ok' when This::wxGrid(), - Option :: {enable, boolean()}. + Option :: {'enable', boolean()}. enableDragGridSize(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxGrid), @@ -586,7 +586,7 @@ enableDragGridSize(#wx_ref{type=ThisT,ref=ThisRef}, Options) <<ThisRef:32/?UI, 0:32,BinOpt/binary>>). %% @equiv enableDragRowSize(This, []) --spec enableDragRowSize(This) -> ok when +-spec enableDragRowSize(This) -> 'ok' when This::wxGrid(). enableDragRowSize(This) @@ -594,9 +594,9 @@ enableDragRowSize(This) enableDragRowSize(This, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridenabledragrowsize">external documentation</a>. --spec enableDragRowSize(This, [Option]) -> ok when +-spec enableDragRowSize(This, [Option]) -> 'ok' when This::wxGrid(), - Option :: {enable, boolean()}. + Option :: {'enable', boolean()}. enableDragRowSize(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxGrid), @@ -607,7 +607,7 @@ enableDragRowSize(#wx_ref{type=ThisT,ref=ThisRef}, Options) <<ThisRef:32/?UI, 0:32,BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridenableediting">external documentation</a>. --spec enableEditing(This, Edit) -> ok when +-spec enableEditing(This, Edit) -> 'ok' when This::wxGrid(), Edit::boolean(). enableEditing(#wx_ref{type=ThisT,ref=ThisRef},Edit) when is_boolean(Edit) -> @@ -616,7 +616,7 @@ enableEditing(#wx_ref{type=ThisT,ref=ThisRef},Edit) <<ThisRef:32/?UI,(wxe_util:from_bool(Edit)):32/?UI>>). %% @equiv enableGridLines(This, []) --spec enableGridLines(This) -> ok when +-spec enableGridLines(This) -> 'ok' when This::wxGrid(). enableGridLines(This) @@ -624,9 +624,9 @@ enableGridLines(This) enableGridLines(This, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridenablegridlines">external documentation</a>. --spec enableGridLines(This, [Option]) -> ok when +-spec enableGridLines(This, [Option]) -> 'ok' when This::wxGrid(), - Option :: {enable, boolean()}. + Option :: {'enable', boolean()}. enableGridLines(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxGrid), @@ -637,7 +637,7 @@ enableGridLines(#wx_ref{type=ThisT,ref=ThisRef}, Options) <<ThisRef:32/?UI, 0:32,BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridendbatch">external documentation</a>. --spec endBatch(This) -> ok when +-spec endBatch(This) -> 'ok' when This::wxGrid(). endBatch(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxGrid), @@ -645,7 +645,7 @@ endBatch(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridfit">external documentation</a>. --spec fit(This) -> ok when +-spec fit(This) -> 'ok' when This::wxGrid(). fit(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxGrid), @@ -653,7 +653,7 @@ fit(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridforcerefresh">external documentation</a>. --spec forceRefresh(This) -> ok when +-spec forceRefresh(This) -> 'ok' when This::wxGrid(). forceRefresh(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxGrid), @@ -1136,7 +1136,7 @@ getGridCornerLabelWindow(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridhidecelleditcontrol">external documentation</a>. --spec hideCellEditControl(This) -> ok when +-spec hideCellEditControl(This) -> 'ok' when This::wxGrid(). hideCellEditControl(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxGrid), @@ -1154,9 +1154,9 @@ insertCols(This) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridinsertcols">external documentation</a>. -spec insertCols(This, [Option]) -> boolean() when This::wxGrid(), - Option :: {pos, integer()} - | {numCols, integer()} - | {updateLabels, boolean()}. + Option :: {'pos', integer()} + | {'numCols', integer()} + | {'updateLabels', boolean()}. insertCols(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxGrid), @@ -1179,9 +1179,9 @@ insertRows(This) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridinsertrows">external documentation</a>. -spec insertRows(This, [Option]) -> boolean() when This::wxGrid(), - Option :: {pos, integer()} - | {numRows, integer()} - | {updateLabels, boolean()}. + Option :: {'pos', integer()} + | {'numRows', integer()} + | {'updateLabels', boolean()}. insertRows(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxGrid), @@ -1264,13 +1264,13 @@ isVisible(This,Coords={CoordsR,CoordsC}) %% <br /> Also:<br /> %% isVisible(This, Coords, [Option]) -> boolean() when<br /> %% This::wxGrid(), Coords::{R::integer(), C::integer()},<br /> -%% Option :: {wholeCellVisible, boolean()}.<br /> +%% Option :: {'wholeCellVisible', boolean()}.<br /> %% -spec isVisible(This, Row, Col) -> boolean() when This::wxGrid(), Row::integer(), Col::integer(); (This, Coords, [Option]) -> boolean() when This::wxGrid(), Coords::{R::integer(), C::integer()}, - Option :: {wholeCellVisible, boolean()}. + Option :: {'wholeCellVisible', boolean()}. isVisible(This,Row,Col) when is_record(This, wx_ref),is_integer(Row),is_integer(Col) -> @@ -1287,7 +1287,7 @@ isVisible(#wx_ref{type=ThisT,ref=ThisRef},{CoordsR,CoordsC}, Options) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridisvisible">external documentation</a>. -spec isVisible(This, Row, Col, [Option]) -> boolean() when This::wxGrid(), Row::integer(), Col::integer(), - Option :: {wholeCellVisible, boolean()}. + Option :: {'wholeCellVisible', boolean()}. isVisible(#wx_ref{type=ThisT,ref=ThisRef},Row,Col, Options) when is_integer(Row),is_integer(Col),is_list(Options) -> ?CLASS(ThisT,wxGrid), @@ -1298,7 +1298,7 @@ isVisible(#wx_ref{type=ThisT,ref=ThisRef},Row,Col, Options) <<ThisRef:32/?UI,Row:32/?UI,Col:32/?UI, 0:32,BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridmakecellvisible">external documentation</a>. --spec makeCellVisible(This, Coords) -> ok when +-spec makeCellVisible(This, Coords) -> 'ok' when This::wxGrid(), Coords::{R::integer(), C::integer()}. makeCellVisible(#wx_ref{type=ThisT,ref=ThisRef},{CoordsR,CoordsC}) when is_integer(CoordsR),is_integer(CoordsC) -> @@ -1307,7 +1307,7 @@ makeCellVisible(#wx_ref{type=ThisT,ref=ThisRef},{CoordsR,CoordsC}) <<ThisRef:32/?UI,CoordsR:32/?UI,CoordsC:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridmakecellvisible">external documentation</a>. --spec makeCellVisible(This, Row, Col) -> ok when +-spec makeCellVisible(This, Row, Col) -> 'ok' when This::wxGrid(), Row::integer(), Col::integer(). makeCellVisible(#wx_ref{type=ThisT,ref=ThisRef},Row,Col) when is_integer(Row),is_integer(Col) -> @@ -1404,7 +1404,7 @@ movePageUp(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridregisterdatatype">external documentation</a>. --spec registerDataType(This, TypeName, Renderer, Editor) -> ok when +-spec registerDataType(This, TypeName, Renderer, Editor) -> 'ok' when This::wxGrid(), TypeName::unicode:chardata(), Renderer::wxGridCellRenderer:wxGridCellRenderer(), Editor::wxGridCellEditor:wxGridCellEditor(). registerDataType(#wx_ref{type=ThisT,ref=ThisRef},TypeName,#wx_ref{type=RendererT,ref=RendererRef},#wx_ref{type=EditorT,ref=EditorRef}) when is_list(TypeName) -> @@ -1416,7 +1416,7 @@ registerDataType(#wx_ref{type=ThisT,ref=ThisRef},TypeName,#wx_ref{type=RendererT <<ThisRef:32/?UI,(byte_size(TypeName_UC)):32/?UI,(TypeName_UC)/binary, 0:(((8- ((0+byte_size(TypeName_UC)) band 16#7)) band 16#7))/unit:8,RendererRef:32/?UI,EditorRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridsaveeditcontrolvalue">external documentation</a>. --spec saveEditControlValue(This) -> ok when +-spec saveEditControlValue(This) -> 'ok' when This::wxGrid(). saveEditControlValue(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxGrid), @@ -1424,7 +1424,7 @@ saveEditControlValue(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridselectall">external documentation</a>. --spec selectAll(This) -> ok when +-spec selectAll(This) -> 'ok' when This::wxGrid(). selectAll(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxGrid), @@ -1432,7 +1432,7 @@ selectAll(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @equiv selectBlock(This,TopLeft,BottomRight, []) --spec selectBlock(This, TopLeft, BottomRight) -> ok when +-spec selectBlock(This, TopLeft, BottomRight) -> 'ok' when This::wxGrid(), TopLeft::{R::integer(), C::integer()}, BottomRight::{R::integer(), C::integer()}. selectBlock(This,TopLeft={TopLeftR,TopLeftC},BottomRight={BottomRightR,BottomRightC}) @@ -1440,9 +1440,9 @@ selectBlock(This,TopLeft={TopLeftR,TopLeftC},BottomRight={BottomRightR,BottomRig selectBlock(This,TopLeft,BottomRight, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridselectblock">external documentation</a>. --spec selectBlock(This, TopLeft, BottomRight, [Option]) -> ok when +-spec selectBlock(This, TopLeft, BottomRight, [Option]) -> 'ok' when This::wxGrid(), TopLeft::{R::integer(), C::integer()}, BottomRight::{R::integer(), C::integer()}, - Option :: {addToSelected, boolean()}. + Option :: {'addToSelected', boolean()}. selectBlock(#wx_ref{type=ThisT,ref=ThisRef},{TopLeftR,TopLeftC},{BottomRightR,BottomRightC}, Options) when is_integer(TopLeftR),is_integer(TopLeftC),is_integer(BottomRightR),is_integer(BottomRightC),is_list(Options) -> ?CLASS(ThisT,wxGrid), @@ -1453,7 +1453,7 @@ selectBlock(#wx_ref{type=ThisT,ref=ThisRef},{TopLeftR,TopLeftC},{BottomRightR,Bo <<ThisRef:32/?UI,TopLeftR:32/?UI,TopLeftC:32/?UI,BottomRightR:32/?UI,BottomRightC:32/?UI, 0:32,BinOpt/binary>>). %% @equiv selectBlock(This,TopRow,LeftCol,BottomRow,RightCol, []) --spec selectBlock(This, TopRow, LeftCol, BottomRow, RightCol) -> ok when +-spec selectBlock(This, TopRow, LeftCol, BottomRow, RightCol) -> 'ok' when This::wxGrid(), TopRow::integer(), LeftCol::integer(), BottomRow::integer(), RightCol::integer(). selectBlock(This,TopRow,LeftCol,BottomRow,RightCol) @@ -1461,9 +1461,9 @@ selectBlock(This,TopRow,LeftCol,BottomRow,RightCol) selectBlock(This,TopRow,LeftCol,BottomRow,RightCol, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridselectblock">external documentation</a>. --spec selectBlock(This, TopRow, LeftCol, BottomRow, RightCol, [Option]) -> ok when +-spec selectBlock(This, TopRow, LeftCol, BottomRow, RightCol, [Option]) -> 'ok' when This::wxGrid(), TopRow::integer(), LeftCol::integer(), BottomRow::integer(), RightCol::integer(), - Option :: {addToSelected, boolean()}. + Option :: {'addToSelected', boolean()}. selectBlock(#wx_ref{type=ThisT,ref=ThisRef},TopRow,LeftCol,BottomRow,RightCol, Options) when is_integer(TopRow),is_integer(LeftCol),is_integer(BottomRow),is_integer(RightCol),is_list(Options) -> ?CLASS(ThisT,wxGrid), @@ -1474,7 +1474,7 @@ selectBlock(#wx_ref{type=ThisT,ref=ThisRef},TopRow,LeftCol,BottomRow,RightCol, O <<ThisRef:32/?UI,TopRow:32/?UI,LeftCol:32/?UI,BottomRow:32/?UI,RightCol:32/?UI, 0:32,BinOpt/binary>>). %% @equiv selectCol(This,Col, []) --spec selectCol(This, Col) -> ok when +-spec selectCol(This, Col) -> 'ok' when This::wxGrid(), Col::integer(). selectCol(This,Col) @@ -1482,9 +1482,9 @@ selectCol(This,Col) selectCol(This,Col, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridselectcol">external documentation</a>. --spec selectCol(This, Col, [Option]) -> ok when +-spec selectCol(This, Col, [Option]) -> 'ok' when This::wxGrid(), Col::integer(), - Option :: {addToSelected, boolean()}. + Option :: {'addToSelected', boolean()}. selectCol(#wx_ref{type=ThisT,ref=ThisRef},Col, Options) when is_integer(Col),is_list(Options) -> ?CLASS(ThisT,wxGrid), @@ -1495,7 +1495,7 @@ selectCol(#wx_ref{type=ThisT,ref=ThisRef},Col, Options) <<ThisRef:32/?UI,Col:32/?UI, BinOpt/binary>>). %% @equiv selectRow(This,Row, []) --spec selectRow(This, Row) -> ok when +-spec selectRow(This, Row) -> 'ok' when This::wxGrid(), Row::integer(). selectRow(This,Row) @@ -1503,9 +1503,9 @@ selectRow(This,Row) selectRow(This,Row, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridselectrow">external documentation</a>. --spec selectRow(This, Row, [Option]) -> ok when +-spec selectRow(This, Row, [Option]) -> 'ok' when This::wxGrid(), Row::integer(), - Option :: {addToSelected, boolean()}. + Option :: {'addToSelected', boolean()}. selectRow(#wx_ref{type=ThisT,ref=ThisRef},Row, Options) when is_integer(Row),is_list(Options) -> ?CLASS(ThisT,wxGrid), @@ -1516,7 +1516,7 @@ selectRow(#wx_ref{type=ThisT,ref=ThisRef},Row, Options) <<ThisRef:32/?UI,Row:32/?UI, BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridsetcellalignment">external documentation</a>. --spec setCellAlignment(This, Align) -> ok when +-spec setCellAlignment(This, Align) -> 'ok' when This::wxGrid(), Align::integer(). setCellAlignment(#wx_ref{type=ThisT,ref=ThisRef},Align) when is_integer(Align) -> @@ -1525,7 +1525,7 @@ setCellAlignment(#wx_ref{type=ThisT,ref=ThisRef},Align) <<ThisRef:32/?UI,Align:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridsetcellalignment">external documentation</a>. --spec setCellAlignment(This, Align, Row, Col) -> ok when +-spec setCellAlignment(This, Align, Row, Col) -> 'ok' when This::wxGrid(), Align::integer(), Row::integer(), Col::integer(). setCellAlignment(#wx_ref{type=ThisT,ref=ThisRef},Align,Row,Col) when is_integer(Align),is_integer(Row),is_integer(Col) -> @@ -1534,7 +1534,7 @@ setCellAlignment(#wx_ref{type=ThisT,ref=ThisRef},Align,Row,Col) <<ThisRef:32/?UI,Align:32/?UI,Row:32/?UI,Col:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridsetcellalignment">external documentation</a>. --spec setCellAlignment(This, Row, Col, Horiz, Vert) -> ok when +-spec setCellAlignment(This, Row, Col, Horiz, Vert) -> 'ok' when This::wxGrid(), Row::integer(), Col::integer(), Horiz::integer(), Vert::integer(). setCellAlignment(#wx_ref{type=ThisT,ref=ThisRef},Row,Col,Horiz,Vert) when is_integer(Row),is_integer(Col),is_integer(Horiz),is_integer(Vert) -> @@ -1543,7 +1543,7 @@ setCellAlignment(#wx_ref{type=ThisT,ref=ThisRef},Row,Col,Horiz,Vert) <<ThisRef:32/?UI,Row:32/?UI,Col:32/?UI,Horiz:32/?UI,Vert:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridsetcellbackgroundcolour">external documentation</a>. --spec setCellBackgroundColour(This, Col) -> ok when +-spec setCellBackgroundColour(This, Col) -> 'ok' when This::wxGrid(), Col::wx:wx_colour(). setCellBackgroundColour(#wx_ref{type=ThisT,ref=ThisRef},Col) when tuple_size(Col) =:= 3; tuple_size(Col) =:= 4 -> @@ -1553,12 +1553,12 @@ setCellBackgroundColour(#wx_ref{type=ThisT,ref=ThisRef},Col) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridsetcellbackgroundcolour">external documentation</a>. %% <br /> Also:<br /> -%% setCellBackgroundColour(This, Colour, Row, Col) -> ok when<br /> +%% setCellBackgroundColour(This, Colour, Row, Col) -> 'ok' when<br /> %% This::wxGrid(), Colour::wx:wx_colour(), Row::integer(), Col::integer().<br /> %% --spec setCellBackgroundColour(This, Row, Col, Val) -> ok when +-spec setCellBackgroundColour(This, Row, Col, Val) -> 'ok' when This::wxGrid(), Row::integer(), Col::integer(), Val::wx:wx_colour(); - (This, Colour, Row, Col) -> ok when + (This, Colour, Row, Col) -> 'ok' when This::wxGrid(), Colour::wx:wx_colour(), Row::integer(), Col::integer(). setCellBackgroundColour(#wx_ref{type=ThisT,ref=ThisRef},Row,Col,Val) when is_integer(Row),is_integer(Col),tuple_size(Val) =:= 3; tuple_size(Val) =:= 4 -> @@ -1572,7 +1572,7 @@ setCellBackgroundColour(#wx_ref{type=ThisT,ref=ThisRef},Colour,Row,Col) <<ThisRef:32/?UI,(wxe_util:colour_bin(Colour)):16/binary,Row:32/?UI,Col:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridsetcelleditor">external documentation</a>. --spec setCellEditor(This, Row, Col, Editor) -> ok when +-spec setCellEditor(This, Row, Col, Editor) -> 'ok' when This::wxGrid(), Row::integer(), Col::integer(), Editor::wxGridCellEditor:wxGridCellEditor(). setCellEditor(#wx_ref{type=ThisT,ref=ThisRef},Row,Col,#wx_ref{type=EditorT,ref=EditorRef}) when is_integer(Row),is_integer(Col) -> @@ -1582,7 +1582,7 @@ setCellEditor(#wx_ref{type=ThisT,ref=ThisRef},Row,Col,#wx_ref{type=EditorT,ref=E <<ThisRef:32/?UI,Row:32/?UI,Col:32/?UI,EditorRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridsetcellfont">external documentation</a>. --spec setCellFont(This, Row, Col, Val) -> ok when +-spec setCellFont(This, Row, Col, Val) -> 'ok' when This::wxGrid(), Row::integer(), Col::integer(), Val::wxFont:wxFont(). setCellFont(#wx_ref{type=ThisT,ref=ThisRef},Row,Col,#wx_ref{type=ValT,ref=ValRef}) when is_integer(Row),is_integer(Col) -> @@ -1592,7 +1592,7 @@ setCellFont(#wx_ref{type=ThisT,ref=ThisRef},Row,Col,#wx_ref{type=ValT,ref=ValRef <<ThisRef:32/?UI,Row:32/?UI,Col:32/?UI,ValRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridsetcellrenderer">external documentation</a>. --spec setCellRenderer(This, Row, Col, Renderer) -> ok when +-spec setCellRenderer(This, Row, Col, Renderer) -> 'ok' when This::wxGrid(), Row::integer(), Col::integer(), Renderer::wxGridCellRenderer:wxGridCellRenderer(). setCellRenderer(#wx_ref{type=ThisT,ref=ThisRef},Row,Col,#wx_ref{type=RendererT,ref=RendererRef}) when is_integer(Row),is_integer(Col) -> @@ -1602,7 +1602,7 @@ setCellRenderer(#wx_ref{type=ThisT,ref=ThisRef},Row,Col,#wx_ref{type=RendererT,r <<ThisRef:32/?UI,Row:32/?UI,Col:32/?UI,RendererRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridsetcelltextcolour">external documentation</a>. --spec setCellTextColour(This, Col) -> ok when +-spec setCellTextColour(This, Col) -> 'ok' when This::wxGrid(), Col::wx:wx_colour(). setCellTextColour(#wx_ref{type=ThisT,ref=ThisRef},Col) when tuple_size(Col) =:= 3; tuple_size(Col) =:= 4 -> @@ -1612,12 +1612,12 @@ setCellTextColour(#wx_ref{type=ThisT,ref=ThisRef},Col) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridsetcelltextcolour">external documentation</a>. %% <br /> Also:<br /> -%% setCellTextColour(This, Val, Row, Col) -> ok when<br /> +%% setCellTextColour(This, Val, Row, Col) -> 'ok' when<br /> %% This::wxGrid(), Val::wx:wx_colour(), Row::integer(), Col::integer().<br /> %% --spec setCellTextColour(This, Row, Col, Val) -> ok when +-spec setCellTextColour(This, Row, Col, Val) -> 'ok' when This::wxGrid(), Row::integer(), Col::integer(), Val::wx:wx_colour(); - (This, Val, Row, Col) -> ok when + (This, Val, Row, Col) -> 'ok' when This::wxGrid(), Val::wx:wx_colour(), Row::integer(), Col::integer(). setCellTextColour(#wx_ref{type=ThisT,ref=ThisRef},Row,Col,Val) when is_integer(Row),is_integer(Col),tuple_size(Val) =:= 3; tuple_size(Val) =:= 4 -> @@ -1631,7 +1631,7 @@ setCellTextColour(#wx_ref{type=ThisT,ref=ThisRef},Val,Row,Col) <<ThisRef:32/?UI,(wxe_util:colour_bin(Val)):16/binary,Row:32/?UI,Col:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridsetcellvalue">external documentation</a>. --spec setCellValue(This, Coords, S) -> ok when +-spec setCellValue(This, Coords, S) -> 'ok' when This::wxGrid(), Coords::{R::integer(), C::integer()}, S::unicode:chardata(). setCellValue(#wx_ref{type=ThisT,ref=ThisRef},{CoordsR,CoordsC},S) when is_integer(CoordsR),is_integer(CoordsC),is_list(S) -> @@ -1642,12 +1642,12 @@ setCellValue(#wx_ref{type=ThisT,ref=ThisRef},{CoordsR,CoordsC},S) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridsetcellvalue">external documentation</a>. %% <br /> Also:<br /> -%% setCellValue(This, Val, Row, Col) -> ok when<br /> +%% setCellValue(This, Val, Row, Col) -> 'ok' when<br /> %% This::wxGrid(), Val::unicode:chardata(), Row::integer(), Col::integer().<br /> %% --spec setCellValue(This, Row, Col, S) -> ok when +-spec setCellValue(This, Row, Col, S) -> 'ok' when This::wxGrid(), Row::integer(), Col::integer(), S::unicode:chardata(); - (This, Val, Row, Col) -> ok when + (This, Val, Row, Col) -> 'ok' when This::wxGrid(), Val::unicode:chardata(), Row::integer(), Col::integer(). setCellValue(#wx_ref{type=ThisT,ref=ThisRef},Row,Col,S) when is_integer(Row),is_integer(Col),is_list(S) -> @@ -1663,7 +1663,7 @@ setCellValue(#wx_ref{type=ThisT,ref=ThisRef},Val,Row,Col) <<ThisRef:32/?UI,(byte_size(Val_UC)):32/?UI,(Val_UC)/binary, 0:(((8- ((0+byte_size(Val_UC)) band 16#7)) band 16#7))/unit:8,Row:32/?UI,Col:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridsetcolattr">external documentation</a>. --spec setColAttr(This, Col, Attr) -> ok when +-spec setColAttr(This, Col, Attr) -> 'ok' when This::wxGrid(), Col::integer(), Attr::wxGridCellAttr:wxGridCellAttr(). setColAttr(#wx_ref{type=ThisT,ref=ThisRef},Col,#wx_ref{type=AttrT,ref=AttrRef}) when is_integer(Col) -> @@ -1673,7 +1673,7 @@ setColAttr(#wx_ref{type=ThisT,ref=ThisRef},Col,#wx_ref{type=AttrT,ref=AttrRef}) <<ThisRef:32/?UI,Col:32/?UI,AttrRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridsetcolformatbool">external documentation</a>. --spec setColFormatBool(This, Col) -> ok when +-spec setColFormatBool(This, Col) -> 'ok' when This::wxGrid(), Col::integer(). setColFormatBool(#wx_ref{type=ThisT,ref=ThisRef},Col) when is_integer(Col) -> @@ -1682,7 +1682,7 @@ setColFormatBool(#wx_ref{type=ThisT,ref=ThisRef},Col) <<ThisRef:32/?UI,Col:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridsetcolformatnumber">external documentation</a>. --spec setColFormatNumber(This, Col) -> ok when +-spec setColFormatNumber(This, Col) -> 'ok' when This::wxGrid(), Col::integer(). setColFormatNumber(#wx_ref{type=ThisT,ref=ThisRef},Col) when is_integer(Col) -> @@ -1691,7 +1691,7 @@ setColFormatNumber(#wx_ref{type=ThisT,ref=ThisRef},Col) <<ThisRef:32/?UI,Col:32/?UI>>). %% @equiv setColFormatFloat(This,Col, []) --spec setColFormatFloat(This, Col) -> ok when +-spec setColFormatFloat(This, Col) -> 'ok' when This::wxGrid(), Col::integer(). setColFormatFloat(This,Col) @@ -1699,10 +1699,10 @@ setColFormatFloat(This,Col) setColFormatFloat(This,Col, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridsetcolformatfloat">external documentation</a>. --spec setColFormatFloat(This, Col, [Option]) -> ok when +-spec setColFormatFloat(This, Col, [Option]) -> 'ok' when This::wxGrid(), Col::integer(), - Option :: {width, integer()} - | {precision, integer()}. + Option :: {'width', integer()} + | {'precision', integer()}. setColFormatFloat(#wx_ref{type=ThisT,ref=ThisRef},Col, Options) when is_integer(Col),is_list(Options) -> ?CLASS(ThisT,wxGrid), @@ -1714,7 +1714,7 @@ setColFormatFloat(#wx_ref{type=ThisT,ref=ThisRef},Col, Options) <<ThisRef:32/?UI,Col:32/?UI, BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridsetcolformatcustom">external documentation</a>. --spec setColFormatCustom(This, Col, TypeName) -> ok when +-spec setColFormatCustom(This, Col, TypeName) -> 'ok' when This::wxGrid(), Col::integer(), TypeName::unicode:chardata(). setColFormatCustom(#wx_ref{type=ThisT,ref=ThisRef},Col,TypeName) when is_integer(Col),is_list(TypeName) -> @@ -1724,7 +1724,7 @@ setColFormatCustom(#wx_ref{type=ThisT,ref=ThisRef},Col,TypeName) <<ThisRef:32/?UI,Col:32/?UI,(byte_size(TypeName_UC)):32/?UI,(TypeName_UC)/binary, 0:(((8- ((4+byte_size(TypeName_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridsetcollabelalignment">external documentation</a>. --spec setColLabelAlignment(This, Horiz, Vert) -> ok when +-spec setColLabelAlignment(This, Horiz, Vert) -> 'ok' when This::wxGrid(), Horiz::integer(), Vert::integer(). setColLabelAlignment(#wx_ref{type=ThisT,ref=ThisRef},Horiz,Vert) when is_integer(Horiz),is_integer(Vert) -> @@ -1733,7 +1733,7 @@ setColLabelAlignment(#wx_ref{type=ThisT,ref=ThisRef},Horiz,Vert) <<ThisRef:32/?UI,Horiz:32/?UI,Vert:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridsetcollabelsize">external documentation</a>. --spec setColLabelSize(This, Height) -> ok when +-spec setColLabelSize(This, Height) -> 'ok' when This::wxGrid(), Height::integer(). setColLabelSize(#wx_ref{type=ThisT,ref=ThisRef},Height) when is_integer(Height) -> @@ -1742,7 +1742,7 @@ setColLabelSize(#wx_ref{type=ThisT,ref=ThisRef},Height) <<ThisRef:32/?UI,Height:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridsetcollabelvalue">external documentation</a>. --spec setColLabelValue(This, Col, Val) -> ok when +-spec setColLabelValue(This, Col, Val) -> 'ok' when This::wxGrid(), Col::integer(), Val::unicode:chardata(). setColLabelValue(#wx_ref{type=ThisT,ref=ThisRef},Col,Val) when is_integer(Col),is_list(Val) -> @@ -1752,7 +1752,7 @@ setColLabelValue(#wx_ref{type=ThisT,ref=ThisRef},Col,Val) <<ThisRef:32/?UI,Col:32/?UI,(byte_size(Val_UC)):32/?UI,(Val_UC)/binary, 0:(((8- ((4+byte_size(Val_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridsetcolminimalwidth">external documentation</a>. --spec setColMinimalWidth(This, Col, Width) -> ok when +-spec setColMinimalWidth(This, Col, Width) -> 'ok' when This::wxGrid(), Col::integer(), Width::integer(). setColMinimalWidth(#wx_ref{type=ThisT,ref=ThisRef},Col,Width) when is_integer(Col),is_integer(Width) -> @@ -1761,7 +1761,7 @@ setColMinimalWidth(#wx_ref{type=ThisT,ref=ThisRef},Col,Width) <<ThisRef:32/?UI,Col:32/?UI,Width:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridsetcolminimalacceptablewidth">external documentation</a>. --spec setColMinimalAcceptableWidth(This, Width) -> ok when +-spec setColMinimalAcceptableWidth(This, Width) -> 'ok' when This::wxGrid(), Width::integer(). setColMinimalAcceptableWidth(#wx_ref{type=ThisT,ref=ThisRef},Width) when is_integer(Width) -> @@ -1770,7 +1770,7 @@ setColMinimalAcceptableWidth(#wx_ref{type=ThisT,ref=ThisRef},Width) <<ThisRef:32/?UI,Width:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridsetcolsize">external documentation</a>. --spec setColSize(This, Col, Width) -> ok when +-spec setColSize(This, Col, Width) -> 'ok' when This::wxGrid(), Col::integer(), Width::integer(). setColSize(#wx_ref{type=ThisT,ref=ThisRef},Col,Width) when is_integer(Col),is_integer(Width) -> @@ -1779,7 +1779,7 @@ setColSize(#wx_ref{type=ThisT,ref=ThisRef},Col,Width) <<ThisRef:32/?UI,Col:32/?UI,Width:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridsetdefaultcellalignment">external documentation</a>. --spec setDefaultCellAlignment(This, Horiz, Vert) -> ok when +-spec setDefaultCellAlignment(This, Horiz, Vert) -> 'ok' when This::wxGrid(), Horiz::integer(), Vert::integer(). setDefaultCellAlignment(#wx_ref{type=ThisT,ref=ThisRef},Horiz,Vert) when is_integer(Horiz),is_integer(Vert) -> @@ -1788,7 +1788,7 @@ setDefaultCellAlignment(#wx_ref{type=ThisT,ref=ThisRef},Horiz,Vert) <<ThisRef:32/?UI,Horiz:32/?UI,Vert:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridsetdefaultcellbackgroundcolour">external documentation</a>. --spec setDefaultCellBackgroundColour(This, Val) -> ok when +-spec setDefaultCellBackgroundColour(This, Val) -> 'ok' when This::wxGrid(), Val::wx:wx_colour(). setDefaultCellBackgroundColour(#wx_ref{type=ThisT,ref=ThisRef},Val) when tuple_size(Val) =:= 3; tuple_size(Val) =:= 4 -> @@ -1797,7 +1797,7 @@ setDefaultCellBackgroundColour(#wx_ref{type=ThisT,ref=ThisRef},Val) <<ThisRef:32/?UI,(wxe_util:colour_bin(Val)):16/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridsetdefaultcellfont">external documentation</a>. --spec setDefaultCellFont(This, Val) -> ok when +-spec setDefaultCellFont(This, Val) -> 'ok' when This::wxGrid(), Val::wxFont:wxFont(). setDefaultCellFont(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ValT,ref=ValRef}) -> ?CLASS(ThisT,wxGrid), @@ -1806,7 +1806,7 @@ setDefaultCellFont(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ValT,ref=ValRef} <<ThisRef:32/?UI,ValRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridsetdefaultcelltextcolour">external documentation</a>. --spec setDefaultCellTextColour(This, Val) -> ok when +-spec setDefaultCellTextColour(This, Val) -> 'ok' when This::wxGrid(), Val::wx:wx_colour(). setDefaultCellTextColour(#wx_ref{type=ThisT,ref=ThisRef},Val) when tuple_size(Val) =:= 3; tuple_size(Val) =:= 4 -> @@ -1815,7 +1815,7 @@ setDefaultCellTextColour(#wx_ref{type=ThisT,ref=ThisRef},Val) <<ThisRef:32/?UI,(wxe_util:colour_bin(Val)):16/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridsetdefaulteditor">external documentation</a>. --spec setDefaultEditor(This, Editor) -> ok when +-spec setDefaultEditor(This, Editor) -> 'ok' when This::wxGrid(), Editor::wxGridCellEditor:wxGridCellEditor(). setDefaultEditor(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=EditorT,ref=EditorRef}) -> ?CLASS(ThisT,wxGrid), @@ -1824,7 +1824,7 @@ setDefaultEditor(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=EditorT,ref=Editor <<ThisRef:32/?UI,EditorRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridsetdefaultrenderer">external documentation</a>. --spec setDefaultRenderer(This, Renderer) -> ok when +-spec setDefaultRenderer(This, Renderer) -> 'ok' when This::wxGrid(), Renderer::wxGridCellRenderer:wxGridCellRenderer(). setDefaultRenderer(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=RendererT,ref=RendererRef}) -> ?CLASS(ThisT,wxGrid), @@ -1833,7 +1833,7 @@ setDefaultRenderer(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=RendererT,ref=Re <<ThisRef:32/?UI,RendererRef:32/?UI>>). %% @equiv setDefaultColSize(This,Width, []) --spec setDefaultColSize(This, Width) -> ok when +-spec setDefaultColSize(This, Width) -> 'ok' when This::wxGrid(), Width::integer(). setDefaultColSize(This,Width) @@ -1841,9 +1841,9 @@ setDefaultColSize(This,Width) setDefaultColSize(This,Width, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridsetdefaultcolsize">external documentation</a>. --spec setDefaultColSize(This, Width, [Option]) -> ok when +-spec setDefaultColSize(This, Width, [Option]) -> 'ok' when This::wxGrid(), Width::integer(), - Option :: {resizeExistingCols, boolean()}. + Option :: {'resizeExistingCols', boolean()}. setDefaultColSize(#wx_ref{type=ThisT,ref=ThisRef},Width, Options) when is_integer(Width),is_list(Options) -> ?CLASS(ThisT,wxGrid), @@ -1854,7 +1854,7 @@ setDefaultColSize(#wx_ref{type=ThisT,ref=ThisRef},Width, Options) <<ThisRef:32/?UI,Width:32/?UI, BinOpt/binary>>). %% @equiv setDefaultRowSize(This,Height, []) --spec setDefaultRowSize(This, Height) -> ok when +-spec setDefaultRowSize(This, Height) -> 'ok' when This::wxGrid(), Height::integer(). setDefaultRowSize(This,Height) @@ -1862,9 +1862,9 @@ setDefaultRowSize(This,Height) setDefaultRowSize(This,Height, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridsetdefaultrowsize">external documentation</a>. --spec setDefaultRowSize(This, Height, [Option]) -> ok when +-spec setDefaultRowSize(This, Height, [Option]) -> 'ok' when This::wxGrid(), Height::integer(), - Option :: {resizeExistingRows, boolean()}. + Option :: {'resizeExistingRows', boolean()}. setDefaultRowSize(#wx_ref{type=ThisT,ref=ThisRef},Height, Options) when is_integer(Height),is_list(Options) -> ?CLASS(ThisT,wxGrid), @@ -1875,7 +1875,7 @@ setDefaultRowSize(#wx_ref{type=ThisT,ref=ThisRef},Height, Options) <<ThisRef:32/?UI,Height:32/?UI, BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridsetgridcursor">external documentation</a>. --spec setGridCursor(This, Row, Col) -> ok when +-spec setGridCursor(This, Row, Col) -> 'ok' when This::wxGrid(), Row::integer(), Col::integer(). setGridCursor(#wx_ref{type=ThisT,ref=ThisRef},Row,Col) when is_integer(Row),is_integer(Col) -> @@ -1884,7 +1884,7 @@ setGridCursor(#wx_ref{type=ThisT,ref=ThisRef},Row,Col) <<ThisRef:32/?UI,Row:32/?UI,Col:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridsetgridlinecolour">external documentation</a>. --spec setGridLineColour(This, Val) -> ok when +-spec setGridLineColour(This, Val) -> 'ok' when This::wxGrid(), Val::wx:wx_colour(). setGridLineColour(#wx_ref{type=ThisT,ref=ThisRef},Val) when tuple_size(Val) =:= 3; tuple_size(Val) =:= 4 -> @@ -1893,7 +1893,7 @@ setGridLineColour(#wx_ref{type=ThisT,ref=ThisRef},Val) <<ThisRef:32/?UI,(wxe_util:colour_bin(Val)):16/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridsetlabelbackgroundcolour">external documentation</a>. --spec setLabelBackgroundColour(This, Val) -> ok when +-spec setLabelBackgroundColour(This, Val) -> 'ok' when This::wxGrid(), Val::wx:wx_colour(). setLabelBackgroundColour(#wx_ref{type=ThisT,ref=ThisRef},Val) when tuple_size(Val) =:= 3; tuple_size(Val) =:= 4 -> @@ -1902,7 +1902,7 @@ setLabelBackgroundColour(#wx_ref{type=ThisT,ref=ThisRef},Val) <<ThisRef:32/?UI,(wxe_util:colour_bin(Val)):16/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridsetlabelfont">external documentation</a>. --spec setLabelFont(This, Val) -> ok when +-spec setLabelFont(This, Val) -> 'ok' when This::wxGrid(), Val::wxFont:wxFont(). setLabelFont(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ValT,ref=ValRef}) -> ?CLASS(ThisT,wxGrid), @@ -1911,7 +1911,7 @@ setLabelFont(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ValT,ref=ValRef}) -> <<ThisRef:32/?UI,ValRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridsetlabeltextcolour">external documentation</a>. --spec setLabelTextColour(This, Val) -> ok when +-spec setLabelTextColour(This, Val) -> 'ok' when This::wxGrid(), Val::wx:wx_colour(). setLabelTextColour(#wx_ref{type=ThisT,ref=ThisRef},Val) when tuple_size(Val) =:= 3; tuple_size(Val) =:= 4 -> @@ -1920,7 +1920,7 @@ setLabelTextColour(#wx_ref{type=ThisT,ref=ThisRef},Val) <<ThisRef:32/?UI,(wxe_util:colour_bin(Val)):16/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridsetmargins">external documentation</a>. --spec setMargins(This, ExtraWidth, ExtraHeight) -> ok when +-spec setMargins(This, ExtraWidth, ExtraHeight) -> 'ok' when This::wxGrid(), ExtraWidth::integer(), ExtraHeight::integer(). setMargins(#wx_ref{type=ThisT,ref=ThisRef},ExtraWidth,ExtraHeight) when is_integer(ExtraWidth),is_integer(ExtraHeight) -> @@ -1929,7 +1929,7 @@ setMargins(#wx_ref{type=ThisT,ref=ThisRef},ExtraWidth,ExtraHeight) <<ThisRef:32/?UI,ExtraWidth:32/?UI,ExtraHeight:32/?UI>>). %% @equiv setReadOnly(This,Row,Col, []) --spec setReadOnly(This, Row, Col) -> ok when +-spec setReadOnly(This, Row, Col) -> 'ok' when This::wxGrid(), Row::integer(), Col::integer(). setReadOnly(This,Row,Col) @@ -1937,9 +1937,9 @@ setReadOnly(This,Row,Col) setReadOnly(This,Row,Col, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridsetreadonly">external documentation</a>. --spec setReadOnly(This, Row, Col, [Option]) -> ok when +-spec setReadOnly(This, Row, Col, [Option]) -> 'ok' when This::wxGrid(), Row::integer(), Col::integer(), - Option :: {isReadOnly, boolean()}. + Option :: {'isReadOnly', boolean()}. setReadOnly(#wx_ref{type=ThisT,ref=ThisRef},Row,Col, Options) when is_integer(Row),is_integer(Col),is_list(Options) -> ?CLASS(ThisT,wxGrid), @@ -1950,7 +1950,7 @@ setReadOnly(#wx_ref{type=ThisT,ref=ThisRef},Row,Col, Options) <<ThisRef:32/?UI,Row:32/?UI,Col:32/?UI, 0:32,BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridsetrowattr">external documentation</a>. --spec setRowAttr(This, Row, Attr) -> ok when +-spec setRowAttr(This, Row, Attr) -> 'ok' when This::wxGrid(), Row::integer(), Attr::wxGridCellAttr:wxGridCellAttr(). setRowAttr(#wx_ref{type=ThisT,ref=ThisRef},Row,#wx_ref{type=AttrT,ref=AttrRef}) when is_integer(Row) -> @@ -1960,7 +1960,7 @@ setRowAttr(#wx_ref{type=ThisT,ref=ThisRef},Row,#wx_ref{type=AttrT,ref=AttrRef}) <<ThisRef:32/?UI,Row:32/?UI,AttrRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridsetrowlabelalignment">external documentation</a>. --spec setRowLabelAlignment(This, Horiz, Vert) -> ok when +-spec setRowLabelAlignment(This, Horiz, Vert) -> 'ok' when This::wxGrid(), Horiz::integer(), Vert::integer(). setRowLabelAlignment(#wx_ref{type=ThisT,ref=ThisRef},Horiz,Vert) when is_integer(Horiz),is_integer(Vert) -> @@ -1969,7 +1969,7 @@ setRowLabelAlignment(#wx_ref{type=ThisT,ref=ThisRef},Horiz,Vert) <<ThisRef:32/?UI,Horiz:32/?UI,Vert:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridsetrowlabelsize">external documentation</a>. --spec setRowLabelSize(This, Width) -> ok when +-spec setRowLabelSize(This, Width) -> 'ok' when This::wxGrid(), Width::integer(). setRowLabelSize(#wx_ref{type=ThisT,ref=ThisRef},Width) when is_integer(Width) -> @@ -1978,7 +1978,7 @@ setRowLabelSize(#wx_ref{type=ThisT,ref=ThisRef},Width) <<ThisRef:32/?UI,Width:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridsetrowlabelvalue">external documentation</a>. --spec setRowLabelValue(This, Row, Val) -> ok when +-spec setRowLabelValue(This, Row, Val) -> 'ok' when This::wxGrid(), Row::integer(), Val::unicode:chardata(). setRowLabelValue(#wx_ref{type=ThisT,ref=ThisRef},Row,Val) when is_integer(Row),is_list(Val) -> @@ -1988,7 +1988,7 @@ setRowLabelValue(#wx_ref{type=ThisT,ref=ThisRef},Row,Val) <<ThisRef:32/?UI,Row:32/?UI,(byte_size(Val_UC)):32/?UI,(Val_UC)/binary, 0:(((8- ((4+byte_size(Val_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridsetrowminimalheight">external documentation</a>. --spec setRowMinimalHeight(This, Row, Width) -> ok when +-spec setRowMinimalHeight(This, Row, Width) -> 'ok' when This::wxGrid(), Row::integer(), Width::integer(). setRowMinimalHeight(#wx_ref{type=ThisT,ref=ThisRef},Row,Width) when is_integer(Row),is_integer(Width) -> @@ -1997,7 +1997,7 @@ setRowMinimalHeight(#wx_ref{type=ThisT,ref=ThisRef},Row,Width) <<ThisRef:32/?UI,Row:32/?UI,Width:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridsetrowminimalacceptableheight">external documentation</a>. --spec setRowMinimalAcceptableHeight(This, Width) -> ok when +-spec setRowMinimalAcceptableHeight(This, Width) -> 'ok' when This::wxGrid(), Width::integer(). setRowMinimalAcceptableHeight(#wx_ref{type=ThisT,ref=ThisRef},Width) when is_integer(Width) -> @@ -2006,7 +2006,7 @@ setRowMinimalAcceptableHeight(#wx_ref{type=ThisT,ref=ThisRef},Width) <<ThisRef:32/?UI,Width:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridsetrowsize">external documentation</a>. --spec setRowSize(This, Row, Height) -> ok when +-spec setRowSize(This, Row, Height) -> 'ok' when This::wxGrid(), Row::integer(), Height::integer(). setRowSize(#wx_ref{type=ThisT,ref=ThisRef},Row,Height) when is_integer(Row),is_integer(Height) -> @@ -2015,7 +2015,7 @@ setRowSize(#wx_ref{type=ThisT,ref=ThisRef},Row,Height) <<ThisRef:32/?UI,Row:32/?UI,Height:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridsetscrolllinex">external documentation</a>. --spec setScrollLineX(This, X) -> ok when +-spec setScrollLineX(This, X) -> 'ok' when This::wxGrid(), X::integer(). setScrollLineX(#wx_ref{type=ThisT,ref=ThisRef},X) when is_integer(X) -> @@ -2024,7 +2024,7 @@ setScrollLineX(#wx_ref{type=ThisT,ref=ThisRef},X) <<ThisRef:32/?UI,X:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridsetscrollliney">external documentation</a>. --spec setScrollLineY(This, Y) -> ok when +-spec setScrollLineY(This, Y) -> 'ok' when This::wxGrid(), Y::integer(). setScrollLineY(#wx_ref{type=ThisT,ref=ThisRef},Y) when is_integer(Y) -> @@ -2033,7 +2033,7 @@ setScrollLineY(#wx_ref{type=ThisT,ref=ThisRef},Y) <<ThisRef:32/?UI,Y:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridsetselectionbackground">external documentation</a>. --spec setSelectionBackground(This, C) -> ok when +-spec setSelectionBackground(This, C) -> 'ok' when This::wxGrid(), C::wx:wx_colour(). setSelectionBackground(#wx_ref{type=ThisT,ref=ThisRef},C) when tuple_size(C) =:= 3; tuple_size(C) =:= 4 -> @@ -2042,7 +2042,7 @@ setSelectionBackground(#wx_ref{type=ThisT,ref=ThisRef},C) <<ThisRef:32/?UI,(wxe_util:colour_bin(C)):16/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridsetselectionforeground">external documentation</a>. --spec setSelectionForeground(This, C) -> ok when +-spec setSelectionForeground(This, C) -> 'ok' when This::wxGrid(), C::wx:wx_colour(). setSelectionForeground(#wx_ref{type=ThisT,ref=ThisRef},C) when tuple_size(C) =:= 3; tuple_size(C) =:= 4 -> @@ -2052,7 +2052,7 @@ setSelectionForeground(#wx_ref{type=ThisT,ref=ThisRef},C) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridsetselectionmode">external documentation</a>. %%<br /> Selmode = ?wxGrid_wxGridSelectCells | ?wxGrid_wxGridSelectRows | ?wxGrid_wxGridSelectColumns --spec setSelectionMode(This, Selmode) -> ok when +-spec setSelectionMode(This, Selmode) -> 'ok' when This::wxGrid(), Selmode::wx:wx_enum(). setSelectionMode(#wx_ref{type=ThisT,ref=ThisRef},Selmode) when is_integer(Selmode) -> @@ -2061,7 +2061,7 @@ setSelectionMode(#wx_ref{type=ThisT,ref=ThisRef},Selmode) <<ThisRef:32/?UI,Selmode:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridshowcelleditcontrol">external documentation</a>. --spec showCellEditControl(This) -> ok when +-spec showCellEditControl(This) -> 'ok' when This::wxGrid(). showCellEditControl(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxGrid), @@ -2079,7 +2079,7 @@ xToCol(This,X) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgrid.html#wxgridxtocol">external documentation</a>. -spec xToCol(This, X, [Option]) -> integer() when This::wxGrid(), X::integer(), - Option :: {clipToMinMax, boolean()}. + Option :: {'clipToMinMax', boolean()}. xToCol(#wx_ref{type=ThisT,ref=ThisRef},X, Options) when is_integer(X),is_list(Options) -> ?CLASS(ThisT,wxGrid), @@ -2117,7 +2117,7 @@ yToRow(#wx_ref{type=ThisT,ref=ThisRef},Y) <<ThisRef:32/?UI,Y:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxGrid()) -> ok. +-spec destroy(This::wxGrid()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxGrid), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxGridBagSizer.erl b/lib/wx/src/gen/wxGridBagSizer.erl index 521bf7d5de..93ed002d6c 100644 --- a/lib/wx/src/gen/wxGridBagSizer.erl +++ b/lib/wx/src/gen/wxGridBagSizer.erl @@ -65,8 +65,8 @@ new() -> %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgridbagsizer.html#wxgridbagsizerwxgridbagsizer">external documentation</a>. -spec new([Option]) -> wxGridBagSizer() when - Option :: {vgap, integer()} - | {hgap, integer()}. + Option :: {'vgap', integer()} + | {'hgap', integer()}. new(Options) when is_list(Options) -> MOpts = fun({vgap, Vgap}, Acc) -> [<<1:32/?UI,Vgap:32/?UI>>|Acc]; @@ -96,10 +96,10 @@ add(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ItemT,ref=ItemRef}) -> %% This::wxGridBagSizer(), Window::wxWindow:wxWindow() | wxSizer:wxSizer(), Pos::{R::integer(), C::integer()};<br /> %% (This, Window, [Option]) -> wxSizerItem:wxSizerItem() when<br /> %% This::wxGridBagSizer(), Window::wxWindow:wxWindow() | wxSizer:wxSizer(),<br /> -%% Option :: {proportion, integer()}<br /> -%% | {flag, integer()}<br /> -%% | {border, integer()}<br /> -%% | {userData, wx:wx_object()}.<br /> +%% Option :: {'proportion', integer()}<br /> +%% | {'flag', integer()}<br /> +%% | {'border', integer()}<br /> +%% | {'userData', wx:wx_object()}.<br /> %% -spec add(This, Width, Height) -> wxSizerItem:wxSizerItem() when This::wxGridBagSizer(), Width::integer(), Height::integer(); @@ -107,10 +107,10 @@ add(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ItemT,ref=ItemRef}) -> This::wxGridBagSizer(), Window::wxWindow:wxWindow() | wxSizer:wxSizer(), Pos::{R::integer(), C::integer()}; (This, Window, [Option]) -> wxSizerItem:wxSizerItem() when This::wxGridBagSizer(), Window::wxWindow:wxWindow() | wxSizer:wxSizer(), - Option :: {proportion, integer()} - | {flag, integer()} - | {border, integer()} - | {userData, wx:wx_object()}. + Option :: {'proportion', integer()} + | {'flag', integer()} + | {'border', integer()} + | {'userData', wx:wx_object()}. add(This,Width,Height) when is_record(This, wx_ref),is_integer(Width),is_integer(Height) -> @@ -141,31 +141,31 @@ add(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=WindowT,ref=WindowRef}, Options %% <br /> Also:<br /> %% add(This, Width, Height, [Option]) -> wxSizerItem:wxSizerItem() when<br /> %% This::wxGridBagSizer(), Width::integer(), Height::integer(),<br /> -%% Option :: {proportion, integer()}<br /> -%% | {flag, integer()}<br /> -%% | {border, integer()}<br /> -%% | {userData, wx:wx_object()};<br /> +%% Option :: {'proportion', integer()}<br /> +%% | {'flag', integer()}<br /> +%% | {'border', integer()}<br /> +%% | {'userData', wx:wx_object()};<br /> %% (This, Window, Pos, [Option]) -> wxSizerItem:wxSizerItem() when<br /> %% This::wxGridBagSizer(), Window::wxWindow:wxWindow() | wxSizer:wxSizer(), Pos::{R::integer(), C::integer()},<br /> -%% Option :: {span, {RS::integer(), CS::integer()}}<br /> -%% | {flag, integer()}<br /> -%% | {border, integer()}<br /> -%% | {userData, wx:wx_object()}.<br /> +%% Option :: {'span', {RS::integer(), CS::integer()}}<br /> +%% | {'flag', integer()}<br /> +%% | {'border', integer()}<br /> +%% | {'userData', wx:wx_object()}.<br /> %% -spec add(This, Width, Height, Pos) -> wxSizerItem:wxSizerItem() when This::wxGridBagSizer(), Width::integer(), Height::integer(), Pos::{R::integer(), C::integer()}; (This, Width, Height, [Option]) -> wxSizerItem:wxSizerItem() when This::wxGridBagSizer(), Width::integer(), Height::integer(), - Option :: {proportion, integer()} - | {flag, integer()} - | {border, integer()} - | {userData, wx:wx_object()}; + Option :: {'proportion', integer()} + | {'flag', integer()} + | {'border', integer()} + | {'userData', wx:wx_object()}; (This, Window, Pos, [Option]) -> wxSizerItem:wxSizerItem() when This::wxGridBagSizer(), Window::wxWindow:wxWindow() | wxSizer:wxSizer(), Pos::{R::integer(), C::integer()}, - Option :: {span, {RS::integer(), CS::integer()}} - | {flag, integer()} - | {border, integer()} - | {userData, wx:wx_object()}. + Option :: {'span', {RS::integer(), CS::integer()}} + | {'flag', integer()} + | {'border', integer()} + | {'userData', wx:wx_object()}. add(This,Width,Height,Pos={PosR,PosC}) when is_record(This, wx_ref),is_integer(Width),is_integer(Height),is_integer(PosR),is_integer(PosC) -> @@ -202,10 +202,10 @@ add(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=WindowT,ref=WindowRef},{PosR,Po %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgridbagsizer.html#wxgridbagsizeradd">external documentation</a>. -spec add(This, Width, Height, Pos, [Option]) -> wxSizerItem:wxSizerItem() when This::wxGridBagSizer(), Width::integer(), Height::integer(), Pos::{R::integer(), C::integer()}, - Option :: {span, {RS::integer(), CS::integer()}} - | {flag, integer()} - | {border, integer()} - | {userData, wx:wx_object()}. + Option :: {'span', {RS::integer(), CS::integer()}} + | {'flag', integer()} + | {'border', integer()} + | {'userData', wx:wx_object()}. add(#wx_ref{type=ThisT,ref=ThisRef},Width,Height,{PosR,PosC}, Options) when is_integer(Width),is_integer(Height),is_integer(PosR),is_integer(PosC),is_list(Options) -> ?CLASS(ThisT,wxGridBagSizer), @@ -238,13 +238,13 @@ checkForIntersection(This,Item) %% <br /> Also:<br /> %% checkForIntersection(This, Item, [Option]) -> boolean() when<br /> %% This::wxGridBagSizer(), Item::wxGBSizerItem:wxGBSizerItem(),<br /> -%% Option :: {excludeItem, wxGBSizerItem:wxGBSizerItem()}.<br /> +%% Option :: {'excludeItem', wxGBSizerItem:wxGBSizerItem()}.<br /> %% -spec checkForIntersection(This, Pos, Span) -> boolean() when This::wxGridBagSizer(), Pos::{R::integer(), C::integer()}, Span::{RS::integer(), CS::integer()}; (This, Item, [Option]) -> boolean() when This::wxGridBagSizer(), Item::wxGBSizerItem:wxGBSizerItem(), - Option :: {excludeItem, wxGBSizerItem:wxGBSizerItem()}. + Option :: {'excludeItem', wxGBSizerItem:wxGBSizerItem()}. checkForIntersection(This,Pos={PosR,PosC},Span={SpanRS,SpanCS}) when is_record(This, wx_ref),is_integer(PosR),is_integer(PosC),is_integer(SpanRS),is_integer(SpanCS) -> @@ -262,7 +262,7 @@ checkForIntersection(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ItemT,ref=Item %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgridbagsizer.html#wxgridbagsizercheckforintersection">external documentation</a>. -spec checkForIntersection(This, Pos, Span, [Option]) -> boolean() when This::wxGridBagSizer(), Pos::{R::integer(), C::integer()}, Span::{RS::integer(), CS::integer()}, - Option :: {excludeItem, wxGBSizerItem:wxGBSizerItem()}. + Option :: {'excludeItem', wxGBSizerItem:wxGBSizerItem()}. checkForIntersection(#wx_ref{type=ThisT,ref=ThisRef},{PosR,PosC},{SpanRS,SpanCS}, Options) when is_integer(PosR),is_integer(PosC),is_integer(SpanRS),is_integer(SpanCS),is_list(Options) -> ?CLASS(ThisT,wxGridBagSizer), @@ -381,7 +381,7 @@ getItemSpan(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=WindowT,ref=WindowRef}) <<ThisRef:32/?UI,WindowRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgridbagsizer.html#wxgridbagsizersetemptycellsize">external documentation</a>. --spec setEmptyCellSize(This, Sz) -> ok when +-spec setEmptyCellSize(This, Sz) -> 'ok' when This::wxGridBagSizer(), Sz::{W::integer(), H::integer()}. setEmptyCellSize(#wx_ref{type=ThisT,ref=ThisRef},{SzW,SzH}) when is_integer(SzW),is_integer(SzH) -> @@ -442,7 +442,7 @@ setItemSpan(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=WindowT,ref=WindowRef}, <<ThisRef:32/?UI,WindowRef:32/?UI,SpanRS:32/?UI,SpanCS:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxGridBagSizer()) -> ok. +-spec destroy(This::wxGridBagSizer()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxGridBagSizer), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxGridCellAttr.erl b/lib/wx/src/gen/wxGridCellAttr.erl index 8d55155c5c..b279be25d8 100644 --- a/lib/wx/src/gen/wxGridCellAttr.erl +++ b/lib/wx/src/gen/wxGridCellAttr.erl @@ -40,7 +40,7 @@ parent_class(_Class) -> erlang:error({badtype, ?MODULE}). -type wxGridCellAttr() :: wx:wx_object(). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgridcellattr.html#wxgridcellattrsettextcolour">external documentation</a>. --spec setTextColour(This, ColText) -> ok when +-spec setTextColour(This, ColText) -> 'ok' when This::wxGridCellAttr(), ColText::wx:wx_colour(). setTextColour(#wx_ref{type=ThisT,ref=ThisRef},ColText) when tuple_size(ColText) =:= 3; tuple_size(ColText) =:= 4 -> @@ -49,7 +49,7 @@ setTextColour(#wx_ref{type=ThisT,ref=ThisRef},ColText) <<ThisRef:32/?UI,(wxe_util:colour_bin(ColText)):16/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgridcellattr.html#wxgridcellattrsetbackgroundcolour">external documentation</a>. --spec setBackgroundColour(This, ColBack) -> ok when +-spec setBackgroundColour(This, ColBack) -> 'ok' when This::wxGridCellAttr(), ColBack::wx:wx_colour(). setBackgroundColour(#wx_ref{type=ThisT,ref=ThisRef},ColBack) when tuple_size(ColBack) =:= 3; tuple_size(ColBack) =:= 4 -> @@ -58,7 +58,7 @@ setBackgroundColour(#wx_ref{type=ThisT,ref=ThisRef},ColBack) <<ThisRef:32/?UI,(wxe_util:colour_bin(ColBack)):16/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgridcellattr.html#wxgridcellattrsetfont">external documentation</a>. --spec setFont(This, Font) -> ok when +-spec setFont(This, Font) -> 'ok' when This::wxGridCellAttr(), Font::wxFont:wxFont(). setFont(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=FontT,ref=FontRef}) -> ?CLASS(ThisT,wxGridCellAttr), @@ -67,7 +67,7 @@ setFont(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=FontT,ref=FontRef}) -> <<ThisRef:32/?UI,FontRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgridcellattr.html#wxgridcellattrsetalignment">external documentation</a>. --spec setAlignment(This, HAlign, VAlign) -> ok when +-spec setAlignment(This, HAlign, VAlign) -> 'ok' when This::wxGridCellAttr(), HAlign::integer(), VAlign::integer(). setAlignment(#wx_ref{type=ThisT,ref=ThisRef},HAlign,VAlign) when is_integer(HAlign),is_integer(VAlign) -> @@ -76,7 +76,7 @@ setAlignment(#wx_ref{type=ThisT,ref=ThisRef},HAlign,VAlign) <<ThisRef:32/?UI,HAlign:32/?UI,VAlign:32/?UI>>). %% @equiv setReadOnly(This, []) --spec setReadOnly(This) -> ok when +-spec setReadOnly(This) -> 'ok' when This::wxGridCellAttr(). setReadOnly(This) @@ -84,9 +84,9 @@ setReadOnly(This) setReadOnly(This, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgridcellattr.html#wxgridcellattrsetreadonly">external documentation</a>. --spec setReadOnly(This, [Option]) -> ok when +-spec setReadOnly(This, [Option]) -> 'ok' when This::wxGridCellAttr(), - Option :: {isReadOnly, boolean()}. + Option :: {'isReadOnly', boolean()}. setReadOnly(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxGridCellAttr), @@ -97,7 +97,7 @@ setReadOnly(#wx_ref{type=ThisT,ref=ThisRef}, Options) <<ThisRef:32/?UI, 0:32,BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgridcellattr.html#wxgridcellattrsetrenderer">external documentation</a>. --spec setRenderer(This, Renderer) -> ok when +-spec setRenderer(This, Renderer) -> 'ok' when This::wxGridCellAttr(), Renderer::wxGridCellRenderer:wxGridCellRenderer(). setRenderer(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=RendererT,ref=RendererRef}) -> ?CLASS(ThisT,wxGridCellAttr), @@ -106,7 +106,7 @@ setRenderer(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=RendererT,ref=RendererR <<ThisRef:32/?UI,RendererRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgridcellattr.html#wxgridcellattrseteditor">external documentation</a>. --spec setEditor(This, Editor) -> ok when +-spec setEditor(This, Editor) -> 'ok' when This::wxGridCellAttr(), Editor::wxGridCellEditor:wxGridCellEditor(). setEditor(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=EditorT,ref=EditorRef}) -> ?CLASS(ThisT,wxGridCellAttr), @@ -223,7 +223,7 @@ isReadOnly(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgridcellattr.html#wxgridcellattrsetdefattr">external documentation</a>. --spec setDefAttr(This, DefAttr) -> ok when +-spec setDefAttr(This, DefAttr) -> 'ok' when This::wxGridCellAttr(), DefAttr::wxGridCellAttr(). setDefAttr(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=DefAttrT,ref=DefAttrRef}) -> ?CLASS(ThisT,wxGridCellAttr), diff --git a/lib/wx/src/gen/wxGridCellBoolEditor.erl b/lib/wx/src/gen/wxGridCellBoolEditor.erl index 93a05e2959..1d949d54ff 100644 --- a/lib/wx/src/gen/wxGridCellBoolEditor.erl +++ b/lib/wx/src/gen/wxGridCellBoolEditor.erl @@ -58,15 +58,15 @@ isTrueValue(Value) <<(byte_size(Value_UC)):32/?UI,(Value_UC)/binary, 0:(((8- ((4+byte_size(Value_UC)) band 16#7)) band 16#7))/unit:8>>). %% @equiv useStringValues([]) --spec useStringValues() -> ok. +-spec useStringValues() -> 'ok'. useStringValues() -> useStringValues([]). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgridcellbooleditor.html#wxgridcellbooleditorusestringvalues">external documentation</a>. --spec useStringValues([Option]) -> ok when - Option :: {valueTrue, unicode:chardata()} - | {valueFalse, unicode:chardata()}. +-spec useStringValues([Option]) -> 'ok' when + Option :: {'valueTrue', unicode:chardata()} + | {'valueFalse', unicode:chardata()}. useStringValues(Options) when is_list(Options) -> MOpts = fun({valueTrue, ValueTrue}, Acc) -> ValueTrue_UC = unicode:characters_to_binary([ValueTrue,0]),[<<1:32/?UI,(byte_size(ValueTrue_UC)):32/?UI,(ValueTrue_UC)/binary, 0:(((8- ((0+byte_size(ValueTrue_UC)) band 16#7)) band 16#7))/unit:8>>|Acc]; @@ -77,7 +77,7 @@ useStringValues(Options) <<BinOpt/binary>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxGridCellBoolEditor()) -> ok. +-spec destroy(This::wxGridCellBoolEditor()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxGridCellBoolEditor), wxe_util:destroy(?wxGridCellBoolEditor_destroy,Obj), diff --git a/lib/wx/src/gen/wxGridCellBoolRenderer.erl b/lib/wx/src/gen/wxGridCellBoolRenderer.erl index ce576a3c1d..acdb9cb18f 100644 --- a/lib/wx/src/gen/wxGridCellBoolRenderer.erl +++ b/lib/wx/src/gen/wxGridCellBoolRenderer.erl @@ -46,7 +46,7 @@ new() -> <<>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxGridCellBoolRenderer()) -> ok. +-spec destroy(This::wxGridCellBoolRenderer()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxGridCellBoolRenderer), wxe_util:destroy(?wxGridCellBoolRenderer_destroy,Obj), diff --git a/lib/wx/src/gen/wxGridCellChoiceEditor.erl b/lib/wx/src/gen/wxGridCellChoiceEditor.erl index 3e24ea21a0..d5487c3618 100644 --- a/lib/wx/src/gen/wxGridCellChoiceEditor.erl +++ b/lib/wx/src/gen/wxGridCellChoiceEditor.erl @@ -53,7 +53,7 @@ new(Choices) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgridcellchoiceeditor.html#wxgridcellchoiceeditorwxgridcellchoiceeditor">external documentation</a>. -spec new(Choices, [Option]) -> wxGridCellChoiceEditor() when Choices::[unicode:chardata()], - Option :: {allowOthers, boolean()}. + Option :: {'allowOthers', boolean()}. new(Choices, Options) when is_list(Choices),is_list(Options) -> Choices_UCA = [unicode:characters_to_binary([ChoicesTemp,0]) || @@ -65,7 +65,7 @@ new(Choices, Options) <<(length(Choices_UCA)):32/?UI, (<< <<(byte_size(UC_Str)):32/?UI, UC_Str/binary>>|| UC_Str <- Choices_UCA>>)/binary, 0:(((8- ((4 + lists:sum([byte_size(S)+4||S<-Choices_UCA])) band 16#7)) band 16#7))/unit:8, BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgridcellchoiceeditor.html#wxgridcellchoiceeditorsetparameters">external documentation</a>. --spec setParameters(This, Params) -> ok when +-spec setParameters(This, Params) -> 'ok' when This::wxGridCellChoiceEditor(), Params::unicode:chardata(). setParameters(#wx_ref{type=ThisT,ref=ThisRef},Params) when is_list(Params) -> @@ -75,7 +75,7 @@ setParameters(#wx_ref{type=ThisT,ref=ThisRef},Params) <<ThisRef:32/?UI,(byte_size(Params_UC)):32/?UI,(Params_UC)/binary, 0:(((8- ((0+byte_size(Params_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxGridCellChoiceEditor()) -> ok. +-spec destroy(This::wxGridCellChoiceEditor()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxGridCellChoiceEditor), wxe_util:destroy(?wxGridCellChoiceEditor_destroy,Obj), diff --git a/lib/wx/src/gen/wxGridCellEditor.erl b/lib/wx/src/gen/wxGridCellEditor.erl index 03b196e5a2..d14b1c994c 100644 --- a/lib/wx/src/gen/wxGridCellEditor.erl +++ b/lib/wx/src/gen/wxGridCellEditor.erl @@ -39,7 +39,7 @@ parent_class(_Class) -> erlang:error({badtype, ?MODULE}). -type wxGridCellEditor() :: wx:wx_object(). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgridcelleditor.html#wxgridcelleditorcreate">external documentation</a>. --spec create(This, Parent, Id, EvtHandler) -> ok when +-spec create(This, Parent, Id, EvtHandler) -> 'ok' when This::wxGridCellEditor(), Parent::wxWindow:wxWindow(), Id::integer(), EvtHandler::wxEvtHandler:wxEvtHandler(). create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef},Id,#wx_ref{type=EvtHandlerT,ref=EvtHandlerRef}) when is_integer(Id) -> @@ -58,7 +58,7 @@ isCreated(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgridcelleditor.html#wxgridcelleditorsetsize">external documentation</a>. --spec setSize(This, Rect) -> ok when +-spec setSize(This, Rect) -> 'ok' when This::wxGridCellEditor(), Rect::{X::integer(), Y::integer(), W::integer(), H::integer()}. setSize(#wx_ref{type=ThisT,ref=ThisRef},{RectX,RectY,RectW,RectH}) when is_integer(RectX),is_integer(RectY),is_integer(RectW),is_integer(RectH) -> @@ -67,7 +67,7 @@ setSize(#wx_ref{type=ThisT,ref=ThisRef},{RectX,RectY,RectW,RectH}) <<ThisRef:32/?UI,RectX:32/?UI,RectY:32/?UI,RectW:32/?UI,RectH:32/?UI>>). %% @equiv show(This,Show, []) --spec show(This, Show) -> ok when +-spec show(This, Show) -> 'ok' when This::wxGridCellEditor(), Show::boolean(). show(This,Show) @@ -75,9 +75,9 @@ show(This,Show) show(This,Show, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgridcelleditor.html#wxgridcelleditorshow">external documentation</a>. --spec show(This, Show, [Option]) -> ok when +-spec show(This, Show, [Option]) -> 'ok' when This::wxGridCellEditor(), Show::boolean(), - Option :: {attr, wxGridCellAttr:wxGridCellAttr()}. + Option :: {'attr', wxGridCellAttr:wxGridCellAttr()}. show(#wx_ref{type=ThisT,ref=ThisRef},Show, Options) when is_boolean(Show),is_list(Options) -> ?CLASS(ThisT,wxGridCellEditor), @@ -88,7 +88,7 @@ show(#wx_ref{type=ThisT,ref=ThisRef},Show, Options) <<ThisRef:32/?UI,(wxe_util:from_bool(Show)):32/?UI, BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgridcelleditor.html#wxgridcelleditorpaintbackground">external documentation</a>. --spec paintBackground(This, RectCell, Attr) -> ok when +-spec paintBackground(This, RectCell, Attr) -> 'ok' when This::wxGridCellEditor(), RectCell::{X::integer(), Y::integer(), W::integer(), H::integer()}, Attr::wxGridCellAttr:wxGridCellAttr(). paintBackground(#wx_ref{type=ThisT,ref=ThisRef},{RectCellX,RectCellY,RectCellW,RectCellH},#wx_ref{type=AttrT,ref=AttrRef}) when is_integer(RectCellX),is_integer(RectCellY),is_integer(RectCellW),is_integer(RectCellH) -> @@ -98,7 +98,7 @@ paintBackground(#wx_ref{type=ThisT,ref=ThisRef},{RectCellX,RectCellY,RectCellW,R <<ThisRef:32/?UI,RectCellX:32/?UI,RectCellY:32/?UI,RectCellW:32/?UI,RectCellH:32/?UI,AttrRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgridcelleditor.html#wxgridcelleditorbeginedit">external documentation</a>. --spec beginEdit(This, Row, Col, Grid) -> ok when +-spec beginEdit(This, Row, Col, Grid) -> 'ok' when This::wxGridCellEditor(), Row::integer(), Col::integer(), Grid::wxGrid:wxGrid(). beginEdit(#wx_ref{type=ThisT,ref=ThisRef},Row,Col,#wx_ref{type=GridT,ref=GridRef}) when is_integer(Row),is_integer(Col) -> @@ -118,7 +118,7 @@ endEdit(#wx_ref{type=ThisT,ref=ThisRef},Row,Col,#wx_ref{type=GridT,ref=GridRef}) <<ThisRef:32/?UI,Row:32/?UI,Col:32/?UI,GridRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgridcelleditor.html#wxgridcelleditorreset">external documentation</a>. --spec reset(This) -> ok when +-spec reset(This) -> 'ok' when This::wxGridCellEditor(). reset(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxGridCellEditor), @@ -126,7 +126,7 @@ reset(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgridcelleditor.html#wxgridcelleditorstartingkey">external documentation</a>. --spec startingKey(This, Event) -> ok when +-spec startingKey(This, Event) -> 'ok' when This::wxGridCellEditor(), Event::wxKeyEvent:wxKeyEvent(). startingKey(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=EventT,ref=EventRef}) -> ?CLASS(ThisT,wxGridCellEditor), @@ -135,7 +135,7 @@ startingKey(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=EventT,ref=EventRef}) - <<ThisRef:32/?UI,EventRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgridcelleditor.html#wxgridcelleditorstartingclick">external documentation</a>. --spec startingClick(This) -> ok when +-spec startingClick(This) -> 'ok' when This::wxGridCellEditor(). startingClick(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxGridCellEditor), @@ -143,7 +143,7 @@ startingClick(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgridcelleditor.html#wxgridcelleditorhandlereturn">external documentation</a>. --spec handleReturn(This, Event) -> ok when +-spec handleReturn(This, Event) -> 'ok' when This::wxGridCellEditor(), Event::wxKeyEvent:wxKeyEvent(). handleReturn(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=EventT,ref=EventRef}) -> ?CLASS(ThisT,wxGridCellEditor), diff --git a/lib/wx/src/gen/wxGridCellFloatEditor.erl b/lib/wx/src/gen/wxGridCellFloatEditor.erl index e4f8b81fef..6e85469ecf 100644 --- a/lib/wx/src/gen/wxGridCellFloatEditor.erl +++ b/lib/wx/src/gen/wxGridCellFloatEditor.erl @@ -50,8 +50,8 @@ new() -> %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgridcellfloateditor.html#wxgridcellfloateditorwxgridcellfloateditor">external documentation</a>. -spec new([Option]) -> wxGridCellFloatEditor() when - Option :: {width, integer()} - | {precision, integer()}. + Option :: {'width', integer()} + | {'precision', integer()}. new(Options) when is_list(Options) -> MOpts = fun({width, Width}, Acc) -> [<<1:32/?UI,Width:32/?UI>>|Acc]; @@ -62,7 +62,7 @@ new(Options) <<BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgridcellfloateditor.html#wxgridcellfloateditorsetparameters">external documentation</a>. --spec setParameters(This, Params) -> ok when +-spec setParameters(This, Params) -> 'ok' when This::wxGridCellFloatEditor(), Params::unicode:chardata(). setParameters(#wx_ref{type=ThisT,ref=ThisRef},Params) when is_list(Params) -> @@ -72,7 +72,7 @@ setParameters(#wx_ref{type=ThisT,ref=ThisRef},Params) <<ThisRef:32/?UI,(byte_size(Params_UC)):32/?UI,(Params_UC)/binary, 0:(((8- ((0+byte_size(Params_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxGridCellFloatEditor()) -> ok. +-spec destroy(This::wxGridCellFloatEditor()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxGridCellFloatEditor), wxe_util:destroy(?wxGridCellFloatEditor_destroy,Obj), diff --git a/lib/wx/src/gen/wxGridCellFloatRenderer.erl b/lib/wx/src/gen/wxGridCellFloatRenderer.erl index c5ddf78c44..ccb29902b3 100644 --- a/lib/wx/src/gen/wxGridCellFloatRenderer.erl +++ b/lib/wx/src/gen/wxGridCellFloatRenderer.erl @@ -50,8 +50,8 @@ new() -> %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgridcellfloatrenderer.html#wxgridcellfloatrendererwxgridcellfloatrenderer">external documentation</a>. -spec new([Option]) -> wxGridCellFloatRenderer() when - Option :: {width, integer()} - | {precision, integer()}. + Option :: {'width', integer()} + | {'precision', integer()}. new(Options) when is_list(Options) -> MOpts = fun({width, Width}, Acc) -> [<<1:32/?UI,Width:32/?UI>>|Acc]; @@ -78,7 +78,7 @@ getWidth(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgridcellfloatrenderer.html#wxgridcellfloatrenderersetparameters">external documentation</a>. --spec setParameters(This, Params) -> ok when +-spec setParameters(This, Params) -> 'ok' when This::wxGridCellFloatRenderer(), Params::unicode:chardata(). setParameters(#wx_ref{type=ThisT,ref=ThisRef},Params) when is_list(Params) -> @@ -88,7 +88,7 @@ setParameters(#wx_ref{type=ThisT,ref=ThisRef},Params) <<ThisRef:32/?UI,(byte_size(Params_UC)):32/?UI,(Params_UC)/binary, 0:(((8- ((0+byte_size(Params_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgridcellfloatrenderer.html#wxgridcellfloatrenderersetprecision">external documentation</a>. --spec setPrecision(This, Precision) -> ok when +-spec setPrecision(This, Precision) -> 'ok' when This::wxGridCellFloatRenderer(), Precision::integer(). setPrecision(#wx_ref{type=ThisT,ref=ThisRef},Precision) when is_integer(Precision) -> @@ -97,7 +97,7 @@ setPrecision(#wx_ref{type=ThisT,ref=ThisRef},Precision) <<ThisRef:32/?UI,Precision:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgridcellfloatrenderer.html#wxgridcellfloatrenderersetwidth">external documentation</a>. --spec setWidth(This, Width) -> ok when +-spec setWidth(This, Width) -> 'ok' when This::wxGridCellFloatRenderer(), Width::integer(). setWidth(#wx_ref{type=ThisT,ref=ThisRef},Width) when is_integer(Width) -> @@ -106,7 +106,7 @@ setWidth(#wx_ref{type=ThisT,ref=ThisRef},Width) <<ThisRef:32/?UI,Width:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxGridCellFloatRenderer()) -> ok. +-spec destroy(This::wxGridCellFloatRenderer()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxGridCellFloatRenderer), wxe_util:destroy(?wxGridCellFloatRenderer_destroy,Obj), diff --git a/lib/wx/src/gen/wxGridCellNumberEditor.erl b/lib/wx/src/gen/wxGridCellNumberEditor.erl index fb42faaf24..7a47024b2f 100644 --- a/lib/wx/src/gen/wxGridCellNumberEditor.erl +++ b/lib/wx/src/gen/wxGridCellNumberEditor.erl @@ -52,8 +52,8 @@ new() -> %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgridcellnumbereditor.html#wxgridcellnumbereditorwxgridcellnumbereditor">external documentation</a>. -spec new([Option]) -> wxGridCellNumberEditor() when - Option :: {min, integer()} - | {max, integer()}. + Option :: {'min', integer()} + | {'max', integer()}. new(Options) when is_list(Options) -> MOpts = fun({min, Min}, Acc) -> [<<1:32/?UI,Min:32/?UI>>|Acc]; @@ -72,7 +72,7 @@ getValue(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgridcellnumbereditor.html#wxgridcellnumbereditorsetparameters">external documentation</a>. --spec setParameters(This, Params) -> ok when +-spec setParameters(This, Params) -> 'ok' when This::wxGridCellNumberEditor(), Params::unicode:chardata(). setParameters(#wx_ref{type=ThisT,ref=ThisRef},Params) when is_list(Params) -> @@ -82,7 +82,7 @@ setParameters(#wx_ref{type=ThisT,ref=ThisRef},Params) <<ThisRef:32/?UI,(byte_size(Params_UC)):32/?UI,(Params_UC)/binary, 0:(((8- ((0+byte_size(Params_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxGridCellNumberEditor()) -> ok. +-spec destroy(This::wxGridCellNumberEditor()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxGridCellNumberEditor), wxe_util:destroy(?wxGridCellNumberEditor_destroy,Obj), diff --git a/lib/wx/src/gen/wxGridCellNumberRenderer.erl b/lib/wx/src/gen/wxGridCellNumberRenderer.erl index 815640f6da..1267bb4167 100644 --- a/lib/wx/src/gen/wxGridCellNumberRenderer.erl +++ b/lib/wx/src/gen/wxGridCellNumberRenderer.erl @@ -48,7 +48,7 @@ new() -> <<>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxGridCellNumberRenderer()) -> ok. +-spec destroy(This::wxGridCellNumberRenderer()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxGridCellNumberRenderer), wxe_util:destroy(?wxGridCellNumberRenderer_destroy,Obj), diff --git a/lib/wx/src/gen/wxGridCellRenderer.erl b/lib/wx/src/gen/wxGridCellRenderer.erl index 00f553b71a..53d43f12a4 100644 --- a/lib/wx/src/gen/wxGridCellRenderer.erl +++ b/lib/wx/src/gen/wxGridCellRenderer.erl @@ -36,7 +36,7 @@ parent_class(_Class) -> erlang:error({badtype, ?MODULE}). -type wxGridCellRenderer() :: wx:wx_object(). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgridcellrenderer.html#wxgridcellrendererdraw">external documentation</a>. --spec draw(This, Grid, Attr, Dc, Rect, Row, Col, IsSelected) -> ok when +-spec draw(This, Grid, Attr, Dc, Rect, Row, Col, IsSelected) -> 'ok' when This::wxGridCellRenderer(), Grid::wxGrid:wxGrid(), Attr::wxGridCellAttr:wxGridCellAttr(), Dc::wxDC:wxDC(), Rect::{X::integer(), Y::integer(), W::integer(), H::integer()}, Row::integer(), Col::integer(), IsSelected::boolean(). draw(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=GridT,ref=GridRef},#wx_ref{type=AttrT,ref=AttrRef},#wx_ref{type=DcT,ref=DcRef},{RectX,RectY,RectW,RectH},Row,Col,IsSelected) when is_integer(RectX),is_integer(RectY),is_integer(RectW),is_integer(RectH),is_integer(Row),is_integer(Col),is_boolean(IsSelected) -> diff --git a/lib/wx/src/gen/wxGridCellStringRenderer.erl b/lib/wx/src/gen/wxGridCellStringRenderer.erl index fce72cf02b..7602187a7a 100644 --- a/lib/wx/src/gen/wxGridCellStringRenderer.erl +++ b/lib/wx/src/gen/wxGridCellStringRenderer.erl @@ -46,7 +46,7 @@ new() -> <<>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxGridCellStringRenderer()) -> ok. +-spec destroy(This::wxGridCellStringRenderer()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxGridCellStringRenderer), wxe_util:destroy(?wxGridCellStringRenderer_destroy,Obj), diff --git a/lib/wx/src/gen/wxGridCellTextEditor.erl b/lib/wx/src/gen/wxGridCellTextEditor.erl index e6d3f508b7..4ddb4a7028 100644 --- a/lib/wx/src/gen/wxGridCellTextEditor.erl +++ b/lib/wx/src/gen/wxGridCellTextEditor.erl @@ -49,7 +49,7 @@ new() -> <<>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgridcelltexteditor.html#wxgridcelltexteditorsetparameters">external documentation</a>. --spec setParameters(This, Params) -> ok when +-spec setParameters(This, Params) -> 'ok' when This::wxGridCellTextEditor(), Params::unicode:chardata(). setParameters(#wx_ref{type=ThisT,ref=ThisRef},Params) when is_list(Params) -> @@ -59,7 +59,7 @@ setParameters(#wx_ref{type=ThisT,ref=ThisRef},Params) <<ThisRef:32/?UI,(byte_size(Params_UC)):32/?UI,(Params_UC)/binary, 0:(((8- ((0+byte_size(Params_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxGridCellTextEditor()) -> ok. +-spec destroy(This::wxGridCellTextEditor()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxGridCellTextEditor), wxe_util:destroy(?wxGridCellTextEditor_destroy,Obj), diff --git a/lib/wx/src/gen/wxGridSizer.erl b/lib/wx/src/gen/wxGridSizer.erl index 5cfede3e9c..bb2127f92a 100644 --- a/lib/wx/src/gen/wxGridSizer.erl +++ b/lib/wx/src/gen/wxGridSizer.erl @@ -59,8 +59,8 @@ new(Cols) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgridsizer.html#wxgridsizerwxgridsizer">external documentation</a>. -spec new(Cols, [Option]) -> wxGridSizer() when Cols::integer(), - Option :: {vgap, integer()} - | {hgap, integer()}. + Option :: {'vgap', integer()} + | {'hgap', integer()}. new(Cols, Options) when is_integer(Cols),is_list(Options) -> MOpts = fun({vgap, Vgap}, Acc) -> [<<1:32/?UI,Vgap:32/?UI>>|Acc]; @@ -111,7 +111,7 @@ getVGap(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgridsizer.html#wxgridsizersetcols">external documentation</a>. --spec setCols(This, Cols) -> ok when +-spec setCols(This, Cols) -> 'ok' when This::wxGridSizer(), Cols::integer(). setCols(#wx_ref{type=ThisT,ref=ThisRef},Cols) when is_integer(Cols) -> @@ -120,7 +120,7 @@ setCols(#wx_ref{type=ThisT,ref=ThisRef},Cols) <<ThisRef:32/?UI,Cols:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgridsizer.html#wxgridsizersethgap">external documentation</a>. --spec setHGap(This, Gap) -> ok when +-spec setHGap(This, Gap) -> 'ok' when This::wxGridSizer(), Gap::integer(). setHGap(#wx_ref{type=ThisT,ref=ThisRef},Gap) when is_integer(Gap) -> @@ -129,7 +129,7 @@ setHGap(#wx_ref{type=ThisT,ref=ThisRef},Gap) <<ThisRef:32/?UI,Gap:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgridsizer.html#wxgridsizersetrows">external documentation</a>. --spec setRows(This, Rows) -> ok when +-spec setRows(This, Rows) -> 'ok' when This::wxGridSizer(), Rows::integer(). setRows(#wx_ref{type=ThisT,ref=ThisRef},Rows) when is_integer(Rows) -> @@ -138,7 +138,7 @@ setRows(#wx_ref{type=ThisT,ref=ThisRef},Rows) <<ThisRef:32/?UI,Rows:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxgridsizer.html#wxgridsizersetvgap">external documentation</a>. --spec setVGap(This, Gap) -> ok when +-spec setVGap(This, Gap) -> 'ok' when This::wxGridSizer(), Gap::integer(). setVGap(#wx_ref{type=ThisT,ref=ThisRef},Gap) when is_integer(Gap) -> @@ -147,7 +147,7 @@ setVGap(#wx_ref{type=ThisT,ref=ThisRef},Gap) <<ThisRef:32/?UI,Gap:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxGridSizer()) -> ok. +-spec destroy(This::wxGridSizer()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxGridSizer), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxHelpEvent.erl b/lib/wx/src/gen/wxHelpEvent.erl index ec5107a3dc..251167d41e 100644 --- a/lib/wx/src/gen/wxHelpEvent.erl +++ b/lib/wx/src/gen/wxHelpEvent.erl @@ -63,7 +63,7 @@ getPosition(#wx_ref{type=ThisT,ref=ThisRef}) -> %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxhelpevent.html#wxhelpeventsetorigin">external documentation</a>. %%<br /> Origin = ?wxHelpEvent_Origin_Unknown | ?wxHelpEvent_Origin_Keyboard | ?wxHelpEvent_Origin_HelpButton --spec setOrigin(This, Origin) -> ok when +-spec setOrigin(This, Origin) -> 'ok' when This::wxHelpEvent(), Origin::wx:wx_enum(). setOrigin(#wx_ref{type=ThisT,ref=ThisRef},Origin) when is_integer(Origin) -> @@ -72,7 +72,7 @@ setOrigin(#wx_ref{type=ThisT,ref=ThisRef},Origin) <<ThisRef:32/?UI,Origin:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxhelpevent.html#wxhelpeventsetposition">external documentation</a>. --spec setPosition(This, Pos) -> ok when +-spec setPosition(This, Pos) -> 'ok' when This::wxHelpEvent(), Pos::{X::integer(), Y::integer()}. setPosition(#wx_ref{type=ThisT,ref=ThisRef},{PosX,PosY}) when is_integer(PosX),is_integer(PosY) -> diff --git a/lib/wx/src/gen/wxHtmlEasyPrinting.erl b/lib/wx/src/gen/wxHtmlEasyPrinting.erl index b445fc01ab..a2cf46ed8d 100644 --- a/lib/wx/src/gen/wxHtmlEasyPrinting.erl +++ b/lib/wx/src/gen/wxHtmlEasyPrinting.erl @@ -46,8 +46,8 @@ new() -> %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxhtmleasyprinting.html#wxhtmleasyprintingwxhtmleasyprinting">external documentation</a>. -spec new([Option]) -> wxHtmlEasyPrinting() when - Option :: {name, unicode:chardata()} - | {parentWindow, wxWindow:wxWindow()}. + Option :: {'name', unicode:chardata()} + | {'parentWindow', wxWindow:wxWindow()}. new(Options) when is_list(Options) -> MOpts = fun({name, Name}, Acc) -> Name_UC = unicode:characters_to_binary([Name,0]),[<<1:32/?UI,(byte_size(Name_UC)):32/?UI,(Name_UC)/binary, 0:(((8- ((0+byte_size(Name_UC)) band 16#7)) band 16#7))/unit:8>>|Acc]; @@ -94,7 +94,7 @@ previewText(This,Htmltext) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxhtmleasyprinting.html#wxhtmleasyprintingpreviewtext">external documentation</a>. -spec previewText(This, Htmltext, [Option]) -> boolean() when This::wxHtmlEasyPrinting(), Htmltext::unicode:chardata(), - Option :: {basepath, unicode:chardata()}. + Option :: {'basepath', unicode:chardata()}. previewText(#wx_ref{type=ThisT,ref=ThisRef},Htmltext, Options) when is_list(Htmltext),is_list(Options) -> ?CLASS(ThisT,wxHtmlEasyPrinting), @@ -126,7 +126,7 @@ printText(This,Htmltext) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxhtmleasyprinting.html#wxhtmleasyprintingprinttext">external documentation</a>. -spec printText(This, Htmltext, [Option]) -> boolean() when This::wxHtmlEasyPrinting(), Htmltext::unicode:chardata(), - Option :: {basepath, unicode:chardata()}. + Option :: {'basepath', unicode:chardata()}. printText(#wx_ref{type=ThisT,ref=ThisRef},Htmltext, Options) when is_list(Htmltext),is_list(Options) -> ?CLASS(ThisT,wxHtmlEasyPrinting), @@ -138,7 +138,7 @@ printText(#wx_ref{type=ThisT,ref=ThisRef},Htmltext, Options) <<ThisRef:32/?UI,(byte_size(Htmltext_UC)):32/?UI,(Htmltext_UC)/binary, 0:(((8- ((0+byte_size(Htmltext_UC)) band 16#7)) band 16#7))/unit:8, BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxhtmleasyprinting.html#wxhtmleasyprintingpagesetup">external documentation</a>. --spec pageSetup(This) -> ok when +-spec pageSetup(This) -> 'ok' when This::wxHtmlEasyPrinting(). pageSetup(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxHtmlEasyPrinting), @@ -146,7 +146,7 @@ pageSetup(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @equiv setFonts(This,Normal_face,Fixed_face, []) --spec setFonts(This, Normal_face, Fixed_face) -> ok when +-spec setFonts(This, Normal_face, Fixed_face) -> 'ok' when This::wxHtmlEasyPrinting(), Normal_face::unicode:chardata(), Fixed_face::unicode:chardata(). setFonts(This,Normal_face,Fixed_face) @@ -154,9 +154,9 @@ setFonts(This,Normal_face,Fixed_face) setFonts(This,Normal_face,Fixed_face, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxhtmleasyprinting.html#wxhtmleasyprintingsetfonts">external documentation</a>. --spec setFonts(This, Normal_face, Fixed_face, [Option]) -> ok when +-spec setFonts(This, Normal_face, Fixed_face, [Option]) -> 'ok' when This::wxHtmlEasyPrinting(), Normal_face::unicode:chardata(), Fixed_face::unicode:chardata(), - Option :: {sizes, [integer()]}. + Option :: {'sizes', [integer()]}. setFonts(#wx_ref{type=ThisT,ref=ThisRef},Normal_face,Fixed_face, Options) when is_list(Normal_face),is_list(Fixed_face),is_list(Options) -> ?CLASS(ThisT,wxHtmlEasyPrinting), @@ -170,7 +170,7 @@ setFonts(#wx_ref{type=ThisT,ref=ThisRef},Normal_face,Fixed_face, Options) <<ThisRef:32/?UI,(byte_size(Normal_face_UC)):32/?UI,(Normal_face_UC)/binary, 0:(((8- ((0+byte_size(Normal_face_UC)) band 16#7)) band 16#7))/unit:8,(byte_size(Fixed_face_UC)):32/?UI,(Fixed_face_UC)/binary, 0:(((8- ((4+byte_size(Fixed_face_UC)) band 16#7)) band 16#7))/unit:8, BinOpt/binary>>). %% @equiv setHeader(This,Header, []) --spec setHeader(This, Header) -> ok when +-spec setHeader(This, Header) -> 'ok' when This::wxHtmlEasyPrinting(), Header::unicode:chardata(). setHeader(This,Header) @@ -178,9 +178,9 @@ setHeader(This,Header) setHeader(This,Header, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxhtmleasyprinting.html#wxhtmleasyprintingsetheader">external documentation</a>. --spec setHeader(This, Header, [Option]) -> ok when +-spec setHeader(This, Header, [Option]) -> 'ok' when This::wxHtmlEasyPrinting(), Header::unicode:chardata(), - Option :: {pg, integer()}. + Option :: {'pg', integer()}. setHeader(#wx_ref{type=ThisT,ref=ThisRef},Header, Options) when is_list(Header),is_list(Options) -> ?CLASS(ThisT,wxHtmlEasyPrinting), @@ -192,7 +192,7 @@ setHeader(#wx_ref{type=ThisT,ref=ThisRef},Header, Options) <<ThisRef:32/?UI,(byte_size(Header_UC)):32/?UI,(Header_UC)/binary, 0:(((8- ((0+byte_size(Header_UC)) band 16#7)) band 16#7))/unit:8, BinOpt/binary>>). %% @equiv setFooter(This,Footer, []) --spec setFooter(This, Footer) -> ok when +-spec setFooter(This, Footer) -> 'ok' when This::wxHtmlEasyPrinting(), Footer::unicode:chardata(). setFooter(This,Footer) @@ -200,9 +200,9 @@ setFooter(This,Footer) setFooter(This,Footer, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxhtmleasyprinting.html#wxhtmleasyprintingsetfooter">external documentation</a>. --spec setFooter(This, Footer, [Option]) -> ok when +-spec setFooter(This, Footer, [Option]) -> 'ok' when This::wxHtmlEasyPrinting(), Footer::unicode:chardata(), - Option :: {pg, integer()}. + Option :: {'pg', integer()}. setFooter(#wx_ref{type=ThisT,ref=ThisRef},Footer, Options) when is_list(Footer),is_list(Options) -> ?CLASS(ThisT,wxHtmlEasyPrinting), @@ -214,7 +214,7 @@ setFooter(#wx_ref{type=ThisT,ref=ThisRef},Footer, Options) <<ThisRef:32/?UI,(byte_size(Footer_UC)):32/?UI,(Footer_UC)/binary, 0:(((8- ((0+byte_size(Footer_UC)) band 16#7)) band 16#7))/unit:8, BinOpt/binary>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxHtmlEasyPrinting()) -> ok. +-spec destroy(This::wxHtmlEasyPrinting()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxHtmlEasyPrinting), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxHtmlWindow.erl b/lib/wx/src/gen/wxHtmlWindow.erl index 759b8ba0fd..f9bb135fcf 100644 --- a/lib/wx/src/gen/wxHtmlWindow.erl +++ b/lib/wx/src/gen/wxHtmlWindow.erl @@ -107,10 +107,10 @@ new(Parent) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxhtmlwindow.html#wxhtmlwindowwxhtmlwindow">external documentation</a>. -spec new(Parent, [Option]) -> wxHtmlWindow() when Parent::wxWindow:wxWindow(), - Option :: {id, integer()} - | {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()}. + Option :: {'id', integer()} + | {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()}. new(#wx_ref{type=ParentT,ref=ParentRef}, Options) when is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -190,7 +190,7 @@ historyCanForward(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxhtmlwindow.html#wxhtmlwindowhistoryclear">external documentation</a>. --spec historyClear(This) -> ok when +-spec historyClear(This) -> 'ok' when This::wxHtmlWindow(). historyClear(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxHtmlWindow), @@ -226,7 +226,7 @@ loadPage(#wx_ref{type=ThisT,ref=ThisRef},Location) <<ThisRef:32/?UI,(byte_size(Location_UC)):32/?UI,(Location_UC)/binary, 0:(((8- ((0+byte_size(Location_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxhtmlwindow.html#wxhtmlwindowselectall">external documentation</a>. --spec selectAll(This) -> ok when +-spec selectAll(This) -> 'ok' when This::wxHtmlWindow(). selectAll(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxHtmlWindow), @@ -242,7 +242,7 @@ selectionToText(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxhtmlwindow.html#wxhtmlwindowselectline">external documentation</a>. --spec selectLine(This, Pos) -> ok when +-spec selectLine(This, Pos) -> 'ok' when This::wxHtmlWindow(), Pos::{X::integer(), Y::integer()}. selectLine(#wx_ref{type=ThisT,ref=ThisRef},{PosX,PosY}) when is_integer(PosX),is_integer(PosY) -> @@ -251,7 +251,7 @@ selectLine(#wx_ref{type=ThisT,ref=ThisRef},{PosX,PosY}) <<ThisRef:32/?UI,PosX:32/?UI,PosY:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxhtmlwindow.html#wxhtmlwindowselectword">external documentation</a>. --spec selectWord(This, Pos) -> ok when +-spec selectWord(This, Pos) -> 'ok' when This::wxHtmlWindow(), Pos::{X::integer(), Y::integer()}. selectWord(#wx_ref{type=ThisT,ref=ThisRef},{PosX,PosY}) when is_integer(PosX),is_integer(PosY) -> @@ -260,7 +260,7 @@ selectWord(#wx_ref{type=ThisT,ref=ThisRef},{PosX,PosY}) <<ThisRef:32/?UI,PosX:32/?UI,PosY:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxhtmlwindow.html#wxhtmlwindowsetborders">external documentation</a>. --spec setBorders(This, B) -> ok when +-spec setBorders(This, B) -> 'ok' when This::wxHtmlWindow(), B::integer(). setBorders(#wx_ref{type=ThisT,ref=ThisRef},B) when is_integer(B) -> @@ -269,7 +269,7 @@ setBorders(#wx_ref{type=ThisT,ref=ThisRef},B) <<ThisRef:32/?UI,B:32/?UI>>). %% @equiv setFonts(This,Normal_face,Fixed_face, []) --spec setFonts(This, Normal_face, Fixed_face) -> ok when +-spec setFonts(This, Normal_face, Fixed_face) -> 'ok' when This::wxHtmlWindow(), Normal_face::unicode:chardata(), Fixed_face::unicode:chardata(). setFonts(This,Normal_face,Fixed_face) @@ -277,9 +277,9 @@ setFonts(This,Normal_face,Fixed_face) setFonts(This,Normal_face,Fixed_face, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxhtmlwindow.html#wxhtmlwindowsetfonts">external documentation</a>. --spec setFonts(This, Normal_face, Fixed_face, [Option]) -> ok when +-spec setFonts(This, Normal_face, Fixed_face, [Option]) -> 'ok' when This::wxHtmlWindow(), Normal_face::unicode:chardata(), Fixed_face::unicode:chardata(), - Option :: {sizes, integer()}. + Option :: {'sizes', integer()}. setFonts(#wx_ref{type=ThisT,ref=ThisRef},Normal_face,Fixed_face, Options) when is_list(Normal_face),is_list(Fixed_face),is_list(Options) -> ?CLASS(ThisT,wxHtmlWindow), @@ -302,7 +302,7 @@ setPage(#wx_ref{type=ThisT,ref=ThisRef},Source) <<ThisRef:32/?UI,(byte_size(Source_UC)):32/?UI,(Source_UC)/binary, 0:(((8- ((0+byte_size(Source_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxhtmlwindow.html#wxhtmlwindowsetrelatedframe">external documentation</a>. --spec setRelatedFrame(This, Frame, Format) -> ok when +-spec setRelatedFrame(This, Frame, Format) -> 'ok' when This::wxHtmlWindow(), Frame::wxFrame:wxFrame(), Format::unicode:chardata(). setRelatedFrame(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=FrameT,ref=FrameRef},Format) when is_list(Format) -> @@ -313,7 +313,7 @@ setRelatedFrame(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=FrameT,ref=FrameRef <<ThisRef:32/?UI,FrameRef:32/?UI,(byte_size(Format_UC)):32/?UI,(Format_UC)/binary, 0:(((8- ((4+byte_size(Format_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxhtmlwindow.html#wxhtmlwindowsetrelatedstatusbar">external documentation</a>. --spec setRelatedStatusBar(This, Bar) -> ok when +-spec setRelatedStatusBar(This, Bar) -> 'ok' when This::wxHtmlWindow(), Bar::integer(). setRelatedStatusBar(#wx_ref{type=ThisT,ref=ThisRef},Bar) when is_integer(Bar) -> @@ -330,7 +330,7 @@ toText(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxHtmlWindow()) -> ok. +-spec destroy(This::wxHtmlWindow()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxHtmlWindow), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxIcon.erl b/lib/wx/src/gen/wxIcon.erl index a14d76e270..c9ec32dffc 100644 --- a/lib/wx/src/gen/wxIcon.erl +++ b/lib/wx/src/gen/wxIcon.erl @@ -71,9 +71,9 @@ new(#wx_ref{type=LocT,ref=LocRef}) -> %%<br /> Type = ?wxBITMAP_TYPE_INVALID | ?wxBITMAP_TYPE_BMP | ?wxBITMAP_TYPE_BMP_RESOURCE | ?wxBITMAP_TYPE_RESOURCE | ?wxBITMAP_TYPE_ICO | ?wxBITMAP_TYPE_ICO_RESOURCE | ?wxBITMAP_TYPE_CUR | ?wxBITMAP_TYPE_CUR_RESOURCE | ?wxBITMAP_TYPE_XBM | ?wxBITMAP_TYPE_XBM_DATA | ?wxBITMAP_TYPE_XPM | ?wxBITMAP_TYPE_XPM_DATA | ?wxBITMAP_TYPE_TIF | ?wxBITMAP_TYPE_TIF_RESOURCE | ?wxBITMAP_TYPE_GIF | ?wxBITMAP_TYPE_GIF_RESOURCE | ?wxBITMAP_TYPE_PNG | ?wxBITMAP_TYPE_PNG_RESOURCE | ?wxBITMAP_TYPE_JPEG | ?wxBITMAP_TYPE_JPEG_RESOURCE | ?wxBITMAP_TYPE_PNM | ?wxBITMAP_TYPE_PNM_RESOURCE | ?wxBITMAP_TYPE_PCX | ?wxBITMAP_TYPE_PCX_RESOURCE | ?wxBITMAP_TYPE_PICT | ?wxBITMAP_TYPE_PICT_RESOURCE | ?wxBITMAP_TYPE_ICON | ?wxBITMAP_TYPE_ICON_RESOURCE | ?wxBITMAP_TYPE_ANI | ?wxBITMAP_TYPE_IFF | ?wxBITMAP_TYPE_TGA | ?wxBITMAP_TYPE_MACCURSOR | ?wxBITMAP_TYPE_MACCURSOR_RESOURCE | ?wxBITMAP_TYPE_ANY -spec new(Filename, [Option]) -> wxIcon() when Filename::unicode:chardata(), - Option :: {type, wx:wx_enum()} - | {desiredWidth, integer()} - | {desiredHeight, integer()}. + Option :: {'type', wx:wx_enum()} + | {'desiredWidth', integer()} + | {'desiredHeight', integer()}. new(Filename, Options) when is_list(Filename),is_list(Options) -> Filename_UC = unicode:characters_to_binary([Filename,0]), @@ -86,7 +86,7 @@ new(Filename, Options) <<(byte_size(Filename_UC)):32/?UI,(Filename_UC)/binary, 0:(((8- ((4+byte_size(Filename_UC)) band 16#7)) band 16#7))/unit:8, BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxicon.html#wxiconcopyfrombitmap">external documentation</a>. --spec copyFromBitmap(This, Bmp) -> ok when +-spec copyFromBitmap(This, Bmp) -> 'ok' when This::wxIcon(), Bmp::wxBitmap:wxBitmap(). copyFromBitmap(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=BmpT,ref=BmpRef}) -> ?CLASS(ThisT,wxIcon), @@ -95,7 +95,7 @@ copyFromBitmap(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=BmpT,ref=BmpRef}) -> <<ThisRef:32/?UI,BmpRef:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxIcon()) -> ok. +-spec destroy(This::wxIcon()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxIcon), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxIconBundle.erl b/lib/wx/src/gen/wxIconBundle.erl index 8edfdc48b8..47785963e3 100644 --- a/lib/wx/src/gen/wxIconBundle.erl +++ b/lib/wx/src/gen/wxIconBundle.erl @@ -64,7 +64,7 @@ new(File,Type) <<(byte_size(File_UC)):32/?UI,(File_UC)/binary, 0:(((8- ((4+byte_size(File_UC)) band 16#7)) band 16#7))/unit:8,Type:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxiconbundle.html#wxiconbundleaddicon">external documentation</a>. --spec addIcon(This, Icon) -> ok when +-spec addIcon(This, Icon) -> 'ok' when This::wxIconBundle(), Icon::wxIcon:wxIcon(). addIcon(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=IconT,ref=IconRef}) -> ?CLASS(ThisT,wxIconBundle), @@ -73,7 +73,7 @@ addIcon(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=IconT,ref=IconRef}) -> <<ThisRef:32/?UI,IconRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxiconbundle.html#wxiconbundleaddicon">external documentation</a>. --spec addIcon(This, File, Type) -> ok when +-spec addIcon(This, File, Type) -> 'ok' when This::wxIconBundle(), File::unicode:chardata(), Type::integer(). addIcon(#wx_ref{type=ThisT,ref=ThisRef},File,Type) when is_list(File),is_integer(Type) -> @@ -97,7 +97,7 @@ getIcon(This) %% -spec getIcon(This, [Option]) -> wxIcon:wxIcon() when This::wxIconBundle(), - Option :: {size, integer()}; + Option :: {'size', integer()}; (This, Size) -> wxIcon:wxIcon() when This::wxIconBundle(), Size::{W::integer(), H::integer()}. getIcon(#wx_ref{type=ThisT,ref=ThisRef}, Options) @@ -115,7 +115,7 @@ getIcon(#wx_ref{type=ThisT,ref=ThisRef},{SizeW,SizeH}) <<ThisRef:32/?UI,SizeW:32/?UI,SizeH:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxIconBundle()) -> ok. +-spec destroy(This::wxIconBundle()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxIconBundle), wxe_util:destroy(?wxIconBundle_destruct,Obj), diff --git a/lib/wx/src/gen/wxIdleEvent.erl b/lib/wx/src/gen/wxIdleEvent.erl index bcccf713f3..1cb3e34ef6 100644 --- a/lib/wx/src/gen/wxIdleEvent.erl +++ b/lib/wx/src/gen/wxIdleEvent.erl @@ -62,7 +62,7 @@ getMode() -> <<>>). %% @equiv requestMore(This, []) --spec requestMore(This) -> ok when +-spec requestMore(This) -> 'ok' when This::wxIdleEvent(). requestMore(This) @@ -70,9 +70,9 @@ requestMore(This) requestMore(This, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxidleevent.html#wxidleeventrequestmore">external documentation</a>. --spec requestMore(This, [Option]) -> ok when +-spec requestMore(This, [Option]) -> 'ok' when This::wxIdleEvent(), - Option :: {needMore, boolean()}. + Option :: {'needMore', boolean()}. requestMore(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxIdleEvent), @@ -92,7 +92,7 @@ moreRequested(#wx_ref{type=ThisT,ref=ThisRef}) -> %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxidleevent.html#wxidleeventsetmode">external documentation</a>. %%<br /> Mode = ?wxIDLE_PROCESS_ALL | ?wxIDLE_PROCESS_SPECIFIED --spec setMode(Mode) -> ok when +-spec setMode(Mode) -> 'ok' when Mode::wx:wx_enum(). setMode(Mode) when is_integer(Mode) -> diff --git a/lib/wx/src/gen/wxImage.erl b/lib/wx/src/gen/wxImage.erl index 884e49eabf..e82f3d609e 100644 --- a/lib/wx/src/gen/wxImage.erl +++ b/lib/wx/src/gen/wxImage.erl @@ -71,15 +71,15 @@ new(Name) %% <br /> Also:<br /> %% new(Name, [Option]) -> wxImage() when<br /> %% Name::unicode:chardata(),<br /> -%% Option :: {type, integer()}<br /> -%% | {index, integer()}.<br /> +%% Option :: {'type', integer()}<br /> +%% | {'index', integer()}.<br /> %% -spec new(Width, Height) -> wxImage() when Width::integer(), Height::integer(); (Name, [Option]) -> wxImage() when Name::unicode:chardata(), - Option :: {type, integer()} - | {index, integer()}. + Option :: {'type', integer()} + | {'index', integer()}. new(Width,Height) when is_integer(Width),is_integer(Height) -> @@ -98,19 +98,19 @@ new(Name, Options) %% <br /> Also:<br /> %% new(Width, Height, [Option]) -> wxImage() when<br /> %% Width::integer(), Height::integer(),<br /> -%% Option :: {clear, boolean()};<br /> +%% Option :: {'clear', boolean()};<br /> %% (Name, Mimetype, [Option]) -> wxImage() when<br /> %% Name::unicode:chardata(), Mimetype::unicode:chardata(),<br /> -%% Option :: {index, integer()}.<br /> +%% Option :: {'index', integer()}.<br /> %% -spec new(Width, Height, Data) -> wxImage() when Width::integer(), Height::integer(), Data::binary(); (Width, Height, [Option]) -> wxImage() when Width::integer(), Height::integer(), - Option :: {clear, boolean()}; + Option :: {'clear', boolean()}; (Name, Mimetype, [Option]) -> wxImage() when Name::unicode:chardata(), Mimetype::unicode:chardata(), - Option :: {index, integer()}. + Option :: {'index', integer()}. new(Width,Height,Data) when is_integer(Width),is_integer(Height),is_binary(Data) -> @@ -136,13 +136,13 @@ new(Name,Mimetype, Options) %% <br /> Also:<br /> %% new(Width, Height, Data, [Option]) -> wxImage() when<br /> %% Width::integer(), Height::integer(), Data::binary(),<br /> -%% Option :: {static_data, boolean()}.<br /> +%% Option :: {'static_data', boolean()}.<br /> %% -spec new(Width, Height, Data, Alpha) -> wxImage() when Width::integer(), Height::integer(), Data::binary(), Alpha::binary(); (Width, Height, Data, [Option]) -> wxImage() when Width::integer(), Height::integer(), Data::binary(), - Option :: {static_data, boolean()}. + Option :: {'static_data', boolean()}. new(Width,Height,Data,Alpha) when is_integer(Width),is_integer(Height),is_binary(Data),is_binary(Alpha) -> @@ -159,7 +159,7 @@ new(Width,Height,Data, Options) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wximage.html#wximagewximage">external documentation</a>. -spec new(Width, Height, Data, Alpha, [Option]) -> wxImage() when Width::integer(), Height::integer(), Data::binary(), Alpha::binary(), - Option :: {static_data, boolean()}. + Option :: {'static_data', boolean()}. new(Width,Height,Data,Alpha, Options) when is_integer(Width),is_integer(Height),is_binary(Data),is_binary(Alpha),is_list(Options) -> wxe_util:send_bin(Data), @@ -208,7 +208,7 @@ convertAlphaToMask(This) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wximage.html#wximageconvertalphatomask">external documentation</a>. -spec convertAlphaToMask(This, [Option]) -> boolean() when This::wxImage(), - Option :: {threshold, integer()}. + Option :: {'threshold', integer()}. convertAlphaToMask(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxImage), @@ -229,9 +229,9 @@ convertToGreyscale(This) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wximage.html#wximageconverttogreyscale">external documentation</a>. -spec convertToGreyscale(This, [Option]) -> wxImage() when This::wxImage(), - Option :: {lr, number()} - | {lg, number()} - | {lb, number()}. + Option :: {'lr', number()} + | {'lg', number()} + | {'lb', number()}. convertToGreyscale(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxImage), @@ -272,13 +272,13 @@ create(This,Width,Height) %% <br /> Also:<br /> %% create(This, Width, Height, [Option]) -> boolean() when<br /> %% This::wxImage(), Width::integer(), Height::integer(),<br /> -%% Option :: {clear, boolean()}.<br /> +%% Option :: {'clear', boolean()}.<br /> %% -spec create(This, Width, Height, Data) -> boolean() when This::wxImage(), Width::integer(), Height::integer(), Data::binary(); (This, Width, Height, [Option]) -> boolean() when This::wxImage(), Width::integer(), Height::integer(), - Option :: {clear, boolean()}. + Option :: {'clear', boolean()}. create(This,Width,Height,Data) when is_record(This, wx_ref),is_integer(Width),is_integer(Height),is_binary(Data) -> @@ -296,13 +296,13 @@ create(#wx_ref{type=ThisT,ref=ThisRef},Width,Height, Options) %% <br /> Also:<br /> %% create(This, Width, Height, Data, [Option]) -> boolean() when<br /> %% This::wxImage(), Width::integer(), Height::integer(), Data::binary(),<br /> -%% Option :: {static_data, boolean()}.<br /> +%% Option :: {'static_data', boolean()}.<br /> %% -spec create(This, Width, Height, Data, Alpha) -> boolean() when This::wxImage(), Width::integer(), Height::integer(), Data::binary(), Alpha::binary(); (This, Width, Height, Data, [Option]) -> boolean() when This::wxImage(), Width::integer(), Height::integer(), Data::binary(), - Option :: {static_data, boolean()}. + Option :: {'static_data', boolean()}. create(This,Width,Height,Data,Alpha) when is_record(This, wx_ref),is_integer(Width),is_integer(Height),is_binary(Data),is_binary(Alpha) -> @@ -320,7 +320,7 @@ create(#wx_ref{type=ThisT,ref=ThisRef},Width,Height,Data, Options) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wximage.html#wximagecreate">external documentation</a>. -spec create(This, Width, Height, Data, Alpha, [Option]) -> boolean() when This::wxImage(), Width::integer(), Height::integer(), Data::binary(), Alpha::binary(), - Option :: {static_data, boolean()}. + Option :: {'static_data', boolean()}. create(#wx_ref{type=ThisT,ref=ThisRef},Width,Height,Data,Alpha, Options) when is_integer(Width),is_integer(Height),is_binary(Data),is_binary(Alpha),is_list(Options) -> ?CLASS(ThisT,wxImage), @@ -333,7 +333,7 @@ create(#wx_ref{type=ThisT,ref=ThisRef},Width,Height,Data,Alpha, Options) <<ThisRef:32/?UI,Width:32/?UI,Height:32/?UI, 0:32,BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wximage.html#wximagedestroy">external documentation</a>. --spec 'Destroy'(This) -> ok when +-spec 'Destroy'(This) -> 'ok' when This::wxImage(). 'Destroy'(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxImage), @@ -353,9 +353,9 @@ findFirstUnusedColour(This) -spec findFirstUnusedColour(This, [Option]) -> Result when Result :: {Res ::boolean(), R::integer(), G::integer(), B::integer()}, This::wxImage(), - Option :: {startR, integer()} - | {startG, integer()} - | {startB, integer()}. + Option :: {'startR', integer()} + | {'startG', integer()} + | {'startB', integer()}. findFirstUnusedColour(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxImage), @@ -428,7 +428,7 @@ getImageCount(Name) %%<br /> Type = ?wxBITMAP_TYPE_INVALID | ?wxBITMAP_TYPE_BMP | ?wxBITMAP_TYPE_BMP_RESOURCE | ?wxBITMAP_TYPE_RESOURCE | ?wxBITMAP_TYPE_ICO | ?wxBITMAP_TYPE_ICO_RESOURCE | ?wxBITMAP_TYPE_CUR | ?wxBITMAP_TYPE_CUR_RESOURCE | ?wxBITMAP_TYPE_XBM | ?wxBITMAP_TYPE_XBM_DATA | ?wxBITMAP_TYPE_XPM | ?wxBITMAP_TYPE_XPM_DATA | ?wxBITMAP_TYPE_TIF | ?wxBITMAP_TYPE_TIF_RESOURCE | ?wxBITMAP_TYPE_GIF | ?wxBITMAP_TYPE_GIF_RESOURCE | ?wxBITMAP_TYPE_PNG | ?wxBITMAP_TYPE_PNG_RESOURCE | ?wxBITMAP_TYPE_JPEG | ?wxBITMAP_TYPE_JPEG_RESOURCE | ?wxBITMAP_TYPE_PNM | ?wxBITMAP_TYPE_PNM_RESOURCE | ?wxBITMAP_TYPE_PCX | ?wxBITMAP_TYPE_PCX_RESOURCE | ?wxBITMAP_TYPE_PICT | ?wxBITMAP_TYPE_PICT_RESOURCE | ?wxBITMAP_TYPE_ICON | ?wxBITMAP_TYPE_ICON_RESOURCE | ?wxBITMAP_TYPE_ANI | ?wxBITMAP_TYPE_IFF | ?wxBITMAP_TYPE_TGA | ?wxBITMAP_TYPE_MACCURSOR | ?wxBITMAP_TYPE_MACCURSOR_RESOURCE | ?wxBITMAP_TYPE_ANY -spec getImageCount(Name, [Option]) -> integer() when Name::unicode:chardata(), - Option :: {type, wx:wx_enum()}. + Option :: {'type', wx:wx_enum()}. getImageCount(Name, Options) when is_list(Name),is_list(Options) -> Name_UC = unicode:characters_to_binary([Name,0]), @@ -560,7 +560,7 @@ hasOption(#wx_ref{type=ThisT,ref=ThisRef},Name) <<ThisRef:32/?UI,(byte_size(Name_UC)):32/?UI,(Name_UC)/binary, 0:(((8- ((0+byte_size(Name_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wximage.html#wximageinitalpha">external documentation</a>. --spec initAlpha(This) -> ok when +-spec initAlpha(This) -> 'ok' when This::wxImage(). initAlpha(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxImage), @@ -568,7 +568,7 @@ initAlpha(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wximage.html#wximageinitstandardhandlers">external documentation</a>. --spec initStandardHandlers() -> ok. +-spec initStandardHandlers() -> 'ok'. initStandardHandlers() -> wxe_util:cast(?wxImage_InitStandardHandlers, <<>>). @@ -584,7 +584,7 @@ isTransparent(This,X,Y) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wximage.html#wximageistransparent">external documentation</a>. -spec isTransparent(This, X, Y, [Option]) -> boolean() when This::wxImage(), X::integer(), Y::integer(), - Option :: {threshold, integer()}. + Option :: {'threshold', integer()}. isTransparent(#wx_ref{type=ThisT,ref=ThisRef},X,Y, Options) when is_integer(X),is_integer(Y),is_list(Options) -> ?CLASS(ThisT,wxImage), @@ -605,8 +605,8 @@ loadFile(This,Name) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wximage.html#wximageloadfile">external documentation</a>. -spec loadFile(This, Name, [Option]) -> boolean() when This::wxImage(), Name::unicode:chardata(), - Option :: {type, integer()} - | {index, integer()}. + Option :: {'type', integer()} + | {'index', integer()}. loadFile(#wx_ref{type=ThisT,ref=ThisRef},Name, Options) when is_list(Name),is_list(Options) -> ?CLASS(ThisT,wxImage), @@ -621,7 +621,7 @@ loadFile(#wx_ref{type=ThisT,ref=ThisRef},Name, Options) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wximage.html#wximageloadfile">external documentation</a>. -spec loadFile(This, Name, Mimetype, [Option]) -> boolean() when This::wxImage(), Name::unicode:chardata(), Mimetype::unicode:chardata(), - Option :: {index, integer()}. + Option :: {'index', integer()}. loadFile(#wx_ref{type=ThisT,ref=ThisRef},Name,Mimetype, Options) when is_list(Name),is_list(Mimetype),is_list(Options) -> ?CLASS(ThisT,wxImage), @@ -661,7 +661,7 @@ mirror(This) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wximage.html#wximagemirror">external documentation</a>. -spec mirror(This, [Option]) -> wxImage() when This::wxImage(), - Option :: {horizontally, boolean()}. + Option :: {'horizontally', boolean()}. mirror(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxImage), @@ -672,7 +672,7 @@ mirror(#wx_ref{type=ThisT,ref=ThisRef}, Options) <<ThisRef:32/?UI, 0:32,BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wximage.html#wximagereplace">external documentation</a>. --spec replace(This, R1, G1, B1, R2, G2, B2) -> ok when +-spec replace(This, R1, G1, B1, R2, G2, B2) -> 'ok' when This::wxImage(), R1::integer(), G1::integer(), B1::integer(), R2::integer(), G2::integer(), B2::integer(). replace(#wx_ref{type=ThisT,ref=ThisRef},R1,G1,B1,R2,G2,B2) when is_integer(R1),is_integer(G1),is_integer(B1),is_integer(R2),is_integer(G2),is_integer(B2) -> @@ -692,7 +692,7 @@ rescale(This,Width,Height) %%<br /> Quality = integer -spec rescale(This, Width, Height, [Option]) -> wxImage() when This::wxImage(), Width::integer(), Height::integer(), - Option :: {quality, wx:wx_enum()}. + Option :: {'quality', wx:wx_enum()}. rescale(#wx_ref{type=ThisT,ref=ThisRef},Width,Height, Options) when is_integer(Width),is_integer(Height),is_list(Options) -> ?CLASS(ThisT,wxImage), @@ -713,9 +713,9 @@ resize(This,Size={SizeW,SizeH},Pos={PosX,PosY}) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wximage.html#wximageresize">external documentation</a>. -spec resize(This, Size, Pos, [Option]) -> wxImage() when This::wxImage(), Size::{W::integer(), H::integer()}, Pos::{X::integer(), Y::integer()}, - Option :: {r, integer()} - | {g, integer()} - | {b, integer()}. + Option :: {'r', integer()} + | {'g', integer()} + | {'b', integer()}. resize(#wx_ref{type=ThisT,ref=ThisRef},{SizeW,SizeH},{PosX,PosY}, Options) when is_integer(SizeW),is_integer(SizeH),is_integer(PosX),is_integer(PosY),is_list(Options) -> ?CLASS(ThisT,wxImage), @@ -738,8 +738,8 @@ rotate(This,Angle,Centre_of_rotation={Centre_of_rotationX,Centre_of_rotationY}) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wximage.html#wximagerotate">external documentation</a>. -spec rotate(This, Angle, Centre_of_rotation, [Option]) -> wxImage() when This::wxImage(), Angle::number(), Centre_of_rotation::{X::integer(), Y::integer()}, - Option :: {interpolating, boolean()} - | {offset_after_rotation, {X::integer(), Y::integer()}}. + Option :: {'interpolating', boolean()} + | {'offset_after_rotation', {X::integer(), Y::integer()}}. rotate(#wx_ref{type=ThisT,ref=ThisRef},Angle,{Centre_of_rotationX,Centre_of_rotationY}, Options) when is_number(Angle),is_integer(Centre_of_rotationX),is_integer(Centre_of_rotationY),is_list(Options) -> ?CLASS(ThisT,wxImage), @@ -751,7 +751,7 @@ rotate(#wx_ref{type=ThisT,ref=ThisRef},Angle,{Centre_of_rotationX,Centre_of_rota <<ThisRef:32/?UI,0:32,Angle:64/?F,Centre_of_rotationX:32/?UI,Centre_of_rotationY:32/?UI, BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wximage.html#wximagerotatehue">external documentation</a>. --spec rotateHue(This, Angle) -> ok when +-spec rotateHue(This, Angle) -> 'ok' when This::wxImage(), Angle::number(). rotateHue(#wx_ref{type=ThisT,ref=ThisRef},Angle) when is_number(Angle) -> @@ -770,7 +770,7 @@ rotate90(This) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wximage.html#wximagerotate90">external documentation</a>. -spec rotate90(This, [Option]) -> wxImage() when This::wxImage(), - Option :: {clockwise, boolean()}. + Option :: {'clockwise', boolean()}. rotate90(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxImage), @@ -825,7 +825,7 @@ scale(This,Width,Height) %%<br /> Quality = integer -spec scale(This, Width, Height, [Option]) -> wxImage() when This::wxImage(), Width::integer(), Height::integer(), - Option :: {quality, wx:wx_enum()}. + Option :: {'quality', wx:wx_enum()}. scale(#wx_ref{type=ThisT,ref=ThisRef},Width,Height, Options) when is_integer(Width),is_integer(Height),is_list(Options) -> ?CLASS(ThisT,wxImage), @@ -846,9 +846,9 @@ size(This,Size={SizeW,SizeH},Pos={PosX,PosY}) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wximage.html#wximagesize">external documentation</a>. -spec size(This, Size, Pos, [Option]) -> wxImage() when This::wxImage(), Size::{W::integer(), H::integer()}, Pos::{X::integer(), Y::integer()}, - Option :: {r, integer()} - | {g, integer()} - | {b, integer()}. + Option :: {'r', integer()} + | {'g', integer()} + | {'b', integer()}. size(#wx_ref{type=ThisT,ref=ThisRef},{SizeW,SizeH},{PosX,PosY}, Options) when is_integer(SizeW),is_integer(SizeH),is_integer(PosX),is_integer(PosY),is_list(Options) -> ?CLASS(ThisT,wxImage), @@ -861,7 +861,7 @@ size(#wx_ref{type=ThisT,ref=ThisRef},{SizeW,SizeH},{PosX,PosY}, Options) <<ThisRef:32/?UI,SizeW:32/?UI,SizeH:32/?UI,PosX:32/?UI,PosY:32/?UI, 0:32,BinOpt/binary>>). %% @equiv setAlpha(This,Alpha, []) --spec setAlpha(This, Alpha) -> ok when +-spec setAlpha(This, Alpha) -> 'ok' when This::wxImage(), Alpha::binary(). setAlpha(This,Alpha) @@ -869,9 +869,9 @@ setAlpha(This,Alpha) setAlpha(This,Alpha, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wximage.html#wximagesetalpha">external documentation</a>. --spec setAlpha(This, Alpha, [Option]) -> ok when +-spec setAlpha(This, Alpha, [Option]) -> 'ok' when This::wxImage(), Alpha::binary(), - Option :: {static_data, boolean()}. + Option :: {'static_data', boolean()}. setAlpha(#wx_ref{type=ThisT,ref=ThisRef},Alpha, Options) when is_binary(Alpha),is_list(Options) -> ?CLASS(ThisT,wxImage), @@ -883,7 +883,7 @@ setAlpha(#wx_ref{type=ThisT,ref=ThisRef},Alpha, Options) <<ThisRef:32/?UI, 0:32,BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wximage.html#wximagesetalpha">external documentation</a>. --spec setAlpha(This, X, Y, Alpha) -> ok when +-spec setAlpha(This, X, Y, Alpha) -> 'ok' when This::wxImage(), X::integer(), Y::integer(), Alpha::integer(). setAlpha(#wx_ref{type=ThisT,ref=ThisRef},X,Y,Alpha) when is_integer(X),is_integer(Y),is_integer(Alpha) -> @@ -892,7 +892,7 @@ setAlpha(#wx_ref{type=ThisT,ref=ThisRef},X,Y,Alpha) <<ThisRef:32/?UI,X:32/?UI,Y:32/?UI,Alpha:32/?UI>>). %% @equiv setData(This,Data, []) --spec setData(This, Data) -> ok when +-spec setData(This, Data) -> 'ok' when This::wxImage(), Data::binary(). setData(This,Data) @@ -900,9 +900,9 @@ setData(This,Data) setData(This,Data, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wximage.html#wximagesetdata">external documentation</a>. --spec setData(This, Data, [Option]) -> ok when +-spec setData(This, Data, [Option]) -> 'ok' when This::wxImage(), Data::binary(), - Option :: {static_data, boolean()}. + Option :: {'static_data', boolean()}. setData(#wx_ref{type=ThisT,ref=ThisRef},Data, Options) when is_binary(Data),is_list(Options) -> ?CLASS(ThisT,wxImage), @@ -914,7 +914,7 @@ setData(#wx_ref{type=ThisT,ref=ThisRef},Data, Options) <<ThisRef:32/?UI, 0:32,BinOpt/binary>>). %% @equiv setData(This,Data,New_width,New_height, []) --spec setData(This, Data, New_width, New_height) -> ok when +-spec setData(This, Data, New_width, New_height) -> 'ok' when This::wxImage(), Data::binary(), New_width::integer(), New_height::integer(). setData(This,Data,New_width,New_height) @@ -922,9 +922,9 @@ setData(This,Data,New_width,New_height) setData(This,Data,New_width,New_height, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wximage.html#wximagesetdata">external documentation</a>. --spec setData(This, Data, New_width, New_height, [Option]) -> ok when +-spec setData(This, Data, New_width, New_height, [Option]) -> 'ok' when This::wxImage(), Data::binary(), New_width::integer(), New_height::integer(), - Option :: {static_data, boolean()}. + Option :: {'static_data', boolean()}. setData(#wx_ref{type=ThisT,ref=ThisRef},Data,New_width,New_height, Options) when is_binary(Data),is_integer(New_width),is_integer(New_height),is_list(Options) -> ?CLASS(ThisT,wxImage), @@ -936,7 +936,7 @@ setData(#wx_ref{type=ThisT,ref=ThisRef},Data,New_width,New_height, Options) <<ThisRef:32/?UI,New_width:32/?UI,New_height:32/?UI, 0:32,BinOpt/binary>>). %% @equiv setMask(This, []) --spec setMask(This) -> ok when +-spec setMask(This) -> 'ok' when This::wxImage(). setMask(This) @@ -944,9 +944,9 @@ setMask(This) setMask(This, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wximage.html#wximagesetmask">external documentation</a>. --spec setMask(This, [Option]) -> ok when +-spec setMask(This, [Option]) -> 'ok' when This::wxImage(), - Option :: {mask, boolean()}. + Option :: {'mask', boolean()}. setMask(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxImage), @@ -957,7 +957,7 @@ setMask(#wx_ref{type=ThisT,ref=ThisRef}, Options) <<ThisRef:32/?UI, 0:32,BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wximage.html#wximagesetmaskcolour">external documentation</a>. --spec setMaskColour(This, R, G, B) -> ok when +-spec setMaskColour(This, R, G, B) -> 'ok' when This::wxImage(), R::integer(), G::integer(), B::integer(). setMaskColour(#wx_ref{type=ThisT,ref=ThisRef},R,G,B) when is_integer(R),is_integer(G),is_integer(B) -> @@ -977,12 +977,12 @@ setMaskFromImage(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=MaskT,ref=MaskRef} %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wximage.html#wximagesetoption">external documentation</a>. %% <br /> Also:<br /> -%% setOption(This, Name, Value) -> ok when<br /> +%% setOption(This, Name, Value) -> 'ok' when<br /> %% This::wxImage(), Name::unicode:chardata(), Value::unicode:chardata().<br /> %% --spec setOption(This, Name, Value) -> ok when +-spec setOption(This, Name, Value) -> 'ok' when This::wxImage(), Name::unicode:chardata(), Value::integer(); - (This, Name, Value) -> ok when + (This, Name, Value) -> 'ok' when This::wxImage(), Name::unicode:chardata(), Value::unicode:chardata(). setOption(#wx_ref{type=ThisT,ref=ThisRef},Name,Value) when is_list(Name),is_integer(Value) -> @@ -999,7 +999,7 @@ setOption(#wx_ref{type=ThisT,ref=ThisRef},Name,Value) <<ThisRef:32/?UI,(byte_size(Name_UC)):32/?UI,(Name_UC)/binary, 0:(((8- ((0+byte_size(Name_UC)) band 16#7)) band 16#7))/unit:8,(byte_size(Value_UC)):32/?UI,(Value_UC)/binary, 0:(((8- ((4+byte_size(Value_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wximage.html#wximagesetpalette">external documentation</a>. --spec setPalette(This, Palette) -> ok when +-spec setPalette(This, Palette) -> 'ok' when This::wxImage(), Palette::wxPalette:wxPalette(). setPalette(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=PaletteT,ref=PaletteRef}) -> ?CLASS(ThisT,wxImage), @@ -1008,7 +1008,7 @@ setPalette(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=PaletteT,ref=PaletteRef} <<ThisRef:32/?UI,PaletteRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wximage.html#wximagesetrgb">external documentation</a>. --spec setRGB(This, Rect, R, G, B) -> ok when +-spec setRGB(This, Rect, R, G, B) -> 'ok' when This::wxImage(), Rect::{X::integer(), Y::integer(), W::integer(), H::integer()}, R::integer(), G::integer(), B::integer(). setRGB(#wx_ref{type=ThisT,ref=ThisRef},{RectX,RectY,RectW,RectH},R,G,B) when is_integer(RectX),is_integer(RectY),is_integer(RectW),is_integer(RectH),is_integer(R),is_integer(G),is_integer(B) -> @@ -1017,7 +1017,7 @@ setRGB(#wx_ref{type=ThisT,ref=ThisRef},{RectX,RectY,RectW,RectH},R,G,B) <<ThisRef:32/?UI,RectX:32/?UI,RectY:32/?UI,RectW:32/?UI,RectH:32/?UI,R:32/?UI,G:32/?UI,B:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wximage.html#wximagesetrgb">external documentation</a>. --spec setRGB(This, X, Y, R, G, B) -> ok when +-spec setRGB(This, X, Y, R, G, B) -> 'ok' when This::wxImage(), X::integer(), Y::integer(), R::integer(), G::integer(), B::integer(). setRGB(#wx_ref{type=ThisT,ref=ThisRef},X,Y,R,G,B) when is_integer(X),is_integer(Y),is_integer(R),is_integer(G),is_integer(B) -> @@ -1026,7 +1026,7 @@ setRGB(#wx_ref{type=ThisT,ref=ThisRef},X,Y,R,G,B) <<ThisRef:32/?UI,X:32/?UI,Y:32/?UI,R:32/?UI,G:32/?UI,B:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxImage()) -> ok. +-spec destroy(This::wxImage()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxImage), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxImageList.erl b/lib/wx/src/gen/wxImageList.erl index dcd508d05b..39a44c0afe 100644 --- a/lib/wx/src/gen/wxImageList.erl +++ b/lib/wx/src/gen/wxImageList.erl @@ -54,8 +54,8 @@ new(Width,Height) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wximagelist.html#wximagelistwximagelist">external documentation</a>. -spec new(Width, Height, [Option]) -> wxImageList() when Width::integer(), Height::integer(), - Option :: {mask, boolean()} - | {initialCount, integer()}. + Option :: {'mask', boolean()} + | {'initialCount', integer()}. new(Width,Height, Options) when is_integer(Width),is_integer(Height),is_list(Options) -> MOpts = fun({mask, Mask}, Acc) -> [<<1:32/?UI,(wxe_util:from_bool(Mask)):32/?UI>>|Acc]; @@ -107,8 +107,8 @@ create(This,Width,Height) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wximagelist.html#wximagelistcreate">external documentation</a>. -spec create(This, Width, Height, [Option]) -> boolean() when This::wxImageList(), Width::integer(), Height::integer(), - Option :: {mask, boolean()} - | {initialCount, integer()}. + Option :: {'mask', boolean()} + | {'initialCount', integer()}. create(#wx_ref{type=ThisT,ref=ThisRef},Width,Height, Options) when is_integer(Width),is_integer(Height),is_list(Options) -> ?CLASS(ThisT,wxImageList), @@ -130,8 +130,8 @@ draw(This,Index,Dc,X,Y) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wximagelist.html#wximagelistdraw">external documentation</a>. -spec draw(This, Index, Dc, X, Y, [Option]) -> boolean() when This::wxImageList(), Index::integer(), Dc::wxDC:wxDC(), X::integer(), Y::integer(), - Option :: {flags, integer()} - | {solidBackground, boolean()}. + Option :: {'flags', integer()} + | {'solidBackground', boolean()}. draw(#wx_ref{type=ThisT,ref=ThisRef},Index,#wx_ref{type=DcT,ref=DcRef},X,Y, Options) when is_integer(Index),is_integer(X),is_integer(Y),is_list(Options) -> ?CLASS(ThisT,wxImageList), @@ -218,7 +218,7 @@ replace(#wx_ref{type=ThisT,ref=ThisRef},Index,#wx_ref{type=BitmapT,ref=BitmapRef <<ThisRef:32/?UI,Index:32/?UI,BitmapRef:32/?UI,MaskRef:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxImageList()) -> ok. +-spec destroy(This::wxImageList()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxImageList), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxJoystickEvent.erl b/lib/wx/src/gen/wxJoystickEvent.erl index d26eb42fe8..6bad079953 100644 --- a/lib/wx/src/gen/wxJoystickEvent.erl +++ b/lib/wx/src/gen/wxJoystickEvent.erl @@ -57,7 +57,7 @@ buttonDown(This) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxjoystickevent.html#wxjoystickeventbuttondown">external documentation</a>. -spec buttonDown(This, [Option]) -> boolean() when This::wxJoystickEvent(), - Option :: {but, integer()}. + Option :: {'but', integer()}. buttonDown(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxJoystickEvent), @@ -78,7 +78,7 @@ buttonIsDown(This) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxjoystickevent.html#wxjoystickeventbuttonisdown">external documentation</a>. -spec buttonIsDown(This, [Option]) -> boolean() when This::wxJoystickEvent(), - Option :: {but, integer()}. + Option :: {'but', integer()}. buttonIsDown(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxJoystickEvent), @@ -99,7 +99,7 @@ buttonUp(This) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxjoystickevent.html#wxjoystickeventbuttonup">external documentation</a>. -spec buttonUp(This, [Option]) -> boolean() when This::wxJoystickEvent(), - Option :: {but, integer()}. + Option :: {'but', integer()}. buttonUp(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxJoystickEvent), diff --git a/lib/wx/src/gen/wxLayoutAlgorithm.erl b/lib/wx/src/gen/wxLayoutAlgorithm.erl index 344af3dc0d..f389b83281 100644 --- a/lib/wx/src/gen/wxLayoutAlgorithm.erl +++ b/lib/wx/src/gen/wxLayoutAlgorithm.erl @@ -53,7 +53,7 @@ layoutFrame(This,Frame) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlayoutalgorithm.html#wxlayoutalgorithmlayoutframe">external documentation</a>. -spec layoutFrame(This, Frame, [Option]) -> boolean() when This::wxLayoutAlgorithm(), Frame::wxFrame:wxFrame(), - Option :: {mainWindow, wxWindow:wxWindow()}. + Option :: {'mainWindow', wxWindow:wxWindow()}. layoutFrame(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=FrameT,ref=FrameRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxLayoutAlgorithm), @@ -75,7 +75,7 @@ layoutMDIFrame(This,Frame) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlayoutalgorithm.html#wxlayoutalgorithmlayoutmdiframe">external documentation</a>. -spec layoutMDIFrame(This, Frame, [Option]) -> boolean() when This::wxLayoutAlgorithm(), Frame::wxMDIParentFrame:wxMDIParentFrame(), - Option :: {rect, {X::integer(), Y::integer(), W::integer(), H::integer()}}. + Option :: {'rect', {X::integer(), Y::integer(), W::integer(), H::integer()}}. layoutMDIFrame(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=FrameT,ref=FrameRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxLayoutAlgorithm), @@ -97,7 +97,7 @@ layoutWindow(This,Frame) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlayoutalgorithm.html#wxlayoutalgorithmlayoutwindow">external documentation</a>. -spec layoutWindow(This, Frame, [Option]) -> boolean() when This::wxLayoutAlgorithm(), Frame::wxWindow:wxWindow(), - Option :: {mainWindow, wxWindow:wxWindow()}. + Option :: {'mainWindow', wxWindow:wxWindow()}. layoutWindow(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=FrameT,ref=FrameRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxLayoutAlgorithm), @@ -109,7 +109,7 @@ layoutWindow(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=FrameT,ref=FrameRef}, <<ThisRef:32/?UI,FrameRef:32/?UI, BinOpt/binary>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxLayoutAlgorithm()) -> ok. +-spec destroy(This::wxLayoutAlgorithm()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxLayoutAlgorithm), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxListBox.erl b/lib/wx/src/gen/wxListBox.erl index eaa026839e..9ab3616e9b 100644 --- a/lib/wx/src/gen/wxListBox.erl +++ b/lib/wx/src/gen/wxListBox.erl @@ -103,11 +103,11 @@ new(Parent,Id) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlistbox.html#wxlistboxwxlistbox">external documentation</a>. -spec new(Parent, Id, [Option]) -> wxListBox() when Parent::wxWindow:wxWindow(), Id::integer(), - Option :: {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {choices, [unicode:chardata()]} - | {style, integer()} - | {validator, wx:wx_object()}. + Option :: {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'choices', [unicode:chardata()]} + | {'style', integer()} + | {'validator', wx:wx_object()}. new(#wx_ref{type=ParentT,ref=ParentRef},Id, Options) when is_integer(Id),is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -132,8 +132,8 @@ create(This,Parent,Id,Pos={PosX,PosY},Size={SizeW,SizeH},Choices) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlistbox.html#wxlistboxcreate">external documentation</a>. -spec create(This, Parent, Id, Pos, Size, Choices, [Option]) -> boolean() when This::wxListBox(), Parent::wxWindow:wxWindow(), Id::integer(), Pos::{X::integer(), Y::integer()}, Size::{W::integer(), H::integer()}, Choices::[unicode:chardata()], - Option :: {style, integer()} - | {validator, wx:wx_object()}. + Option :: {'style', integer()} + | {'validator', wx:wx_object()}. create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef},Id,{PosX,PosY},{SizeW,SizeH},Choices, Options) when is_integer(Id),is_integer(PosX),is_integer(PosY),is_integer(SizeW),is_integer(SizeH),is_list(Choices),is_list(Options) -> ?CLASS(ThisT,wxListBox), @@ -148,7 +148,7 @@ create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef},Id,{P <<ThisRef:32/?UI,ParentRef:32/?UI,Id:32/?UI,PosX:32/?UI,PosY:32/?UI,SizeW:32/?UI,SizeH:32/?UI,(length(Choices_UCA)):32/?UI, (<< <<(byte_size(UC_Str)):32/?UI, UC_Str/binary>>|| UC_Str <- Choices_UCA>>)/binary, 0:(((8- ((0 + lists:sum([byte_size(S)+4||S<-Choices_UCA])) band 16#7)) band 16#7))/unit:8, BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlistbox.html#wxlistboxdeselect">external documentation</a>. --spec deselect(This, N) -> ok when +-spec deselect(This, N) -> 'ok' when This::wxListBox(), N::integer(). deselect(#wx_ref{type=ThisT,ref=ThisRef},N) when is_integer(N) -> @@ -166,7 +166,7 @@ getSelections(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlistbox.html#wxlistboxinsertitems">external documentation</a>. --spec insertItems(This, Items, Pos) -> ok when +-spec insertItems(This, Items, Pos) -> 'ok' when This::wxListBox(), Items::[unicode:chardata()], Pos::integer(). insertItems(#wx_ref{type=ThisT,ref=ThisRef},Items,Pos) when is_list(Items),is_integer(Pos) -> @@ -186,7 +186,7 @@ isSelected(#wx_ref{type=ThisT,ref=ThisRef},N) <<ThisRef:32/?UI,N:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlistbox.html#wxlistboxset">external documentation</a>. --spec set(This, Items) -> ok when +-spec set(This, Items) -> 'ok' when This::wxListBox(), Items::[unicode:chardata()]. set(#wx_ref{type=ThisT,ref=ThisRef},Items) when is_list(Items) -> @@ -207,12 +207,12 @@ hitTest(#wx_ref{type=ThisT,ref=ThisRef},{PointX,PointY}) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlistbox.html#wxlistboxsetfirstitem">external documentation</a>. %% <br /> Also:<br /> -%% setFirstItem(This, S) -> ok when<br /> +%% setFirstItem(This, S) -> 'ok' when<br /> %% This::wxListBox(), S::unicode:chardata().<br /> %% --spec setFirstItem(This, N) -> ok when +-spec setFirstItem(This, N) -> 'ok' when This::wxListBox(), N::integer(); - (This, S) -> ok when + (This, S) -> 'ok' when This::wxListBox(), S::unicode:chardata(). setFirstItem(#wx_ref{type=ThisT,ref=ThisRef},N) when is_integer(N) -> @@ -227,7 +227,7 @@ setFirstItem(#wx_ref{type=ThisT,ref=ThisRef},S) <<ThisRef:32/?UI,(byte_size(S_UC)):32/?UI,(S_UC)/binary, 0:(((8- ((0+byte_size(S_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxListBox()) -> ok. +-spec destroy(This::wxListBox()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxListBox), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxListCtrl.erl b/lib/wx/src/gen/wxListCtrl.erl index ed997710c8..d1a063d900 100644 --- a/lib/wx/src/gen/wxListCtrl.erl +++ b/lib/wx/src/gen/wxListCtrl.erl @@ -156,7 +156,7 @@ arrange(This) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlistctrl.html#wxlistctrlarrange">external documentation</a>. -spec arrange(This, [Option]) -> boolean() when This::wxListCtrl(), - Option :: {flag, integer()}. + Option :: {'flag', integer()}. arrange(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxListCtrl), @@ -167,7 +167,7 @@ arrange(#wx_ref{type=ThisT,ref=ThisRef}, Options) <<ThisRef:32/?UI, 0:32,BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlistctrl.html#wxlistctrlassignimagelist">external documentation</a>. --spec assignImageList(This, ImageList, Which) -> ok when +-spec assignImageList(This, ImageList, Which) -> 'ok' when This::wxListCtrl(), ImageList::wxImageList:wxImageList(), Which::integer(). assignImageList(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ImageListT,ref=ImageListRef},Which) when is_integer(Which) -> @@ -177,7 +177,7 @@ assignImageList(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ImageListT,ref=Imag <<ThisRef:32/?UI,ImageListRef:32/?UI,Which:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlistctrl.html#wxlistctrlclearall">external documentation</a>. --spec clearAll(This) -> ok when +-spec clearAll(This) -> 'ok' when This::wxListCtrl(). clearAll(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxListCtrl), @@ -278,7 +278,7 @@ findItem(This,Start,Str) %% -spec findItem(This, Start, Str, [Option]) -> integer() when This::wxListCtrl(), Start::integer(), Str::unicode:chardata(), - Option :: {partial, boolean()}; + Option :: {'partial', boolean()}; (This, Start, Pt, Direction) -> integer() when This::wxListCtrl(), Start::integer(), Pt::{X::integer(), Y::integer()}, Direction::integer(). findItem(#wx_ref{type=ThisT,ref=ThisRef},Start,Str, Options) @@ -415,7 +415,7 @@ getItemRect(This,Item) -spec getItemRect(This, Item, [Option]) -> Result when Result :: {Res ::boolean(), Rect::{X::integer(), Y::integer(), W::integer(), H::integer()}}, This::wxListCtrl(), Item::integer(), - Option :: {code, integer()}. + Option :: {'code', integer()}. getItemRect(#wx_ref{type=ThisT,ref=ThisRef},Item, Options) when is_integer(Item),is_list(Options) -> ?CLASS(ThisT,wxListCtrl), @@ -471,8 +471,8 @@ getNextItem(This,Item) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlistctrl.html#wxlistctrlgetnextitem">external documentation</a>. -spec getNextItem(This, Item, [Option]) -> integer() when This::wxListCtrl(), Item::integer(), - Option :: {geometry, integer()} - | {state, integer()}. + Option :: {'geometry', integer()} + | {'state', integer()}. getNextItem(#wx_ref{type=ThisT,ref=ThisRef},Item, Options) when is_integer(Item),is_list(Options) -> ?CLASS(ThisT,wxListCtrl), @@ -548,8 +548,8 @@ insertColumn(#wx_ref{type=ThisT,ref=ThisRef},Col,#wx_ref{type=InfoT,ref=InfoRef} %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlistctrl.html#wxlistctrlinsertcolumn">external documentation</a>. -spec insertColumn(This, Col, Heading, [Option]) -> integer() when This::wxListCtrl(), Col::integer(), Heading::unicode:chardata(), - Option :: {format, integer()} - | {width, integer()}. + Option :: {'format', integer()} + | {'width', integer()}. insertColumn(#wx_ref{type=ThisT,ref=ThisRef},Col,Heading, Options) when is_integer(Col),is_list(Heading),is_list(Options) -> ?CLASS(ThisT,wxListCtrl), @@ -602,7 +602,7 @@ insertItem(#wx_ref{type=ThisT,ref=ThisRef},Index,Label,ImageIndex) <<ThisRef:32/?UI,Index:32/?UI,(byte_size(Label_UC)):32/?UI,(Label_UC)/binary, 0:(((8- ((4+byte_size(Label_UC)) band 16#7)) band 16#7))/unit:8,ImageIndex:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlistctrl.html#wxlistctrlrefreshitem">external documentation</a>. --spec refreshItem(This, Item) -> ok when +-spec refreshItem(This, Item) -> 'ok' when This::wxListCtrl(), Item::integer(). refreshItem(#wx_ref{type=ThisT,ref=ThisRef},Item) when is_integer(Item) -> @@ -611,7 +611,7 @@ refreshItem(#wx_ref{type=ThisT,ref=ThisRef},Item) <<ThisRef:32/?UI,Item:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlistctrl.html#wxlistctrlrefreshitems">external documentation</a>. --spec refreshItems(This, ItemFrom, ItemTo) -> ok when +-spec refreshItems(This, ItemFrom, ItemTo) -> 'ok' when This::wxListCtrl(), ItemFrom::integer(), ItemTo::integer(). refreshItems(#wx_ref{type=ThisT,ref=ThisRef},ItemFrom,ItemTo) when is_integer(ItemFrom),is_integer(ItemTo) -> @@ -657,7 +657,7 @@ setColumnWidth(#wx_ref{type=ThisT,ref=ThisRef},Col,Width) <<ThisRef:32/?UI,Col:32/?UI,Width:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlistctrl.html#wxlistctrlsetimagelist">external documentation</a>. --spec setImageList(This, ImageList, Which) -> ok when +-spec setImageList(This, ImageList, Which) -> 'ok' when This::wxListCtrl(), ImageList::wxImageList:wxImageList(), Which::integer(). setImageList(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ImageListT,ref=ImageListRef},Which) when is_integer(Which) -> @@ -686,7 +686,7 @@ setItem(This,Index,Col,Label) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlistctrl.html#wxlistctrlsetitem">external documentation</a>. -spec setItem(This, Index, Col, Label, [Option]) -> integer() when This::wxListCtrl(), Index::integer(), Col::integer(), Label::unicode:chardata(), - Option :: {imageId, integer()}. + Option :: {'imageId', integer()}. setItem(#wx_ref{type=ThisT,ref=ThisRef},Index,Col,Label, Options) when is_integer(Index),is_integer(Col),is_list(Label),is_list(Options) -> ?CLASS(ThisT,wxListCtrl), @@ -698,7 +698,7 @@ setItem(#wx_ref{type=ThisT,ref=ThisRef},Index,Col,Label, Options) <<ThisRef:32/?UI,Index:32/?UI,Col:32/?UI,(byte_size(Label_UC)):32/?UI,(Label_UC)/binary, 0:(((8- ((0+byte_size(Label_UC)) band 16#7)) band 16#7))/unit:8, BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlistctrl.html#wxlistctrlsetitembackgroundcolour">external documentation</a>. --spec setItemBackgroundColour(This, Item, Col) -> ok when +-spec setItemBackgroundColour(This, Item, Col) -> 'ok' when This::wxListCtrl(), Item::integer(), Col::wx:wx_colour(). setItemBackgroundColour(#wx_ref{type=ThisT,ref=ThisRef},Item,Col) when is_integer(Item),tuple_size(Col) =:= 3; tuple_size(Col) =:= 4 -> @@ -707,7 +707,7 @@ setItemBackgroundColour(#wx_ref{type=ThisT,ref=ThisRef},Item,Col) <<ThisRef:32/?UI,Item:32/?UI,(wxe_util:colour_bin(Col)):16/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlistctrl.html#wxlistctrlsetitemcount">external documentation</a>. --spec setItemCount(This, Count) -> ok when +-spec setItemCount(This, Count) -> 'ok' when This::wxListCtrl(), Count::integer(). setItemCount(#wx_ref{type=ThisT,ref=ThisRef},Count) when is_integer(Count) -> @@ -725,7 +725,7 @@ setItemData(#wx_ref{type=ThisT,ref=ThisRef},Item,Data) <<ThisRef:32/?UI,Item:32/?UI,Data:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlistctrl.html#wxlistctrlsetitemfont">external documentation</a>. --spec setItemFont(This, Item, F) -> ok when +-spec setItemFont(This, Item, F) -> 'ok' when This::wxListCtrl(), Item::integer(), F::wxFont:wxFont(). setItemFont(#wx_ref{type=ThisT,ref=ThisRef},Item,#wx_ref{type=FT,ref=FRef}) when is_integer(Item) -> @@ -745,7 +745,7 @@ setItemImage(This,Item,Image) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlistctrl.html#wxlistctrlsetitemimage">external documentation</a>. -spec setItemImage(This, Item, Image, [Option]) -> boolean() when This::wxListCtrl(), Item::integer(), Image::integer(), - Option :: {selImage, integer()}. + Option :: {'selImage', integer()}. setItemImage(#wx_ref{type=ThisT,ref=ThisRef},Item,Image, Options) when is_integer(Item),is_integer(Image),is_list(Options) -> ?CLASS(ThisT,wxListCtrl), @@ -783,7 +783,7 @@ setItemState(#wx_ref{type=ThisT,ref=ThisRef},Item,State,StateMask) <<ThisRef:32/?UI,Item:32/?UI,State:32/?UI,StateMask:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlistctrl.html#wxlistctrlsetitemtext">external documentation</a>. --spec setItemText(This, Item, Str) -> ok when +-spec setItemText(This, Item, Str) -> 'ok' when This::wxListCtrl(), Item::integer(), Str::unicode:chardata(). setItemText(#wx_ref{type=ThisT,ref=ThisRef},Item,Str) when is_integer(Item),is_list(Str) -> @@ -793,7 +793,7 @@ setItemText(#wx_ref{type=ThisT,ref=ThisRef},Item,Str) <<ThisRef:32/?UI,Item:32/?UI,(byte_size(Str_UC)):32/?UI,(Str_UC)/binary, 0:(((8- ((4+byte_size(Str_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlistctrl.html#wxlistctrlsetitemtextcolour">external documentation</a>. --spec setItemTextColour(This, Item, Col) -> ok when +-spec setItemTextColour(This, Item, Col) -> 'ok' when This::wxListCtrl(), Item::integer(), Col::wx:wx_colour(). setItemTextColour(#wx_ref{type=ThisT,ref=ThisRef},Item,Col) when is_integer(Item),tuple_size(Col) =:= 3; tuple_size(Col) =:= 4 -> @@ -802,7 +802,7 @@ setItemTextColour(#wx_ref{type=ThisT,ref=ThisRef},Item,Col) <<ThisRef:32/?UI,Item:32/?UI,(wxe_util:colour_bin(Col)):16/binary>>). %% @equiv setSingleStyle(This,Style, []) --spec setSingleStyle(This, Style) -> ok when +-spec setSingleStyle(This, Style) -> 'ok' when This::wxListCtrl(), Style::integer(). setSingleStyle(This,Style) @@ -810,9 +810,9 @@ setSingleStyle(This,Style) setSingleStyle(This,Style, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlistctrl.html#wxlistctrlsetsinglestyle">external documentation</a>. --spec setSingleStyle(This, Style, [Option]) -> ok when +-spec setSingleStyle(This, Style, [Option]) -> 'ok' when This::wxListCtrl(), Style::integer(), - Option :: {add, boolean()}. + Option :: {'add', boolean()}. setSingleStyle(#wx_ref{type=ThisT,ref=ThisRef},Style, Options) when is_integer(Style),is_list(Options) -> ?CLASS(ThisT,wxListCtrl), @@ -823,7 +823,7 @@ setSingleStyle(#wx_ref{type=ThisT,ref=ThisRef},Style, Options) <<ThisRef:32/?UI,Style:32/?UI, BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlistctrl.html#wxlistctrlsettextcolour">external documentation</a>. --spec setTextColour(This, Col) -> ok when +-spec setTextColour(This, Col) -> 'ok' when This::wxListCtrl(), Col::wx:wx_colour(). setTextColour(#wx_ref{type=ThisT,ref=ThisRef},Col) when tuple_size(Col) =:= 3; tuple_size(Col) =:= 4 -> @@ -832,7 +832,7 @@ setTextColour(#wx_ref{type=ThisT,ref=ThisRef},Col) <<ThisRef:32/?UI,(wxe_util:colour_bin(Col)):16/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlistctrl.html#wxlistctrlsetwindowstyleflag">external documentation</a>. --spec setWindowStyleFlag(This, Style) -> ok when +-spec setWindowStyleFlag(This, Style) -> 'ok' when This::wxListCtrl(), Style::integer(). setWindowStyleFlag(#wx_ref{type=ThisT,ref=ThisRef},Style) when is_integer(Style) -> @@ -859,7 +859,7 @@ sortItems(#wx_ref{type=ThisT,ref=ThisRef}, SortCallBack) SortId = wxe_util:get_cbId(Sort), wxe_util:call(?wxListCtrl_SortItems, <<ThisRef:32/?UI,SortId:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxListCtrl()) -> ok. +-spec destroy(This::wxListCtrl()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxListCtrl), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxListItem.erl b/lib/wx/src/gen/wxListItem.erl index 0dcad246d0..1530a8c514 100644 --- a/lib/wx/src/gen/wxListItem.erl +++ b/lib/wx/src/gen/wxListItem.erl @@ -54,7 +54,7 @@ new(#wx_ref{type=ItemT,ref=ItemRef}) -> <<ItemRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlistitem.html#wxlistitemclear">external documentation</a>. --spec clear(This) -> ok when +-spec clear(This) -> 'ok' when This::wxListItem(). clear(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxListItem), @@ -152,7 +152,7 @@ getWidth(#wx_ref{type=ThisT,ref=ThisRef}) -> %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlistitem.html#wxlistitemsetalign">external documentation</a>. %%<br /> Align = ?wxLIST_FORMAT_LEFT | ?wxLIST_FORMAT_RIGHT | ?wxLIST_FORMAT_CENTRE | ?wxLIST_FORMAT_CENTER --spec setAlign(This, Align) -> ok when +-spec setAlign(This, Align) -> 'ok' when This::wxListItem(), Align::wx:wx_enum(). setAlign(#wx_ref{type=ThisT,ref=ThisRef},Align) when is_integer(Align) -> @@ -161,7 +161,7 @@ setAlign(#wx_ref{type=ThisT,ref=ThisRef},Align) <<ThisRef:32/?UI,Align:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlistitem.html#wxlistitemsetbackgroundcolour">external documentation</a>. --spec setBackgroundColour(This, ColBack) -> ok when +-spec setBackgroundColour(This, ColBack) -> 'ok' when This::wxListItem(), ColBack::wx:wx_colour(). setBackgroundColour(#wx_ref{type=ThisT,ref=ThisRef},ColBack) when tuple_size(ColBack) =:= 3; tuple_size(ColBack) =:= 4 -> @@ -170,7 +170,7 @@ setBackgroundColour(#wx_ref{type=ThisT,ref=ThisRef},ColBack) <<ThisRef:32/?UI,(wxe_util:colour_bin(ColBack)):16/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlistitem.html#wxlistitemsetcolumn">external documentation</a>. --spec setColumn(This, Col) -> ok when +-spec setColumn(This, Col) -> 'ok' when This::wxListItem(), Col::integer(). setColumn(#wx_ref{type=ThisT,ref=ThisRef},Col) when is_integer(Col) -> @@ -179,7 +179,7 @@ setColumn(#wx_ref{type=ThisT,ref=ThisRef},Col) <<ThisRef:32/?UI,Col:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlistitem.html#wxlistitemsetfont">external documentation</a>. --spec setFont(This, Font) -> ok when +-spec setFont(This, Font) -> 'ok' when This::wxListItem(), Font::wxFont:wxFont(). setFont(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=FontT,ref=FontRef}) -> ?CLASS(ThisT,wxListItem), @@ -188,7 +188,7 @@ setFont(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=FontT,ref=FontRef}) -> <<ThisRef:32/?UI,FontRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlistitem.html#wxlistitemsetid">external documentation</a>. --spec setId(This, Id) -> ok when +-spec setId(This, Id) -> 'ok' when This::wxListItem(), Id::integer(). setId(#wx_ref{type=ThisT,ref=ThisRef},Id) when is_integer(Id) -> @@ -197,7 +197,7 @@ setId(#wx_ref{type=ThisT,ref=ThisRef},Id) <<ThisRef:32/?UI,Id:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlistitem.html#wxlistitemsetimage">external documentation</a>. --spec setImage(This, Image) -> ok when +-spec setImage(This, Image) -> 'ok' when This::wxListItem(), Image::integer(). setImage(#wx_ref{type=ThisT,ref=ThisRef},Image) when is_integer(Image) -> @@ -206,7 +206,7 @@ setImage(#wx_ref{type=ThisT,ref=ThisRef},Image) <<ThisRef:32/?UI,Image:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlistitem.html#wxlistitemsetmask">external documentation</a>. --spec setMask(This, Mask) -> ok when +-spec setMask(This, Mask) -> 'ok' when This::wxListItem(), Mask::integer(). setMask(#wx_ref{type=ThisT,ref=ThisRef},Mask) when is_integer(Mask) -> @@ -215,7 +215,7 @@ setMask(#wx_ref{type=ThisT,ref=ThisRef},Mask) <<ThisRef:32/?UI,Mask:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlistitem.html#wxlistitemsetstate">external documentation</a>. --spec setState(This, State) -> ok when +-spec setState(This, State) -> 'ok' when This::wxListItem(), State::integer(). setState(#wx_ref{type=ThisT,ref=ThisRef},State) when is_integer(State) -> @@ -224,7 +224,7 @@ setState(#wx_ref{type=ThisT,ref=ThisRef},State) <<ThisRef:32/?UI,State:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlistitem.html#wxlistitemsetstatemask">external documentation</a>. --spec setStateMask(This, StateMask) -> ok when +-spec setStateMask(This, StateMask) -> 'ok' when This::wxListItem(), StateMask::integer(). setStateMask(#wx_ref{type=ThisT,ref=ThisRef},StateMask) when is_integer(StateMask) -> @@ -233,7 +233,7 @@ setStateMask(#wx_ref{type=ThisT,ref=ThisRef},StateMask) <<ThisRef:32/?UI,StateMask:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlistitem.html#wxlistitemsettext">external documentation</a>. --spec setText(This, Text) -> ok when +-spec setText(This, Text) -> 'ok' when This::wxListItem(), Text::unicode:chardata(). setText(#wx_ref{type=ThisT,ref=ThisRef},Text) when is_list(Text) -> @@ -243,7 +243,7 @@ setText(#wx_ref{type=ThisT,ref=ThisRef},Text) <<ThisRef:32/?UI,(byte_size(Text_UC)):32/?UI,(Text_UC)/binary, 0:(((8- ((0+byte_size(Text_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlistitem.html#wxlistitemsettextcolour">external documentation</a>. --spec setTextColour(This, ColText) -> ok when +-spec setTextColour(This, ColText) -> 'ok' when This::wxListItem(), ColText::wx:wx_colour(). setTextColour(#wx_ref{type=ThisT,ref=ThisRef},ColText) when tuple_size(ColText) =:= 3; tuple_size(ColText) =:= 4 -> @@ -252,7 +252,7 @@ setTextColour(#wx_ref{type=ThisT,ref=ThisRef},ColText) <<ThisRef:32/?UI,(wxe_util:colour_bin(ColText)):16/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlistitem.html#wxlistitemsetwidth">external documentation</a>. --spec setWidth(This, Width) -> ok when +-spec setWidth(This, Width) -> 'ok' when This::wxListItem(), Width::integer(). setWidth(#wx_ref{type=ThisT,ref=ThisRef},Width) when is_integer(Width) -> @@ -261,7 +261,7 @@ setWidth(#wx_ref{type=ThisT,ref=ThisRef},Width) <<ThisRef:32/?UI,Width:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxListItem()) -> ok. +-spec destroy(This::wxListItem()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxListItem), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxListItemAttr.erl b/lib/wx/src/gen/wxListItemAttr.erl index c581292358..360366c1be 100644 --- a/lib/wx/src/gen/wxListItemAttr.erl +++ b/lib/wx/src/gen/wxListItemAttr.erl @@ -101,7 +101,7 @@ hasTextColour(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlistitemattr.html#wxlistitemattrsetbackgroundcolour">external documentation</a>. --spec setBackgroundColour(This, ColBack) -> ok when +-spec setBackgroundColour(This, ColBack) -> 'ok' when This::wxListItemAttr(), ColBack::wx:wx_colour(). setBackgroundColour(#wx_ref{type=ThisT,ref=ThisRef},ColBack) when tuple_size(ColBack) =:= 3; tuple_size(ColBack) =:= 4 -> @@ -110,7 +110,7 @@ setBackgroundColour(#wx_ref{type=ThisT,ref=ThisRef},ColBack) <<ThisRef:32/?UI,(wxe_util:colour_bin(ColBack)):16/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlistitemattr.html#wxlistitemattrsetfont">external documentation</a>. --spec setFont(This, Font) -> ok when +-spec setFont(This, Font) -> 'ok' when This::wxListItemAttr(), Font::wxFont:wxFont(). setFont(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=FontT,ref=FontRef}) -> ?CLASS(ThisT,wxListItemAttr), @@ -119,7 +119,7 @@ setFont(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=FontT,ref=FontRef}) -> <<ThisRef:32/?UI,FontRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlistitemattr.html#wxlistitemattrsettextcolour">external documentation</a>. --spec setTextColour(This, ColText) -> ok when +-spec setTextColour(This, ColText) -> 'ok' when This::wxListItemAttr(), ColText::wx:wx_colour(). setTextColour(#wx_ref{type=ThisT,ref=ThisRef},ColText) when tuple_size(ColText) =:= 3; tuple_size(ColText) =:= 4 -> @@ -128,7 +128,7 @@ setTextColour(#wx_ref{type=ThisT,ref=ThisRef},ColText) <<ThisRef:32/?UI,(wxe_util:colour_bin(ColText)):16/binary>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxListItemAttr()) -> ok. +-spec destroy(This::wxListItemAttr()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxListItemAttr), wxe_util:destroy(?wxListItemAttr_destroy,Obj), diff --git a/lib/wx/src/gen/wxListView.erl b/lib/wx/src/gen/wxListView.erl index 288afcee82..908bf4c1c9 100644 --- a/lib/wx/src/gen/wxListView.erl +++ b/lib/wx/src/gen/wxListView.erl @@ -81,7 +81,7 @@ parent_class(_Class) -> erlang:error({badtype, ?MODULE}). -type wxListView() :: wx:wx_object(). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlistview.html#wxlistviewclearcolumnimage">external documentation</a>. --spec clearColumnImage(This, Col) -> ok when +-spec clearColumnImage(This, Col) -> 'ok' when This::wxListView(), Col::integer(). clearColumnImage(#wx_ref{type=ThisT,ref=ThisRef},Col) when is_integer(Col) -> @@ -90,7 +90,7 @@ clearColumnImage(#wx_ref{type=ThisT,ref=ThisRef},Col) <<ThisRef:32/?UI,Col:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlistview.html#wxlistviewfocus">external documentation</a>. --spec focus(This, Index) -> ok when +-spec focus(This, Index) -> 'ok' when This::wxListView(), Index::integer(). focus(#wx_ref{type=ThisT,ref=ThisRef},Index) when is_integer(Index) -> @@ -133,7 +133,7 @@ isSelected(#wx_ref{type=ThisT,ref=ThisRef},Index) <<ThisRef:32/?UI,Index:32/?UI>>). %% @equiv select(This,N, []) --spec select(This, N) -> ok when +-spec select(This, N) -> 'ok' when This::wxListView(), N::integer(). select(This,N) @@ -141,9 +141,9 @@ select(This,N) select(This,N, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlistview.html#wxlistviewselect">external documentation</a>. --spec select(This, N, [Option]) -> ok when +-spec select(This, N, [Option]) -> 'ok' when This::wxListView(), N::integer(), - Option :: {on, boolean()}. + Option :: {'on', boolean()}. select(#wx_ref{type=ThisT,ref=ThisRef},N, Options) when is_integer(N),is_list(Options) -> ?CLASS(ThisT,wxListView), @@ -154,7 +154,7 @@ select(#wx_ref{type=ThisT,ref=ThisRef},N, Options) <<ThisRef:32/?UI,N:32/?UI, BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlistview.html#wxlistviewsetcolumnimage">external documentation</a>. --spec setColumnImage(This, Col, Image) -> ok when +-spec setColumnImage(This, Col, Image) -> 'ok' when This::wxListView(), Col::integer(), Image::integer(). setColumnImage(#wx_ref{type=ThisT,ref=ThisRef},Col,Image) when is_integer(Col),is_integer(Image) -> diff --git a/lib/wx/src/gen/wxListbook.erl b/lib/wx/src/gen/wxListbook.erl index 6ea34e8eb1..a7050e1db9 100644 --- a/lib/wx/src/gen/wxListbook.erl +++ b/lib/wx/src/gen/wxListbook.erl @@ -101,9 +101,9 @@ new(Parent,Id) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlistbook.html#wxlistbookwxlistbook">external documentation</a>. -spec new(Parent, Id, [Option]) -> wxListbook() when Parent::wxWindow:wxWindow(), Id::integer(), - Option :: {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()}. + Option :: {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()}. new(#wx_ref{type=ParentT,ref=ParentRef},Id, Options) when is_integer(Id),is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -126,8 +126,8 @@ addPage(This,Page,Text) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlistbook.html#wxlistbookaddpage">external documentation</a>. -spec addPage(This, Page, Text, [Option]) -> boolean() when This::wxListbook(), Page::wxWindow:wxWindow(), Text::unicode:chardata(), - Option :: {bSelect, boolean()} - | {imageId, integer()}. + Option :: {'bSelect', boolean()} + | {'imageId', integer()}. addPage(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=PageT,ref=PageRef},Text, Options) when is_list(Text),is_list(Options) -> ?CLASS(ThisT,wxListbook), @@ -141,7 +141,7 @@ addPage(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=PageT,ref=PageRef},Text, Op <<ThisRef:32/?UI,PageRef:32/?UI,(byte_size(Text_UC)):32/?UI,(Text_UC)/binary, 0:(((8- ((4+byte_size(Text_UC)) band 16#7)) band 16#7))/unit:8, BinOpt/binary>>). %% @equiv advanceSelection(This, []) --spec advanceSelection(This) -> ok when +-spec advanceSelection(This) -> 'ok' when This::wxListbook(). advanceSelection(This) @@ -149,9 +149,9 @@ advanceSelection(This) advanceSelection(This, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlistbook.html#wxlistbookadvanceselection">external documentation</a>. --spec advanceSelection(This, [Option]) -> ok when +-spec advanceSelection(This, [Option]) -> 'ok' when This::wxListbook(), - Option :: {forward, boolean()}. + Option :: {'forward', boolean()}. advanceSelection(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxListbook), @@ -162,7 +162,7 @@ advanceSelection(#wx_ref{type=ThisT,ref=ThisRef}, Options) <<ThisRef:32/?UI, 0:32,BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlistbook.html#wxlistbookassignimagelist">external documentation</a>. --spec assignImageList(This, ImageList) -> ok when +-spec assignImageList(This, ImageList) -> 'ok' when This::wxListbook(), ImageList::wxImageList:wxImageList(). assignImageList(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ImageListT,ref=ImageListRef}) -> ?CLASS(ThisT,wxListbook), @@ -181,9 +181,9 @@ create(This,Parent,Id) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlistbook.html#wxlistbookcreate">external documentation</a>. -spec create(This, Parent, Id, [Option]) -> boolean() when This::wxListbook(), Parent::wxWindow:wxWindow(), Id::integer(), - Option :: {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()}. + Option :: {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()}. create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef},Id, Options) when is_integer(Id),is_list(Options) -> ?CLASS(ThisT,wxListbook), @@ -302,8 +302,8 @@ insertPage(This,N,Page,Text) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlistbook.html#wxlistbookinsertpage">external documentation</a>. -spec insertPage(This, N, Page, Text, [Option]) -> boolean() when This::wxListbook(), N::integer(), Page::wxWindow:wxWindow(), Text::unicode:chardata(), - Option :: {bSelect, boolean()} - | {imageId, integer()}. + Option :: {'bSelect', boolean()} + | {'imageId', integer()}. insertPage(#wx_ref{type=ThisT,ref=ThisRef},N,#wx_ref{type=PageT,ref=PageRef},Text, Options) when is_integer(N),is_list(Text),is_list(Options) -> ?CLASS(ThisT,wxListbook), @@ -317,7 +317,7 @@ insertPage(#wx_ref{type=ThisT,ref=ThisRef},N,#wx_ref{type=PageT,ref=PageRef},Tex <<ThisRef:32/?UI,N:32/?UI,PageRef:32/?UI,(byte_size(Text_UC)):32/?UI,(Text_UC)/binary, 0:(((8- ((0+byte_size(Text_UC)) band 16#7)) band 16#7))/unit:8, BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlistbook.html#wxlistbooksetimagelist">external documentation</a>. --spec setImageList(This, ImageList) -> ok when +-spec setImageList(This, ImageList) -> 'ok' when This::wxListbook(), ImageList::wxImageList:wxImageList(). setImageList(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ImageListT,ref=ImageListRef}) -> ?CLASS(ThisT,wxListbook), @@ -326,7 +326,7 @@ setImageList(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ImageListT,ref=ImageLi <<ThisRef:32/?UI,ImageListRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlistbook.html#wxlistbooksetpagesize">external documentation</a>. --spec setPageSize(This, Size) -> ok when +-spec setPageSize(This, Size) -> 'ok' when This::wxListbook(), Size::{W::integer(), H::integer()}. setPageSize(#wx_ref{type=ThisT,ref=ThisRef},{SizeW,SizeH}) when is_integer(SizeW),is_integer(SizeH) -> @@ -372,7 +372,7 @@ changeSelection(#wx_ref{type=ThisT,ref=ThisRef},N) <<ThisRef:32/?UI,N:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxListbook()) -> ok. +-spec destroy(This::wxListbook()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxListbook), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxLocale.erl b/lib/wx/src/gen/wxLocale.erl index 7d208b9823..d473731bf8 100644 --- a/lib/wx/src/gen/wxLocale.erl +++ b/lib/wx/src/gen/wxLocale.erl @@ -56,7 +56,7 @@ new(Language) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlocale.html#wxlocalewxlocale">external documentation</a>. -spec new(Language, [Option]) -> wxLocale() when Language::integer(), - Option :: {flags, integer()}. + Option :: {'flags', integer()}. new(Language, Options) when is_integer(Language),is_list(Options) -> MOpts = fun({flags, Flags}, Acc) -> [<<1:32/?UI,Flags:32/?UI>>|Acc]; @@ -76,8 +76,8 @@ init(This) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlocale.html#wxlocaleinit">external documentation</a>. -spec init(This, [Option]) -> boolean() when This::wxLocale(), - Option :: {language, integer()} - | {flags, integer()}. + Option :: {'language', integer()} + | {'flags', integer()}. init(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxLocale), @@ -111,7 +111,7 @@ addCatalog(#wx_ref{type=ThisT,ref=ThisRef},SzDomain,MsgIdLanguage,MsgIdCharset) <<ThisRef:32/?UI,(byte_size(SzDomain_UC)):32/?UI,(SzDomain_UC)/binary, 0:(((8- ((0+byte_size(SzDomain_UC)) band 16#7)) band 16#7))/unit:8,MsgIdLanguage:32/?UI,(byte_size(MsgIdCharset_UC)):32/?UI,(MsgIdCharset_UC)/binary, 0:(((8- ((0+byte_size(MsgIdCharset_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlocale.html#wxlocaleaddcataloglookuppathprefix">external documentation</a>. --spec addCatalogLookupPathPrefix(Prefix) -> ok when +-spec addCatalogLookupPathPrefix(Prefix) -> 'ok' when Prefix::unicode:chardata(). addCatalogLookupPathPrefix(Prefix) when is_list(Prefix) -> @@ -170,7 +170,7 @@ getString(This,SzOrigString) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlocale.html#wxlocalegetstring">external documentation</a>. -spec getString(This, SzOrigString, [Option]) -> unicode:charlist() when This::wxLocale(), SzOrigString::unicode:chardata(), - Option :: {szDomain, unicode:chardata()}. + Option :: {'szDomain', unicode:chardata()}. getString(#wx_ref{type=ThisT,ref=ThisRef},SzOrigString, Options) when is_list(SzOrigString),is_list(Options) -> ?CLASS(ThisT,wxLocale), @@ -192,7 +192,7 @@ getString(This,SzOrigString,SzOrigString2,N) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlocale.html#wxlocalegetstring">external documentation</a>. -spec getString(This, SzOrigString, SzOrigString2, N, [Option]) -> unicode:charlist() when This::wxLocale(), SzOrigString::unicode:chardata(), SzOrigString2::unicode:chardata(), N::integer(), - Option :: {szDomain, unicode:chardata()}. + Option :: {'szDomain', unicode:chardata()}. getString(#wx_ref{type=ThisT,ref=ThisRef},SzOrigString,SzOrigString2,N, Options) when is_list(SzOrigString),is_list(SzOrigString2),is_integer(N),is_list(Options) -> ?CLASS(ThisT,wxLocale), @@ -215,7 +215,7 @@ getHeaderValue(This,SzHeader) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxlocale.html#wxlocalegetheadervalue">external documentation</a>. -spec getHeaderValue(This, SzHeader, [Option]) -> unicode:charlist() when This::wxLocale(), SzHeader::unicode:chardata(), - Option :: {szDomain, unicode:chardata()}. + Option :: {'szDomain', unicode:chardata()}. getHeaderValue(#wx_ref{type=ThisT,ref=ThisRef},SzHeader, Options) when is_list(SzHeader),is_list(Options) -> ?CLASS(ThisT,wxLocale), @@ -272,7 +272,7 @@ isOk(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxLocale()) -> ok. +-spec destroy(This::wxLocale()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxLocale), wxe_util:destroy(?wxLocale_destruct,Obj), diff --git a/lib/wx/src/gen/wxLogNull.erl b/lib/wx/src/gen/wxLogNull.erl index a071dffb95..e82601a350 100644 --- a/lib/wx/src/gen/wxLogNull.erl +++ b/lib/wx/src/gen/wxLogNull.erl @@ -42,7 +42,7 @@ new() -> <<>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxLogNull()) -> ok. +-spec destroy(This::wxLogNull()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxLogNull), wxe_util:destroy(?wxLogNull_destroy,Obj), diff --git a/lib/wx/src/gen/wxMDIChildFrame.erl b/lib/wx/src/gen/wxMDIChildFrame.erl index ed29e5431f..b294e4898d 100644 --- a/lib/wx/src/gen/wxMDIChildFrame.erl +++ b/lib/wx/src/gen/wxMDIChildFrame.erl @@ -108,9 +108,9 @@ new(Parent,Id,Title) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxmdichildframe.html#wxmdichildframewxmdichildframe">external documentation</a>. -spec new(Parent, Id, Title, [Option]) -> wxMDIChildFrame() when Parent::wxMDIParentFrame:wxMDIParentFrame(), Id::integer(), Title::unicode:chardata(), - Option :: {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()}. + Option :: {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()}. new(#wx_ref{type=ParentT,ref=ParentRef},Id,Title, Options) when is_integer(Id),is_list(Title),is_list(Options) -> ?CLASS(ParentT,wxMDIParentFrame), @@ -124,7 +124,7 @@ new(#wx_ref{type=ParentT,ref=ParentRef},Id,Title, Options) <<ParentRef:32/?UI,Id:32/?UI,(byte_size(Title_UC)):32/?UI,(Title_UC)/binary, 0:(((8- ((4+byte_size(Title_UC)) band 16#7)) band 16#7))/unit:8, BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxmdichildframe.html#wxmdichildframeactivate">external documentation</a>. --spec activate(This) -> ok when +-spec activate(This) -> 'ok' when This::wxMDIChildFrame(). activate(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxMDIChildFrame), @@ -142,9 +142,9 @@ create(This,Parent,Id,Title) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxmdichildframe.html#wxmdichildframecreate">external documentation</a>. -spec create(This, Parent, Id, Title, [Option]) -> boolean() when This::wxMDIChildFrame(), Parent::wxMDIParentFrame:wxMDIParentFrame(), Id::integer(), Title::unicode:chardata(), - Option :: {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()}. + Option :: {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()}. create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef},Id,Title, Options) when is_integer(Id),is_list(Title),is_list(Options) -> ?CLASS(ThisT,wxMDIChildFrame), @@ -159,7 +159,7 @@ create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef},Id,Ti <<ThisRef:32/?UI,ParentRef:32/?UI,Id:32/?UI,(byte_size(Title_UC)):32/?UI,(Title_UC)/binary, 0:(((8- ((0+byte_size(Title_UC)) band 16#7)) band 16#7))/unit:8, BinOpt/binary>>). %% @equiv maximize(This, []) --spec maximize(This) -> ok when +-spec maximize(This) -> 'ok' when This::wxMDIChildFrame(). maximize(This) @@ -167,9 +167,9 @@ maximize(This) maximize(This, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxmdichildframe.html#wxmdichildframemaximize">external documentation</a>. --spec maximize(This, [Option]) -> ok when +-spec maximize(This, [Option]) -> 'ok' when This::wxMDIChildFrame(), - Option :: {maximize, boolean()}. + Option :: {'maximize', boolean()}. maximize(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxMDIChildFrame), @@ -180,7 +180,7 @@ maximize(#wx_ref{type=ThisT,ref=ThisRef}, Options) <<ThisRef:32/?UI, 0:32,BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxmdichildframe.html#wxmdichildframerestore">external documentation</a>. --spec restore(This) -> ok when +-spec restore(This) -> 'ok' when This::wxMDIChildFrame(). restore(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxMDIChildFrame), @@ -188,7 +188,7 @@ restore(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxMDIChildFrame()) -> ok. +-spec destroy(This::wxMDIChildFrame()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxMDIChildFrame), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxMDIClientWindow.erl b/lib/wx/src/gen/wxMDIClientWindow.erl index 6f10627086..ddc31760f4 100644 --- a/lib/wx/src/gen/wxMDIClientWindow.erl +++ b/lib/wx/src/gen/wxMDIClientWindow.erl @@ -96,7 +96,7 @@ new(Parent) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxmdiclientwindow.html#wxmdiclientwindowwxmdiclientwindow">external documentation</a>. -spec new(Parent, [Option]) -> wxMDIClientWindow() when Parent::wxMDIParentFrame:wxMDIParentFrame(), - Option :: {style, integer()}. + Option :: {'style', integer()}. new(#wx_ref{type=ParentT,ref=ParentRef}, Options) when is_list(Options) -> ?CLASS(ParentT,wxMDIParentFrame), @@ -117,7 +117,7 @@ createClient(This,Parent) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxmdiclientwindow.html#wxmdiclientwindowcreateclient">external documentation</a>. -spec createClient(This, Parent, [Option]) -> boolean() when This::wxMDIClientWindow(), Parent::wxMDIParentFrame:wxMDIParentFrame(), - Option :: {style, integer()}. + Option :: {'style', integer()}. createClient(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxMDIClientWindow), @@ -129,7 +129,7 @@ createClient(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef} <<ThisRef:32/?UI,ParentRef:32/?UI, BinOpt/binary>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxMDIClientWindow()) -> ok. +-spec destroy(This::wxMDIClientWindow()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxMDIClientWindow), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxMDIParentFrame.erl b/lib/wx/src/gen/wxMDIParentFrame.erl index 47d9182d60..63b4ec8e23 100644 --- a/lib/wx/src/gen/wxMDIParentFrame.erl +++ b/lib/wx/src/gen/wxMDIParentFrame.erl @@ -109,9 +109,9 @@ new(Parent,Id,Title) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxmdiparentframe.html#wxmdiparentframewxmdiparentframe">external documentation</a>. -spec new(Parent, Id, Title, [Option]) -> wxMDIParentFrame() when Parent::wxWindow:wxWindow(), Id::integer(), Title::unicode:chardata(), - Option :: {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()}. + Option :: {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()}. new(#wx_ref{type=ParentT,ref=ParentRef},Id,Title, Options) when is_integer(Id),is_list(Title),is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -125,7 +125,7 @@ new(#wx_ref{type=ParentT,ref=ParentRef},Id,Title, Options) <<ParentRef:32/?UI,Id:32/?UI,(byte_size(Title_UC)):32/?UI,(Title_UC)/binary, 0:(((8- ((4+byte_size(Title_UC)) band 16#7)) band 16#7))/unit:8, BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxmdiparentframe.html#wxmdiparentframeactivatenext">external documentation</a>. --spec activateNext(This) -> ok when +-spec activateNext(This) -> 'ok' when This::wxMDIParentFrame(). activateNext(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxMDIParentFrame), @@ -133,7 +133,7 @@ activateNext(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxmdiparentframe.html#wxmdiparentframeactivateprevious">external documentation</a>. --spec activatePrevious(This) -> ok when +-spec activatePrevious(This) -> 'ok' when This::wxMDIParentFrame(). activatePrevious(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxMDIParentFrame), @@ -141,7 +141,7 @@ activatePrevious(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxmdiparentframe.html#wxmdiparentframearrangeicons">external documentation</a>. --spec arrangeIcons(This) -> ok when +-spec arrangeIcons(This) -> 'ok' when This::wxMDIParentFrame(). arrangeIcons(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxMDIParentFrame), @@ -149,7 +149,7 @@ arrangeIcons(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxmdiparentframe.html#wxmdiparentframecascade">external documentation</a>. --spec cascade(This) -> ok when +-spec cascade(This) -> 'ok' when This::wxMDIParentFrame(). cascade(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxMDIParentFrame), @@ -167,9 +167,9 @@ create(This,Parent,Id,Title) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxmdiparentframe.html#wxmdiparentframecreate">external documentation</a>. -spec create(This, Parent, Id, Title, [Option]) -> boolean() when This::wxMDIParentFrame(), Parent::wxWindow:wxWindow(), Id::integer(), Title::unicode:chardata(), - Option :: {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()}. + Option :: {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()}. create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef},Id,Title, Options) when is_integer(Id),is_list(Title),is_list(Options) -> ?CLASS(ThisT,wxMDIParentFrame), @@ -200,7 +200,7 @@ getClientWindow(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @equiv tile(This, []) --spec tile(This) -> ok when +-spec tile(This) -> 'ok' when This::wxMDIParentFrame(). tile(This) @@ -209,9 +209,9 @@ tile(This) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxmdiparentframe.html#wxmdiparentframetile">external documentation</a>. %%<br /> Orient = ?wxHORIZONTAL | ?wxVERTICAL | ?wxBOTH --spec tile(This, [Option]) -> ok when +-spec tile(This, [Option]) -> 'ok' when This::wxMDIParentFrame(), - Option :: {orient, wx:wx_enum()}. + Option :: {'orient', wx:wx_enum()}. tile(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxMDIParentFrame), @@ -222,7 +222,7 @@ tile(#wx_ref{type=ThisT,ref=ThisRef}, Options) <<ThisRef:32/?UI, 0:32,BinOpt/binary>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxMDIParentFrame()) -> ok. +-spec destroy(This::wxMDIParentFrame()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxMDIParentFrame), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxMask.erl b/lib/wx/src/gen/wxMask.erl index 98c96277dd..f50392eb34 100644 --- a/lib/wx/src/gen/wxMask.erl +++ b/lib/wx/src/gen/wxMask.erl @@ -101,7 +101,7 @@ create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=BitmapT,ref=BitmapRef},Colou <<ThisRef:32/?UI,BitmapRef:32/?UI,(wxe_util:colour_bin(Colour)):16/binary>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxMask()) -> ok. +-spec destroy(This::wxMask()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxMask), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxMemoryDC.erl b/lib/wx/src/gen/wxMemoryDC.erl index 8a59be7ad2..f1a5669e17 100644 --- a/lib/wx/src/gen/wxMemoryDC.erl +++ b/lib/wx/src/gen/wxMemoryDC.erl @@ -81,7 +81,7 @@ new(#wx_ref{type=DcT,ref=DcRef}) -> <<DcRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxmemorydc.html#wxmemorydcselectobject">external documentation</a>. --spec selectObject(This, Bmp) -> ok when +-spec selectObject(This, Bmp) -> 'ok' when This::wxMemoryDC(), Bmp::wxBitmap:wxBitmap(). selectObject(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=BmpT,ref=BmpRef}) -> ?CLASS(ThisT,wxMemoryDC), @@ -90,7 +90,7 @@ selectObject(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=BmpT,ref=BmpRef}) -> <<ThisRef:32/?UI,BmpRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxmemorydc.html#wxmemorydcselectobjectassource">external documentation</a>. --spec selectObjectAsSource(This, Bmp) -> ok when +-spec selectObjectAsSource(This, Bmp) -> 'ok' when This::wxMemoryDC(), Bmp::wxBitmap:wxBitmap(). selectObjectAsSource(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=BmpT,ref=BmpRef}) -> ?CLASS(ThisT,wxMemoryDC), @@ -99,7 +99,7 @@ selectObjectAsSource(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=BmpT,ref=BmpRe <<ThisRef:32/?UI,BmpRef:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxMemoryDC()) -> ok. +-spec destroy(This::wxMemoryDC()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxMemoryDC), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxMenu.erl b/lib/wx/src/gen/wxMenu.erl index 59feef7b19..317ea38685 100644 --- a/lib/wx/src/gen/wxMenu.erl +++ b/lib/wx/src/gen/wxMenu.erl @@ -55,7 +55,7 @@ new() -> %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxmenu.html#wxmenuwxmenu">external documentation</a>. -spec new([Option]) -> wxMenu() when - Option :: {style, integer()}. + Option :: {'style', integer()}. new(Options) when is_list(Options) -> MOpts = fun({style, Style}, Acc) -> [<<1:32/?UI,Style:32/?UI>>|Acc]; @@ -67,7 +67,7 @@ new(Options) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxmenu.html#wxmenuwxmenu">external documentation</a>. -spec new(Title, [Option]) -> wxMenu() when Title::unicode:chardata(), - Option :: {style, integer()}. + Option :: {'style', integer()}. new(Title, Options) when is_list(Title),is_list(Options) -> Title_UC = unicode:characters_to_binary([Title,0]), @@ -98,16 +98,16 @@ append(This,Itemid,Text) %% <br /> Also:<br /> %% append(This, Itemid, Text, [Option]) -> wxMenuItem:wxMenuItem() when<br /> %% This::wxMenu(), Itemid::integer(), Text::unicode:chardata(),<br /> -%% Option :: {help, unicode:chardata()}<br /> -%% | {kind, wx:wx_enum()}.<br /> +%% Option :: {'help', unicode:chardata()}<br /> +%% | {'kind', wx:wx_enum()}.<br /> %% %%<br /> Kind = ?wxITEM_SEPARATOR | ?wxITEM_NORMAL | ?wxITEM_CHECK | ?wxITEM_RADIO | ?wxITEM_MAX -spec append(This, Itemid, Text, Submenu) -> wxMenuItem:wxMenuItem() when This::wxMenu(), Itemid::integer(), Text::unicode:chardata(), Submenu::wxMenu(); (This, Itemid, Text, [Option]) -> wxMenuItem:wxMenuItem() when This::wxMenu(), Itemid::integer(), Text::unicode:chardata(), - Option :: {help, unicode:chardata()} - | {kind, wx:wx_enum()}. + Option :: {'help', unicode:chardata()} + | {'kind', wx:wx_enum()}. append(This,Itemid,Text,Submenu) when is_record(This, wx_ref),is_integer(Itemid),is_list(Text),is_record(Submenu, wx_ref) -> @@ -127,13 +127,13 @@ append(#wx_ref{type=ThisT,ref=ThisRef},Itemid,Text, Options) %% <br /> Also:<br /> %% append(This, Itemid, Text, Submenu, [Option]) -> wxMenuItem:wxMenuItem() when<br /> %% This::wxMenu(), Itemid::integer(), Text::unicode:chardata(), Submenu::wxMenu(),<br /> -%% Option :: {help, unicode:chardata()}.<br /> +%% Option :: {'help', unicode:chardata()}.<br /> %% --spec append(This, Itemid, Text, Help, IsCheckable) -> ok when +-spec append(This, Itemid, Text, Help, IsCheckable) -> 'ok' when This::wxMenu(), Itemid::integer(), Text::unicode:chardata(), Help::unicode:chardata(), IsCheckable::boolean(); (This, Itemid, Text, Submenu, [Option]) -> wxMenuItem:wxMenuItem() when This::wxMenu(), Itemid::integer(), Text::unicode:chardata(), Submenu::wxMenu(), - Option :: {help, unicode:chardata()}. + Option :: {'help', unicode:chardata()}. append(#wx_ref{type=ThisT,ref=ThisRef},Itemid,Text,Help,IsCheckable) when is_integer(Itemid),is_list(Text),is_list(Help),is_boolean(IsCheckable) -> ?CLASS(ThisT,wxMenu), @@ -163,7 +163,7 @@ appendCheckItem(This,Itemid,Text) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxmenu.html#wxmenuappendcheckitem">external documentation</a>. -spec appendCheckItem(This, Itemid, Text, [Option]) -> wxMenuItem:wxMenuItem() when This::wxMenu(), Itemid::integer(), Text::unicode:chardata(), - Option :: {help, unicode:chardata()}. + Option :: {'help', unicode:chardata()}. appendCheckItem(#wx_ref{type=ThisT,ref=ThisRef},Itemid,Text, Options) when is_integer(Itemid),is_list(Text),is_list(Options) -> ?CLASS(ThisT,wxMenu), @@ -185,7 +185,7 @@ appendRadioItem(This,Itemid,Text) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxmenu.html#wxmenuappendradioitem">external documentation</a>. -spec appendRadioItem(This, Itemid, Text, [Option]) -> wxMenuItem:wxMenuItem() when This::wxMenu(), Itemid::integer(), Text::unicode:chardata(), - Option :: {help, unicode:chardata()}. + Option :: {'help', unicode:chardata()}. appendRadioItem(#wx_ref{type=ThisT,ref=ThisRef},Itemid,Text, Options) when is_integer(Itemid),is_list(Text),is_list(Options) -> ?CLASS(ThisT,wxMenu), @@ -205,7 +205,7 @@ appendSeparator(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxmenu.html#wxmenubreak">external documentation</a>. --spec break(This) -> ok when +-spec break(This) -> 'ok' when This::wxMenu(). break(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxMenu), @@ -213,7 +213,7 @@ break(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxmenu.html#wxmenucheck">external documentation</a>. --spec check(This, Itemid, Check) -> ok when +-spec check(This, Itemid, Check) -> 'ok' when This::wxMenu(), Itemid::integer(), Check::boolean(). check(#wx_ref{type=ThisT,ref=ThisRef},Itemid,Check) when is_integer(Itemid),is_boolean(Check) -> @@ -262,7 +262,7 @@ delete(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ItemT,ref=ItemRef}) -> <<ThisRef:32/?UI,ItemRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxmenu.html#wxmenuenable">external documentation</a>. --spec enable(This, Itemid, Enable) -> ok when +-spec enable(This, Itemid, Enable) -> 'ok' when This::wxMenu(), Itemid::integer(), Enable::boolean(). enable(#wx_ref{type=ThisT,ref=ThisRef},Itemid,Enable) when is_integer(Itemid),is_boolean(Enable) -> @@ -367,9 +367,9 @@ insert(#wx_ref{type=ThisT,ref=ThisRef},Pos,#wx_ref{type=ItemT,ref=ItemRef}) %%<br /> Kind = ?wxITEM_SEPARATOR | ?wxITEM_NORMAL | ?wxITEM_CHECK | ?wxITEM_RADIO | ?wxITEM_MAX -spec insert(This, Pos, Itemid, [Option]) -> wxMenuItem:wxMenuItem() when This::wxMenu(), Pos::integer(), Itemid::integer(), - Option :: {text, unicode:chardata()} - | {help, unicode:chardata()} - | {kind, wx:wx_enum()}. + Option :: {'text', unicode:chardata()} + | {'help', unicode:chardata()} + | {'kind', wx:wx_enum()}. insert(#wx_ref{type=ThisT,ref=ThisRef},Pos,Itemid, Options) when is_integer(Pos),is_integer(Itemid),is_list(Options) -> ?CLASS(ThisT,wxMenu), @@ -393,13 +393,13 @@ insert(This,Pos,Itemid,Text,Submenu) %% <br /> Also:<br /> %% insert(This, Pos, Itemid, Text, Submenu, [Option]) -> wxMenuItem:wxMenuItem() when<br /> %% This::wxMenu(), Pos::integer(), Itemid::integer(), Text::unicode:chardata(), Submenu::wxMenu(),<br /> -%% Option :: {help, unicode:chardata()}.<br /> +%% Option :: {'help', unicode:chardata()}.<br /> %% --spec insert(This, Pos, Itemid, Text, Help, IsCheckable) -> ok when +-spec insert(This, Pos, Itemid, Text, Help, IsCheckable) -> 'ok' when This::wxMenu(), Pos::integer(), Itemid::integer(), Text::unicode:chardata(), Help::unicode:chardata(), IsCheckable::boolean(); (This, Pos, Itemid, Text, Submenu, [Option]) -> wxMenuItem:wxMenuItem() when This::wxMenu(), Pos::integer(), Itemid::integer(), Text::unicode:chardata(), Submenu::wxMenu(), - Option :: {help, unicode:chardata()}. + Option :: {'help', unicode:chardata()}. insert(#wx_ref{type=ThisT,ref=ThisRef},Pos,Itemid,Text,Help,IsCheckable) when is_integer(Pos),is_integer(Itemid),is_list(Text),is_list(Help),is_boolean(IsCheckable) -> ?CLASS(ThisT,wxMenu), @@ -429,7 +429,7 @@ insertCheckItem(This,Pos,Itemid,Text) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxmenu.html#wxmenuinsertcheckitem">external documentation</a>. -spec insertCheckItem(This, Pos, Itemid, Text, [Option]) -> wxMenuItem:wxMenuItem() when This::wxMenu(), Pos::integer(), Itemid::integer(), Text::unicode:chardata(), - Option :: {help, unicode:chardata()}. + Option :: {'help', unicode:chardata()}. insertCheckItem(#wx_ref{type=ThisT,ref=ThisRef},Pos,Itemid,Text, Options) when is_integer(Pos),is_integer(Itemid),is_list(Text),is_list(Options) -> ?CLASS(ThisT,wxMenu), @@ -451,7 +451,7 @@ insertRadioItem(This,Pos,Itemid,Text) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxmenu.html#wxmenuinsertradioitem">external documentation</a>. -spec insertRadioItem(This, Pos, Itemid, Text, [Option]) -> wxMenuItem:wxMenuItem() when This::wxMenu(), Pos::integer(), Itemid::integer(), Text::unicode:chardata(), - Option :: {help, unicode:chardata()}. + Option :: {'help', unicode:chardata()}. insertRadioItem(#wx_ref{type=ThisT,ref=ThisRef},Pos,Itemid,Text, Options) when is_integer(Pos),is_integer(Itemid),is_list(Text),is_list(Options) -> ?CLASS(ThisT,wxMenu), @@ -513,9 +513,9 @@ prepend(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ItemT,ref=ItemRef}) -> %%<br /> Kind = ?wxITEM_SEPARATOR | ?wxITEM_NORMAL | ?wxITEM_CHECK | ?wxITEM_RADIO | ?wxITEM_MAX -spec prepend(This, Itemid, [Option]) -> wxMenuItem:wxMenuItem() when This::wxMenu(), Itemid::integer(), - Option :: {text, unicode:chardata()} - | {help, unicode:chardata()} - | {kind, wx:wx_enum()}. + Option :: {'text', unicode:chardata()} + | {'help', unicode:chardata()} + | {'kind', wx:wx_enum()}. prepend(#wx_ref{type=ThisT,ref=ThisRef},Itemid, Options) when is_integer(Itemid),is_list(Options) -> ?CLASS(ThisT,wxMenu), @@ -539,13 +539,13 @@ prepend(This,Itemid,Text,Submenu) %% <br /> Also:<br /> %% prepend(This, Itemid, Text, Submenu, [Option]) -> wxMenuItem:wxMenuItem() when<br /> %% This::wxMenu(), Itemid::integer(), Text::unicode:chardata(), Submenu::wxMenu(),<br /> -%% Option :: {help, unicode:chardata()}.<br /> +%% Option :: {'help', unicode:chardata()}.<br /> %% --spec prepend(This, Itemid, Text, Help, IsCheckable) -> ok when +-spec prepend(This, Itemid, Text, Help, IsCheckable) -> 'ok' when This::wxMenu(), Itemid::integer(), Text::unicode:chardata(), Help::unicode:chardata(), IsCheckable::boolean(); (This, Itemid, Text, Submenu, [Option]) -> wxMenuItem:wxMenuItem() when This::wxMenu(), Itemid::integer(), Text::unicode:chardata(), Submenu::wxMenu(), - Option :: {help, unicode:chardata()}. + Option :: {'help', unicode:chardata()}. prepend(#wx_ref{type=ThisT,ref=ThisRef},Itemid,Text,Help,IsCheckable) when is_integer(Itemid),is_list(Text),is_list(Help),is_boolean(IsCheckable) -> ?CLASS(ThisT,wxMenu), @@ -575,7 +575,7 @@ prependCheckItem(This,Itemid,Text) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxmenu.html#wxmenuprependcheckitem">external documentation</a>. -spec prependCheckItem(This, Itemid, Text, [Option]) -> wxMenuItem:wxMenuItem() when This::wxMenu(), Itemid::integer(), Text::unicode:chardata(), - Option :: {help, unicode:chardata()}. + Option :: {'help', unicode:chardata()}. prependCheckItem(#wx_ref{type=ThisT,ref=ThisRef},Itemid,Text, Options) when is_integer(Itemid),is_list(Text),is_list(Options) -> ?CLASS(ThisT,wxMenu), @@ -597,7 +597,7 @@ prependRadioItem(This,Itemid,Text) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxmenu.html#wxmenuprependradioitem">external documentation</a>. -spec prependRadioItem(This, Itemid, Text, [Option]) -> wxMenuItem:wxMenuItem() when This::wxMenu(), Itemid::integer(), Text::unicode:chardata(), - Option :: {help, unicode:chardata()}. + Option :: {'help', unicode:chardata()}. prependRadioItem(#wx_ref{type=ThisT,ref=ThisRef},Itemid,Text, Options) when is_integer(Itemid),is_list(Text),is_list(Options) -> ?CLASS(ThisT,wxMenu), @@ -637,7 +637,7 @@ remove(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ItemT,ref=ItemRef}) -> <<ThisRef:32/?UI,ItemRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxmenu.html#wxmenusethelpstring">external documentation</a>. --spec setHelpString(This, Itemid, HelpString) -> ok when +-spec setHelpString(This, Itemid, HelpString) -> 'ok' when This::wxMenu(), Itemid::integer(), HelpString::unicode:chardata(). setHelpString(#wx_ref{type=ThisT,ref=ThisRef},Itemid,HelpString) when is_integer(Itemid),is_list(HelpString) -> @@ -647,7 +647,7 @@ setHelpString(#wx_ref{type=ThisT,ref=ThisRef},Itemid,HelpString) <<ThisRef:32/?UI,Itemid:32/?UI,(byte_size(HelpString_UC)):32/?UI,(HelpString_UC)/binary, 0:(((8- ((4+byte_size(HelpString_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxmenu.html#wxmenusetlabel">external documentation</a>. --spec setLabel(This, Itemid, Label) -> ok when +-spec setLabel(This, Itemid, Label) -> 'ok' when This::wxMenu(), Itemid::integer(), Label::unicode:chardata(). setLabel(#wx_ref{type=ThisT,ref=ThisRef},Itemid,Label) when is_integer(Itemid),is_list(Label) -> @@ -657,7 +657,7 @@ setLabel(#wx_ref{type=ThisT,ref=ThisRef},Itemid,Label) <<ThisRef:32/?UI,Itemid:32/?UI,(byte_size(Label_UC)):32/?UI,(Label_UC)/binary, 0:(((8- ((4+byte_size(Label_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxmenu.html#wxmenusettitle">external documentation</a>. --spec setTitle(This, Title) -> ok when +-spec setTitle(This, Title) -> 'ok' when This::wxMenu(), Title::unicode:chardata(). setTitle(#wx_ref{type=ThisT,ref=ThisRef},Title) when is_list(Title) -> @@ -667,7 +667,7 @@ setTitle(#wx_ref{type=ThisT,ref=ThisRef},Title) <<ThisRef:32/?UI,(byte_size(Title_UC)):32/?UI,(Title_UC)/binary, 0:(((8- ((0+byte_size(Title_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxMenu()) -> ok. +-spec destroy(This::wxMenu()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxMenu), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxMenuBar.erl b/lib/wx/src/gen/wxMenuBar.erl index 5e879da5ed..05f7a423d5 100644 --- a/lib/wx/src/gen/wxMenuBar.erl +++ b/lib/wx/src/gen/wxMenuBar.erl @@ -106,7 +106,7 @@ append(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=MenuT,ref=MenuRef},Title) <<ThisRef:32/?UI,MenuRef:32/?UI,(byte_size(Title_UC)):32/?UI,(Title_UC)/binary, 0:(((8- ((4+byte_size(Title_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxmenubar.html#wxmenubarcheck">external documentation</a>. --spec check(This, Itemid, Check) -> ok when +-spec check(This, Itemid, Check) -> 'ok' when This::wxMenuBar(), Itemid::integer(), Check::boolean(). check(#wx_ref{type=ThisT,ref=ThisRef},Itemid,Check) when is_integer(Itemid),is_boolean(Check) -> @@ -125,7 +125,7 @@ enable(This) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxmenubar.html#wxmenubarenable">external documentation</a>. -spec enable(This, [Option]) -> boolean() when This::wxMenuBar(), - Option :: {enable, boolean()}. + Option :: {'enable', boolean()}. enable(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxMenuBar), @@ -136,7 +136,7 @@ enable(#wx_ref{type=ThisT,ref=ThisRef}, Options) <<ThisRef:32/?UI, 0:32,BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxmenubar.html#wxmenubarenable">external documentation</a>. --spec enable(This, Itemid, Enable) -> ok when +-spec enable(This, Itemid, Enable) -> 'ok' when This::wxMenuBar(), Itemid::integer(), Enable::boolean(). enable(#wx_ref{type=ThisT,ref=ThisRef},Itemid,Enable) when is_integer(Itemid),is_boolean(Enable) -> @@ -145,7 +145,7 @@ enable(#wx_ref{type=ThisT,ref=ThisRef},Itemid,Enable) <<ThisRef:32/?UI,Itemid:32/?UI,(wxe_util:from_bool(Enable)):32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxmenubar.html#wxmenubarenabletop">external documentation</a>. --spec enableTop(This, Pos, Flag) -> ok when +-spec enableTop(This, Pos, Flag) -> 'ok' when This::wxMenuBar(), Pos::integer(), Flag::boolean(). enableTop(#wx_ref{type=ThisT,ref=ThisRef},Pos,Flag) when is_integer(Pos),is_boolean(Flag) -> @@ -293,7 +293,7 @@ replace(#wx_ref{type=ThisT,ref=ThisRef},Pos,#wx_ref{type=MenuT,ref=MenuRef},Titl <<ThisRef:32/?UI,Pos:32/?UI,MenuRef:32/?UI,(byte_size(Title_UC)):32/?UI,(Title_UC)/binary, 0:(((8- ((0+byte_size(Title_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxmenubar.html#wxmenubarsethelpstring">external documentation</a>. --spec setHelpString(This, Itemid, HelpString) -> ok when +-spec setHelpString(This, Itemid, HelpString) -> 'ok' when This::wxMenuBar(), Itemid::integer(), HelpString::unicode:chardata(). setHelpString(#wx_ref{type=ThisT,ref=ThisRef},Itemid,HelpString) when is_integer(Itemid),is_list(HelpString) -> @@ -303,7 +303,7 @@ setHelpString(#wx_ref{type=ThisT,ref=ThisRef},Itemid,HelpString) <<ThisRef:32/?UI,Itemid:32/?UI,(byte_size(HelpString_UC)):32/?UI,(HelpString_UC)/binary, 0:(((8- ((4+byte_size(HelpString_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxmenubar.html#wxmenubarsetlabel">external documentation</a>. --spec setLabel(This, S) -> ok when +-spec setLabel(This, S) -> 'ok' when This::wxMenuBar(), S::unicode:chardata(). setLabel(#wx_ref{type=ThisT,ref=ThisRef},S) when is_list(S) -> @@ -313,7 +313,7 @@ setLabel(#wx_ref{type=ThisT,ref=ThisRef},S) <<ThisRef:32/?UI,(byte_size(S_UC)):32/?UI,(S_UC)/binary, 0:(((8- ((0+byte_size(S_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxmenubar.html#wxmenubarsetlabel">external documentation</a>. --spec setLabel(This, Itemid, Label) -> ok when +-spec setLabel(This, Itemid, Label) -> 'ok' when This::wxMenuBar(), Itemid::integer(), Label::unicode:chardata(). setLabel(#wx_ref{type=ThisT,ref=ThisRef},Itemid,Label) when is_integer(Itemid),is_list(Label) -> @@ -323,7 +323,7 @@ setLabel(#wx_ref{type=ThisT,ref=ThisRef},Itemid,Label) <<ThisRef:32/?UI,Itemid:32/?UI,(byte_size(Label_UC)):32/?UI,(Label_UC)/binary, 0:(((8- ((4+byte_size(Label_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxmenubar.html#wxmenubarsetlabeltop">external documentation</a>. --spec setLabelTop(This, Pos, Label) -> ok when +-spec setLabelTop(This, Pos, Label) -> 'ok' when This::wxMenuBar(), Pos::integer(), Label::unicode:chardata(). setLabelTop(#wx_ref{type=ThisT,ref=ThisRef},Pos,Label) when is_integer(Pos),is_list(Label) -> @@ -333,7 +333,7 @@ setLabelTop(#wx_ref{type=ThisT,ref=ThisRef},Pos,Label) <<ThisRef:32/?UI,Pos:32/?UI,(byte_size(Label_UC)):32/?UI,(Label_UC)/binary, 0:(((8- ((4+byte_size(Label_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxMenuBar()) -> ok. +-spec destroy(This::wxMenuBar()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxMenuBar), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxMenuItem.erl b/lib/wx/src/gen/wxMenuItem.erl index 9325f47d90..324910d15d 100644 --- a/lib/wx/src/gen/wxMenuItem.erl +++ b/lib/wx/src/gen/wxMenuItem.erl @@ -47,12 +47,12 @@ new() -> %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxmenuitem.html#wxmenuitemwxmenuitem">external documentation</a>. %%<br /> Kind = ?wxITEM_SEPARATOR | ?wxITEM_NORMAL | ?wxITEM_CHECK | ?wxITEM_RADIO | ?wxITEM_MAX -spec new([Option]) -> wxMenuItem() when - Option :: {parentMenu, wxMenu:wxMenu()} - | {id, integer()} - | {text, unicode:chardata()} - | {help, unicode:chardata()} - | {kind, wx:wx_enum()} - | {subMenu, wxMenu:wxMenu()}. + Option :: {'parentMenu', wxMenu:wxMenu()} + | {'id', integer()} + | {'text', unicode:chardata()} + | {'help', unicode:chardata()} + | {'kind', wx:wx_enum()} + | {'subMenu', wxMenu:wxMenu()}. new(Options) when is_list(Options) -> MOpts = fun({parentMenu, #wx_ref{type=ParentMenuT,ref=ParentMenuRef}}, Acc) -> ?CLASS(ParentMenuT,wxMenu),[<<1:32/?UI,ParentMenuRef:32/?UI>>|Acc]; @@ -67,7 +67,7 @@ new(Options) <<BinOpt/binary>>). %% @equiv check(This, []) --spec check(This) -> ok when +-spec check(This) -> 'ok' when This::wxMenuItem(). check(This) @@ -75,9 +75,9 @@ check(This) check(This, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxmenuitem.html#wxmenuitemcheck">external documentation</a>. --spec check(This, [Option]) -> ok when +-spec check(This, [Option]) -> 'ok' when This::wxMenuItem(), - Option :: {check, boolean()}. + Option :: {'check', boolean()}. check(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxMenuItem), @@ -88,7 +88,7 @@ check(#wx_ref{type=ThisT,ref=ThisRef}, Options) <<ThisRef:32/?UI, 0:32,BinOpt/binary>>). %% @equiv enable(This, []) --spec enable(This) -> ok when +-spec enable(This) -> 'ok' when This::wxMenuItem(). enable(This) @@ -96,9 +96,9 @@ enable(This) enable(This, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxmenuitem.html#wxmenuitemenable">external documentation</a>. --spec enable(This, [Option]) -> ok when +-spec enable(This, [Option]) -> 'ok' when This::wxMenuItem(), - Option :: {enable, boolean()}. + Option :: {'enable', boolean()}. enable(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxMenuItem), @@ -223,7 +223,7 @@ isSubMenu(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxmenuitem.html#wxmenuitemsetbitmap">external documentation</a>. --spec setBitmap(This, Bitmap) -> ok when +-spec setBitmap(This, Bitmap) -> 'ok' when This::wxMenuItem(), Bitmap::wxBitmap:wxBitmap(). setBitmap(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=BitmapT,ref=BitmapRef}) -> ?CLASS(ThisT,wxMenuItem), @@ -232,7 +232,7 @@ setBitmap(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=BitmapT,ref=BitmapRef}) - <<ThisRef:32/?UI,BitmapRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxmenuitem.html#wxmenuitemsethelp">external documentation</a>. --spec setHelp(This, Str) -> ok when +-spec setHelp(This, Str) -> 'ok' when This::wxMenuItem(), Str::unicode:chardata(). setHelp(#wx_ref{type=ThisT,ref=ThisRef},Str) when is_list(Str) -> @@ -242,7 +242,7 @@ setHelp(#wx_ref{type=ThisT,ref=ThisRef},Str) <<ThisRef:32/?UI,(byte_size(Str_UC)):32/?UI,(Str_UC)/binary, 0:(((8- ((0+byte_size(Str_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxmenuitem.html#wxmenuitemsetmenu">external documentation</a>. --spec setMenu(This, Menu) -> ok when +-spec setMenu(This, Menu) -> 'ok' when This::wxMenuItem(), Menu::wxMenu:wxMenu(). setMenu(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=MenuT,ref=MenuRef}) -> ?CLASS(ThisT,wxMenuItem), @@ -251,7 +251,7 @@ setMenu(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=MenuT,ref=MenuRef}) -> <<ThisRef:32/?UI,MenuRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxmenuitem.html#wxmenuitemsetsubmenu">external documentation</a>. --spec setSubMenu(This, Menu) -> ok when +-spec setSubMenu(This, Menu) -> 'ok' when This::wxMenuItem(), Menu::wxMenu:wxMenu(). setSubMenu(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=MenuT,ref=MenuRef}) -> ?CLASS(ThisT,wxMenuItem), @@ -260,7 +260,7 @@ setSubMenu(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=MenuT,ref=MenuRef}) -> <<ThisRef:32/?UI,MenuRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxmenuitem.html#wxmenuitemsettext">external documentation</a>. --spec setText(This, Str) -> ok when +-spec setText(This, Str) -> 'ok' when This::wxMenuItem(), Str::unicode:chardata(). setText(#wx_ref{type=ThisT,ref=ThisRef},Str) when is_list(Str) -> @@ -270,7 +270,7 @@ setText(#wx_ref{type=ThisT,ref=ThisRef},Str) <<ThisRef:32/?UI,(byte_size(Str_UC)):32/?UI,(Str_UC)/binary, 0:(((8- ((0+byte_size(Str_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxMenuItem()) -> ok. +-spec destroy(This::wxMenuItem()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxMenuItem), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxMessageDialog.erl b/lib/wx/src/gen/wxMessageDialog.erl index 1fe99b2b88..30e47529cc 100644 --- a/lib/wx/src/gen/wxMessageDialog.erl +++ b/lib/wx/src/gen/wxMessageDialog.erl @@ -99,9 +99,9 @@ new(Parent,Message) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxmessagedialog.html#wxmessagedialogwxmessagedialog">external documentation</a>. -spec new(Parent, Message, [Option]) -> wxMessageDialog() when Parent::wxWindow:wxWindow(), Message::unicode:chardata(), - Option :: {caption, unicode:chardata()} - | {style, integer()} - | {pos, {X::integer(), Y::integer()}}. + Option :: {'caption', unicode:chardata()} + | {'style', integer()} + | {'pos', {X::integer(), Y::integer()}}. new(#wx_ref{type=ParentT,ref=ParentRef},Message, Options) when is_list(Message),is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -115,7 +115,7 @@ new(#wx_ref{type=ParentT,ref=ParentRef},Message, Options) <<ParentRef:32/?UI,(byte_size(Message_UC)):32/?UI,(Message_UC)/binary, 0:(((8- ((0+byte_size(Message_UC)) band 16#7)) band 16#7))/unit:8, BinOpt/binary>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxMessageDialog()) -> ok. +-spec destroy(This::wxMessageDialog()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxMessageDialog), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxMiniFrame.erl b/lib/wx/src/gen/wxMiniFrame.erl index f731cc5416..4ae9764819 100644 --- a/lib/wx/src/gen/wxMiniFrame.erl +++ b/lib/wx/src/gen/wxMiniFrame.erl @@ -107,9 +107,9 @@ new(Parent,Id,Title) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxminiframe.html#wxminiframewxminiframe">external documentation</a>. -spec new(Parent, Id, Title, [Option]) -> wxMiniFrame() when Parent::wxWindow:wxWindow(), Id::integer(), Title::unicode:chardata(), - Option :: {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()}. + Option :: {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()}. new(#wx_ref{type=ParentT,ref=ParentRef},Id,Title, Options) when is_integer(Id),is_list(Title),is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -133,9 +133,9 @@ create(This,Parent,Id,Title) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxminiframe.html#wxminiframecreate">external documentation</a>. -spec create(This, Parent, Id, Title, [Option]) -> boolean() when This::wxMiniFrame(), Parent::wxWindow:wxWindow(), Id::integer(), Title::unicode:chardata(), - Option :: {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()}. + Option :: {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()}. create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef},Id,Title, Options) when is_integer(Id),is_list(Title),is_list(Options) -> ?CLASS(ThisT,wxMiniFrame), @@ -150,7 +150,7 @@ create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef},Id,Ti <<ThisRef:32/?UI,ParentRef:32/?UI,Id:32/?UI,(byte_size(Title_UC)):32/?UI,(Title_UC)/binary, 0:(((8- ((0+byte_size(Title_UC)) band 16#7)) band 16#7))/unit:8, BinOpt/binary>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxMiniFrame()) -> ok. +-spec destroy(This::wxMiniFrame()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxMiniFrame), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxMirrorDC.erl b/lib/wx/src/gen/wxMirrorDC.erl index 20d51a2374..df2d133cab 100644 --- a/lib/wx/src/gen/wxMirrorDC.erl +++ b/lib/wx/src/gen/wxMirrorDC.erl @@ -71,7 +71,7 @@ new(#wx_ref{type=DcT,ref=DcRef},Mirror) <<DcRef:32/?UI,(wxe_util:from_bool(Mirror)):32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxMirrorDC()) -> ok. +-spec destroy(This::wxMirrorDC()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxMirrorDC), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxMouseEvent.erl b/lib/wx/src/gen/wxMouseEvent.erl index 8728770693..a6aba1470e 100644 --- a/lib/wx/src/gen/wxMouseEvent.erl +++ b/lib/wx/src/gen/wxMouseEvent.erl @@ -78,7 +78,7 @@ buttonDClick(This) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxmouseevent.html#wxmouseeventbuttondclick">external documentation</a>. -spec buttonDClick(This, [Option]) -> boolean() when This::wxMouseEvent(), - Option :: {but, integer()}. + Option :: {'but', integer()}. buttonDClick(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxMouseEvent), @@ -99,7 +99,7 @@ buttonDown(This) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxmouseevent.html#wxmouseeventbuttondown">external documentation</a>. -spec buttonDown(This, [Option]) -> boolean() when This::wxMouseEvent(), - Option :: {but, integer()}. + Option :: {'but', integer()}. buttonDown(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxMouseEvent), @@ -120,7 +120,7 @@ buttonUp(This) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxmouseevent.html#wxmouseeventbuttonup">external documentation</a>. -spec buttonUp(This, [Option]) -> boolean() when This::wxMouseEvent(), - Option :: {but, integer()}. + Option :: {'but', integer()}. buttonUp(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxMouseEvent), diff --git a/lib/wx/src/gen/wxMultiChoiceDialog.erl b/lib/wx/src/gen/wxMultiChoiceDialog.erl index 96e9c070a3..0436515256 100644 --- a/lib/wx/src/gen/wxMultiChoiceDialog.erl +++ b/lib/wx/src/gen/wxMultiChoiceDialog.erl @@ -105,8 +105,8 @@ new(Parent,Message,Caption,Choices) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxmultichoicedialog.html#wxmultichoicedialogwxmultichoicedialog">external documentation</a>. -spec new(Parent, Message, Caption, Choices, [Option]) -> wxMultiChoiceDialog() when Parent::wxWindow:wxWindow(), Message::unicode:chardata(), Caption::unicode:chardata(), Choices::[unicode:chardata()], - Option :: {style, integer()} - | {pos, {X::integer(), Y::integer()}}. + Option :: {'style', integer()} + | {'pos', {X::integer(), Y::integer()}}. new(#wx_ref{type=ParentT,ref=ParentRef},Message,Caption,Choices, Options) when is_list(Message),is_list(Caption),is_list(Choices),is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -130,7 +130,7 @@ getSelections(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxmultichoicedialog.html#wxmultichoicedialogsetselections">external documentation</a>. --spec setSelections(This, Selections) -> ok when +-spec setSelections(This, Selections) -> 'ok' when This::wxMultiChoiceDialog(), Selections::[integer()]. setSelections(#wx_ref{type=ThisT,ref=ThisRef},Selections) when is_list(Selections) -> @@ -140,7 +140,7 @@ setSelections(#wx_ref{type=ThisT,ref=ThisRef},Selections) (<< <<C:32/?I>> || C <- Selections>>)/binary, 0:(((0+length(Selections)) rem 2)*32)>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxMultiChoiceDialog()) -> ok. +-spec destroy(This::wxMultiChoiceDialog()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxMultiChoiceDialog), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxNavigationKeyEvent.erl b/lib/wx/src/gen/wxNavigationKeyEvent.erl index 8a483f2ccf..c75d317723 100644 --- a/lib/wx/src/gen/wxNavigationKeyEvent.erl +++ b/lib/wx/src/gen/wxNavigationKeyEvent.erl @@ -54,7 +54,7 @@ getDirection(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxnavigationkeyevent.html#wxnavigationkeyeventsetdirection">external documentation</a>. --spec setDirection(This, BForward) -> ok when +-spec setDirection(This, BForward) -> 'ok' when This::wxNavigationKeyEvent(), BForward::boolean(). setDirection(#wx_ref{type=ThisT,ref=ThisRef},BForward) when is_boolean(BForward) -> @@ -71,7 +71,7 @@ isWindowChange(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxnavigationkeyevent.html#wxnavigationkeyeventsetwindowchange">external documentation</a>. --spec setWindowChange(This, BIs) -> ok when +-spec setWindowChange(This, BIs) -> 'ok' when This::wxNavigationKeyEvent(), BIs::boolean(). setWindowChange(#wx_ref{type=ThisT,ref=ThisRef},BIs) when is_boolean(BIs) -> @@ -88,7 +88,7 @@ isFromTab(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxnavigationkeyevent.html#wxnavigationkeyeventsetfromtab">external documentation</a>. --spec setFromTab(This, BIs) -> ok when +-spec setFromTab(This, BIs) -> 'ok' when This::wxNavigationKeyEvent(), BIs::boolean(). setFromTab(#wx_ref{type=ThisT,ref=ThisRef},BIs) when is_boolean(BIs) -> @@ -105,7 +105,7 @@ getCurrentFocus(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxnavigationkeyevent.html#wxnavigationkeyeventsetcurrentfocus">external documentation</a>. --spec setCurrentFocus(This, Win) -> ok when +-spec setCurrentFocus(This, Win) -> 'ok' when This::wxNavigationKeyEvent(), Win::wxWindow:wxWindow(). setCurrentFocus(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=WinT,ref=WinRef}) -> ?CLASS(ThisT,wxNavigationKeyEvent), diff --git a/lib/wx/src/gen/wxNotebook.erl b/lib/wx/src/gen/wxNotebook.erl index 5011375aad..24f96ac88c 100644 --- a/lib/wx/src/gen/wxNotebook.erl +++ b/lib/wx/src/gen/wxNotebook.erl @@ -101,9 +101,9 @@ new(Parent,Winid) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxnotebook.html#wxnotebookwxnotebook">external documentation</a>. -spec new(Parent, Winid, [Option]) -> wxNotebook() when Parent::wxWindow:wxWindow(), Winid::integer(), - Option :: {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()}. + Option :: {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()}. new(#wx_ref{type=ParentT,ref=ParentRef},Winid, Options) when is_integer(Winid),is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -126,8 +126,8 @@ addPage(This,Page,Text) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxnotebook.html#wxnotebookaddpage">external documentation</a>. -spec addPage(This, Page, Text, [Option]) -> boolean() when This::wxNotebook(), Page::wxWindow:wxWindow(), Text::unicode:chardata(), - Option :: {bSelect, boolean()} - | {imageId, integer()}. + Option :: {'bSelect', boolean()} + | {'imageId', integer()}. addPage(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=PageT,ref=PageRef},Text, Options) when is_list(Text),is_list(Options) -> ?CLASS(ThisT,wxNotebook), @@ -141,7 +141,7 @@ addPage(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=PageT,ref=PageRef},Text, Op <<ThisRef:32/?UI,PageRef:32/?UI,(byte_size(Text_UC)):32/?UI,(Text_UC)/binary, 0:(((8- ((4+byte_size(Text_UC)) band 16#7)) band 16#7))/unit:8, BinOpt/binary>>). %% @equiv advanceSelection(This, []) --spec advanceSelection(This) -> ok when +-spec advanceSelection(This) -> 'ok' when This::wxNotebook(). advanceSelection(This) @@ -149,9 +149,9 @@ advanceSelection(This) advanceSelection(This, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxnotebook.html#wxnotebookadvanceselection">external documentation</a>. --spec advanceSelection(This, [Option]) -> ok when +-spec advanceSelection(This, [Option]) -> 'ok' when This::wxNotebook(), - Option :: {forward, boolean()}. + Option :: {'forward', boolean()}. advanceSelection(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxNotebook), @@ -162,7 +162,7 @@ advanceSelection(#wx_ref{type=ThisT,ref=ThisRef}, Options) <<ThisRef:32/?UI, 0:32,BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxnotebook.html#wxnotebookassignimagelist">external documentation</a>. --spec assignImageList(This, ImageList) -> ok when +-spec assignImageList(This, ImageList) -> 'ok' when This::wxNotebook(), ImageList::wxImageList:wxImageList(). assignImageList(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ImageListT,ref=ImageListRef}) -> ?CLASS(ThisT,wxNotebook), @@ -181,9 +181,9 @@ create(This,Parent,Id) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxnotebook.html#wxnotebookcreate">external documentation</a>. -spec create(This, Parent, Id, [Option]) -> boolean() when This::wxNotebook(), Parent::wxWindow:wxWindow(), Id::integer(), - Option :: {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()}. + Option :: {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()}. create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef},Id, Options) when is_integer(Id),is_list(Options) -> ?CLASS(ThisT,wxNotebook), @@ -318,8 +318,8 @@ insertPage(This,Position,Win,StrText) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxnotebook.html#wxnotebookinsertpage">external documentation</a>. -spec insertPage(This, Position, Win, StrText, [Option]) -> boolean() when This::wxNotebook(), Position::integer(), Win::wxWindow:wxWindow(), StrText::unicode:chardata(), - Option :: {bSelect, boolean()} - | {imageId, integer()}. + Option :: {'bSelect', boolean()} + | {'imageId', integer()}. insertPage(#wx_ref{type=ThisT,ref=ThisRef},Position,#wx_ref{type=WinT,ref=WinRef},StrText, Options) when is_integer(Position),is_list(StrText),is_list(Options) -> ?CLASS(ThisT,wxNotebook), @@ -333,7 +333,7 @@ insertPage(#wx_ref{type=ThisT,ref=ThisRef},Position,#wx_ref{type=WinT,ref=WinRef <<ThisRef:32/?UI,Position:32/?UI,WinRef:32/?UI,(byte_size(StrText_UC)):32/?UI,(StrText_UC)/binary, 0:(((8- ((0+byte_size(StrText_UC)) band 16#7)) band 16#7))/unit:8, BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxnotebook.html#wxnotebooksetimagelist">external documentation</a>. --spec setImageList(This, ImageList) -> ok when +-spec setImageList(This, ImageList) -> 'ok' when This::wxNotebook(), ImageList::wxImageList:wxImageList(). setImageList(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ImageListT,ref=ImageListRef}) -> ?CLASS(ThisT,wxNotebook), @@ -342,7 +342,7 @@ setImageList(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ImageListT,ref=ImageLi <<ThisRef:32/?UI,ImageListRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxnotebook.html#wxnotebooksetpadding">external documentation</a>. --spec setPadding(This, Padding) -> ok when +-spec setPadding(This, Padding) -> 'ok' when This::wxNotebook(), Padding::{W::integer(), H::integer()}. setPadding(#wx_ref{type=ThisT,ref=ThisRef},{PaddingW,PaddingH}) when is_integer(PaddingW),is_integer(PaddingH) -> @@ -351,7 +351,7 @@ setPadding(#wx_ref{type=ThisT,ref=ThisRef},{PaddingW,PaddingH}) <<ThisRef:32/?UI,PaddingW:32/?UI,PaddingH:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxnotebook.html#wxnotebooksetpagesize">external documentation</a>. --spec setPageSize(This, Size) -> ok when +-spec setPageSize(This, Size) -> 'ok' when This::wxNotebook(), Size::{W::integer(), H::integer()}. setPageSize(#wx_ref{type=ThisT,ref=ThisRef},{SizeW,SizeH}) when is_integer(SizeW),is_integer(SizeH) -> @@ -397,7 +397,7 @@ changeSelection(#wx_ref{type=ThisT,ref=ThisRef},NPage) <<ThisRef:32/?UI,NPage:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxNotebook()) -> ok. +-spec destroy(This::wxNotebook()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxNotebook), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxNotebookEvent.erl b/lib/wx/src/gen/wxNotebookEvent.erl index 063cab68ea..899c5b14ca 100644 --- a/lib/wx/src/gen/wxNotebookEvent.erl +++ b/lib/wx/src/gen/wxNotebookEvent.erl @@ -67,7 +67,7 @@ getSelection(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxnotebookevent.html#wxnotebookeventsetoldselection">external documentation</a>. --spec setOldSelection(This, NOldSel) -> ok when +-spec setOldSelection(This, NOldSel) -> 'ok' when This::wxNotebookEvent(), NOldSel::integer(). setOldSelection(#wx_ref{type=ThisT,ref=ThisRef},NOldSel) when is_integer(NOldSel) -> @@ -76,7 +76,7 @@ setOldSelection(#wx_ref{type=ThisT,ref=ThisRef},NOldSel) <<ThisRef:32/?UI,NOldSel:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxnotebookevent.html#wxnotebookeventsetselection">external documentation</a>. --spec setSelection(This, NSel) -> ok when +-spec setSelection(This, NSel) -> 'ok' when This::wxNotebookEvent(), NSel::integer(). setSelection(#wx_ref{type=ThisT,ref=ThisRef},NSel) when is_integer(NSel) -> diff --git a/lib/wx/src/gen/wxNotifyEvent.erl b/lib/wx/src/gen/wxNotifyEvent.erl index 0befce0e77..5f53b3af55 100644 --- a/lib/wx/src/gen/wxNotifyEvent.erl +++ b/lib/wx/src/gen/wxNotifyEvent.erl @@ -45,7 +45,7 @@ parent_class(_Class) -> erlang:error({badtype, ?MODULE}). -type wxNotifyEvent() :: wx:wx_object(). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxnotifyevent.html#wxnotifyeventallow">external documentation</a>. --spec allow(This) -> ok when +-spec allow(This) -> 'ok' when This::wxNotifyEvent(). allow(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxNotifyEvent), @@ -61,7 +61,7 @@ isAllowed(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxnotifyevent.html#wxnotifyeventveto">external documentation</a>. --spec veto(This) -> ok when +-spec veto(This) -> 'ok' when This::wxNotifyEvent(). veto(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxNotifyEvent), diff --git a/lib/wx/src/gen/wxOverlay.erl b/lib/wx/src/gen/wxOverlay.erl index 7da3ece657..efe6e69589 100644 --- a/lib/wx/src/gen/wxOverlay.erl +++ b/lib/wx/src/gen/wxOverlay.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2008-2015. All Rights Reserved. +%% Copyright Ericsson AB 2008-2016. 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. @@ -42,7 +42,7 @@ new() -> <<>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxoverlay.html#wxoverlayreset">external documentation</a>. --spec reset(This) -> ok when +-spec reset(This) -> 'ok' when This::wxOverlay(). reset(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxOverlay), @@ -50,7 +50,7 @@ reset(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxOverlay()) -> ok. +-spec destroy(This::wxOverlay()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxOverlay), wxe_util:destroy(?wxOverlay_destruct,Obj), diff --git a/lib/wx/src/gen/wxPageSetupDialog.erl b/lib/wx/src/gen/wxPageSetupDialog.erl index 41897064b5..091ba4628e 100644 --- a/lib/wx/src/gen/wxPageSetupDialog.erl +++ b/lib/wx/src/gen/wxPageSetupDialog.erl @@ -46,7 +46,7 @@ new(Parent) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxpagesetupdialog.html#wxpagesetupdialogwxpagesetupdialog">external documentation</a>. -spec new(Parent, [Option]) -> wxPageSetupDialog() when Parent::wxWindow:wxWindow(), - Option :: {data, wxPageSetupDialogData:wxPageSetupDialogData()}. + Option :: {'data', wxPageSetupDialogData:wxPageSetupDialogData()}. new(#wx_ref{type=ParentT,ref=ParentRef}, Options) when is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -73,7 +73,7 @@ showModal(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxPageSetupDialog()) -> ok. +-spec destroy(This::wxPageSetupDialog()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxPageSetupDialog), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxPageSetupDialogData.erl b/lib/wx/src/gen/wxPageSetupDialogData.erl index 6aa8865e32..56c059c232 100644 --- a/lib/wx/src/gen/wxPageSetupDialogData.erl +++ b/lib/wx/src/gen/wxPageSetupDialogData.erl @@ -62,7 +62,7 @@ new(#wx_ref{type=PrintDataT,ref=PrintDataRef}) -> <<PrintDataRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxpagesetupdialogdata.html#wxpagesetupdialogdataenablehelp">external documentation</a>. --spec enableHelp(This, Flag) -> ok when +-spec enableHelp(This, Flag) -> 'ok' when This::wxPageSetupDialogData(), Flag::boolean(). enableHelp(#wx_ref{type=ThisT,ref=ThisRef},Flag) when is_boolean(Flag) -> @@ -71,7 +71,7 @@ enableHelp(#wx_ref{type=ThisT,ref=ThisRef},Flag) <<ThisRef:32/?UI,(wxe_util:from_bool(Flag)):32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxpagesetupdialogdata.html#wxpagesetupdialogdataenablemargins">external documentation</a>. --spec enableMargins(This, Flag) -> ok when +-spec enableMargins(This, Flag) -> 'ok' when This::wxPageSetupDialogData(), Flag::boolean(). enableMargins(#wx_ref{type=ThisT,ref=ThisRef},Flag) when is_boolean(Flag) -> @@ -80,7 +80,7 @@ enableMargins(#wx_ref{type=ThisT,ref=ThisRef},Flag) <<ThisRef:32/?UI,(wxe_util:from_bool(Flag)):32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxpagesetupdialogdata.html#wxpagesetupdialogdataenableorientation">external documentation</a>. --spec enableOrientation(This, Flag) -> ok when +-spec enableOrientation(This, Flag) -> 'ok' when This::wxPageSetupDialogData(), Flag::boolean(). enableOrientation(#wx_ref{type=ThisT,ref=ThisRef},Flag) when is_boolean(Flag) -> @@ -89,7 +89,7 @@ enableOrientation(#wx_ref{type=ThisT,ref=ThisRef},Flag) <<ThisRef:32/?UI,(wxe_util:from_bool(Flag)):32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxpagesetupdialogdata.html#wxpagesetupdialogdataenablepaper">external documentation</a>. --spec enablePaper(This, Flag) -> ok when +-spec enablePaper(This, Flag) -> 'ok' when This::wxPageSetupDialogData(), Flag::boolean(). enablePaper(#wx_ref{type=ThisT,ref=ThisRef},Flag) when is_boolean(Flag) -> @@ -98,7 +98,7 @@ enablePaper(#wx_ref{type=ThisT,ref=ThisRef},Flag) <<ThisRef:32/?UI,(wxe_util:from_bool(Flag)):32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxpagesetupdialogdata.html#wxpagesetupdialogdataenableprinter">external documentation</a>. --spec enablePrinter(This, Flag) -> ok when +-spec enablePrinter(This, Flag) -> 'ok' when This::wxPageSetupDialogData(), Flag::boolean(). enablePrinter(#wx_ref{type=ThisT,ref=ThisRef},Flag) when is_boolean(Flag) -> @@ -228,7 +228,7 @@ isOk(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxpagesetupdialogdata.html#wxpagesetupdialogdatasetdefaultinfo">external documentation</a>. --spec setDefaultInfo(This, Flag) -> ok when +-spec setDefaultInfo(This, Flag) -> 'ok' when This::wxPageSetupDialogData(), Flag::boolean(). setDefaultInfo(#wx_ref{type=ThisT,ref=ThisRef},Flag) when is_boolean(Flag) -> @@ -237,7 +237,7 @@ setDefaultInfo(#wx_ref{type=ThisT,ref=ThisRef},Flag) <<ThisRef:32/?UI,(wxe_util:from_bool(Flag)):32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxpagesetupdialogdata.html#wxpagesetupdialogdatasetdefaultminmargins">external documentation</a>. --spec setDefaultMinMargins(This, Flag) -> ok when +-spec setDefaultMinMargins(This, Flag) -> 'ok' when This::wxPageSetupDialogData(), Flag::boolean(). setDefaultMinMargins(#wx_ref{type=ThisT,ref=ThisRef},Flag) when is_boolean(Flag) -> @@ -246,7 +246,7 @@ setDefaultMinMargins(#wx_ref{type=ThisT,ref=ThisRef},Flag) <<ThisRef:32/?UI,(wxe_util:from_bool(Flag)):32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxpagesetupdialogdata.html#wxpagesetupdialogdatasetmargintopleft">external documentation</a>. --spec setMarginTopLeft(This, Pt) -> ok when +-spec setMarginTopLeft(This, Pt) -> 'ok' when This::wxPageSetupDialogData(), Pt::{X::integer(), Y::integer()}. setMarginTopLeft(#wx_ref{type=ThisT,ref=ThisRef},{PtX,PtY}) when is_integer(PtX),is_integer(PtY) -> @@ -255,7 +255,7 @@ setMarginTopLeft(#wx_ref{type=ThisT,ref=ThisRef},{PtX,PtY}) <<ThisRef:32/?UI,PtX:32/?UI,PtY:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxpagesetupdialogdata.html#wxpagesetupdialogdatasetmarginbottomright">external documentation</a>. --spec setMarginBottomRight(This, Pt) -> ok when +-spec setMarginBottomRight(This, Pt) -> 'ok' when This::wxPageSetupDialogData(), Pt::{X::integer(), Y::integer()}. setMarginBottomRight(#wx_ref{type=ThisT,ref=ThisRef},{PtX,PtY}) when is_integer(PtX),is_integer(PtY) -> @@ -264,7 +264,7 @@ setMarginBottomRight(#wx_ref{type=ThisT,ref=ThisRef},{PtX,PtY}) <<ThisRef:32/?UI,PtX:32/?UI,PtY:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxpagesetupdialogdata.html#wxpagesetupdialogdatasetminmargintopleft">external documentation</a>. --spec setMinMarginTopLeft(This, Pt) -> ok when +-spec setMinMarginTopLeft(This, Pt) -> 'ok' when This::wxPageSetupDialogData(), Pt::{X::integer(), Y::integer()}. setMinMarginTopLeft(#wx_ref{type=ThisT,ref=ThisRef},{PtX,PtY}) when is_integer(PtX),is_integer(PtY) -> @@ -273,7 +273,7 @@ setMinMarginTopLeft(#wx_ref{type=ThisT,ref=ThisRef},{PtX,PtY}) <<ThisRef:32/?UI,PtX:32/?UI,PtY:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxpagesetupdialogdata.html#wxpagesetupdialogdatasetminmarginbottomright">external documentation</a>. --spec setMinMarginBottomRight(This, Pt) -> ok when +-spec setMinMarginBottomRight(This, Pt) -> 'ok' when This::wxPageSetupDialogData(), Pt::{X::integer(), Y::integer()}. setMinMarginBottomRight(#wx_ref{type=ThisT,ref=ThisRef},{PtX,PtY}) when is_integer(PtX),is_integer(PtY) -> @@ -283,7 +283,7 @@ setMinMarginBottomRight(#wx_ref{type=ThisT,ref=ThisRef},{PtX,PtY}) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxpagesetupdialogdata.html#wxpagesetupdialogdatasetpaperid">external documentation</a>. %%<br /> Id = ?wxPAPER_NONE | ?wxPAPER_LETTER | ?wxPAPER_LEGAL | ?wxPAPER_A4 | ?wxPAPER_CSHEET | ?wxPAPER_DSHEET | ?wxPAPER_ESHEET | ?wxPAPER_LETTERSMALL | ?wxPAPER_TABLOID | ?wxPAPER_LEDGER | ?wxPAPER_STATEMENT | ?wxPAPER_EXECUTIVE | ?wxPAPER_A3 | ?wxPAPER_A4SMALL | ?wxPAPER_A5 | ?wxPAPER_B4 | ?wxPAPER_B5 | ?wxPAPER_FOLIO | ?wxPAPER_QUARTO | ?wxPAPER_10X14 | ?wxPAPER_11X17 | ?wxPAPER_NOTE | ?wxPAPER_ENV_9 | ?wxPAPER_ENV_10 | ?wxPAPER_ENV_11 | ?wxPAPER_ENV_12 | ?wxPAPER_ENV_14 | ?wxPAPER_ENV_DL | ?wxPAPER_ENV_C5 | ?wxPAPER_ENV_C3 | ?wxPAPER_ENV_C4 | ?wxPAPER_ENV_C6 | ?wxPAPER_ENV_C65 | ?wxPAPER_ENV_B4 | ?wxPAPER_ENV_B5 | ?wxPAPER_ENV_B6 | ?wxPAPER_ENV_ITALY | ?wxPAPER_ENV_MONARCH | ?wxPAPER_ENV_PERSONAL | ?wxPAPER_FANFOLD_US | ?wxPAPER_FANFOLD_STD_GERMAN | ?wxPAPER_FANFOLD_LGL_GERMAN | ?wxPAPER_ISO_B4 | ?wxPAPER_JAPANESE_POSTCARD | ?wxPAPER_9X11 | ?wxPAPER_10X11 | ?wxPAPER_15X11 | ?wxPAPER_ENV_INVITE | ?wxPAPER_LETTER_EXTRA | ?wxPAPER_LEGAL_EXTRA | ?wxPAPER_TABLOID_EXTRA | ?wxPAPER_A4_EXTRA | ?wxPAPER_LETTER_TRANSVERSE | ?wxPAPER_A4_TRANSVERSE | ?wxPAPER_LETTER_EXTRA_TRANSVERSE | ?wxPAPER_A_PLUS | ?wxPAPER_B_PLUS | ?wxPAPER_LETTER_PLUS | ?wxPAPER_A4_PLUS | ?wxPAPER_A5_TRANSVERSE | ?wxPAPER_B5_TRANSVERSE | ?wxPAPER_A3_EXTRA | ?wxPAPER_A5_EXTRA | ?wxPAPER_B5_EXTRA | ?wxPAPER_A2 | ?wxPAPER_A3_TRANSVERSE | ?wxPAPER_A3_EXTRA_TRANSVERSE | ?wxPAPER_DBL_JAPANESE_POSTCARD | ?wxPAPER_A6 | ?wxPAPER_JENV_KAKU2 | ?wxPAPER_JENV_KAKU3 | ?wxPAPER_JENV_CHOU3 | ?wxPAPER_JENV_CHOU4 | ?wxPAPER_LETTER_ROTATED | ?wxPAPER_A3_ROTATED | ?wxPAPER_A4_ROTATED | ?wxPAPER_A5_ROTATED | ?wxPAPER_B4_JIS_ROTATED | ?wxPAPER_B5_JIS_ROTATED | ?wxPAPER_JAPANESE_POSTCARD_ROTATED | ?wxPAPER_DBL_JAPANESE_POSTCARD_ROTATED | ?wxPAPER_A6_ROTATED | ?wxPAPER_JENV_KAKU2_ROTATED | ?wxPAPER_JENV_KAKU3_ROTATED | ?wxPAPER_JENV_CHOU3_ROTATED | ?wxPAPER_JENV_CHOU4_ROTATED | ?wxPAPER_B6_JIS | ?wxPAPER_B6_JIS_ROTATED | ?wxPAPER_12X11 | ?wxPAPER_JENV_YOU4 | ?wxPAPER_JENV_YOU4_ROTATED | ?wxPAPER_P16K | ?wxPAPER_P32K | ?wxPAPER_P32KBIG | ?wxPAPER_PENV_1 | ?wxPAPER_PENV_2 | ?wxPAPER_PENV_3 | ?wxPAPER_PENV_4 | ?wxPAPER_PENV_5 | ?wxPAPER_PENV_6 | ?wxPAPER_PENV_7 | ?wxPAPER_PENV_8 | ?wxPAPER_PENV_9 | ?wxPAPER_PENV_10 | ?wxPAPER_P16K_ROTATED | ?wxPAPER_P32K_ROTATED | ?wxPAPER_P32KBIG_ROTATED | ?wxPAPER_PENV_1_ROTATED | ?wxPAPER_PENV_2_ROTATED | ?wxPAPER_PENV_3_ROTATED | ?wxPAPER_PENV_4_ROTATED | ?wxPAPER_PENV_5_ROTATED | ?wxPAPER_PENV_6_ROTATED | ?wxPAPER_PENV_7_ROTATED | ?wxPAPER_PENV_8_ROTATED | ?wxPAPER_PENV_9_ROTATED | ?wxPAPER_PENV_10_ROTATED --spec setPaperId(This, Id) -> ok when +-spec setPaperId(This, Id) -> 'ok' when This::wxPageSetupDialogData(), Id::wx:wx_enum(). setPaperId(#wx_ref{type=ThisT,ref=ThisRef},Id) when is_integer(Id) -> @@ -293,13 +293,13 @@ setPaperId(#wx_ref{type=ThisT,ref=ThisRef},Id) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxpagesetupdialogdata.html#wxpagesetupdialogdatasetpapersize">external documentation</a>. %% <br /> Also:<br /> -%% setPaperSize(This, Sz) -> ok when<br /> +%% setPaperSize(This, Sz) -> 'ok' when<br /> %% This::wxPageSetupDialogData(), Sz::{W::integer(), H::integer()}.<br /> %% %%<br /> Id = ?wxPAPER_NONE | ?wxPAPER_LETTER | ?wxPAPER_LEGAL | ?wxPAPER_A4 | ?wxPAPER_CSHEET | ?wxPAPER_DSHEET | ?wxPAPER_ESHEET | ?wxPAPER_LETTERSMALL | ?wxPAPER_TABLOID | ?wxPAPER_LEDGER | ?wxPAPER_STATEMENT | ?wxPAPER_EXECUTIVE | ?wxPAPER_A3 | ?wxPAPER_A4SMALL | ?wxPAPER_A5 | ?wxPAPER_B4 | ?wxPAPER_B5 | ?wxPAPER_FOLIO | ?wxPAPER_QUARTO | ?wxPAPER_10X14 | ?wxPAPER_11X17 | ?wxPAPER_NOTE | ?wxPAPER_ENV_9 | ?wxPAPER_ENV_10 | ?wxPAPER_ENV_11 | ?wxPAPER_ENV_12 | ?wxPAPER_ENV_14 | ?wxPAPER_ENV_DL | ?wxPAPER_ENV_C5 | ?wxPAPER_ENV_C3 | ?wxPAPER_ENV_C4 | ?wxPAPER_ENV_C6 | ?wxPAPER_ENV_C65 | ?wxPAPER_ENV_B4 | ?wxPAPER_ENV_B5 | ?wxPAPER_ENV_B6 | ?wxPAPER_ENV_ITALY | ?wxPAPER_ENV_MONARCH | ?wxPAPER_ENV_PERSONAL | ?wxPAPER_FANFOLD_US | ?wxPAPER_FANFOLD_STD_GERMAN | ?wxPAPER_FANFOLD_LGL_GERMAN | ?wxPAPER_ISO_B4 | ?wxPAPER_JAPANESE_POSTCARD | ?wxPAPER_9X11 | ?wxPAPER_10X11 | ?wxPAPER_15X11 | ?wxPAPER_ENV_INVITE | ?wxPAPER_LETTER_EXTRA | ?wxPAPER_LEGAL_EXTRA | ?wxPAPER_TABLOID_EXTRA | ?wxPAPER_A4_EXTRA | ?wxPAPER_LETTER_TRANSVERSE | ?wxPAPER_A4_TRANSVERSE | ?wxPAPER_LETTER_EXTRA_TRANSVERSE | ?wxPAPER_A_PLUS | ?wxPAPER_B_PLUS | ?wxPAPER_LETTER_PLUS | ?wxPAPER_A4_PLUS | ?wxPAPER_A5_TRANSVERSE | ?wxPAPER_B5_TRANSVERSE | ?wxPAPER_A3_EXTRA | ?wxPAPER_A5_EXTRA | ?wxPAPER_B5_EXTRA | ?wxPAPER_A2 | ?wxPAPER_A3_TRANSVERSE | ?wxPAPER_A3_EXTRA_TRANSVERSE | ?wxPAPER_DBL_JAPANESE_POSTCARD | ?wxPAPER_A6 | ?wxPAPER_JENV_KAKU2 | ?wxPAPER_JENV_KAKU3 | ?wxPAPER_JENV_CHOU3 | ?wxPAPER_JENV_CHOU4 | ?wxPAPER_LETTER_ROTATED | ?wxPAPER_A3_ROTATED | ?wxPAPER_A4_ROTATED | ?wxPAPER_A5_ROTATED | ?wxPAPER_B4_JIS_ROTATED | ?wxPAPER_B5_JIS_ROTATED | ?wxPAPER_JAPANESE_POSTCARD_ROTATED | ?wxPAPER_DBL_JAPANESE_POSTCARD_ROTATED | ?wxPAPER_A6_ROTATED | ?wxPAPER_JENV_KAKU2_ROTATED | ?wxPAPER_JENV_KAKU3_ROTATED | ?wxPAPER_JENV_CHOU3_ROTATED | ?wxPAPER_JENV_CHOU4_ROTATED | ?wxPAPER_B6_JIS | ?wxPAPER_B6_JIS_ROTATED | ?wxPAPER_12X11 | ?wxPAPER_JENV_YOU4 | ?wxPAPER_JENV_YOU4_ROTATED | ?wxPAPER_P16K | ?wxPAPER_P32K | ?wxPAPER_P32KBIG | ?wxPAPER_PENV_1 | ?wxPAPER_PENV_2 | ?wxPAPER_PENV_3 | ?wxPAPER_PENV_4 | ?wxPAPER_PENV_5 | ?wxPAPER_PENV_6 | ?wxPAPER_PENV_7 | ?wxPAPER_PENV_8 | ?wxPAPER_PENV_9 | ?wxPAPER_PENV_10 | ?wxPAPER_P16K_ROTATED | ?wxPAPER_P32K_ROTATED | ?wxPAPER_P32KBIG_ROTATED | ?wxPAPER_PENV_1_ROTATED | ?wxPAPER_PENV_2_ROTATED | ?wxPAPER_PENV_3_ROTATED | ?wxPAPER_PENV_4_ROTATED | ?wxPAPER_PENV_5_ROTATED | ?wxPAPER_PENV_6_ROTATED | ?wxPAPER_PENV_7_ROTATED | ?wxPAPER_PENV_8_ROTATED | ?wxPAPER_PENV_9_ROTATED | ?wxPAPER_PENV_10_ROTATED --spec setPaperSize(This, Id) -> ok when +-spec setPaperSize(This, Id) -> 'ok' when This::wxPageSetupDialogData(), Id::wx:wx_enum(); - (This, Sz) -> ok when + (This, Sz) -> 'ok' when This::wxPageSetupDialogData(), Sz::{W::integer(), H::integer()}. setPaperSize(#wx_ref{type=ThisT,ref=ThisRef},Id) when is_integer(Id) -> @@ -313,7 +313,7 @@ setPaperSize(#wx_ref{type=ThisT,ref=ThisRef},{SzW,SzH}) <<ThisRef:32/?UI,SzW:32/?UI,SzH:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxpagesetupdialogdata.html#wxpagesetupdialogdatasetprintdata">external documentation</a>. --spec setPrintData(This, PrintData) -> ok when +-spec setPrintData(This, PrintData) -> 'ok' when This::wxPageSetupDialogData(), PrintData::wxPrintData:wxPrintData(). setPrintData(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=PrintDataT,ref=PrintDataRef}) -> ?CLASS(ThisT,wxPageSetupDialogData), @@ -322,7 +322,7 @@ setPrintData(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=PrintDataT,ref=PrintDa <<ThisRef:32/?UI,PrintDataRef:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxPageSetupDialogData()) -> ok. +-spec destroy(This::wxPageSetupDialogData()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxPageSetupDialogData), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxPaintDC.erl b/lib/wx/src/gen/wxPaintDC.erl index 77efd2c4ba..b571219020 100644 --- a/lib/wx/src/gen/wxPaintDC.erl +++ b/lib/wx/src/gen/wxPaintDC.erl @@ -80,7 +80,7 @@ new(#wx_ref{type=WinT,ref=WinRef}) -> <<WinRef:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxPaintDC()) -> ok. +-spec destroy(This::wxPaintDC()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxPaintDC), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxPalette.erl b/lib/wx/src/gen/wxPalette.erl index 8ac0833e01..799ce2b90d 100644 --- a/lib/wx/src/gen/wxPalette.erl +++ b/lib/wx/src/gen/wxPalette.erl @@ -101,7 +101,7 @@ isOk(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxPalette()) -> ok. +-spec destroy(This::wxPalette()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxPalette), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxPaletteChangedEvent.erl b/lib/wx/src/gen/wxPaletteChangedEvent.erl index ab49719f6e..bc054fa285 100644 --- a/lib/wx/src/gen/wxPaletteChangedEvent.erl +++ b/lib/wx/src/gen/wxPaletteChangedEvent.erl @@ -45,7 +45,7 @@ parent_class(_Class) -> erlang:error({badtype, ?MODULE}). -type wxPaletteChangedEvent() :: wx:wx_object(). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxpalettechangedevent.html#wxpalettechangedeventsetchangedwindow">external documentation</a>. --spec setChangedWindow(This, Win) -> ok when +-spec setChangedWindow(This, Win) -> 'ok' when This::wxPaletteChangedEvent(), Win::wxWindow:wxWindow(). setChangedWindow(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=WinT,ref=WinRef}) -> ?CLASS(ThisT,wxPaletteChangedEvent), diff --git a/lib/wx/src/gen/wxPanel.erl b/lib/wx/src/gen/wxPanel.erl index ceb894fe31..07898cf19e 100644 --- a/lib/wx/src/gen/wxPanel.erl +++ b/lib/wx/src/gen/wxPanel.erl @@ -94,10 +94,10 @@ new(Parent) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxpanel.html#wxpanelwxpanel">external documentation</a>. -spec new(Parent, [Option]) -> wxPanel() when Parent::wxWindow:wxWindow(), - Option :: {winid, integer()} - | {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()}. + Option :: {'winid', integer()} + | {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()}. new(#wx_ref{type=ParentT,ref=ParentRef}, Options) when is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -121,7 +121,7 @@ new(Parent,X,Y,Width,Height) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxpanel.html#wxpanelwxpanel">external documentation</a>. -spec new(Parent, X, Y, Width, Height, [Option]) -> wxPanel() when Parent::wxWindow:wxWindow(), X::integer(), Y::integer(), Width::integer(), Height::integer(), - Option :: {style, integer()}. + Option :: {'style', integer()}. new(#wx_ref{type=ParentT,ref=ParentRef},X,Y,Width,Height, Options) when is_integer(X),is_integer(Y),is_integer(Width),is_integer(Height),is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -132,7 +132,7 @@ new(#wx_ref{type=ParentT,ref=ParentRef},X,Y,Width,Height, Options) <<ParentRef:32/?UI,X:32/?UI,Y:32/?UI,Width:32/?UI,Height:32/?UI, 0:32,BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxpanel.html#wxpanelinitdialog">external documentation</a>. --spec initDialog(This) -> ok when +-spec initDialog(This) -> 'ok' when This::wxPanel(). initDialog(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxPanel), @@ -140,7 +140,7 @@ initDialog(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxpanel.html#wxpanelsetfocusignoringchildren">external documentation</a>. --spec setFocusIgnoringChildren(This) -> ok when +-spec setFocusIgnoringChildren(This) -> 'ok' when This::wxPanel(). setFocusIgnoringChildren(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxPanel), @@ -148,7 +148,7 @@ setFocusIgnoringChildren(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxPanel()) -> ok. +-spec destroy(This::wxPanel()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxPanel), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxPasswordEntryDialog.erl b/lib/wx/src/gen/wxPasswordEntryDialog.erl index ac3f1c9d8c..e8ee8c8f37 100644 --- a/lib/wx/src/gen/wxPasswordEntryDialog.erl +++ b/lib/wx/src/gen/wxPasswordEntryDialog.erl @@ -101,10 +101,10 @@ new(Parent,Message) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxpasswordentrydialog.html#wxpasswordentrydialogwxpasswordentrydialog">external documentation</a>. -spec new(Parent, Message, [Option]) -> wxPasswordEntryDialog() when Parent::wxWindow:wxWindow(), Message::unicode:chardata(), - Option :: {caption, unicode:chardata()} - | {value, unicode:chardata()} - | {style, integer()} - | {pos, {X::integer(), Y::integer()}}. + Option :: {'caption', unicode:chardata()} + | {'value', unicode:chardata()} + | {'style', integer()} + | {'pos', {X::integer(), Y::integer()}}. new(#wx_ref{type=ParentT,ref=ParentRef},Message, Options) when is_list(Message),is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -119,7 +119,7 @@ new(#wx_ref{type=ParentT,ref=ParentRef},Message, Options) <<ParentRef:32/?UI,(byte_size(Message_UC)):32/?UI,(Message_UC)/binary, 0:(((8- ((0+byte_size(Message_UC)) band 16#7)) band 16#7))/unit:8, BinOpt/binary>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxPasswordEntryDialog()) -> ok. +-spec destroy(This::wxPasswordEntryDialog()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxPasswordEntryDialog), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxPen.erl b/lib/wx/src/gen/wxPen.erl index 761b885006..7a2bbb827e 100644 --- a/lib/wx/src/gen/wxPen.erl +++ b/lib/wx/src/gen/wxPen.erl @@ -54,8 +54,8 @@ new(Colour) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxpen.html#wxpenwxpen">external documentation</a>. -spec new(Colour, [Option]) -> wxPen() when Colour::wx:wx_colour(), - Option :: {width, integer()} - | {style, integer()}. + Option :: {'width', integer()} + | {'style', integer()}. new(Colour, Options) when tuple_size(Colour) =:= 3; tuple_size(Colour) =:= 4,is_list(Options) -> MOpts = fun({width, Width}, Acc) -> [<<1:32/?UI,Width:32/?UI>>|Acc]; @@ -115,7 +115,7 @@ isOk(#wx_ref{type=ThisT,ref=ThisRef}) -> %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxpen.html#wxpensetcap">external documentation</a>. %%<br /> CapStyle = integer --spec setCap(This, CapStyle) -> ok when +-spec setCap(This, CapStyle) -> 'ok' when This::wxPen(), CapStyle::wx:wx_enum(). setCap(#wx_ref{type=ThisT,ref=ThisRef},CapStyle) when is_integer(CapStyle) -> @@ -124,7 +124,7 @@ setCap(#wx_ref{type=ThisT,ref=ThisRef},CapStyle) <<ThisRef:32/?UI,CapStyle:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxpen.html#wxpensetcolour">external documentation</a>. --spec setColour(This, Colour) -> ok when +-spec setColour(This, Colour) -> 'ok' when This::wxPen(), Colour::wx:wx_colour(). setColour(#wx_ref{type=ThisT,ref=ThisRef},Colour) when tuple_size(Colour) =:= 3; tuple_size(Colour) =:= 4 -> @@ -133,7 +133,7 @@ setColour(#wx_ref{type=ThisT,ref=ThisRef},Colour) <<ThisRef:32/?UI,(wxe_util:colour_bin(Colour)):16/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxpen.html#wxpensetcolour">external documentation</a>. --spec setColour(This, Red, Green, Blue) -> ok when +-spec setColour(This, Red, Green, Blue) -> 'ok' when This::wxPen(), Red::integer(), Green::integer(), Blue::integer(). setColour(#wx_ref{type=ThisT,ref=ThisRef},Red,Green,Blue) when is_integer(Red),is_integer(Green),is_integer(Blue) -> @@ -143,7 +143,7 @@ setColour(#wx_ref{type=ThisT,ref=ThisRef},Red,Green,Blue) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxpen.html#wxpensetjoin">external documentation</a>. %%<br /> JoinStyle = integer --spec setJoin(This, JoinStyle) -> ok when +-spec setJoin(This, JoinStyle) -> 'ok' when This::wxPen(), JoinStyle::wx:wx_enum(). setJoin(#wx_ref{type=ThisT,ref=ThisRef},JoinStyle) when is_integer(JoinStyle) -> @@ -152,7 +152,7 @@ setJoin(#wx_ref{type=ThisT,ref=ThisRef},JoinStyle) <<ThisRef:32/?UI,JoinStyle:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxpen.html#wxpensetstyle">external documentation</a>. --spec setStyle(This, Style) -> ok when +-spec setStyle(This, Style) -> 'ok' when This::wxPen(), Style::integer(). setStyle(#wx_ref{type=ThisT,ref=ThisRef},Style) when is_integer(Style) -> @@ -161,7 +161,7 @@ setStyle(#wx_ref{type=ThisT,ref=ThisRef},Style) <<ThisRef:32/?UI,Style:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxpen.html#wxpensetwidth">external documentation</a>. --spec setWidth(This, Width) -> ok when +-spec setWidth(This, Width) -> 'ok' when This::wxPen(), Width::integer(). setWidth(#wx_ref{type=ThisT,ref=ThisRef},Width) when is_integer(Width) -> @@ -170,7 +170,7 @@ setWidth(#wx_ref{type=ThisT,ref=ThisRef},Width) <<ThisRef:32/?UI,Width:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxPen()) -> ok. +-spec destroy(This::wxPen()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxPen), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxPickerBase.erl b/lib/wx/src/gen/wxPickerBase.erl index bbdeaf6af8..33931f9119 100644 --- a/lib/wx/src/gen/wxPickerBase.erl +++ b/lib/wx/src/gen/wxPickerBase.erl @@ -83,7 +83,7 @@ parent_class(_Class) -> erlang:error({badtype, ?MODULE}). -type wxPickerBase() :: wx:wx_object(). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxpickerbase.html#wxpickerbasesetinternalmargin">external documentation</a>. --spec setInternalMargin(This, Newmargin) -> ok when +-spec setInternalMargin(This, Newmargin) -> 'ok' when This::wxPickerBase(), Newmargin::integer(). setInternalMargin(#wx_ref{type=ThisT,ref=ThisRef},Newmargin) when is_integer(Newmargin) -> @@ -100,7 +100,7 @@ getInternalMargin(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxpickerbase.html#wxpickerbasesettextctrlproportion">external documentation</a>. --spec setTextCtrlProportion(This, Prop) -> ok when +-spec setTextCtrlProportion(This, Prop) -> 'ok' when This::wxPickerBase(), Prop::integer(). setTextCtrlProportion(#wx_ref{type=ThisT,ref=ThisRef},Prop) when is_integer(Prop) -> @@ -109,7 +109,7 @@ setTextCtrlProportion(#wx_ref{type=ThisT,ref=ThisRef},Prop) <<ThisRef:32/?UI,Prop:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxpickerbase.html#wxpickerbasesetpickerctrlproportion">external documentation</a>. --spec setPickerCtrlProportion(This, Prop) -> ok when +-spec setPickerCtrlProportion(This, Prop) -> 'ok' when This::wxPickerBase(), Prop::integer(). setPickerCtrlProportion(#wx_ref{type=ThisT,ref=ThisRef},Prop) when is_integer(Prop) -> @@ -158,7 +158,7 @@ isTextCtrlGrowable(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @equiv setPickerCtrlGrowable(This, []) --spec setPickerCtrlGrowable(This) -> ok when +-spec setPickerCtrlGrowable(This) -> 'ok' when This::wxPickerBase(). setPickerCtrlGrowable(This) @@ -166,9 +166,9 @@ setPickerCtrlGrowable(This) setPickerCtrlGrowable(This, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxpickerbase.html#wxpickerbasesetpickerctrlgrowable">external documentation</a>. --spec setPickerCtrlGrowable(This, [Option]) -> ok when +-spec setPickerCtrlGrowable(This, [Option]) -> 'ok' when This::wxPickerBase(), - Option :: {grow, boolean()}. + Option :: {'grow', boolean()}. setPickerCtrlGrowable(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxPickerBase), @@ -179,7 +179,7 @@ setPickerCtrlGrowable(#wx_ref{type=ThisT,ref=ThisRef}, Options) <<ThisRef:32/?UI, 0:32,BinOpt/binary>>). %% @equiv setTextCtrlGrowable(This, []) --spec setTextCtrlGrowable(This) -> ok when +-spec setTextCtrlGrowable(This) -> 'ok' when This::wxPickerBase(). setTextCtrlGrowable(This) @@ -187,9 +187,9 @@ setTextCtrlGrowable(This) setTextCtrlGrowable(This, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxpickerbase.html#wxpickerbasesettextctrlgrowable">external documentation</a>. --spec setTextCtrlGrowable(This, [Option]) -> ok when +-spec setTextCtrlGrowable(This, [Option]) -> 'ok' when This::wxPickerBase(), - Option :: {grow, boolean()}. + Option :: {'grow', boolean()}. setTextCtrlGrowable(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxPickerBase), diff --git a/lib/wx/src/gen/wxPopupTransientWindow.erl b/lib/wx/src/gen/wxPopupTransientWindow.erl index c07c6e239e..b1feef6dcb 100644 --- a/lib/wx/src/gen/wxPopupTransientWindow.erl +++ b/lib/wx/src/gen/wxPopupTransientWindow.erl @@ -96,7 +96,7 @@ new(Parent) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxpopuptransientwindow.html#wxpopuptransientwindowwxpopuptransientwindow">external documentation</a>. -spec new(Parent, [Option]) -> wxPopupTransientWindow() when Parent::wxWindow:wxWindow(), - Option :: {style, integer()}. + Option :: {'style', integer()}. new(#wx_ref{type=ParentT,ref=ParentRef}, Options) when is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -107,7 +107,7 @@ new(#wx_ref{type=ParentT,ref=ParentRef}, Options) <<ParentRef:32/?UI, 0:32,BinOpt/binary>>). %% @equiv popup(This, []) --spec popup(This) -> ok when +-spec popup(This) -> 'ok' when This::wxPopupTransientWindow(). popup(This) @@ -115,9 +115,9 @@ popup(This) popup(This, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxpopuptransientwindow.html#wxpopuptransientwindowpopup">external documentation</a>. --spec popup(This, [Option]) -> ok when +-spec popup(This, [Option]) -> 'ok' when This::wxPopupTransientWindow(), - Option :: {focus, wxWindow:wxWindow()}. + Option :: {'focus', wxWindow:wxWindow()}. popup(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxPopupTransientWindow), @@ -128,7 +128,7 @@ popup(#wx_ref{type=ThisT,ref=ThisRef}, Options) <<ThisRef:32/?UI, 0:32,BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxpopuptransientwindow.html#wxpopuptransientwindowdismiss">external documentation</a>. --spec dismiss(This) -> ok when +-spec dismiss(This) -> 'ok' when This::wxPopupTransientWindow(). dismiss(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxPopupTransientWindow), @@ -136,7 +136,7 @@ dismiss(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxPopupTransientWindow()) -> ok. +-spec destroy(This::wxPopupTransientWindow()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxPopupTransientWindow), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxPopupWindow.erl b/lib/wx/src/gen/wxPopupWindow.erl index 439f5fac54..962fd9903b 100644 --- a/lib/wx/src/gen/wxPopupWindow.erl +++ b/lib/wx/src/gen/wxPopupWindow.erl @@ -94,7 +94,7 @@ new(Parent) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxpopupwindow.html#wxpopupwindowwxpopupwindow">external documentation</a>. -spec new(Parent, [Option]) -> wxPopupWindow() when Parent::wxWindow:wxWindow(), - Option :: {flags, integer()}. + Option :: {'flags', integer()}. new(#wx_ref{type=ParentT,ref=ParentRef}, Options) when is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -115,7 +115,7 @@ create(This,Parent) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxpopupwindow.html#wxpopupwindowcreate">external documentation</a>. -spec create(This, Parent, [Option]) -> boolean() when This::wxPopupWindow(), Parent::wxWindow:wxWindow(), - Option :: {flags, integer()}. + Option :: {'flags', integer()}. create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxPopupWindow), @@ -127,7 +127,7 @@ create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef}, Opti <<ThisRef:32/?UI,ParentRef:32/?UI, BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxpopupwindow.html#wxpopupwindowposition">external documentation</a>. --spec position(This, PtOrigin, Size) -> ok when +-spec position(This, PtOrigin, Size) -> 'ok' when This::wxPopupWindow(), PtOrigin::{X::integer(), Y::integer()}, Size::{W::integer(), H::integer()}. position(#wx_ref{type=ThisT,ref=ThisRef},{PtOriginX,PtOriginY},{SizeW,SizeH}) when is_integer(PtOriginX),is_integer(PtOriginY),is_integer(SizeW),is_integer(SizeH) -> @@ -136,7 +136,7 @@ position(#wx_ref{type=ThisT,ref=ThisRef},{PtOriginX,PtOriginY},{SizeW,SizeH}) <<ThisRef:32/?UI,PtOriginX:32/?UI,PtOriginY:32/?UI,SizeW:32/?UI,SizeH:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxPopupWindow()) -> ok. +-spec destroy(This::wxPopupWindow()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxPopupWindow), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxPostScriptDC.erl b/lib/wx/src/gen/wxPostScriptDC.erl index 28f8a757ed..07764bca74 100644 --- a/lib/wx/src/gen/wxPostScriptDC.erl +++ b/lib/wx/src/gen/wxPostScriptDC.erl @@ -78,7 +78,7 @@ new(#wx_ref{type=PrintDataT,ref=PrintDataRef}) -> <<PrintDataRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxpostscriptdc.html#wxpostscriptdcsetresolution">external documentation</a>. --spec setResolution(Ppi) -> ok when +-spec setResolution(Ppi) -> 'ok' when Ppi::integer(). setResolution(Ppi) when is_integer(Ppi) -> @@ -92,7 +92,7 @@ getResolution() -> <<>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxPostScriptDC()) -> ok. +-spec destroy(This::wxPostScriptDC()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxPostScriptDC), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxPreviewControlBar.erl b/lib/wx/src/gen/wxPreviewControlBar.erl index 0e1828e87b..4dd224b26b 100644 --- a/lib/wx/src/gen/wxPreviewControlBar.erl +++ b/lib/wx/src/gen/wxPreviewControlBar.erl @@ -91,9 +91,9 @@ new(Preview,Buttons,Parent) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxpreviewcontrolbar.html#wxpreviewcontrolbarwxpreviewcontrolbar">external documentation</a>. -spec new(Preview, Buttons, Parent, [Option]) -> wxPreviewControlBar() when Preview::wxPrintPreview:wxPrintPreview(), Buttons::integer(), Parent::wxWindow:wxWindow(), - Option :: {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()}. + Option :: {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()}. new(#wx_ref{type=PreviewT,ref=PreviewRef},Buttons,#wx_ref{type=ParentT,ref=ParentRef}, Options) when is_integer(Buttons),is_list(Options) -> ?CLASS(PreviewT,wxPrintPreview), @@ -107,7 +107,7 @@ new(#wx_ref{type=PreviewT,ref=PreviewRef},Buttons,#wx_ref{type=ParentT,ref=Paren <<PreviewRef:32/?UI,Buttons:32/?UI,ParentRef:32/?UI, 0:32,BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxpreviewcontrolbar.html#wxpreviewcontrolbarcreatebuttons">external documentation</a>. --spec createButtons(This) -> ok when +-spec createButtons(This) -> 'ok' when This::wxPreviewControlBar(). createButtons(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxPreviewControlBar), @@ -131,7 +131,7 @@ getZoomControl(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxpreviewcontrolbar.html#wxpreviewcontrolbarsetzoomcontrol">external documentation</a>. --spec setZoomControl(This, Zoom) -> ok when +-spec setZoomControl(This, Zoom) -> 'ok' when This::wxPreviewControlBar(), Zoom::integer(). setZoomControl(#wx_ref{type=ThisT,ref=ThisRef},Zoom) when is_integer(Zoom) -> @@ -140,7 +140,7 @@ setZoomControl(#wx_ref{type=ThisT,ref=ThisRef},Zoom) <<ThisRef:32/?UI,Zoom:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxPreviewControlBar()) -> ok. +-spec destroy(This::wxPreviewControlBar()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxPreviewControlBar), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxPreviewFrame.erl b/lib/wx/src/gen/wxPreviewFrame.erl index fe684478a5..2f530b49ea 100644 --- a/lib/wx/src/gen/wxPreviewFrame.erl +++ b/lib/wx/src/gen/wxPreviewFrame.erl @@ -102,10 +102,10 @@ new(Preview,Parent) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxpreviewframe.html#wxpreviewframewxpreviewframe">external documentation</a>. -spec new(Preview, Parent, [Option]) -> wxPreviewFrame() when Preview::wxPrintPreview:wxPrintPreview(), Parent::wxWindow:wxWindow(), - Option :: {title, unicode:chardata()} - | {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()}. + Option :: {'title', unicode:chardata()} + | {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()}. new(#wx_ref{type=PreviewT,ref=PreviewRef},#wx_ref{type=ParentT,ref=ParentRef}, Options) when is_list(Options) -> ?CLASS(PreviewT,wxPrintPreview), @@ -120,7 +120,7 @@ new(#wx_ref{type=PreviewT,ref=PreviewRef},#wx_ref{type=ParentT,ref=ParentRef}, O <<PreviewRef:32/?UI,ParentRef:32/?UI, BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxpreviewframe.html#wxpreviewframecreatecontrolbar">external documentation</a>. --spec createControlBar(This) -> ok when +-spec createControlBar(This) -> 'ok' when This::wxPreviewFrame(). createControlBar(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxPreviewFrame), @@ -128,7 +128,7 @@ createControlBar(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxpreviewframe.html#wxpreviewframecreatecanvas">external documentation</a>. --spec createCanvas(This) -> ok when +-spec createCanvas(This) -> 'ok' when This::wxPreviewFrame(). createCanvas(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxPreviewFrame), @@ -136,7 +136,7 @@ createCanvas(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxpreviewframe.html#wxpreviewframeinitialize">external documentation</a>. --spec initialize(This) -> ok when +-spec initialize(This) -> 'ok' when This::wxPreviewFrame(). initialize(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxPreviewFrame), @@ -144,7 +144,7 @@ initialize(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxpreviewframe.html#wxpreviewframeonclosewindow">external documentation</a>. --spec onCloseWindow(This, Event) -> ok when +-spec onCloseWindow(This, Event) -> 'ok' when This::wxPreviewFrame(), Event::wxCloseEvent:wxCloseEvent(). onCloseWindow(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=EventT,ref=EventRef}) -> ?CLASS(ThisT,wxPreviewFrame), @@ -153,7 +153,7 @@ onCloseWindow(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=EventT,ref=EventRef}) <<ThisRef:32/?UI,EventRef:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxPreviewFrame()) -> ok. +-spec destroy(This::wxPreviewFrame()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxPreviewFrame), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxPrintData.erl b/lib/wx/src/gen/wxPrintData.erl index a8a72c52f4..6b6b678adf 100644 --- a/lib/wx/src/gen/wxPrintData.erl +++ b/lib/wx/src/gen/wxPrintData.erl @@ -137,7 +137,7 @@ isOk(#wx_ref{type=ThisT,ref=ThisRef}) -> %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxprintdata.html#wxprintdatasetbin">external documentation</a>. %%<br /> Bin = ?wxPRINTBIN_DEFAULT | ?wxPRINTBIN_ONLYONE | ?wxPRINTBIN_LOWER | ?wxPRINTBIN_MIDDLE | ?wxPRINTBIN_MANUAL | ?wxPRINTBIN_ENVELOPE | ?wxPRINTBIN_ENVMANUAL | ?wxPRINTBIN_AUTO | ?wxPRINTBIN_TRACTOR | ?wxPRINTBIN_SMALLFMT | ?wxPRINTBIN_LARGEFMT | ?wxPRINTBIN_LARGECAPACITY | ?wxPRINTBIN_CASSETTE | ?wxPRINTBIN_FORMSOURCE | ?wxPRINTBIN_USER --spec setBin(This, Bin) -> ok when +-spec setBin(This, Bin) -> 'ok' when This::wxPrintData(), Bin::wx:wx_enum(). setBin(#wx_ref{type=ThisT,ref=ThisRef},Bin) when is_integer(Bin) -> @@ -146,7 +146,7 @@ setBin(#wx_ref{type=ThisT,ref=ThisRef},Bin) <<ThisRef:32/?UI,Bin:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxprintdata.html#wxprintdatasetcollate">external documentation</a>. --spec setCollate(This, Flag) -> ok when +-spec setCollate(This, Flag) -> 'ok' when This::wxPrintData(), Flag::boolean(). setCollate(#wx_ref{type=ThisT,ref=ThisRef},Flag) when is_boolean(Flag) -> @@ -155,7 +155,7 @@ setCollate(#wx_ref{type=ThisT,ref=ThisRef},Flag) <<ThisRef:32/?UI,(wxe_util:from_bool(Flag)):32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxprintdata.html#wxprintdatasetcolour">external documentation</a>. --spec setColour(This, Colour) -> ok when +-spec setColour(This, Colour) -> 'ok' when This::wxPrintData(), Colour::boolean(). setColour(#wx_ref{type=ThisT,ref=ThisRef},Colour) when is_boolean(Colour) -> @@ -165,7 +165,7 @@ setColour(#wx_ref{type=ThisT,ref=ThisRef},Colour) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxprintdata.html#wxprintdatasetduplex">external documentation</a>. %%<br /> Duplex = ?wxDUPLEX_SIMPLEX | ?wxDUPLEX_HORIZONTAL | ?wxDUPLEX_VERTICAL --spec setDuplex(This, Duplex) -> ok when +-spec setDuplex(This, Duplex) -> 'ok' when This::wxPrintData(), Duplex::wx:wx_enum(). setDuplex(#wx_ref{type=ThisT,ref=ThisRef},Duplex) when is_integer(Duplex) -> @@ -174,7 +174,7 @@ setDuplex(#wx_ref{type=ThisT,ref=ThisRef},Duplex) <<ThisRef:32/?UI,Duplex:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxprintdata.html#wxprintdatasetnocopies">external documentation</a>. --spec setNoCopies(This, V) -> ok when +-spec setNoCopies(This, V) -> 'ok' when This::wxPrintData(), V::integer(). setNoCopies(#wx_ref{type=ThisT,ref=ThisRef},V) when is_integer(V) -> @@ -183,7 +183,7 @@ setNoCopies(#wx_ref{type=ThisT,ref=ThisRef},V) <<ThisRef:32/?UI,V:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxprintdata.html#wxprintdatasetorientation">external documentation</a>. --spec setOrientation(This, Orient) -> ok when +-spec setOrientation(This, Orient) -> 'ok' when This::wxPrintData(), Orient::integer(). setOrientation(#wx_ref{type=ThisT,ref=ThisRef},Orient) when is_integer(Orient) -> @@ -193,7 +193,7 @@ setOrientation(#wx_ref{type=ThisT,ref=ThisRef},Orient) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxprintdata.html#wxprintdatasetpaperid">external documentation</a>. %%<br /> SizeId = ?wxPAPER_NONE | ?wxPAPER_LETTER | ?wxPAPER_LEGAL | ?wxPAPER_A4 | ?wxPAPER_CSHEET | ?wxPAPER_DSHEET | ?wxPAPER_ESHEET | ?wxPAPER_LETTERSMALL | ?wxPAPER_TABLOID | ?wxPAPER_LEDGER | ?wxPAPER_STATEMENT | ?wxPAPER_EXECUTIVE | ?wxPAPER_A3 | ?wxPAPER_A4SMALL | ?wxPAPER_A5 | ?wxPAPER_B4 | ?wxPAPER_B5 | ?wxPAPER_FOLIO | ?wxPAPER_QUARTO | ?wxPAPER_10X14 | ?wxPAPER_11X17 | ?wxPAPER_NOTE | ?wxPAPER_ENV_9 | ?wxPAPER_ENV_10 | ?wxPAPER_ENV_11 | ?wxPAPER_ENV_12 | ?wxPAPER_ENV_14 | ?wxPAPER_ENV_DL | ?wxPAPER_ENV_C5 | ?wxPAPER_ENV_C3 | ?wxPAPER_ENV_C4 | ?wxPAPER_ENV_C6 | ?wxPAPER_ENV_C65 | ?wxPAPER_ENV_B4 | ?wxPAPER_ENV_B5 | ?wxPAPER_ENV_B6 | ?wxPAPER_ENV_ITALY | ?wxPAPER_ENV_MONARCH | ?wxPAPER_ENV_PERSONAL | ?wxPAPER_FANFOLD_US | ?wxPAPER_FANFOLD_STD_GERMAN | ?wxPAPER_FANFOLD_LGL_GERMAN | ?wxPAPER_ISO_B4 | ?wxPAPER_JAPANESE_POSTCARD | ?wxPAPER_9X11 | ?wxPAPER_10X11 | ?wxPAPER_15X11 | ?wxPAPER_ENV_INVITE | ?wxPAPER_LETTER_EXTRA | ?wxPAPER_LEGAL_EXTRA | ?wxPAPER_TABLOID_EXTRA | ?wxPAPER_A4_EXTRA | ?wxPAPER_LETTER_TRANSVERSE | ?wxPAPER_A4_TRANSVERSE | ?wxPAPER_LETTER_EXTRA_TRANSVERSE | ?wxPAPER_A_PLUS | ?wxPAPER_B_PLUS | ?wxPAPER_LETTER_PLUS | ?wxPAPER_A4_PLUS | ?wxPAPER_A5_TRANSVERSE | ?wxPAPER_B5_TRANSVERSE | ?wxPAPER_A3_EXTRA | ?wxPAPER_A5_EXTRA | ?wxPAPER_B5_EXTRA | ?wxPAPER_A2 | ?wxPAPER_A3_TRANSVERSE | ?wxPAPER_A3_EXTRA_TRANSVERSE | ?wxPAPER_DBL_JAPANESE_POSTCARD | ?wxPAPER_A6 | ?wxPAPER_JENV_KAKU2 | ?wxPAPER_JENV_KAKU3 | ?wxPAPER_JENV_CHOU3 | ?wxPAPER_JENV_CHOU4 | ?wxPAPER_LETTER_ROTATED | ?wxPAPER_A3_ROTATED | ?wxPAPER_A4_ROTATED | ?wxPAPER_A5_ROTATED | ?wxPAPER_B4_JIS_ROTATED | ?wxPAPER_B5_JIS_ROTATED | ?wxPAPER_JAPANESE_POSTCARD_ROTATED | ?wxPAPER_DBL_JAPANESE_POSTCARD_ROTATED | ?wxPAPER_A6_ROTATED | ?wxPAPER_JENV_KAKU2_ROTATED | ?wxPAPER_JENV_KAKU3_ROTATED | ?wxPAPER_JENV_CHOU3_ROTATED | ?wxPAPER_JENV_CHOU4_ROTATED | ?wxPAPER_B6_JIS | ?wxPAPER_B6_JIS_ROTATED | ?wxPAPER_12X11 | ?wxPAPER_JENV_YOU4 | ?wxPAPER_JENV_YOU4_ROTATED | ?wxPAPER_P16K | ?wxPAPER_P32K | ?wxPAPER_P32KBIG | ?wxPAPER_PENV_1 | ?wxPAPER_PENV_2 | ?wxPAPER_PENV_3 | ?wxPAPER_PENV_4 | ?wxPAPER_PENV_5 | ?wxPAPER_PENV_6 | ?wxPAPER_PENV_7 | ?wxPAPER_PENV_8 | ?wxPAPER_PENV_9 | ?wxPAPER_PENV_10 | ?wxPAPER_P16K_ROTATED | ?wxPAPER_P32K_ROTATED | ?wxPAPER_P32KBIG_ROTATED | ?wxPAPER_PENV_1_ROTATED | ?wxPAPER_PENV_2_ROTATED | ?wxPAPER_PENV_3_ROTATED | ?wxPAPER_PENV_4_ROTATED | ?wxPAPER_PENV_5_ROTATED | ?wxPAPER_PENV_6_ROTATED | ?wxPAPER_PENV_7_ROTATED | ?wxPAPER_PENV_8_ROTATED | ?wxPAPER_PENV_9_ROTATED | ?wxPAPER_PENV_10_ROTATED --spec setPaperId(This, SizeId) -> ok when +-spec setPaperId(This, SizeId) -> 'ok' when This::wxPrintData(), SizeId::wx:wx_enum(). setPaperId(#wx_ref{type=ThisT,ref=ThisRef},SizeId) when is_integer(SizeId) -> @@ -202,7 +202,7 @@ setPaperId(#wx_ref{type=ThisT,ref=ThisRef},SizeId) <<ThisRef:32/?UI,SizeId:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxprintdata.html#wxprintdatasetprintername">external documentation</a>. --spec setPrinterName(This, Name) -> ok when +-spec setPrinterName(This, Name) -> 'ok' when This::wxPrintData(), Name::unicode:chardata(). setPrinterName(#wx_ref{type=ThisT,ref=ThisRef},Name) when is_list(Name) -> @@ -212,7 +212,7 @@ setPrinterName(#wx_ref{type=ThisT,ref=ThisRef},Name) <<ThisRef:32/?UI,(byte_size(Name_UC)):32/?UI,(Name_UC)/binary, 0:(((8- ((0+byte_size(Name_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxprintdata.html#wxprintdatasetquality">external documentation</a>. --spec setQuality(This, Quality) -> ok when +-spec setQuality(This, Quality) -> 'ok' when This::wxPrintData(), Quality::integer(). setQuality(#wx_ref{type=ThisT,ref=ThisRef},Quality) when is_integer(Quality) -> @@ -221,7 +221,7 @@ setQuality(#wx_ref{type=ThisT,ref=ThisRef},Quality) <<ThisRef:32/?UI,Quality:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxPrintData()) -> ok. +-spec destroy(This::wxPrintData()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxPrintData), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxPrintDialog.erl b/lib/wx/src/gen/wxPrintDialog.erl index a337089d5a..d4188e79c4 100644 --- a/lib/wx/src/gen/wxPrintDialog.erl +++ b/lib/wx/src/gen/wxPrintDialog.erl @@ -103,7 +103,7 @@ new(Parent) %% -spec new(Parent, [Option]) -> wxPrintDialog() when Parent::wxWindow:wxWindow(), - Option :: {data, wxPrintDialogData:wxPrintDialogData()}; + Option :: {'data', wxPrintDialogData:wxPrintDialogData()}; (Parent, Data) -> wxPrintDialog() when Parent::wxWindow:wxWindow(), Data::wxPrintData:wxPrintData(). new(#wx_ref{type=ParentT,ref=ParentRef}, Options) @@ -137,7 +137,7 @@ getPrintDC(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxPrintDialog()) -> ok. +-spec destroy(This::wxPrintDialog()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxPrintDialog), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxPrintDialogData.erl b/lib/wx/src/gen/wxPrintDialogData.erl index b93af1151b..5d39008a64 100644 --- a/lib/wx/src/gen/wxPrintDialogData.erl +++ b/lib/wx/src/gen/wxPrintDialogData.erl @@ -59,7 +59,7 @@ new(#wx_ref{type=DialogDataT,ref=DialogDataRef}) -> <<DialogDataRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxprintdialogdata.html#wxprintdialogdataenablehelp">external documentation</a>. --spec enableHelp(This, Flag) -> ok when +-spec enableHelp(This, Flag) -> 'ok' when This::wxPrintDialogData(), Flag::boolean(). enableHelp(#wx_ref{type=ThisT,ref=ThisRef},Flag) when is_boolean(Flag) -> @@ -68,7 +68,7 @@ enableHelp(#wx_ref{type=ThisT,ref=ThisRef},Flag) <<ThisRef:32/?UI,(wxe_util:from_bool(Flag)):32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxprintdialogdata.html#wxprintdialogdataenablepagenumbers">external documentation</a>. --spec enablePageNumbers(This, Flag) -> ok when +-spec enablePageNumbers(This, Flag) -> 'ok' when This::wxPrintDialogData(), Flag::boolean(). enablePageNumbers(#wx_ref{type=ThisT,ref=ThisRef},Flag) when is_boolean(Flag) -> @@ -77,7 +77,7 @@ enablePageNumbers(#wx_ref{type=ThisT,ref=ThisRef},Flag) <<ThisRef:32/?UI,(wxe_util:from_bool(Flag)):32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxprintdialogdata.html#wxprintdialogdataenableprinttofile">external documentation</a>. --spec enablePrintToFile(This, Flag) -> ok when +-spec enablePrintToFile(This, Flag) -> 'ok' when This::wxPrintDialogData(), Flag::boolean(). enablePrintToFile(#wx_ref{type=ThisT,ref=ThisRef},Flag) when is_boolean(Flag) -> @@ -86,7 +86,7 @@ enablePrintToFile(#wx_ref{type=ThisT,ref=ThisRef},Flag) <<ThisRef:32/?UI,(wxe_util:from_bool(Flag)):32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxprintdialogdata.html#wxprintdialogdataenableselection">external documentation</a>. --spec enableSelection(This, Flag) -> ok when +-spec enableSelection(This, Flag) -> 'ok' when This::wxPrintDialogData(), Flag::boolean(). enableSelection(#wx_ref{type=ThisT,ref=ThisRef},Flag) when is_boolean(Flag) -> @@ -183,7 +183,7 @@ isOk(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxprintdialogdata.html#wxprintdialogdatasetcollate">external documentation</a>. --spec setCollate(This, Flag) -> ok when +-spec setCollate(This, Flag) -> 'ok' when This::wxPrintDialogData(), Flag::boolean(). setCollate(#wx_ref{type=ThisT,ref=ThisRef},Flag) when is_boolean(Flag) -> @@ -192,7 +192,7 @@ setCollate(#wx_ref{type=ThisT,ref=ThisRef},Flag) <<ThisRef:32/?UI,(wxe_util:from_bool(Flag)):32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxprintdialogdata.html#wxprintdialogdatasetfrompage">external documentation</a>. --spec setFromPage(This, V) -> ok when +-spec setFromPage(This, V) -> 'ok' when This::wxPrintDialogData(), V::integer(). setFromPage(#wx_ref{type=ThisT,ref=ThisRef},V) when is_integer(V) -> @@ -201,7 +201,7 @@ setFromPage(#wx_ref{type=ThisT,ref=ThisRef},V) <<ThisRef:32/?UI,V:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxprintdialogdata.html#wxprintdialogdatasetmaxpage">external documentation</a>. --spec setMaxPage(This, V) -> ok when +-spec setMaxPage(This, V) -> 'ok' when This::wxPrintDialogData(), V::integer(). setMaxPage(#wx_ref{type=ThisT,ref=ThisRef},V) when is_integer(V) -> @@ -210,7 +210,7 @@ setMaxPage(#wx_ref{type=ThisT,ref=ThisRef},V) <<ThisRef:32/?UI,V:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxprintdialogdata.html#wxprintdialogdatasetminpage">external documentation</a>. --spec setMinPage(This, V) -> ok when +-spec setMinPage(This, V) -> 'ok' when This::wxPrintDialogData(), V::integer(). setMinPage(#wx_ref{type=ThisT,ref=ThisRef},V) when is_integer(V) -> @@ -219,7 +219,7 @@ setMinPage(#wx_ref{type=ThisT,ref=ThisRef},V) <<ThisRef:32/?UI,V:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxprintdialogdata.html#wxprintdialogdatasetnocopies">external documentation</a>. --spec setNoCopies(This, V) -> ok when +-spec setNoCopies(This, V) -> 'ok' when This::wxPrintDialogData(), V::integer(). setNoCopies(#wx_ref{type=ThisT,ref=ThisRef},V) when is_integer(V) -> @@ -228,7 +228,7 @@ setNoCopies(#wx_ref{type=ThisT,ref=ThisRef},V) <<ThisRef:32/?UI,V:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxprintdialogdata.html#wxprintdialogdatasetprintdata">external documentation</a>. --spec setPrintData(This, PrintData) -> ok when +-spec setPrintData(This, PrintData) -> 'ok' when This::wxPrintDialogData(), PrintData::wxPrintData:wxPrintData(). setPrintData(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=PrintDataT,ref=PrintDataRef}) -> ?CLASS(ThisT,wxPrintDialogData), @@ -237,7 +237,7 @@ setPrintData(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=PrintDataT,ref=PrintDa <<ThisRef:32/?UI,PrintDataRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxprintdialogdata.html#wxprintdialogdatasetprinttofile">external documentation</a>. --spec setPrintToFile(This, Flag) -> ok when +-spec setPrintToFile(This, Flag) -> 'ok' when This::wxPrintDialogData(), Flag::boolean(). setPrintToFile(#wx_ref{type=ThisT,ref=ThisRef},Flag) when is_boolean(Flag) -> @@ -246,7 +246,7 @@ setPrintToFile(#wx_ref{type=ThisT,ref=ThisRef},Flag) <<ThisRef:32/?UI,(wxe_util:from_bool(Flag)):32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxprintdialogdata.html#wxprintdialogdatasetselection">external documentation</a>. --spec setSelection(This, Flag) -> ok when +-spec setSelection(This, Flag) -> 'ok' when This::wxPrintDialogData(), Flag::boolean(). setSelection(#wx_ref{type=ThisT,ref=ThisRef},Flag) when is_boolean(Flag) -> @@ -255,7 +255,7 @@ setSelection(#wx_ref{type=ThisT,ref=ThisRef},Flag) <<ThisRef:32/?UI,(wxe_util:from_bool(Flag)):32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxprintdialogdata.html#wxprintdialogdatasettopage">external documentation</a>. --spec setToPage(This, V) -> ok when +-spec setToPage(This, V) -> 'ok' when This::wxPrintDialogData(), V::integer(). setToPage(#wx_ref{type=ThisT,ref=ThisRef},V) when is_integer(V) -> @@ -264,7 +264,7 @@ setToPage(#wx_ref{type=ThisT,ref=ThisRef},V) <<ThisRef:32/?UI,V:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxPrintDialogData()) -> ok. +-spec destroy(This::wxPrintDialogData()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxPrintDialogData), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxPrintPreview.erl b/lib/wx/src/gen/wxPrintPreview.erl index 162d259530..a0034a5e5c 100644 --- a/lib/wx/src/gen/wxPrintPreview.erl +++ b/lib/wx/src/gen/wxPrintPreview.erl @@ -49,8 +49,8 @@ new(Printout) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxprintpreview.html#wxprintpreviewwxprintpreview">external documentation</a>. -spec new(Printout, [Option]) -> wxPrintPreview() when Printout::wxPrintout:wxPrintout(), - Option :: {printoutForPrinting, wxPrintout:wxPrintout()} - | {data, wxPrintDialogData:wxPrintDialogData()}. + Option :: {'printoutForPrinting', wxPrintout:wxPrintout()} + | {'data', wxPrintDialogData:wxPrintDialogData()}. new(#wx_ref{type=PrintoutT,ref=PrintoutRef}, Options) when is_list(Options) -> ?CLASS(PrintoutT,wxPrintout), @@ -164,7 +164,7 @@ renderPage(#wx_ref{type=ThisT,ref=ThisRef},PageNum) <<ThisRef:32/?UI,PageNum:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxprintpreview.html#wxprintpreviewsetcanvas">external documentation</a>. --spec setCanvas(This, Canvas) -> ok when +-spec setCanvas(This, Canvas) -> 'ok' when This::wxPrintPreview(), Canvas::wxPreviewCanvas:wxPreviewCanvas(). setCanvas(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=CanvasT,ref=CanvasRef}) -> ?CLASS(ThisT,wxPrintPreview), @@ -182,7 +182,7 @@ setCurrentPage(#wx_ref{type=ThisT,ref=ThisRef},PageNum) <<ThisRef:32/?UI,PageNum:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxprintpreview.html#wxprintpreviewsetframe">external documentation</a>. --spec setFrame(This, Frame) -> ok when +-spec setFrame(This, Frame) -> 'ok' when This::wxPrintPreview(), Frame::wxFrame:wxFrame(). setFrame(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=FrameT,ref=FrameRef}) -> ?CLASS(ThisT,wxPrintPreview), @@ -191,7 +191,7 @@ setFrame(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=FrameT,ref=FrameRef}) -> <<ThisRef:32/?UI,FrameRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxprintpreview.html#wxprintpreviewsetprintout">external documentation</a>. --spec setPrintout(This, Printout) -> ok when +-spec setPrintout(This, Printout) -> 'ok' when This::wxPrintPreview(), Printout::wxPrintout:wxPrintout(). setPrintout(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=PrintoutT,ref=PrintoutRef}) -> ?CLASS(ThisT,wxPrintPreview), @@ -200,7 +200,7 @@ setPrintout(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=PrintoutT,ref=PrintoutR <<ThisRef:32/?UI,PrintoutRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxprintpreview.html#wxprintpreviewsetzoom">external documentation</a>. --spec setZoom(This, Percent) -> ok when +-spec setZoom(This, Percent) -> 'ok' when This::wxPrintPreview(), Percent::integer(). setZoom(#wx_ref{type=ThisT,ref=ThisRef},Percent) when is_integer(Percent) -> @@ -209,7 +209,7 @@ setZoom(#wx_ref{type=ThisT,ref=ThisRef},Percent) <<ThisRef:32/?UI,Percent:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxPrintPreview()) -> ok. +-spec destroy(This::wxPrintPreview()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxPrintPreview), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxPrinter.erl b/lib/wx/src/gen/wxPrinter.erl index 5f3122d32c..b9fb1c07bd 100644 --- a/lib/wx/src/gen/wxPrinter.erl +++ b/lib/wx/src/gen/wxPrinter.erl @@ -44,7 +44,7 @@ new() -> %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxprinter.html#wxprinterwxprinter">external documentation</a>. -spec new([Option]) -> wxPrinter() when - Option :: {data, wxPrintDialogData:wxPrintDialogData()}. + Option :: {'data', wxPrintDialogData:wxPrintDialogData()}. new(Options) when is_list(Options) -> MOpts = fun({data, #wx_ref{type=DataT,ref=DataRef}}, Acc) -> ?CLASS(DataT,wxPrintDialogData),[<<1:32/?UI,DataRef:32/?UI>>|Acc]; @@ -97,7 +97,7 @@ print(This,Parent,Printout) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxprinter.html#wxprinterprint">external documentation</a>. -spec print(This, Parent, Printout, [Option]) -> boolean() when This::wxPrinter(), Parent::wxWindow:wxWindow(), Printout::wxPrintout:wxPrintout(), - Option :: {prompt, boolean()}. + Option :: {'prompt', boolean()}. print(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef},#wx_ref{type=PrintoutT,ref=PrintoutRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxPrinter), @@ -119,7 +119,7 @@ printDialog(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef}) <<ThisRef:32/?UI,ParentRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxprinter.html#wxprinterreporterror">external documentation</a>. --spec reportError(This, Parent, Printout, Message) -> ok when +-spec reportError(This, Parent, Printout, Message) -> 'ok' when This::wxPrinter(), Parent::wxWindow:wxWindow(), Printout::wxPrintout:wxPrintout(), Message::unicode:chardata(). reportError(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef},#wx_ref{type=PrintoutT,ref=PrintoutRef},Message) when is_list(Message) -> @@ -140,7 +140,7 @@ setup(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef}) -> <<ThisRef:32/?UI,ParentRef:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxPrinter()) -> ok. +-spec destroy(This::wxPrinter()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxPrinter), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxPrintout.erl b/lib/wx/src/gen/wxPrintout.erl index 7f2b59bbe7..7b28d0947d 100644 --- a/lib/wx/src/gen/wxPrintout.erl +++ b/lib/wx/src/gen/wxPrintout.erl @@ -187,7 +187,7 @@ isPreview(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxprintout.html#wxprintoutfitthissizetopaper">external documentation</a>. --spec fitThisSizeToPaper(This, ImageSize) -> ok when +-spec fitThisSizeToPaper(This, ImageSize) -> 'ok' when This::wxPrintout(), ImageSize::{W::integer(), H::integer()}. fitThisSizeToPaper(#wx_ref{type=ThisT,ref=ThisRef},{ImageSizeW,ImageSizeH}) when is_integer(ImageSizeW),is_integer(ImageSizeH) -> @@ -196,7 +196,7 @@ fitThisSizeToPaper(#wx_ref{type=ThisT,ref=ThisRef},{ImageSizeW,ImageSizeH}) <<ThisRef:32/?UI,ImageSizeW:32/?UI,ImageSizeH:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxprintout.html#wxprintoutfitthissizetopage">external documentation</a>. --spec fitThisSizeToPage(This, ImageSize) -> ok when +-spec fitThisSizeToPage(This, ImageSize) -> 'ok' when This::wxPrintout(), ImageSize::{W::integer(), H::integer()}. fitThisSizeToPage(#wx_ref{type=ThisT,ref=ThisRef},{ImageSizeW,ImageSizeH}) when is_integer(ImageSizeW),is_integer(ImageSizeH) -> @@ -205,7 +205,7 @@ fitThisSizeToPage(#wx_ref{type=ThisT,ref=ThisRef},{ImageSizeW,ImageSizeH}) <<ThisRef:32/?UI,ImageSizeW:32/?UI,ImageSizeH:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxprintout.html#wxprintoutfitthissizetopagemargins">external documentation</a>. --spec fitThisSizeToPageMargins(This, ImageSize, PageSetupData) -> ok when +-spec fitThisSizeToPageMargins(This, ImageSize, PageSetupData) -> 'ok' when This::wxPrintout(), ImageSize::{W::integer(), H::integer()}, PageSetupData::wxPageSetupDialogData:wxPageSetupDialogData(). fitThisSizeToPageMargins(#wx_ref{type=ThisT,ref=ThisRef},{ImageSizeW,ImageSizeH},#wx_ref{type=PageSetupDataT,ref=PageSetupDataRef}) when is_integer(ImageSizeW),is_integer(ImageSizeH) -> @@ -215,7 +215,7 @@ fitThisSizeToPageMargins(#wx_ref{type=ThisT,ref=ThisRef},{ImageSizeW,ImageSizeH} <<ThisRef:32/?UI,ImageSizeW:32/?UI,ImageSizeH:32/?UI,PageSetupDataRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxprintout.html#wxprintoutmapscreensizetopaper">external documentation</a>. --spec mapScreenSizeToPaper(This) -> ok when +-spec mapScreenSizeToPaper(This) -> 'ok' when This::wxPrintout(). mapScreenSizeToPaper(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxPrintout), @@ -223,7 +223,7 @@ mapScreenSizeToPaper(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxprintout.html#wxprintoutmapscreensizetopage">external documentation</a>. --spec mapScreenSizeToPage(This) -> ok when +-spec mapScreenSizeToPage(This) -> 'ok' when This::wxPrintout(). mapScreenSizeToPage(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxPrintout), @@ -231,7 +231,7 @@ mapScreenSizeToPage(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxprintout.html#wxprintoutmapscreensizetopagemargins">external documentation</a>. --spec mapScreenSizeToPageMargins(This, PageSetupData) -> ok when +-spec mapScreenSizeToPageMargins(This, PageSetupData) -> 'ok' when This::wxPrintout(), PageSetupData::wxPageSetupDialogData:wxPageSetupDialogData(). mapScreenSizeToPageMargins(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=PageSetupDataT,ref=PageSetupDataRef}) -> ?CLASS(ThisT,wxPrintout), @@ -240,7 +240,7 @@ mapScreenSizeToPageMargins(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=PageSetu <<ThisRef:32/?UI,PageSetupDataRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxprintout.html#wxprintoutmapscreensizetodevice">external documentation</a>. --spec mapScreenSizeToDevice(This) -> ok when +-spec mapScreenSizeToDevice(This) -> 'ok' when This::wxPrintout(). mapScreenSizeToDevice(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxPrintout), @@ -273,7 +273,7 @@ getLogicalPageMarginsRect(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=PageSetup <<ThisRef:32/?UI,PageSetupDataRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxprintout.html#wxprintoutsetlogicalorigin">external documentation</a>. --spec setLogicalOrigin(This, X, Y) -> ok when +-spec setLogicalOrigin(This, X, Y) -> 'ok' when This::wxPrintout(), X::integer(), Y::integer(). setLogicalOrigin(#wx_ref{type=ThisT,ref=ThisRef},X,Y) when is_integer(X),is_integer(Y) -> @@ -282,7 +282,7 @@ setLogicalOrigin(#wx_ref{type=ThisT,ref=ThisRef},X,Y) <<ThisRef:32/?UI,X:32/?UI,Y:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxprintout.html#wxprintoutoffsetlogicalorigin">external documentation</a>. --spec offsetLogicalOrigin(This, Xoff, Yoff) -> ok when +-spec offsetLogicalOrigin(This, Xoff, Yoff) -> 'ok' when This::wxPrintout(), Xoff::integer(), Yoff::integer(). offsetLogicalOrigin(#wx_ref{type=ThisT,ref=ThisRef},Xoff,Yoff) when is_integer(Xoff),is_integer(Yoff) -> @@ -291,7 +291,7 @@ offsetLogicalOrigin(#wx_ref{type=ThisT,ref=ThisRef},Xoff,Yoff) <<ThisRef:32/?UI,Xoff:32/?UI,Yoff:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxPrintout()) -> ok. +-spec destroy(This::wxPrintout()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxPrintout), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxProgressDialog.erl b/lib/wx/src/gen/wxProgressDialog.erl index 665b900729..8e275f9dc8 100644 --- a/lib/wx/src/gen/wxProgressDialog.erl +++ b/lib/wx/src/gen/wxProgressDialog.erl @@ -99,9 +99,9 @@ new(Title,Message) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxprogressdialog.html#wxprogressdialogwxprogressdialog">external documentation</a>. -spec new(Title, Message, [Option]) -> wxProgressDialog() when Title::unicode:chardata(), Message::unicode:chardata(), - Option :: {maximum, integer()} - | {parent, wxWindow:wxWindow()} - | {style, integer()}. + Option :: {'maximum', integer()} + | {'parent', wxWindow:wxWindow()} + | {'style', integer()}. new(Title,Message, Options) when is_list(Title),is_list(Message),is_list(Options) -> Title_UC = unicode:characters_to_binary([Title,0]), @@ -115,7 +115,7 @@ new(Title,Message, Options) <<(byte_size(Title_UC)):32/?UI,(Title_UC)/binary, 0:(((8- ((4+byte_size(Title_UC)) band 16#7)) band 16#7))/unit:8,(byte_size(Message_UC)):32/?UI,(Message_UC)/binary, 0:(((8- ((4+byte_size(Message_UC)) band 16#7)) band 16#7))/unit:8, BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxprogressdialog.html#wxprogressdialogresume">external documentation</a>. --spec resume(This) -> ok when +-spec resume(This) -> 'ok' when This::wxProgressDialog(). resume(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxProgressDialog), @@ -123,7 +123,7 @@ resume(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxprogressdialog.html#wxprogressdialogupdate">external documentation</a>. --spec update(This) -> ok when +-spec update(This) -> 'ok' when This::wxProgressDialog(). update(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxProgressDialog), @@ -141,7 +141,7 @@ update(This,Value) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxprogressdialog.html#wxprogressdialogupdate">external documentation</a>. -spec update(This, Value, [Option]) -> boolean() when This::wxProgressDialog(), Value::integer(), - Option :: {newmsg, unicode:chardata()}. + Option :: {'newmsg', unicode:chardata()}. update(#wx_ref{type=ThisT,ref=ThisRef},Value, Options) when is_integer(Value),is_list(Options) -> ?CLASS(ThisT,wxProgressDialog), @@ -152,7 +152,7 @@ update(#wx_ref{type=ThisT,ref=ThisRef},Value, Options) <<ThisRef:32/?UI,Value:32/?UI, BinOpt/binary>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxProgressDialog()) -> ok. +-spec destroy(This::wxProgressDialog()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxProgressDialog), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxQueryNewPaletteEvent.erl b/lib/wx/src/gen/wxQueryNewPaletteEvent.erl index 2473fe5f61..d32f893212 100644 --- a/lib/wx/src/gen/wxQueryNewPaletteEvent.erl +++ b/lib/wx/src/gen/wxQueryNewPaletteEvent.erl @@ -45,7 +45,7 @@ parent_class(_Class) -> erlang:error({badtype, ?MODULE}). -type wxQueryNewPaletteEvent() :: wx:wx_object(). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxquerynewpaletteevent.html#wxquerynewpaletteeventsetpaletterealized">external documentation</a>. --spec setPaletteRealized(This, Realized) -> ok when +-spec setPaletteRealized(This, Realized) -> 'ok' when This::wxQueryNewPaletteEvent(), Realized::boolean(). setPaletteRealized(#wx_ref{type=ThisT,ref=ThisRef},Realized) when is_boolean(Realized) -> diff --git a/lib/wx/src/gen/wxRadioBox.erl b/lib/wx/src/gen/wxRadioBox.erl index 5ef1deff66..348d75db2a 100644 --- a/lib/wx/src/gen/wxRadioBox.erl +++ b/lib/wx/src/gen/wxRadioBox.erl @@ -92,9 +92,9 @@ new(Parent,Id,Title,Pos={PosX,PosY},Size={SizeW,SizeH},Choices) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxradiobox.html#wxradioboxwxradiobox">external documentation</a>. -spec new(Parent, Id, Title, Pos, Size, Choices, [Option]) -> wxRadioBox() when Parent::wxWindow:wxWindow(), Id::integer(), Title::unicode:chardata(), Pos::{X::integer(), Y::integer()}, Size::{W::integer(), H::integer()}, Choices::[unicode:chardata()], - Option :: {majorDim, integer()} - | {style, integer()} - | {val, wx:wx_object()}. + Option :: {'majorDim', integer()} + | {'style', integer()} + | {'val', wx:wx_object()}. new(#wx_ref{type=ParentT,ref=ParentRef},Id,Title,{PosX,PosY},{SizeW,SizeH},Choices, Options) when is_integer(Id),is_list(Title),is_integer(PosX),is_integer(PosY),is_integer(SizeW),is_integer(SizeH),is_list(Choices),is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -120,9 +120,9 @@ create(This,Parent,Id,Title,Pos={PosX,PosY},Size={SizeW,SizeH},Choices) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxradiobox.html#wxradioboxcreate">external documentation</a>. -spec create(This, Parent, Id, Title, Pos, Size, Choices, [Option]) -> boolean() when This::wxRadioBox(), Parent::wxWindow:wxWindow(), Id::integer(), Title::unicode:chardata(), Pos::{X::integer(), Y::integer()}, Size::{W::integer(), H::integer()}, Choices::[unicode:chardata()], - Option :: {majorDim, integer()} - | {style, integer()} - | {val, wx:wx_object()}. + Option :: {'majorDim', integer()} + | {'style', integer()} + | {'val', wx:wx_object()}. create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef},Id,Title,{PosX,PosY},{SizeW,SizeH},Choices, Options) when is_integer(Id),is_list(Title),is_integer(PosX),is_integer(PosY),is_integer(SizeW),is_integer(SizeH),is_list(Choices),is_list(Options) -> ?CLASS(ThisT,wxRadioBox), @@ -150,13 +150,13 @@ enable(This) %% <br /> Also:<br /> %% enable(This, [Option]) -> boolean() when<br /> %% This::wxRadioBox(),<br /> -%% Option :: {enable, boolean()}.<br /> +%% Option :: {'enable', boolean()}.<br /> %% -spec enable(This, N) -> boolean() when This::wxRadioBox(), N::integer(); (This, [Option]) -> boolean() when This::wxRadioBox(), - Option :: {enable, boolean()}. + Option :: {'enable', boolean()}. enable(This,N) when is_record(This, wx_ref),is_integer(N) -> @@ -173,7 +173,7 @@ enable(#wx_ref{type=ThisT,ref=ThisRef}, Options) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxradiobox.html#wxradioboxenable">external documentation</a>. -spec enable(This, N, [Option]) -> boolean() when This::wxRadioBox(), N::integer(), - Option :: {enable, boolean()}. + Option :: {'enable', boolean()}. enable(#wx_ref{type=ThisT,ref=ThisRef},N, Options) when is_integer(N),is_list(Options) -> ?CLASS(ThisT,wxRadioBox), @@ -201,7 +201,7 @@ getString(#wx_ref{type=ThisT,ref=ThisRef},N) <<ThisRef:32/?UI,N:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxradiobox.html#wxradioboxsetselection">external documentation</a>. --spec setSelection(This, N) -> ok when +-spec setSelection(This, N) -> 'ok' when This::wxRadioBox(), N::integer(). setSelection(#wx_ref{type=ThisT,ref=ThisRef},N) when is_integer(N) -> @@ -221,13 +221,13 @@ show(This) %% <br /> Also:<br /> %% show(This, [Option]) -> boolean() when<br /> %% This::wxRadioBox(),<br /> -%% Option :: {show, boolean()}.<br /> +%% Option :: {'show', boolean()}.<br /> %% -spec show(This, N) -> boolean() when This::wxRadioBox(), N::integer(); (This, [Option]) -> boolean() when This::wxRadioBox(), - Option :: {show, boolean()}. + Option :: {'show', boolean()}. show(This,N) when is_record(This, wx_ref),is_integer(N) -> @@ -244,7 +244,7 @@ show(#wx_ref{type=ThisT,ref=ThisRef}, Options) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxradiobox.html#wxradioboxshow">external documentation</a>. -spec show(This, N, [Option]) -> boolean() when This::wxRadioBox(), N::integer(), - Option :: {show, boolean()}. + Option :: {'show', boolean()}. show(#wx_ref{type=ThisT,ref=ThisRef},N, Options) when is_integer(N),is_list(Options) -> ?CLASS(ThisT,wxRadioBox), @@ -316,7 +316,7 @@ isItemShown(#wx_ref{type=ThisT,ref=ThisRef},N) <<ThisRef:32/?UI,N:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxradiobox.html#wxradioboxsetitemhelptext">external documentation</a>. --spec setItemHelpText(This, N, HelpText) -> ok when +-spec setItemHelpText(This, N, HelpText) -> 'ok' when This::wxRadioBox(), N::integer(), HelpText::unicode:chardata(). setItemHelpText(#wx_ref{type=ThisT,ref=ThisRef},N,HelpText) when is_integer(N),is_list(HelpText) -> @@ -326,7 +326,7 @@ setItemHelpText(#wx_ref{type=ThisT,ref=ThisRef},N,HelpText) <<ThisRef:32/?UI,N:32/?UI,(byte_size(HelpText_UC)):32/?UI,(HelpText_UC)/binary, 0:(((8- ((4+byte_size(HelpText_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxradiobox.html#wxradioboxsetitemtooltip">external documentation</a>. --spec setItemToolTip(This, Item, Text) -> ok when +-spec setItemToolTip(This, Item, Text) -> 'ok' when This::wxRadioBox(), Item::integer(), Text::unicode:chardata(). setItemToolTip(#wx_ref{type=ThisT,ref=ThisRef},Item,Text) when is_integer(Item),is_list(Text) -> @@ -336,7 +336,7 @@ setItemToolTip(#wx_ref{type=ThisT,ref=ThisRef},Item,Text) <<ThisRef:32/?UI,Item:32/?UI,(byte_size(Text_UC)):32/?UI,(Text_UC)/binary, 0:(((8- ((4+byte_size(Text_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxRadioBox()) -> ok. +-spec destroy(This::wxRadioBox()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxRadioBox), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxRadioButton.erl b/lib/wx/src/gen/wxRadioButton.erl index 3b4689a27b..4487724be6 100644 --- a/lib/wx/src/gen/wxRadioButton.erl +++ b/lib/wx/src/gen/wxRadioButton.erl @@ -96,10 +96,10 @@ new(Parent,Id,Label) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxradiobutton.html#wxradiobuttonwxradiobutton">external documentation</a>. -spec new(Parent, Id, Label, [Option]) -> wxRadioButton() when Parent::wxWindow:wxWindow(), Id::integer(), Label::unicode:chardata(), - Option :: {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()} - | {validator, wx:wx_object()}. + Option :: {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()} + | {'validator', wx:wx_object()}. new(#wx_ref{type=ParentT,ref=ParentRef},Id,Label, Options) when is_integer(Id),is_list(Label),is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -124,10 +124,10 @@ create(This,Parent,Id,Label) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxradiobutton.html#wxradiobuttoncreate">external documentation</a>. -spec create(This, Parent, Id, Label, [Option]) -> boolean() when This::wxRadioButton(), Parent::wxWindow:wxWindow(), Id::integer(), Label::unicode:chardata(), - Option :: {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()} - | {validator, wx:wx_object()}. + Option :: {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()} + | {'validator', wx:wx_object()}. create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef},Id,Label, Options) when is_integer(Id),is_list(Label),is_list(Options) -> ?CLASS(ThisT,wxRadioButton), @@ -151,7 +151,7 @@ getValue(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxradiobutton.html#wxradiobuttonsetvalue">external documentation</a>. --spec setValue(This, Val) -> ok when +-spec setValue(This, Val) -> 'ok' when This::wxRadioButton(), Val::boolean(). setValue(#wx_ref{type=ThisT,ref=ThisRef},Val) when is_boolean(Val) -> @@ -160,7 +160,7 @@ setValue(#wx_ref{type=ThisT,ref=ThisRef},Val) <<ThisRef:32/?UI,(wxe_util:from_bool(Val)):32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxRadioButton()) -> ok. +-spec destroy(This::wxRadioButton()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxRadioButton), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxRegion.erl b/lib/wx/src/gen/wxRegion.erl index 7a21baee92..2e8c1af10e 100644 --- a/lib/wx/src/gen/wxRegion.erl +++ b/lib/wx/src/gen/wxRegion.erl @@ -79,7 +79,7 @@ new(X,Y,W,H) <<X:32/?UI,Y:32/?UI,W:32/?UI,H:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxregion.html#wxregionclear">external documentation</a>. --spec clear(This) -> ok when +-spec clear(This) -> 'ok' when This::wxRegion(). clear(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxRegion), @@ -263,7 +263,7 @@ union(This,Bmp,Transp) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxregion.html#wxregionunion">external documentation</a>. -spec union(This, Bmp, Transp, [Option]) -> boolean() when This::wxRegion(), Bmp::wxBitmap:wxBitmap(), Transp::wx:wx_colour(), - Option :: {tolerance, integer()}. + Option :: {'tolerance', integer()}. union(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=BmpT,ref=BmpRef},Transp, Options) when tuple_size(Transp) =:= 3; tuple_size(Transp) =:= 4,is_list(Options) -> ?CLASS(ThisT,wxRegion), @@ -313,7 +313,7 @@ union(#wx_ref{type=ThisT,ref=ThisRef},X,Y,W,H) <<ThisRef:32/?UI,X:32/?UI,Y:32/?UI,W:32/?UI,H:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxRegion()) -> ok. +-spec destroy(This::wxRegion()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxRegion), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxSashLayoutWindow.erl b/lib/wx/src/gen/wxSashLayoutWindow.erl index 223c07419d..ae081ae800 100644 --- a/lib/wx/src/gen/wxSashLayoutWindow.erl +++ b/lib/wx/src/gen/wxSashLayoutWindow.erl @@ -100,10 +100,10 @@ new(Parent) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsashlayoutwindow.html#wxsashlayoutwindowwxsashlayoutwindow">external documentation</a>. -spec new(Parent, [Option]) -> wxSashLayoutWindow() when Parent::wxWindow:wxWindow(), - Option :: {id, integer()} - | {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()}. + Option :: {'id', integer()} + | {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()}. new(#wx_ref{type=ParentT,ref=ParentRef}, Options) when is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -127,10 +127,10 @@ create(This,Parent) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsashlayoutwindow.html#wxsashlayoutwindowcreate">external documentation</a>. -spec create(This, Parent, [Option]) -> boolean() when This::wxSashLayoutWindow(), Parent::wxWindow:wxWindow(), - Option :: {id, integer()} - | {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()}. + Option :: {'id', integer()} + | {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()}. create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxSashLayoutWindow), @@ -164,7 +164,7 @@ getOrientation(#wx_ref{type=ThisT,ref=ThisRef}) -> %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsashlayoutwindow.html#wxsashlayoutwindowsetalignment">external documentation</a>. %%<br /> Align = ?wxLAYOUT_NONE | ?wxLAYOUT_TOP | ?wxLAYOUT_LEFT | ?wxLAYOUT_RIGHT | ?wxLAYOUT_BOTTOM --spec setAlignment(This, Align) -> ok when +-spec setAlignment(This, Align) -> 'ok' when This::wxSashLayoutWindow(), Align::wx:wx_enum(). setAlignment(#wx_ref{type=ThisT,ref=ThisRef},Align) when is_integer(Align) -> @@ -173,7 +173,7 @@ setAlignment(#wx_ref{type=ThisT,ref=ThisRef},Align) <<ThisRef:32/?UI,Align:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsashlayoutwindow.html#wxsashlayoutwindowsetdefaultsize">external documentation</a>. --spec setDefaultSize(This, Size) -> ok when +-spec setDefaultSize(This, Size) -> 'ok' when This::wxSashLayoutWindow(), Size::{W::integer(), H::integer()}. setDefaultSize(#wx_ref{type=ThisT,ref=ThisRef},{SizeW,SizeH}) when is_integer(SizeW),is_integer(SizeH) -> @@ -183,7 +183,7 @@ setDefaultSize(#wx_ref{type=ThisT,ref=ThisRef},{SizeW,SizeH}) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsashlayoutwindow.html#wxsashlayoutwindowsetorientation">external documentation</a>. %%<br /> Orient = ?wxLAYOUT_HORIZONTAL | ?wxLAYOUT_VERTICAL --spec setOrientation(This, Orient) -> ok when +-spec setOrientation(This, Orient) -> 'ok' when This::wxSashLayoutWindow(), Orient::wx:wx_enum(). setOrientation(#wx_ref{type=ThisT,ref=ThisRef},Orient) when is_integer(Orient) -> @@ -192,7 +192,7 @@ setOrientation(#wx_ref{type=ThisT,ref=ThisRef},Orient) <<ThisRef:32/?UI,Orient:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxSashLayoutWindow()) -> ok. +-spec destroy(This::wxSashLayoutWindow()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxSashLayoutWindow), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxSashWindow.erl b/lib/wx/src/gen/wxSashWindow.erl index 4a39726ffd..773e0f1ab0 100644 --- a/lib/wx/src/gen/wxSashWindow.erl +++ b/lib/wx/src/gen/wxSashWindow.erl @@ -96,10 +96,10 @@ new(Parent) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsashwindow.html#wxsashwindowwxsashwindow">external documentation</a>. -spec new(Parent, [Option]) -> wxSashWindow() when Parent::wxWindow:wxWindow(), - Option :: {id, integer()} - | {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()}. + Option :: {'id', integer()} + | {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()}. new(#wx_ref{type=ParentT,ref=ParentRef}, Options) when is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -155,7 +155,7 @@ getMinimumSizeY(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsashwindow.html#wxsashwindowsetmaximumsizex">external documentation</a>. --spec setMaximumSizeX(This, Max) -> ok when +-spec setMaximumSizeX(This, Max) -> 'ok' when This::wxSashWindow(), Max::integer(). setMaximumSizeX(#wx_ref{type=ThisT,ref=ThisRef},Max) when is_integer(Max) -> @@ -164,7 +164,7 @@ setMaximumSizeX(#wx_ref{type=ThisT,ref=ThisRef},Max) <<ThisRef:32/?UI,Max:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsashwindow.html#wxsashwindowsetmaximumsizey">external documentation</a>. --spec setMaximumSizeY(This, Max) -> ok when +-spec setMaximumSizeY(This, Max) -> 'ok' when This::wxSashWindow(), Max::integer(). setMaximumSizeY(#wx_ref{type=ThisT,ref=ThisRef},Max) when is_integer(Max) -> @@ -173,7 +173,7 @@ setMaximumSizeY(#wx_ref{type=ThisT,ref=ThisRef},Max) <<ThisRef:32/?UI,Max:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsashwindow.html#wxsashwindowsetminimumsizex">external documentation</a>. --spec setMinimumSizeX(This, Min) -> ok when +-spec setMinimumSizeX(This, Min) -> 'ok' when This::wxSashWindow(), Min::integer(). setMinimumSizeX(#wx_ref{type=ThisT,ref=ThisRef},Min) when is_integer(Min) -> @@ -182,7 +182,7 @@ setMinimumSizeX(#wx_ref{type=ThisT,ref=ThisRef},Min) <<ThisRef:32/?UI,Min:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsashwindow.html#wxsashwindowsetminimumsizey">external documentation</a>. --spec setMinimumSizeY(This, Min) -> ok when +-spec setMinimumSizeY(This, Min) -> 'ok' when This::wxSashWindow(), Min::integer(). setMinimumSizeY(#wx_ref{type=ThisT,ref=ThisRef},Min) when is_integer(Min) -> @@ -192,7 +192,7 @@ setMinimumSizeY(#wx_ref{type=ThisT,ref=ThisRef},Min) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsashwindow.html#wxsashwindowsetsashvisible">external documentation</a>. %%<br /> Edge = ?wxSASH_TOP | ?wxSASH_RIGHT | ?wxSASH_BOTTOM | ?wxSASH_LEFT | ?wxSASH_NONE --spec setSashVisible(This, Edge, Sash) -> ok when +-spec setSashVisible(This, Edge, Sash) -> 'ok' when This::wxSashWindow(), Edge::wx:wx_enum(), Sash::boolean(). setSashVisible(#wx_ref{type=ThisT,ref=ThisRef},Edge,Sash) when is_integer(Edge),is_boolean(Sash) -> @@ -201,7 +201,7 @@ setSashVisible(#wx_ref{type=ThisT,ref=ThisRef},Edge,Sash) <<ThisRef:32/?UI,Edge:32/?UI,(wxe_util:from_bool(Sash)):32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxSashWindow()) -> ok. +-spec destroy(This::wxSashWindow()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxSashWindow), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxScreenDC.erl b/lib/wx/src/gen/wxScreenDC.erl index 24028a000f..a36c25025c 100644 --- a/lib/wx/src/gen/wxScreenDC.erl +++ b/lib/wx/src/gen/wxScreenDC.erl @@ -68,7 +68,7 @@ new() -> <<>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxScreenDC()) -> ok. +-spec destroy(This::wxScreenDC()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxScreenDC), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxScrollBar.erl b/lib/wx/src/gen/wxScrollBar.erl index ccddf84835..7f70d9d97b 100644 --- a/lib/wx/src/gen/wxScrollBar.erl +++ b/lib/wx/src/gen/wxScrollBar.erl @@ -97,10 +97,10 @@ new(Parent,Id) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxscrollbar.html#wxscrollbarwxscrollbar">external documentation</a>. -spec new(Parent, Id, [Option]) -> wxScrollBar() when Parent::wxWindow:wxWindow(), Id::integer(), - Option :: {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()} - | {validator, wx:wx_object()}. + Option :: {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()} + | {'validator', wx:wx_object()}. new(#wx_ref{type=ParentT,ref=ParentRef},Id, Options) when is_integer(Id),is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -124,10 +124,10 @@ create(This,Parent,Id) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxscrollbar.html#wxscrollbarcreate">external documentation</a>. -spec create(This, Parent, Id, [Option]) -> boolean() when This::wxScrollBar(), Parent::wxWindow:wxWindow(), Id::integer(), - Option :: {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()} - | {validator, wx:wx_object()}. + Option :: {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()} + | {'validator', wx:wx_object()}. create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef},Id, Options) when is_integer(Id),is_list(Options) -> ?CLASS(ThisT,wxScrollBar), @@ -174,7 +174,7 @@ getThumbSize(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxscrollbar.html#wxscrollbarsetthumbposition">external documentation</a>. --spec setThumbPosition(This, ViewStart) -> ok when +-spec setThumbPosition(This, ViewStart) -> 'ok' when This::wxScrollBar(), ViewStart::integer(). setThumbPosition(#wx_ref{type=ThisT,ref=ThisRef},ViewStart) when is_integer(ViewStart) -> @@ -183,7 +183,7 @@ setThumbPosition(#wx_ref{type=ThisT,ref=ThisRef},ViewStart) <<ThisRef:32/?UI,ViewStart:32/?UI>>). %% @equiv setScrollbar(This,Position,ThumbSize,Range,PageSize, []) --spec setScrollbar(This, Position, ThumbSize, Range, PageSize) -> ok when +-spec setScrollbar(This, Position, ThumbSize, Range, PageSize) -> 'ok' when This::wxScrollBar(), Position::integer(), ThumbSize::integer(), Range::integer(), PageSize::integer(). setScrollbar(This,Position,ThumbSize,Range,PageSize) @@ -191,9 +191,9 @@ setScrollbar(This,Position,ThumbSize,Range,PageSize) setScrollbar(This,Position,ThumbSize,Range,PageSize, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxscrollbar.html#wxscrollbarsetscrollbar">external documentation</a>. --spec setScrollbar(This, Position, ThumbSize, Range, PageSize, [Option]) -> ok when +-spec setScrollbar(This, Position, ThumbSize, Range, PageSize, [Option]) -> 'ok' when This::wxScrollBar(), Position::integer(), ThumbSize::integer(), Range::integer(), PageSize::integer(), - Option :: {refresh, boolean()}. + Option :: {'refresh', boolean()}. setScrollbar(#wx_ref{type=ThisT,ref=ThisRef},Position,ThumbSize,Range,PageSize, Options) when is_integer(Position),is_integer(ThumbSize),is_integer(Range),is_integer(PageSize),is_list(Options) -> ?CLASS(ThisT,wxScrollBar), @@ -204,7 +204,7 @@ setScrollbar(#wx_ref{type=ThisT,ref=ThisRef},Position,ThumbSize,Range,PageSize, <<ThisRef:32/?UI,Position:32/?UI,ThumbSize:32/?UI,Range:32/?UI,PageSize:32/?UI, 0:32,BinOpt/binary>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxScrollBar()) -> ok. +-spec destroy(This::wxScrollBar()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxScrollBar), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxScrolledWindow.erl b/lib/wx/src/gen/wxScrolledWindow.erl index 7c807980b4..70bc5adbd9 100644 --- a/lib/wx/src/gen/wxScrolledWindow.erl +++ b/lib/wx/src/gen/wxScrolledWindow.erl @@ -99,10 +99,10 @@ new(Parent) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxscrolledwindow.html#wxscrolledwindowwxscrolledwindow">external documentation</a>. -spec new(Parent, [Option]) -> wxScrolledWindow() when Parent::wxWindow:wxWindow(), - Option :: {winid, integer()} - | {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()}. + Option :: {'winid', integer()} + | {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()}. new(#wx_ref{type=ParentT,ref=ParentRef}, Options) when is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -152,7 +152,7 @@ calcUnscrolledPosition(#wx_ref{type=ThisT,ref=ThisRef},X,Y) <<ThisRef:32/?UI,X:32/?UI,Y:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxscrolledwindow.html#wxscrolledwindowenablescrolling">external documentation</a>. --spec enableScrolling(This, X_scrolling, Y_scrolling) -> ok when +-spec enableScrolling(This, X_scrolling, Y_scrolling) -> 'ok' when This::wxScrolledWindow(), X_scrolling::boolean(), Y_scrolling::boolean(). enableScrolling(#wx_ref{type=ThisT,ref=ThisRef},X_scrolling,Y_scrolling) when is_boolean(X_scrolling),is_boolean(Y_scrolling) -> @@ -177,7 +177,7 @@ getViewStart(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxscrolledwindow.html#wxscrolledwindowdopreparedc">external documentation</a>. --spec doPrepareDC(This, Dc) -> ok when +-spec doPrepareDC(This, Dc) -> 'ok' when This::wxScrolledWindow(), Dc::wxDC:wxDC(). doPrepareDC(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=DcT,ref=DcRef}) -> ?CLASS(ThisT,wxScrolledWindow), @@ -186,7 +186,7 @@ doPrepareDC(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=DcT,ref=DcRef}) -> <<ThisRef:32/?UI,DcRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxscrolledwindow.html#wxscrolledwindowpreparedc">external documentation</a>. --spec prepareDC(This, Dc) -> ok when +-spec prepareDC(This, Dc) -> 'ok' when This::wxScrolledWindow(), Dc::wxDC:wxDC(). prepareDC(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=DcT,ref=DcRef}) -> ?CLASS(ThisT,wxScrolledWindow), @@ -195,7 +195,7 @@ prepareDC(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=DcT,ref=DcRef}) -> <<ThisRef:32/?UI,DcRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxscrolledwindow.html#wxscrolledwindowscroll">external documentation</a>. --spec scroll(This, X, Y) -> ok when +-spec scroll(This, X, Y) -> 'ok' when This::wxScrolledWindow(), X::integer(), Y::integer(). scroll(#wx_ref{type=ThisT,ref=ThisRef},X,Y) when is_integer(X),is_integer(Y) -> @@ -204,7 +204,7 @@ scroll(#wx_ref{type=ThisT,ref=ThisRef},X,Y) <<ThisRef:32/?UI,X:32/?UI,Y:32/?UI>>). %% @equiv setScrollbars(This,PixelsPerUnitX,PixelsPerUnitY,NoUnitsX,NoUnitsY, []) --spec setScrollbars(This, PixelsPerUnitX, PixelsPerUnitY, NoUnitsX, NoUnitsY) -> ok when +-spec setScrollbars(This, PixelsPerUnitX, PixelsPerUnitY, NoUnitsX, NoUnitsY) -> 'ok' when This::wxScrolledWindow(), PixelsPerUnitX::integer(), PixelsPerUnitY::integer(), NoUnitsX::integer(), NoUnitsY::integer(). setScrollbars(This,PixelsPerUnitX,PixelsPerUnitY,NoUnitsX,NoUnitsY) @@ -212,11 +212,11 @@ setScrollbars(This,PixelsPerUnitX,PixelsPerUnitY,NoUnitsX,NoUnitsY) setScrollbars(This,PixelsPerUnitX,PixelsPerUnitY,NoUnitsX,NoUnitsY, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxscrolledwindow.html#wxscrolledwindowsetscrollbars">external documentation</a>. --spec setScrollbars(This, PixelsPerUnitX, PixelsPerUnitY, NoUnitsX, NoUnitsY, [Option]) -> ok when +-spec setScrollbars(This, PixelsPerUnitX, PixelsPerUnitY, NoUnitsX, NoUnitsY, [Option]) -> 'ok' when This::wxScrolledWindow(), PixelsPerUnitX::integer(), PixelsPerUnitY::integer(), NoUnitsX::integer(), NoUnitsY::integer(), - Option :: {xPos, integer()} - | {yPos, integer()} - | {noRefresh, boolean()}. + Option :: {'xPos', integer()} + | {'yPos', integer()} + | {'noRefresh', boolean()}. setScrollbars(#wx_ref{type=ThisT,ref=ThisRef},PixelsPerUnitX,PixelsPerUnitY,NoUnitsX,NoUnitsY, Options) when is_integer(PixelsPerUnitX),is_integer(PixelsPerUnitY),is_integer(NoUnitsX),is_integer(NoUnitsY),is_list(Options) -> ?CLASS(ThisT,wxScrolledWindow), @@ -229,7 +229,7 @@ setScrollbars(#wx_ref{type=ThisT,ref=ThisRef},PixelsPerUnitX,PixelsPerUnitY,NoUn <<ThisRef:32/?UI,PixelsPerUnitX:32/?UI,PixelsPerUnitY:32/?UI,NoUnitsX:32/?UI,NoUnitsY:32/?UI, 0:32,BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxscrolledwindow.html#wxscrolledwindowsetscrollrate">external documentation</a>. --spec setScrollRate(This, Xstep, Ystep) -> ok when +-spec setScrollRate(This, Xstep, Ystep) -> 'ok' when This::wxScrolledWindow(), Xstep::integer(), Ystep::integer(). setScrollRate(#wx_ref{type=ThisT,ref=ThisRef},Xstep,Ystep) when is_integer(Xstep),is_integer(Ystep) -> @@ -238,7 +238,7 @@ setScrollRate(#wx_ref{type=ThisT,ref=ThisRef},Xstep,Ystep) <<ThisRef:32/?UI,Xstep:32/?UI,Ystep:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxscrolledwindow.html#wxscrolledwindowsettargetwindow">external documentation</a>. --spec setTargetWindow(This, Target) -> ok when +-spec setTargetWindow(This, Target) -> 'ok' when This::wxScrolledWindow(), Target::wxWindow:wxWindow(). setTargetWindow(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=TargetT,ref=TargetRef}) -> ?CLASS(ThisT,wxScrolledWindow), @@ -247,7 +247,7 @@ setTargetWindow(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=TargetT,ref=TargetR <<ThisRef:32/?UI,TargetRef:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxScrolledWindow()) -> ok. +-spec destroy(This::wxScrolledWindow()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxScrolledWindow), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxSetCursorEvent.erl b/lib/wx/src/gen/wxSetCursorEvent.erl index b7473d4d17..a97cbfb5ae 100644 --- a/lib/wx/src/gen/wxSetCursorEvent.erl +++ b/lib/wx/src/gen/wxSetCursorEvent.erl @@ -77,7 +77,7 @@ hasCursor(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsetcursorevent.html#wxsetcursoreventsetcursor">external documentation</a>. --spec setCursor(This, Cursor) -> ok when +-spec setCursor(This, Cursor) -> 'ok' when This::wxSetCursorEvent(), Cursor::wxCursor:wxCursor(). setCursor(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=CursorT,ref=CursorRef}) -> ?CLASS(ThisT,wxSetCursorEvent), diff --git a/lib/wx/src/gen/wxShowEvent.erl b/lib/wx/src/gen/wxShowEvent.erl index 962a880f61..c4f37afe7b 100644 --- a/lib/wx/src/gen/wxShowEvent.erl +++ b/lib/wx/src/gen/wxShowEvent.erl @@ -45,7 +45,7 @@ parent_class(_Class) -> erlang:error({badtype, ?MODULE}). -type wxShowEvent() :: wx:wx_object(). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxshowevent.html#wxshoweventsetshow">external documentation</a>. --spec setShow(This, Show) -> ok when +-spec setShow(This, Show) -> 'ok' when This::wxShowEvent(), Show::boolean(). setShow(#wx_ref{type=ThisT,ref=ThisRef},Show) when is_boolean(Show) -> diff --git a/lib/wx/src/gen/wxSingleChoiceDialog.erl b/lib/wx/src/gen/wxSingleChoiceDialog.erl index 641cb2836f..baff296d11 100644 --- a/lib/wx/src/gen/wxSingleChoiceDialog.erl +++ b/lib/wx/src/gen/wxSingleChoiceDialog.erl @@ -105,8 +105,8 @@ new(Parent,Message,Caption,Choices) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsinglechoicedialog.html#wxsinglechoicedialogwxsinglechoicedialog">external documentation</a>. -spec new(Parent, Message, Caption, Choices, [Option]) -> wxSingleChoiceDialog() when Parent::wxWindow:wxWindow(), Message::unicode:chardata(), Caption::unicode:chardata(), Choices::[unicode:chardata()], - Option :: {style, integer()} - | {pos, {X::integer(), Y::integer()}}. + Option :: {'style', integer()} + | {'pos', {X::integer(), Y::integer()}}. new(#wx_ref{type=ParentT,ref=ParentRef},Message,Caption,Choices, Options) when is_list(Message),is_list(Caption),is_list(Choices),is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -138,7 +138,7 @@ getStringSelection(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsinglechoicedialog.html#wxsinglechoicedialogsetselection">external documentation</a>. --spec setSelection(This, Sel) -> ok when +-spec setSelection(This, Sel) -> 'ok' when This::wxSingleChoiceDialog(), Sel::integer(). setSelection(#wx_ref{type=ThisT,ref=ThisRef},Sel) when is_integer(Sel) -> @@ -147,7 +147,7 @@ setSelection(#wx_ref{type=ThisT,ref=ThisRef},Sel) <<ThisRef:32/?UI,Sel:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxSingleChoiceDialog()) -> ok. +-spec destroy(This::wxSingleChoiceDialog()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxSingleChoiceDialog), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxSizer.erl b/lib/wx/src/gen/wxSizer.erl index 723625f85e..ab357c0846 100644 --- a/lib/wx/src/gen/wxSizer.erl +++ b/lib/wx/src/gen/wxSizer.erl @@ -54,10 +54,10 @@ add(This,Window) %% <br /> Also:<br /> %% add(This, Window, [Option]) -> wxSizerItem:wxSizerItem() when<br /> %% This::wxSizer(), Window::wxWindow:wxWindow() | wxSizer(),<br /> -%% Option :: {proportion, integer()}<br /> -%% | {flag, integer()}<br /> -%% | {border, integer()}<br /> -%% | {userData, wx:wx_object()};<br /> +%% Option :: {'proportion', integer()}<br /> +%% | {'flag', integer()}<br /> +%% | {'border', integer()}<br /> +%% | {'userData', wx:wx_object()};<br /> %% (This, Window, Flags) -> wxSizerItem:wxSizerItem() when<br /> %% This::wxSizer(), Window::wxWindow:wxWindow() | wxSizer(), Flags::wxSizerFlags:wxSizerFlags().<br /> %% @@ -65,10 +65,10 @@ add(This,Window) This::wxSizer(), Width::integer(), Height::integer(); (This, Window, [Option]) -> wxSizerItem:wxSizerItem() when This::wxSizer(), Window::wxWindow:wxWindow() | wxSizer(), - Option :: {proportion, integer()} - | {flag, integer()} - | {border, integer()} - | {userData, wx:wx_object()}; + Option :: {'proportion', integer()} + | {'flag', integer()} + | {'border', integer()} + | {'userData', wx:wx_object()}; (This, Window, Flags) -> wxSizerItem:wxSizerItem() when This::wxSizer(), Window::wxWindow:wxWindow() | wxSizer(), Flags::wxSizerFlags:wxSizerFlags(). @@ -108,10 +108,10 @@ add(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=WindowT,ref=WindowRef},#wx_ref{ %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsizer.html#wxsizeradd">external documentation</a>. -spec add(This, Width, Height, [Option]) -> wxSizerItem:wxSizerItem() when This::wxSizer(), Width::integer(), Height::integer(), - Option :: {proportion, integer()} - | {flag, integer()} - | {border, integer()} - | {userData, wx:wx_object()}. + Option :: {'proportion', integer()} + | {'flag', integer()} + | {'border', integer()} + | {'userData', wx:wx_object()}. add(#wx_ref{type=ThisT,ref=ThisRef},Width,Height, Options) when is_integer(Width),is_integer(Height),is_list(Options) -> ?CLASS(ThisT,wxSizer), @@ -144,7 +144,7 @@ addStretchSpacer(This) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsizer.html#wxsizeraddstretchspacer">external documentation</a>. -spec addStretchSpacer(This, [Option]) -> wxSizerItem:wxSizerItem() when This::wxSizer(), - Option :: {prop, integer()}. + Option :: {'prop', integer()}. addStretchSpacer(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxSizer), @@ -163,7 +163,7 @@ calcMin(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @equiv clear(This, []) --spec clear(This) -> ok when +-spec clear(This) -> 'ok' when This::wxSizer(). clear(This) @@ -171,9 +171,9 @@ clear(This) clear(This, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsizer.html#wxsizerclear">external documentation</a>. --spec clear(This, [Option]) -> ok when +-spec clear(This, [Option]) -> 'ok' when This::wxSizer(), - Option :: {delete_windows, boolean()}. + Option :: {'delete_windows', boolean()}. clear(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxSizer), @@ -218,7 +218,7 @@ fit(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=WindowT,ref=WindowRef}) -> <<ThisRef:32/?UI,WindowRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsizer.html#wxsizerfitinside">external documentation</a>. --spec fitInside(This, Window) -> ok when +-spec fitInside(This, Window) -> 'ok' when This::wxSizer(), Window::wxWindow:wxWindow(). fitInside(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=WindowT,ref=WindowRef}) -> ?CLASS(ThisT,wxSizer), @@ -256,7 +256,7 @@ getItem(#wx_ref{type=ThisT,ref=ThisRef},Index) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsizer.html#wxsizergetitem">external documentation</a>. -spec getItem(This, Window, [Option]) -> wxSizerItem:wxSizerItem() when This::wxSizer(), Window::wxWindow:wxWindow() | wxSizer(), - Option :: {recursive, boolean()}. + Option :: {'recursive', boolean()}. getItem(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=WindowT,ref=WindowRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxSizer), @@ -318,7 +318,7 @@ hide(#wx_ref{type=ThisT,ref=ThisRef},Index) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsizer.html#wxsizerhide">external documentation</a>. -spec hide(This, Window, [Option]) -> boolean() when This::wxSizer(), Window::wxWindow:wxWindow() | wxSizer(), - Option :: {recursive, boolean()}. + Option :: {'recursive', boolean()}. hide(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=WindowT,ref=WindowRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxSizer), @@ -348,10 +348,10 @@ insert(#wx_ref{type=ThisT,ref=ThisRef},Index,#wx_ref{type=ItemT,ref=ItemRef}) %% <br /> Also:<br /> %% insert(This, Index, Window, [Option]) -> wxSizerItem:wxSizerItem() when<br /> %% This::wxSizer(), Index::integer(), Window::wxWindow:wxWindow() | wxSizer(),<br /> -%% Option :: {proportion, integer()}<br /> -%% | {flag, integer()}<br /> -%% | {border, integer()}<br /> -%% | {userData, wx:wx_object()};<br /> +%% Option :: {'proportion', integer()}<br /> +%% | {'flag', integer()}<br /> +%% | {'border', integer()}<br /> +%% | {'userData', wx:wx_object()};<br /> %% (This, Index, Window, Flags) -> wxSizerItem:wxSizerItem() when<br /> %% This::wxSizer(), Index::integer(), Window::wxWindow:wxWindow() | wxSizer(), Flags::wxSizerFlags:wxSizerFlags().<br /> %% @@ -359,10 +359,10 @@ insert(#wx_ref{type=ThisT,ref=ThisRef},Index,#wx_ref{type=ItemT,ref=ItemRef}) This::wxSizer(), Index::integer(), Width::integer(), Height::integer(); (This, Index, Window, [Option]) -> wxSizerItem:wxSizerItem() when This::wxSizer(), Index::integer(), Window::wxWindow:wxWindow() | wxSizer(), - Option :: {proportion, integer()} - | {flag, integer()} - | {border, integer()} - | {userData, wx:wx_object()}; + Option :: {'proportion', integer()} + | {'flag', integer()} + | {'border', integer()} + | {'userData', wx:wx_object()}; (This, Index, Window, Flags) -> wxSizerItem:wxSizerItem() when This::wxSizer(), Index::integer(), Window::wxWindow:wxWindow() | wxSizer(), Flags::wxSizerFlags:wxSizerFlags(). @@ -403,10 +403,10 @@ insert(#wx_ref{type=ThisT,ref=ThisRef},Index,#wx_ref{type=WindowT,ref=WindowRef} %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsizer.html#wxsizerinsert">external documentation</a>. -spec insert(This, Index, Width, Height, [Option]) -> wxSizerItem:wxSizerItem() when This::wxSizer(), Index::integer(), Width::integer(), Height::integer(), - Option :: {proportion, integer()} - | {flag, integer()} - | {border, integer()} - | {userData, wx:wx_object()}. + Option :: {'proportion', integer()} + | {'flag', integer()} + | {'border', integer()} + | {'userData', wx:wx_object()}. insert(#wx_ref{type=ThisT,ref=ThisRef},Index,Width,Height, Options) when is_integer(Index),is_integer(Width),is_integer(Height),is_list(Options) -> ?CLASS(ThisT,wxSizer), @@ -439,7 +439,7 @@ insertStretchSpacer(This,Index) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsizer.html#wxsizerinsertstretchspacer">external documentation</a>. -spec insertStretchSpacer(This, Index, [Option]) -> wxSizerItem:wxSizerItem() when This::wxSizer(), Index::integer(), - Option :: {prop, integer()}. + Option :: {'prop', integer()}. insertStretchSpacer(#wx_ref{type=ThisT,ref=ThisRef},Index, Options) when is_integer(Index),is_list(Options) -> ?CLASS(ThisT,wxSizer), @@ -475,7 +475,7 @@ isShown(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=WindowT,ref=WindowRef}) -> <<ThisRef:32/?UI,WindowRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsizer.html#wxsizerlayout">external documentation</a>. --spec layout(This) -> ok when +-spec layout(This) -> 'ok' when This::wxSizer(). layout(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxSizer), @@ -495,10 +495,10 @@ prepend(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ItemT,ref=ItemRef}) -> %% <br /> Also:<br /> %% prepend(This, Window, [Option]) -> wxSizerItem:wxSizerItem() when<br /> %% This::wxSizer(), Window::wxWindow:wxWindow() | wxSizer(),<br /> -%% Option :: {proportion, integer()}<br /> -%% | {flag, integer()}<br /> -%% | {border, integer()}<br /> -%% | {userData, wx:wx_object()};<br /> +%% Option :: {'proportion', integer()}<br /> +%% | {'flag', integer()}<br /> +%% | {'border', integer()}<br /> +%% | {'userData', wx:wx_object()};<br /> %% (This, Window, Flags) -> wxSizerItem:wxSizerItem() when<br /> %% This::wxSizer(), Window::wxWindow:wxWindow() | wxSizer(), Flags::wxSizerFlags:wxSizerFlags().<br /> %% @@ -506,10 +506,10 @@ prepend(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ItemT,ref=ItemRef}) -> This::wxSizer(), Width::integer(), Height::integer(); (This, Window, [Option]) -> wxSizerItem:wxSizerItem() when This::wxSizer(), Window::wxWindow:wxWindow() | wxSizer(), - Option :: {proportion, integer()} - | {flag, integer()} - | {border, integer()} - | {userData, wx:wx_object()}; + Option :: {'proportion', integer()} + | {'flag', integer()} + | {'border', integer()} + | {'userData', wx:wx_object()}; (This, Window, Flags) -> wxSizerItem:wxSizerItem() when This::wxSizer(), Window::wxWindow:wxWindow() | wxSizer(), Flags::wxSizerFlags:wxSizerFlags(). @@ -549,10 +549,10 @@ prepend(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=WindowT,ref=WindowRef},#wx_ %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsizer.html#wxsizerprepend">external documentation</a>. -spec prepend(This, Width, Height, [Option]) -> wxSizerItem:wxSizerItem() when This::wxSizer(), Width::integer(), Height::integer(), - Option :: {proportion, integer()} - | {flag, integer()} - | {border, integer()} - | {userData, wx:wx_object()}. + Option :: {'proportion', integer()} + | {'flag', integer()} + | {'border', integer()} + | {'userData', wx:wx_object()}. prepend(#wx_ref{type=ThisT,ref=ThisRef},Width,Height, Options) when is_integer(Width),is_integer(Height),is_list(Options) -> ?CLASS(ThisT,wxSizer), @@ -585,7 +585,7 @@ prependStretchSpacer(This) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsizer.html#wxsizerprependstretchspacer">external documentation</a>. -spec prependStretchSpacer(This, [Option]) -> wxSizerItem:wxSizerItem() when This::wxSizer(), - Option :: {prop, integer()}. + Option :: {'prop', integer()}. prependStretchSpacer(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxSizer), @@ -596,7 +596,7 @@ prependStretchSpacer(#wx_ref{type=ThisT,ref=ThisRef}, Options) <<ThisRef:32/?UI, 0:32,BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsizer.html#wxsizerrecalcsizes">external documentation</a>. --spec recalcSizes(This) -> ok when +-spec recalcSizes(This) -> 'ok' when This::wxSizer(). recalcSizes(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxSizer), @@ -646,7 +646,7 @@ replace(#wx_ref{type=ThisT,ref=ThisRef},Index,#wx_ref{type=NewitemT,ref=NewitemR %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsizer.html#wxsizerreplace">external documentation</a>. -spec replace(This, Oldwin, Newwin, [Option]) -> boolean() when This::wxSizer(), Oldwin::wxWindow:wxWindow() | wxSizer(), Newwin::wxWindow:wxWindow() | wxSizer(), - Option :: {recursive, boolean()}. + Option :: {'recursive', boolean()}. replace(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=OldwinT,ref=OldwinRef},#wx_ref{type=NewwinT,ref=NewwinRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxSizer), @@ -665,7 +665,7 @@ replace(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=OldwinT,ref=OldwinRef},#wx_ <<ThisRef:32/?UI,OldwinRef:32/?UI,NewwinRef:32/?UI, 0:32,BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsizer.html#wxsizersetdimension">external documentation</a>. --spec setDimension(This, X, Y, Width, Height) -> ok when +-spec setDimension(This, X, Y, Width, Height) -> 'ok' when This::wxSizer(), X::integer(), Y::integer(), Width::integer(), Height::integer(). setDimension(#wx_ref{type=ThisT,ref=ThisRef},X,Y,Width,Height) when is_integer(X),is_integer(Y),is_integer(Width),is_integer(Height) -> @@ -674,7 +674,7 @@ setDimension(#wx_ref{type=ThisT,ref=ThisRef},X,Y,Width,Height) <<ThisRef:32/?UI,X:32/?UI,Y:32/?UI,Width:32/?UI,Height:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsizer.html#wxsizersetminsize">external documentation</a>. --spec setMinSize(This, Size) -> ok when +-spec setMinSize(This, Size) -> 'ok' when This::wxSizer(), Size::{W::integer(), H::integer()}. setMinSize(#wx_ref{type=ThisT,ref=ThisRef},{SizeW,SizeH}) when is_integer(SizeW),is_integer(SizeH) -> @@ -683,7 +683,7 @@ setMinSize(#wx_ref{type=ThisT,ref=ThisRef},{SizeW,SizeH}) <<ThisRef:32/?UI,SizeW:32/?UI,SizeH:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsizer.html#wxsizersetminsize">external documentation</a>. --spec setMinSize(This, Width, Height) -> ok when +-spec setMinSize(This, Width, Height) -> 'ok' when This::wxSizer(), Width::integer(), Height::integer(). setMinSize(#wx_ref{type=ThisT,ref=ThisRef},Width,Height) when is_integer(Width),is_integer(Height) -> @@ -744,7 +744,7 @@ setItemMinSize(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=WindowT,ref=WindowRe <<ThisRef:32/?UI,WindowRef:32/?UI,Width:32/?UI,Height:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsizer.html#wxsizersetsizehints">external documentation</a>. --spec setSizeHints(This, Window) -> ok when +-spec setSizeHints(This, Window) -> 'ok' when This::wxSizer(), Window::wxWindow:wxWindow(). setSizeHints(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=WindowT,ref=WindowRef}) -> ?CLASS(ThisT,wxSizer), @@ -753,7 +753,7 @@ setSizeHints(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=WindowT,ref=WindowRef} <<ThisRef:32/?UI,WindowRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsizer.html#wxsizersetvirtualsizehints">external documentation</a>. --spec setVirtualSizeHints(This, Window) -> ok when +-spec setVirtualSizeHints(This, Window) -> 'ok' when This::wxSizer(), Window::wxWindow:wxWindow(). setVirtualSizeHints(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=WindowT,ref=WindowRef}) -> ?CLASS(ThisT,wxSizer), @@ -765,14 +765,14 @@ setVirtualSizeHints(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=WindowT,ref=Win %% <br /> Also:<br /> %% show(This, Window) -> boolean() when<br /> %% This::wxSizer(), Window::wxWindow:wxWindow() | wxSizer();<br /> -%% (This, Show) -> ok when<br /> +%% (This, Show) -> 'ok' when<br /> %% This::wxSizer(), Show::boolean().<br /> %% -spec show(This, Index) -> boolean() when This::wxSizer(), Index::integer(); (This, Window) -> boolean() when This::wxSizer(), Window::wxWindow:wxWindow() | wxSizer(); - (This, Show) -> ok when + (This, Show) -> 'ok' when This::wxSizer(), Show::boolean(). show(This,Index) @@ -792,16 +792,16 @@ show(#wx_ref{type=ThisT,ref=ThisRef},Show) %% <br /> Also:<br /> %% show(This, Window, [Option]) -> boolean() when<br /> %% This::wxSizer(), Window::wxWindow:wxWindow() | wxSizer(),<br /> -%% Option :: {show, boolean()}<br /> -%% | {recursive, boolean()}.<br /> +%% Option :: {'show', boolean()}<br /> +%% | {'recursive', boolean()}.<br /> %% -spec show(This, Index, [Option]) -> boolean() when This::wxSizer(), Index::integer(), - Option :: {show, boolean()}; + Option :: {'show', boolean()}; (This, Window, [Option]) -> boolean() when This::wxSizer(), Window::wxWindow:wxWindow() | wxSizer(), - Option :: {show, boolean()} - | {recursive, boolean()}. + Option :: {'show', boolean()} + | {'recursive', boolean()}. show(#wx_ref{type=ThisT,ref=ThisRef},Index, Options) when is_integer(Index),is_list(Options) -> ?CLASS(ThisT,wxSizer), diff --git a/lib/wx/src/gen/wxSizerFlags.erl b/lib/wx/src/gen/wxSizerFlags.erl index 08fbaca3af..45573446e5 100644 --- a/lib/wx/src/gen/wxSizerFlags.erl +++ b/lib/wx/src/gen/wxSizerFlags.erl @@ -44,7 +44,7 @@ new() -> %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsizerflags.html#wxsizerflagswxsizerflags">external documentation</a>. -spec new([Option]) -> wxSizerFlags() when - Option :: {proportion, integer()}. + Option :: {'proportion', integer()}. new(Options) when is_list(Options) -> MOpts = fun({proportion, Proportion}, Acc) -> [<<1:32/?UI,Proportion:32/?UI>>|Acc]; @@ -73,7 +73,7 @@ border(This) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsizerflags.html#wxsizerflagsborder">external documentation</a>. -spec border(This, [Option]) -> wxSizerFlags() when This::wxSizerFlags(), - Option :: {direction, integer()}. + Option :: {'direction', integer()}. border(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxSizerFlags), @@ -142,7 +142,7 @@ right(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxSizerFlags()) -> ok. +-spec destroy(This::wxSizerFlags()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxSizerFlags), wxe_util:destroy(?wxSizerFlags_destroy,Obj), diff --git a/lib/wx/src/gen/wxSizerItem.erl b/lib/wx/src/gen/wxSizerItem.erl index 9eebe15cd0..ec21ee85b6 100644 --- a/lib/wx/src/gen/wxSizerItem.erl +++ b/lib/wx/src/gen/wxSizerItem.erl @@ -105,7 +105,7 @@ calcMin(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsizeritem.html#wxsizeritemdeletewindows">external documentation</a>. --spec deleteWindows(This) -> ok when +-spec deleteWindows(This) -> 'ok' when This::wxSizerItem(). deleteWindows(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxSizerItem), @@ -113,7 +113,7 @@ deleteWindows(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsizeritem.html#wxsizeritemdetachsizer">external documentation</a>. --spec detachSizer(This) -> ok when +-spec detachSizer(This) -> 'ok' when This::wxSizerItem(). detachSizer(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxSizerItem), @@ -249,7 +249,7 @@ isWindow(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsizeritem.html#wxsizeritemsetborder">external documentation</a>. --spec setBorder(This, Border) -> ok when +-spec setBorder(This, Border) -> 'ok' when This::wxSizerItem(), Border::integer(). setBorder(#wx_ref{type=ThisT,ref=ThisRef},Border) when is_integer(Border) -> @@ -258,7 +258,7 @@ setBorder(#wx_ref{type=ThisT,ref=ThisRef},Border) <<ThisRef:32/?UI,Border:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsizeritem.html#wxsizeritemsetdimension">external documentation</a>. --spec setDimension(This, Pos, Size) -> ok when +-spec setDimension(This, Pos, Size) -> 'ok' when This::wxSizerItem(), Pos::{X::integer(), Y::integer()}, Size::{W::integer(), H::integer()}. setDimension(#wx_ref{type=ThisT,ref=ThisRef},{PosX,PosY},{SizeW,SizeH}) when is_integer(PosX),is_integer(PosY),is_integer(SizeW),is_integer(SizeH) -> @@ -267,7 +267,7 @@ setDimension(#wx_ref{type=ThisT,ref=ThisRef},{PosX,PosY},{SizeW,SizeH}) <<ThisRef:32/?UI,PosX:32/?UI,PosY:32/?UI,SizeW:32/?UI,SizeH:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsizeritem.html#wxsizeritemsetflag">external documentation</a>. --spec setFlag(This, Flag) -> ok when +-spec setFlag(This, Flag) -> 'ok' when This::wxSizerItem(), Flag::integer(). setFlag(#wx_ref{type=ThisT,ref=ThisRef},Flag) when is_integer(Flag) -> @@ -276,7 +276,7 @@ setFlag(#wx_ref{type=ThisT,ref=ThisRef},Flag) <<ThisRef:32/?UI,Flag:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsizeritem.html#wxsizeritemsetinitsize">external documentation</a>. --spec setInitSize(This, X, Y) -> ok when +-spec setInitSize(This, X, Y) -> 'ok' when This::wxSizerItem(), X::integer(), Y::integer(). setInitSize(#wx_ref{type=ThisT,ref=ThisRef},X,Y) when is_integer(X),is_integer(Y) -> @@ -285,7 +285,7 @@ setInitSize(#wx_ref{type=ThisT,ref=ThisRef},X,Y) <<ThisRef:32/?UI,X:32/?UI,Y:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsizeritem.html#wxsizeritemsetminsize">external documentation</a>. --spec setMinSize(This, Size) -> ok when +-spec setMinSize(This, Size) -> 'ok' when This::wxSizerItem(), Size::{W::integer(), H::integer()}. setMinSize(#wx_ref{type=ThisT,ref=ThisRef},{SizeW,SizeH}) when is_integer(SizeW),is_integer(SizeH) -> @@ -294,7 +294,7 @@ setMinSize(#wx_ref{type=ThisT,ref=ThisRef},{SizeW,SizeH}) <<ThisRef:32/?UI,SizeW:32/?UI,SizeH:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsizeritem.html#wxsizeritemsetminsize">external documentation</a>. --spec setMinSize(This, X, Y) -> ok when +-spec setMinSize(This, X, Y) -> 'ok' when This::wxSizerItem(), X::integer(), Y::integer(). setMinSize(#wx_ref{type=ThisT,ref=ThisRef},X,Y) when is_integer(X),is_integer(Y) -> @@ -303,7 +303,7 @@ setMinSize(#wx_ref{type=ThisT,ref=ThisRef},X,Y) <<ThisRef:32/?UI,X:32/?UI,Y:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsizeritem.html#wxsizeritemsetproportion">external documentation</a>. --spec setProportion(This, Proportion) -> ok when +-spec setProportion(This, Proportion) -> 'ok' when This::wxSizerItem(), Proportion::integer(). setProportion(#wx_ref{type=ThisT,ref=ThisRef},Proportion) when is_integer(Proportion) -> @@ -313,12 +313,12 @@ setProportion(#wx_ref{type=ThisT,ref=ThisRef},Proportion) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsizeritem.html#wxsizeritemsetratio">external documentation</a>. %% <br /> Also:<br /> -%% setRatio(This, Size) -> ok when<br /> +%% setRatio(This, Size) -> 'ok' when<br /> %% This::wxSizerItem(), Size::{W::integer(), H::integer()}.<br /> %% --spec setRatio(This, Ratio) -> ok when +-spec setRatio(This, Ratio) -> 'ok' when This::wxSizerItem(), Ratio::number(); - (This, Size) -> ok when + (This, Size) -> 'ok' when This::wxSizerItem(), Size::{W::integer(), H::integer()}. setRatio(#wx_ref{type=ThisT,ref=ThisRef},Ratio) when is_number(Ratio) -> @@ -332,7 +332,7 @@ setRatio(#wx_ref{type=ThisT,ref=ThisRef},{SizeW,SizeH}) <<ThisRef:32/?UI,SizeW:32/?UI,SizeH:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsizeritem.html#wxsizeritemsetratio">external documentation</a>. --spec setRatio(This, Width, Height) -> ok when +-spec setRatio(This, Width, Height) -> 'ok' when This::wxSizerItem(), Width::integer(), Height::integer(). setRatio(#wx_ref{type=ThisT,ref=ThisRef},Width,Height) when is_integer(Width),is_integer(Height) -> @@ -341,7 +341,7 @@ setRatio(#wx_ref{type=ThisT,ref=ThisRef},Width,Height) <<ThisRef:32/?UI,Width:32/?UI,Height:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsizeritem.html#wxsizeritemsetsizer">external documentation</a>. --spec setSizer(This, Sizer) -> ok when +-spec setSizer(This, Sizer) -> 'ok' when This::wxSizerItem(), Sizer::wxSizer:wxSizer(). setSizer(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=SizerT,ref=SizerRef}) -> ?CLASS(ThisT,wxSizerItem), @@ -350,7 +350,7 @@ setSizer(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=SizerT,ref=SizerRef}) -> <<ThisRef:32/?UI,SizerRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsizeritem.html#wxsizeritemsetspacer">external documentation</a>. --spec setSpacer(This, Size) -> ok when +-spec setSpacer(This, Size) -> 'ok' when This::wxSizerItem(), Size::{W::integer(), H::integer()}. setSpacer(#wx_ref{type=ThisT,ref=ThisRef},{SizeW,SizeH}) when is_integer(SizeW),is_integer(SizeH) -> @@ -359,7 +359,7 @@ setSpacer(#wx_ref{type=ThisT,ref=ThisRef},{SizeW,SizeH}) <<ThisRef:32/?UI,SizeW:32/?UI,SizeH:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsizeritem.html#wxsizeritemsetspacer">external documentation</a>. --spec setSpacer(This, Width, Height) -> ok when +-spec setSpacer(This, Width, Height) -> 'ok' when This::wxSizerItem(), Width::integer(), Height::integer(). setSpacer(#wx_ref{type=ThisT,ref=ThisRef},Width,Height) when is_integer(Width),is_integer(Height) -> @@ -368,7 +368,7 @@ setSpacer(#wx_ref{type=ThisT,ref=ThisRef},Width,Height) <<ThisRef:32/?UI,Width:32/?UI,Height:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsizeritem.html#wxsizeritemsetwindow">external documentation</a>. --spec setWindow(This, Window) -> ok when +-spec setWindow(This, Window) -> 'ok' when This::wxSizerItem(), Window::wxWindow:wxWindow(). setWindow(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=WindowT,ref=WindowRef}) -> ?CLASS(ThisT,wxSizerItem), @@ -377,7 +377,7 @@ setWindow(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=WindowT,ref=WindowRef}) - <<ThisRef:32/?UI,WindowRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsizeritem.html#wxsizeritemshow">external documentation</a>. --spec show(This, Show) -> ok when +-spec show(This, Show) -> 'ok' when This::wxSizerItem(), Show::boolean(). show(#wx_ref{type=ThisT,ref=ThisRef},Show) when is_boolean(Show) -> @@ -386,7 +386,7 @@ show(#wx_ref{type=ThisT,ref=ThisRef},Show) <<ThisRef:32/?UI,(wxe_util:from_bool(Show)):32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxSizerItem()) -> ok. +-spec destroy(This::wxSizerItem()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxSizerItem), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxSlider.erl b/lib/wx/src/gen/wxSlider.erl index 02103aed01..a215b3c1d5 100644 --- a/lib/wx/src/gen/wxSlider.erl +++ b/lib/wx/src/gen/wxSlider.erl @@ -98,10 +98,10 @@ new(Parent,Id,Value,MinValue,MaxValue) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxslider.html#wxsliderwxslider">external documentation</a>. -spec new(Parent, Id, Value, MinValue, MaxValue, [Option]) -> wxSlider() when Parent::wxWindow:wxWindow(), Id::integer(), Value::integer(), MinValue::integer(), MaxValue::integer(), - Option :: {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()} - | {validator, wx:wx_object()}. + Option :: {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()} + | {'validator', wx:wx_object()}. new(#wx_ref{type=ParentT,ref=ParentRef},Id,Value,MinValue,MaxValue, Options) when is_integer(Id),is_integer(Value),is_integer(MinValue),is_integer(MaxValue),is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -125,10 +125,10 @@ create(This,Parent,Id,Value,MinValue,MaxValue) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxslider.html#wxslidercreate">external documentation</a>. -spec create(This, Parent, Id, Value, MinValue, MaxValue, [Option]) -> boolean() when This::wxSlider(), Parent::wxWindow:wxWindow(), Id::integer(), Value::integer(), MinValue::integer(), MaxValue::integer(), - Option :: {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()} - | {validator, wx:wx_object()}. + Option :: {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()} + | {'validator', wx:wx_object()}. create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef},Id,Value,MinValue,MaxValue, Options) when is_integer(Id),is_integer(Value),is_integer(MinValue),is_integer(MaxValue),is_list(Options) -> ?CLASS(ThisT,wxSlider), @@ -191,7 +191,7 @@ getValue(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxslider.html#wxslidersetlinesize">external documentation</a>. --spec setLineSize(This, LineSize) -> ok when +-spec setLineSize(This, LineSize) -> 'ok' when This::wxSlider(), LineSize::integer(). setLineSize(#wx_ref{type=ThisT,ref=ThisRef},LineSize) when is_integer(LineSize) -> @@ -200,7 +200,7 @@ setLineSize(#wx_ref{type=ThisT,ref=ThisRef},LineSize) <<ThisRef:32/?UI,LineSize:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxslider.html#wxslidersetpagesize">external documentation</a>. --spec setPageSize(This, PageSize) -> ok when +-spec setPageSize(This, PageSize) -> 'ok' when This::wxSlider(), PageSize::integer(). setPageSize(#wx_ref{type=ThisT,ref=ThisRef},PageSize) when is_integer(PageSize) -> @@ -209,7 +209,7 @@ setPageSize(#wx_ref{type=ThisT,ref=ThisRef},PageSize) <<ThisRef:32/?UI,PageSize:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxslider.html#wxslidersetrange">external documentation</a>. --spec setRange(This, MinValue, MaxValue) -> ok when +-spec setRange(This, MinValue, MaxValue) -> 'ok' when This::wxSlider(), MinValue::integer(), MaxValue::integer(). setRange(#wx_ref{type=ThisT,ref=ThisRef},MinValue,MaxValue) when is_integer(MinValue),is_integer(MaxValue) -> @@ -218,7 +218,7 @@ setRange(#wx_ref{type=ThisT,ref=ThisRef},MinValue,MaxValue) <<ThisRef:32/?UI,MinValue:32/?UI,MaxValue:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxslider.html#wxslidersetthumblength">external documentation</a>. --spec setThumbLength(This, LenPixels) -> ok when +-spec setThumbLength(This, LenPixels) -> 'ok' when This::wxSlider(), LenPixels::integer(). setThumbLength(#wx_ref{type=ThisT,ref=ThisRef},LenPixels) when is_integer(LenPixels) -> @@ -227,7 +227,7 @@ setThumbLength(#wx_ref{type=ThisT,ref=ThisRef},LenPixels) <<ThisRef:32/?UI,LenPixels:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxslider.html#wxslidersetvalue">external documentation</a>. --spec setValue(This, Value) -> ok when +-spec setValue(This, Value) -> 'ok' when This::wxSlider(), Value::integer(). setValue(#wx_ref{type=ThisT,ref=ThisRef},Value) when is_integer(Value) -> @@ -236,7 +236,7 @@ setValue(#wx_ref{type=ThisT,ref=ThisRef},Value) <<ThisRef:32/?UI,Value:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxSlider()) -> ok. +-spec destroy(This::wxSlider()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxSlider), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxSpinButton.erl b/lib/wx/src/gen/wxSpinButton.erl index 82b48f87da..1c8d674d05 100644 --- a/lib/wx/src/gen/wxSpinButton.erl +++ b/lib/wx/src/gen/wxSpinButton.erl @@ -97,10 +97,10 @@ new(Parent) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxspinbutton.html#wxspinbuttonwxspinbutton">external documentation</a>. -spec new(Parent, [Option]) -> wxSpinButton() when Parent::wxWindow:wxWindow(), - Option :: {id, integer()} - | {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()}. + Option :: {'id', integer()} + | {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()}. new(#wx_ref{type=ParentT,ref=ParentRef}, Options) when is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -124,10 +124,10 @@ create(This,Parent) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxspinbutton.html#wxspinbuttoncreate">external documentation</a>. -spec create(This, Parent, [Option]) -> boolean() when This::wxSpinButton(), Parent::wxWindow:wxWindow(), - Option :: {id, integer()} - | {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()}. + Option :: {'id', integer()} + | {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()}. create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxSpinButton), @@ -166,7 +166,7 @@ getValue(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxspinbutton.html#wxspinbuttonsetrange">external documentation</a>. --spec setRange(This, MinVal, MaxVal) -> ok when +-spec setRange(This, MinVal, MaxVal) -> 'ok' when This::wxSpinButton(), MinVal::integer(), MaxVal::integer(). setRange(#wx_ref{type=ThisT,ref=ThisRef},MinVal,MaxVal) when is_integer(MinVal),is_integer(MaxVal) -> @@ -175,7 +175,7 @@ setRange(#wx_ref{type=ThisT,ref=ThisRef},MinVal,MaxVal) <<ThisRef:32/?UI,MinVal:32/?UI,MaxVal:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxspinbutton.html#wxspinbuttonsetvalue">external documentation</a>. --spec setValue(This, Value) -> ok when +-spec setValue(This, Value) -> 'ok' when This::wxSpinButton(), Value::integer(). setValue(#wx_ref{type=ThisT,ref=ThisRef},Value) when is_integer(Value) -> @@ -184,7 +184,7 @@ setValue(#wx_ref{type=ThisT,ref=ThisRef},Value) <<ThisRef:32/?UI,Value:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxSpinButton()) -> ok. +-spec destroy(This::wxSpinButton()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxSpinButton), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxSpinCtrl.erl b/lib/wx/src/gen/wxSpinCtrl.erl index 89fa971543..f8a46dd146 100644 --- a/lib/wx/src/gen/wxSpinCtrl.erl +++ b/lib/wx/src/gen/wxSpinCtrl.erl @@ -97,14 +97,14 @@ new(Parent) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxspinctrl.html#wxspinctrlwxspinctrl">external documentation</a>. -spec new(Parent, [Option]) -> wxSpinCtrl() when Parent::wxWindow:wxWindow(), - Option :: {id, integer()} - | {value, unicode:chardata()} - | {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()} - | {min, integer()} - | {max, integer()} - | {initial, integer()}. + Option :: {'id', integer()} + | {'value', unicode:chardata()} + | {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()} + | {'min', integer()} + | {'max', integer()} + | {'initial', integer()}. new(#wx_ref{type=ParentT,ref=ParentRef}, Options) when is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -132,14 +132,14 @@ create(This,Parent) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxspinctrl.html#wxspinctrlcreate">external documentation</a>. -spec create(This, Parent, [Option]) -> boolean() when This::wxSpinCtrl(), Parent::wxWindow:wxWindow(), - Option :: {id, integer()} - | {value, unicode:chardata()} - | {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()} - | {min, integer()} - | {max, integer()} - | {initial, integer()}. + Option :: {'id', integer()} + | {'value', unicode:chardata()} + | {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()} + | {'min', integer()} + | {'max', integer()} + | {'initial', integer()}. create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxSpinCtrl), @@ -159,12 +159,12 @@ create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef}, Opti %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxspinctrl.html#wxspinctrlsetvalue">external documentation</a>. %% <br /> Also:<br /> -%% setValue(This, Text) -> ok when<br /> +%% setValue(This, Text) -> 'ok' when<br /> %% This::wxSpinCtrl(), Text::unicode:chardata().<br /> %% --spec setValue(This, Value) -> ok when +-spec setValue(This, Value) -> 'ok' when This::wxSpinCtrl(), Value::integer(); - (This, Text) -> ok when + (This, Text) -> 'ok' when This::wxSpinCtrl(), Text::unicode:chardata(). setValue(#wx_ref{type=ThisT,ref=ThisRef},Value) when is_integer(Value) -> @@ -187,7 +187,7 @@ getValue(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxspinctrl.html#wxspinctrlsetrange">external documentation</a>. --spec setRange(This, MinVal, MaxVal) -> ok when +-spec setRange(This, MinVal, MaxVal) -> 'ok' when This::wxSpinCtrl(), MinVal::integer(), MaxVal::integer(). setRange(#wx_ref{type=ThisT,ref=ThisRef},MinVal,MaxVal) when is_integer(MinVal),is_integer(MaxVal) -> @@ -196,7 +196,7 @@ setRange(#wx_ref{type=ThisT,ref=ThisRef},MinVal,MaxVal) <<ThisRef:32/?UI,MinVal:32/?UI,MaxVal:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxspinctrl.html#wxspinctrlsetselection">external documentation</a>. --spec setSelection(This, From, To) -> ok when +-spec setSelection(This, From, To) -> 'ok' when This::wxSpinCtrl(), From::integer(), To::integer(). setSelection(#wx_ref{type=ThisT,ref=ThisRef},From,To) when is_integer(From),is_integer(To) -> @@ -221,7 +221,7 @@ getMax(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxSpinCtrl()) -> ok. +-spec destroy(This::wxSpinCtrl()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxSpinCtrl), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxSpinEvent.erl b/lib/wx/src/gen/wxSpinEvent.erl index da3111e5f5..1c99927de7 100644 --- a/lib/wx/src/gen/wxSpinEvent.erl +++ b/lib/wx/src/gen/wxSpinEvent.erl @@ -59,7 +59,7 @@ getPosition(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxspinevent.html#wxspineventsetposition">external documentation</a>. --spec setPosition(This, Pos) -> ok when +-spec setPosition(This, Pos) -> 'ok' when This::wxSpinEvent(), Pos::integer(). setPosition(#wx_ref{type=ThisT,ref=ThisRef},Pos) when is_integer(Pos) -> diff --git a/lib/wx/src/gen/wxSplashScreen.erl b/lib/wx/src/gen/wxSplashScreen.erl index fad8cfcd8e..3b53e670c1 100644 --- a/lib/wx/src/gen/wxSplashScreen.erl +++ b/lib/wx/src/gen/wxSplashScreen.erl @@ -107,9 +107,9 @@ new(Bitmap,SplashStyle,Milliseconds,Parent,Id) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsplashscreen.html#wxsplashscreenwxsplashscreen">external documentation</a>. -spec new(Bitmap, SplashStyle, Milliseconds, Parent, Id, [Option]) -> wxSplashScreen() when Bitmap::wxBitmap:wxBitmap(), SplashStyle::integer(), Milliseconds::integer(), Parent::wxWindow:wxWindow(), Id::integer(), - Option :: {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()}. + Option :: {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()}. new(#wx_ref{type=BitmapT,ref=BitmapRef},SplashStyle,Milliseconds,#wx_ref{type=ParentT,ref=ParentRef},Id, Options) when is_integer(SplashStyle),is_integer(Milliseconds),is_integer(Id),is_list(Options) -> ?CLASS(BitmapT,wxBitmap), @@ -139,7 +139,7 @@ getTimeout(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxSplashScreen()) -> ok. +-spec destroy(This::wxSplashScreen()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxSplashScreen), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxSplitterEvent.erl b/lib/wx/src/gen/wxSplitterEvent.erl index 3daef5cdc1..87b70b5955 100644 --- a/lib/wx/src/gen/wxSplitterEvent.erl +++ b/lib/wx/src/gen/wxSplitterEvent.erl @@ -83,7 +83,7 @@ getWindowBeingRemoved(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsplitterevent.html#wxsplittereventsetsashposition">external documentation</a>. --spec setSashPosition(This, Pos) -> ok when +-spec setSashPosition(This, Pos) -> 'ok' when This::wxSplitterEvent(), Pos::integer(). setSashPosition(#wx_ref{type=ThisT,ref=ThisRef},Pos) when is_integer(Pos) -> diff --git a/lib/wx/src/gen/wxSplitterWindow.erl b/lib/wx/src/gen/wxSplitterWindow.erl index 7db8dc60c4..f311d5011f 100644 --- a/lib/wx/src/gen/wxSplitterWindow.erl +++ b/lib/wx/src/gen/wxSplitterWindow.erl @@ -99,10 +99,10 @@ new(Parent) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsplitterwindow.html#wxsplitterwindowwxsplitterwindow">external documentation</a>. -spec new(Parent, [Option]) -> wxSplitterWindow() when Parent::wxWindow:wxWindow(), - Option :: {id, integer()} - | {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()}. + Option :: {'id', integer()} + | {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()}. new(#wx_ref{type=ParentT,ref=ParentRef}, Options) when is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -126,10 +126,10 @@ create(This,Parent) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsplitterwindow.html#wxsplitterwindowcreate">external documentation</a>. -spec create(This, Parent, [Option]) -> boolean() when This::wxSplitterWindow(), Parent::wxWindow:wxWindow(), - Option :: {id, integer()} - | {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()}. + Option :: {'id', integer()} + | {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()}. create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxSplitterWindow), @@ -193,7 +193,7 @@ getWindow2(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsplitterwindow.html#wxsplitterwindowinitialize">external documentation</a>. --spec initialize(This, Window) -> ok when +-spec initialize(This, Window) -> 'ok' when This::wxSplitterWindow(), Window::wxWindow:wxWindow(). initialize(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=WindowT,ref=WindowRef}) -> ?CLASS(ThisT,wxSplitterWindow), @@ -220,7 +220,7 @@ replaceWindow(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=WinOldT,ref=WinOldRef <<ThisRef:32/?UI,WinOldRef:32/?UI,WinNewRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsplitterwindow.html#wxsplitterwindowsetsashgravity">external documentation</a>. --spec setSashGravity(This, Gravity) -> ok when +-spec setSashGravity(This, Gravity) -> 'ok' when This::wxSplitterWindow(), Gravity::number(). setSashGravity(#wx_ref{type=ThisT,ref=ThisRef},Gravity) when is_number(Gravity) -> @@ -229,7 +229,7 @@ setSashGravity(#wx_ref{type=ThisT,ref=ThisRef},Gravity) <<ThisRef:32/?UI,0:32,Gravity:64/?F>>). %% @equiv setSashPosition(This,Position, []) --spec setSashPosition(This, Position) -> ok when +-spec setSashPosition(This, Position) -> 'ok' when This::wxSplitterWindow(), Position::integer(). setSashPosition(This,Position) @@ -237,9 +237,9 @@ setSashPosition(This,Position) setSashPosition(This,Position, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsplitterwindow.html#wxsplitterwindowsetsashposition">external documentation</a>. --spec setSashPosition(This, Position, [Option]) -> ok when +-spec setSashPosition(This, Position, [Option]) -> 'ok' when This::wxSplitterWindow(), Position::integer(), - Option :: {redraw, boolean()}. + Option :: {'redraw', boolean()}. setSashPosition(#wx_ref{type=ThisT,ref=ThisRef},Position, Options) when is_integer(Position),is_list(Options) -> ?CLASS(ThisT,wxSplitterWindow), @@ -250,7 +250,7 @@ setSashPosition(#wx_ref{type=ThisT,ref=ThisRef},Position, Options) <<ThisRef:32/?UI,Position:32/?UI, BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsplitterwindow.html#wxsplitterwindowsetsashsize">external documentation</a>. --spec setSashSize(This, Width) -> ok when +-spec setSashSize(This, Width) -> 'ok' when This::wxSplitterWindow(), Width::integer(). setSashSize(#wx_ref{type=ThisT,ref=ThisRef},Width) when is_integer(Width) -> @@ -259,7 +259,7 @@ setSashSize(#wx_ref{type=ThisT,ref=ThisRef},Width) <<ThisRef:32/?UI,Width:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsplitterwindow.html#wxsplitterwindowsetminimumpanesize">external documentation</a>. --spec setMinimumPaneSize(This, Min) -> ok when +-spec setMinimumPaneSize(This, Min) -> 'ok' when This::wxSplitterWindow(), Min::integer(). setMinimumPaneSize(#wx_ref{type=ThisT,ref=ThisRef},Min) when is_integer(Min) -> @@ -268,7 +268,7 @@ setMinimumPaneSize(#wx_ref{type=ThisT,ref=ThisRef},Min) <<ThisRef:32/?UI,Min:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsplitterwindow.html#wxsplitterwindowsetsplitmode">external documentation</a>. --spec setSplitMode(This, Mode) -> ok when +-spec setSplitMode(This, Mode) -> 'ok' when This::wxSplitterWindow(), Mode::integer(). setSplitMode(#wx_ref{type=ThisT,ref=ThisRef},Mode) when is_integer(Mode) -> @@ -287,7 +287,7 @@ splitHorizontally(This,Window1,Window2) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsplitterwindow.html#wxsplitterwindowsplithorizontally">external documentation</a>. -spec splitHorizontally(This, Window1, Window2, [Option]) -> boolean() when This::wxSplitterWindow(), Window1::wxWindow:wxWindow(), Window2::wxWindow:wxWindow(), - Option :: {sashPosition, integer()}. + Option :: {'sashPosition', integer()}. splitHorizontally(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=Window1T,ref=Window1Ref},#wx_ref{type=Window2T,ref=Window2Ref}, Options) when is_list(Options) -> ?CLASS(ThisT,wxSplitterWindow), @@ -310,7 +310,7 @@ splitVertically(This,Window1,Window2) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsplitterwindow.html#wxsplitterwindowsplitvertically">external documentation</a>. -spec splitVertically(This, Window1, Window2, [Option]) -> boolean() when This::wxSplitterWindow(), Window1::wxWindow:wxWindow(), Window2::wxWindow:wxWindow(), - Option :: {sashPosition, integer()}. + Option :: {'sashPosition', integer()}. splitVertically(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=Window1T,ref=Window1Ref},#wx_ref{type=Window2T,ref=Window2Ref}, Options) when is_list(Options) -> ?CLASS(ThisT,wxSplitterWindow), @@ -333,7 +333,7 @@ unsplit(This) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsplitterwindow.html#wxsplitterwindowunsplit">external documentation</a>. -spec unsplit(This, [Option]) -> boolean() when This::wxSplitterWindow(), - Option :: {toRemove, wxWindow:wxWindow()}. + Option :: {'toRemove', wxWindow:wxWindow()}. unsplit(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxSplitterWindow), @@ -344,7 +344,7 @@ unsplit(#wx_ref{type=ThisT,ref=ThisRef}, Options) <<ThisRef:32/?UI, 0:32,BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsplitterwindow.html#wxsplitterwindowupdatesize">external documentation</a>. --spec updateSize(This) -> ok when +-spec updateSize(This) -> 'ok' when This::wxSplitterWindow(). updateSize(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxSplitterWindow), @@ -352,7 +352,7 @@ updateSize(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxSplitterWindow()) -> ok. +-spec destroy(This::wxSplitterWindow()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxSplitterWindow), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxStaticBitmap.erl b/lib/wx/src/gen/wxStaticBitmap.erl index 4da50262b9..3ef1499a28 100644 --- a/lib/wx/src/gen/wxStaticBitmap.erl +++ b/lib/wx/src/gen/wxStaticBitmap.erl @@ -96,9 +96,9 @@ new(Parent,Id,Label) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstaticbitmap.html#wxstaticbitmapwxstaticbitmap">external documentation</a>. -spec new(Parent, Id, Label, [Option]) -> wxStaticBitmap() when Parent::wxWindow:wxWindow(), Id::integer(), Label::wxBitmap:wxBitmap(), - Option :: {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()}. + Option :: {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()}. new(#wx_ref{type=ParentT,ref=ParentRef},Id,#wx_ref{type=LabelT,ref=LabelRef}, Options) when is_integer(Id),is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -122,9 +122,9 @@ create(This,Parent,Id,Label) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstaticbitmap.html#wxstaticbitmapcreate">external documentation</a>. -spec create(This, Parent, Id, Label, [Option]) -> boolean() when This::wxStaticBitmap(), Parent::wxWindow:wxWindow(), Id::integer(), Label::wxBitmap:wxBitmap(), - Option :: {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()}. + Option :: {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()}. create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef},Id,#wx_ref{type=LabelT,ref=LabelRef}, Options) when is_integer(Id),is_list(Options) -> ?CLASS(ThisT,wxStaticBitmap), @@ -147,7 +147,7 @@ getBitmap(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstaticbitmap.html#wxstaticbitmapsetbitmap">external documentation</a>. --spec setBitmap(This, Bitmap) -> ok when +-spec setBitmap(This, Bitmap) -> 'ok' when This::wxStaticBitmap(), Bitmap::wxBitmap:wxBitmap(). setBitmap(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=BitmapT,ref=BitmapRef}) -> ?CLASS(ThisT,wxStaticBitmap), @@ -156,7 +156,7 @@ setBitmap(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=BitmapT,ref=BitmapRef}) - <<ThisRef:32/?UI,BitmapRef:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxStaticBitmap()) -> ok. +-spec destroy(This::wxStaticBitmap()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxStaticBitmap), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxStaticBox.erl b/lib/wx/src/gen/wxStaticBox.erl index 04584f23b2..46cca3b6f3 100644 --- a/lib/wx/src/gen/wxStaticBox.erl +++ b/lib/wx/src/gen/wxStaticBox.erl @@ -96,9 +96,9 @@ new(Parent,Id,Label) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstaticbox.html#wxstaticboxwxstaticbox">external documentation</a>. -spec new(Parent, Id, Label, [Option]) -> wxStaticBox() when Parent::wxWindow:wxWindow(), Id::integer(), Label::unicode:chardata(), - Option :: {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()}. + Option :: {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()}. new(#wx_ref{type=ParentT,ref=ParentRef},Id,Label, Options) when is_integer(Id),is_list(Label),is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -122,9 +122,9 @@ create(This,Parent,Id,Label) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstaticbox.html#wxstaticboxcreate">external documentation</a>. -spec create(This, Parent, Id, Label, [Option]) -> boolean() when This::wxStaticBox(), Parent::wxWindow:wxWindow(), Id::integer(), Label::unicode:chardata(), - Option :: {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()}. + Option :: {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()}. create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef},Id,Label, Options) when is_integer(Id),is_list(Label),is_list(Options) -> ?CLASS(ThisT,wxStaticBox), @@ -139,7 +139,7 @@ create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef},Id,La <<ThisRef:32/?UI,ParentRef:32/?UI,Id:32/?UI,(byte_size(Label_UC)):32/?UI,(Label_UC)/binary, 0:(((8- ((0+byte_size(Label_UC)) band 16#7)) band 16#7))/unit:8, BinOpt/binary>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxStaticBox()) -> ok. +-spec destroy(This::wxStaticBox()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxStaticBox), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxStaticBoxSizer.erl b/lib/wx/src/gen/wxStaticBoxSizer.erl index 76dde099b6..2c69cb86b0 100644 --- a/lib/wx/src/gen/wxStaticBoxSizer.erl +++ b/lib/wx/src/gen/wxStaticBoxSizer.erl @@ -71,7 +71,7 @@ new(#wx_ref{type=BoxT,ref=BoxRef},Orient) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstaticboxsizer.html#wxstaticboxsizerwxstaticboxsizer">external documentation</a>. -spec new(Orient, Win, [Option]) -> wxStaticBoxSizer() when Orient::integer(), Win::wxWindow:wxWindow(), - Option :: {label, unicode:chardata()}. + Option :: {'label', unicode:chardata()}. new(Orient,#wx_ref{type=WinT,ref=WinRef}, Options) when is_integer(Orient),is_list(Options) -> ?CLASS(WinT,wxWindow), @@ -90,7 +90,7 @@ getStaticBox(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxStaticBoxSizer()) -> ok. +-spec destroy(This::wxStaticBoxSizer()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxStaticBoxSizer), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxStaticLine.erl b/lib/wx/src/gen/wxStaticLine.erl index 6d23c5ac3d..94dd339cfc 100644 --- a/lib/wx/src/gen/wxStaticLine.erl +++ b/lib/wx/src/gen/wxStaticLine.erl @@ -97,10 +97,10 @@ new(Parent) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstaticline.html#wxstaticlinewxstaticline">external documentation</a>. -spec new(Parent, [Option]) -> wxStaticLine() when Parent::wxWindow:wxWindow(), - Option :: {id, integer()} - | {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()}. + Option :: {'id', integer()} + | {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()}. new(#wx_ref{type=ParentT,ref=ParentRef}, Options) when is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -124,10 +124,10 @@ create(This,Parent) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstaticline.html#wxstaticlinecreate">external documentation</a>. -spec create(This, Parent, [Option]) -> boolean() when This::wxStaticLine(), Parent::wxWindow:wxWindow(), - Option :: {id, integer()} - | {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()}. + Option :: {'id', integer()} + | {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()}. create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxStaticLine), @@ -156,7 +156,7 @@ getDefaultSize() -> <<>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxStaticLine()) -> ok. +-spec destroy(This::wxStaticLine()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxStaticLine), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxStaticText.erl b/lib/wx/src/gen/wxStaticText.erl index 635f29a1e8..37d0219bc6 100644 --- a/lib/wx/src/gen/wxStaticText.erl +++ b/lib/wx/src/gen/wxStaticText.erl @@ -96,9 +96,9 @@ new(Parent,Id,Label) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstatictext.html#wxstatictextwxstatictext">external documentation</a>. -spec new(Parent, Id, Label, [Option]) -> wxStaticText() when Parent::wxWindow:wxWindow(), Id::integer(), Label::unicode:chardata(), - Option :: {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()}. + Option :: {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()}. new(#wx_ref{type=ParentT,ref=ParentRef},Id,Label, Options) when is_integer(Id),is_list(Label),is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -122,9 +122,9 @@ create(This,Parent,Id,Label) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstatictext.html#wxstatictextcreate">external documentation</a>. -spec create(This, Parent, Id, Label, [Option]) -> boolean() when This::wxStaticText(), Parent::wxWindow:wxWindow(), Id::integer(), Label::unicode:chardata(), - Option :: {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()}. + Option :: {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()}. create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef},Id,Label, Options) when is_integer(Id),is_list(Label),is_list(Options) -> ?CLASS(ThisT,wxStaticText), @@ -147,7 +147,7 @@ getLabel(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstatictext.html#wxstatictextsetlabel">external documentation</a>. --spec setLabel(This, Label) -> ok when +-spec setLabel(This, Label) -> 'ok' when This::wxStaticText(), Label::unicode:chardata(). setLabel(#wx_ref{type=ThisT,ref=ThisRef},Label) when is_list(Label) -> @@ -157,7 +157,7 @@ setLabel(#wx_ref{type=ThisT,ref=ThisRef},Label) <<ThisRef:32/?UI,(byte_size(Label_UC)):32/?UI,(Label_UC)/binary, 0:(((8- ((0+byte_size(Label_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstatictext.html#wxstatictextwrap">external documentation</a>. --spec wrap(This, Width) -> ok when +-spec wrap(This, Width) -> 'ok' when This::wxStaticText(), Width::integer(). wrap(#wx_ref{type=ThisT,ref=ThisRef},Width) when is_integer(Width) -> @@ -166,7 +166,7 @@ wrap(#wx_ref{type=ThisT,ref=ThisRef},Width) <<ThisRef:32/?UI,Width:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxStaticText()) -> ok. +-spec destroy(This::wxStaticText()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxStaticText), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxStatusBar.erl b/lib/wx/src/gen/wxStatusBar.erl index 2cd0d4a43e..d0ce65273b 100644 --- a/lib/wx/src/gen/wxStatusBar.erl +++ b/lib/wx/src/gen/wxStatusBar.erl @@ -97,8 +97,8 @@ new(Parent) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstatusbar.html#wxstatusbarwxstatusbar">external documentation</a>. -spec new(Parent, [Option]) -> wxStatusBar() when Parent::wxWindow:wxWindow(), - Option :: {winid, integer()} - | {style, integer()}. + Option :: {'winid', integer()} + | {'style', integer()}. new(#wx_ref{type=ParentT,ref=ParentRef}, Options) when is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -120,8 +120,8 @@ create(This,Parent) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstatusbar.html#wxstatusbarcreate">external documentation</a>. -spec create(This, Parent, [Option]) -> boolean() when This::wxStatusBar(), Parent::wxWindow:wxWindow(), - Option :: {winid, integer()} - | {style, integer()}. + Option :: {'winid', integer()} + | {'style', integer()}. create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxStatusBar), @@ -162,7 +162,7 @@ getStatusText(This) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstatusbar.html#wxstatusbargetstatustext">external documentation</a>. -spec getStatusText(This, [Option]) -> unicode:charlist() when This::wxStatusBar(), - Option :: {number, integer()}. + Option :: {'number', integer()}. getStatusText(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxStatusBar), @@ -173,7 +173,7 @@ getStatusText(#wx_ref{type=ThisT,ref=ThisRef}, Options) <<ThisRef:32/?UI, 0:32,BinOpt/binary>>). %% @equiv popStatusText(This, []) --spec popStatusText(This) -> ok when +-spec popStatusText(This) -> 'ok' when This::wxStatusBar(). popStatusText(This) @@ -181,9 +181,9 @@ popStatusText(This) popStatusText(This, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstatusbar.html#wxstatusbarpopstatustext">external documentation</a>. --spec popStatusText(This, [Option]) -> ok when +-spec popStatusText(This, [Option]) -> 'ok' when This::wxStatusBar(), - Option :: {number, integer()}. + Option :: {'number', integer()}. popStatusText(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxStatusBar), @@ -194,7 +194,7 @@ popStatusText(#wx_ref{type=ThisT,ref=ThisRef}, Options) <<ThisRef:32/?UI, 0:32,BinOpt/binary>>). %% @equiv pushStatusText(This,Text, []) --spec pushStatusText(This, Text) -> ok when +-spec pushStatusText(This, Text) -> 'ok' when This::wxStatusBar(), Text::unicode:chardata(). pushStatusText(This,Text) @@ -202,9 +202,9 @@ pushStatusText(This,Text) pushStatusText(This,Text, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstatusbar.html#wxstatusbarpushstatustext">external documentation</a>. --spec pushStatusText(This, Text, [Option]) -> ok when +-spec pushStatusText(This, Text, [Option]) -> 'ok' when This::wxStatusBar(), Text::unicode:chardata(), - Option :: {number, integer()}. + Option :: {'number', integer()}. pushStatusText(#wx_ref{type=ThisT,ref=ThisRef},Text, Options) when is_list(Text),is_list(Options) -> ?CLASS(ThisT,wxStatusBar), @@ -216,7 +216,7 @@ pushStatusText(#wx_ref{type=ThisT,ref=ThisRef},Text, Options) <<ThisRef:32/?UI,(byte_size(Text_UC)):32/?UI,(Text_UC)/binary, 0:(((8- ((0+byte_size(Text_UC)) band 16#7)) band 16#7))/unit:8, BinOpt/binary>>). %% @equiv setFieldsCount(This,Number, []) --spec setFieldsCount(This, Number) -> ok when +-spec setFieldsCount(This, Number) -> 'ok' when This::wxStatusBar(), Number::integer(). setFieldsCount(This,Number) @@ -224,9 +224,9 @@ setFieldsCount(This,Number) setFieldsCount(This,Number, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstatusbar.html#wxstatusbarsetfieldscount">external documentation</a>. --spec setFieldsCount(This, Number, [Option]) -> ok when +-spec setFieldsCount(This, Number, [Option]) -> 'ok' when This::wxStatusBar(), Number::integer(), - Option :: {widths, [integer()]}. + Option :: {'widths', [integer()]}. setFieldsCount(#wx_ref{type=ThisT,ref=ThisRef},Number, Options) when is_integer(Number),is_list(Options) -> ?CLASS(ThisT,wxStatusBar), @@ -238,7 +238,7 @@ setFieldsCount(#wx_ref{type=ThisT,ref=ThisRef},Number, Options) <<ThisRef:32/?UI,Number:32/?UI, BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstatusbar.html#wxstatusbarsetminheight">external documentation</a>. --spec setMinHeight(This, Height) -> ok when +-spec setMinHeight(This, Height) -> 'ok' when This::wxStatusBar(), Height::integer(). setMinHeight(#wx_ref{type=ThisT,ref=ThisRef},Height) when is_integer(Height) -> @@ -247,7 +247,7 @@ setMinHeight(#wx_ref{type=ThisT,ref=ThisRef},Height) <<ThisRef:32/?UI,Height:32/?UI>>). %% @equiv setStatusText(This,Text, []) --spec setStatusText(This, Text) -> ok when +-spec setStatusText(This, Text) -> 'ok' when This::wxStatusBar(), Text::unicode:chardata(). setStatusText(This,Text) @@ -255,9 +255,9 @@ setStatusText(This,Text) setStatusText(This,Text, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstatusbar.html#wxstatusbarsetstatustext">external documentation</a>. --spec setStatusText(This, Text, [Option]) -> ok when +-spec setStatusText(This, Text, [Option]) -> 'ok' when This::wxStatusBar(), Text::unicode:chardata(), - Option :: {number, integer()}. + Option :: {'number', integer()}. setStatusText(#wx_ref{type=ThisT,ref=ThisRef},Text, Options) when is_list(Text),is_list(Options) -> ?CLASS(ThisT,wxStatusBar), @@ -269,7 +269,7 @@ setStatusText(#wx_ref{type=ThisT,ref=ThisRef},Text, Options) <<ThisRef:32/?UI,(byte_size(Text_UC)):32/?UI,(Text_UC)/binary, 0:(((8- ((0+byte_size(Text_UC)) band 16#7)) band 16#7))/unit:8, BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstatusbar.html#wxstatusbarsetstatuswidths">external documentation</a>. --spec setStatusWidths(This, Widths_field) -> ok when +-spec setStatusWidths(This, Widths_field) -> 'ok' when This::wxStatusBar(), Widths_field::[integer()]. setStatusWidths(#wx_ref{type=ThisT,ref=ThisRef},Widths_field) when is_list(Widths_field) -> @@ -279,7 +279,7 @@ setStatusWidths(#wx_ref{type=ThisT,ref=ThisRef},Widths_field) (<< <<C:32/?I>> || C <- Widths_field>>)/binary, 0:(((0+length(Widths_field)) rem 2)*32)>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstatusbar.html#wxstatusbarsetstatusstyles">external documentation</a>. --spec setStatusStyles(This, Styles) -> ok when +-spec setStatusStyles(This, Styles) -> 'ok' when This::wxStatusBar(), Styles::[integer()]. setStatusStyles(#wx_ref{type=ThisT,ref=ThisRef},Styles) when is_list(Styles) -> @@ -289,7 +289,7 @@ setStatusStyles(#wx_ref{type=ThisT,ref=ThisRef},Styles) (<< <<C:32/?I>> || C <- Styles>>)/binary, 0:(((0+length(Styles)) rem 2)*32)>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxStatusBar()) -> ok. +-spec destroy(This::wxStatusBar()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxStatusBar), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxStdDialogButtonSizer.erl b/lib/wx/src/gen/wxStdDialogButtonSizer.erl index 97beee6f14..70e8981def 100644 --- a/lib/wx/src/gen/wxStdDialogButtonSizer.erl +++ b/lib/wx/src/gen/wxStdDialogButtonSizer.erl @@ -57,7 +57,7 @@ new() -> <<>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstddialogbuttonsizer.html#wxstddialogbuttonsizeraddbutton">external documentation</a>. --spec addButton(This, Button) -> ok when +-spec addButton(This, Button) -> 'ok' when This::wxStdDialogButtonSizer(), Button::wxButton:wxButton(). addButton(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ButtonT,ref=ButtonRef}) -> ?CLASS(ThisT,wxStdDialogButtonSizer), @@ -66,7 +66,7 @@ addButton(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ButtonT,ref=ButtonRef}) - <<ThisRef:32/?UI,ButtonRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstddialogbuttonsizer.html#wxstddialogbuttonsizerrealize">external documentation</a>. --spec realize(This) -> ok when +-spec realize(This) -> 'ok' when This::wxStdDialogButtonSizer(). realize(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStdDialogButtonSizer), @@ -74,7 +74,7 @@ realize(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstddialogbuttonsizer.html#wxstddialogbuttonsizersetaffirmativebutton">external documentation</a>. --spec setAffirmativeButton(This, Button) -> ok when +-spec setAffirmativeButton(This, Button) -> 'ok' when This::wxStdDialogButtonSizer(), Button::wxButton:wxButton(). setAffirmativeButton(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ButtonT,ref=ButtonRef}) -> ?CLASS(ThisT,wxStdDialogButtonSizer), @@ -83,7 +83,7 @@ setAffirmativeButton(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ButtonT,ref=Bu <<ThisRef:32/?UI,ButtonRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstddialogbuttonsizer.html#wxstddialogbuttonsizersetcancelbutton">external documentation</a>. --spec setCancelButton(This, Button) -> ok when +-spec setCancelButton(This, Button) -> 'ok' when This::wxStdDialogButtonSizer(), Button::wxButton:wxButton(). setCancelButton(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ButtonT,ref=ButtonRef}) -> ?CLASS(ThisT,wxStdDialogButtonSizer), @@ -92,7 +92,7 @@ setCancelButton(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ButtonT,ref=ButtonR <<ThisRef:32/?UI,ButtonRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstddialogbuttonsizer.html#wxstddialogbuttonsizersetnegativebutton">external documentation</a>. --spec setNegativeButton(This, Button) -> ok when +-spec setNegativeButton(This, Button) -> 'ok' when This::wxStdDialogButtonSizer(), Button::wxButton:wxButton(). setNegativeButton(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ButtonT,ref=ButtonRef}) -> ?CLASS(ThisT,wxStdDialogButtonSizer), @@ -101,7 +101,7 @@ setNegativeButton(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ButtonT,ref=Butto <<ThisRef:32/?UI,ButtonRef:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxStdDialogButtonSizer()) -> ok. +-spec destroy(This::wxStdDialogButtonSizer()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxStdDialogButtonSizer), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxStyledTextCtrl.erl b/lib/wx/src/gen/wxStyledTextCtrl.erl index 8e629db9ff..15ef728659 100644 --- a/lib/wx/src/gen/wxStyledTextCtrl.erl +++ b/lib/wx/src/gen/wxStyledTextCtrl.erl @@ -197,10 +197,10 @@ new(Parent) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlwxstyledtextctrl">external documentation</a>. -spec new(Parent, [Option]) -> wxStyledTextCtrl() when Parent::wxWindow:wxWindow(), - Option :: {id, integer()} - | {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()}. + Option :: {'id', integer()} + | {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()}. new(#wx_ref{type=ParentT,ref=ParentRef}, Options) when is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -224,10 +224,10 @@ create(This,Parent) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlcreate">external documentation</a>. -spec create(This, Parent, [Option]) -> boolean() when This::wxStyledTextCtrl(), Parent::wxWindow:wxWindow(), - Option :: {id, integer()} - | {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()}. + Option :: {'id', integer()} + | {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()}. create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -242,7 +242,7 @@ create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef}, Opti <<ThisRef:32/?UI,ParentRef:32/?UI, BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrladdtext">external documentation</a>. --spec addText(This, Text) -> ok when +-spec addText(This, Text) -> 'ok' when This::wxStyledTextCtrl(), Text::unicode:chardata(). addText(#wx_ref{type=ThisT,ref=ThisRef},Text) when is_list(Text) -> @@ -252,7 +252,7 @@ addText(#wx_ref{type=ThisT,ref=ThisRef},Text) <<ThisRef:32/?UI,(byte_size(Text_UC)):32/?UI,(Text_UC)/binary, 0:(((8- ((0+byte_size(Text_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrladdstyledtext">external documentation</a>. --spec addStyledText(This, Data) -> ok when +-spec addStyledText(This, Data) -> 'ok' when This::wxStyledTextCtrl(), Data::wx:wx_object(). addStyledText(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=DataT,ref=DataRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -261,7 +261,7 @@ addStyledText(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=DataT,ref=DataRef}) - <<ThisRef:32/?UI,DataRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlinserttext">external documentation</a>. --spec insertText(This, Pos, Text) -> ok when +-spec insertText(This, Pos, Text) -> 'ok' when This::wxStyledTextCtrl(), Pos::integer(), Text::unicode:chardata(). insertText(#wx_ref{type=ThisT,ref=ThisRef},Pos,Text) when is_integer(Pos),is_list(Text) -> @@ -271,7 +271,7 @@ insertText(#wx_ref{type=ThisT,ref=ThisRef},Pos,Text) <<ThisRef:32/?UI,Pos:32/?UI,(byte_size(Text_UC)):32/?UI,(Text_UC)/binary, 0:(((8- ((4+byte_size(Text_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlclearall">external documentation</a>. --spec clearAll(This) -> ok when +-spec clearAll(This) -> 'ok' when This::wxStyledTextCtrl(). clearAll(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -279,7 +279,7 @@ clearAll(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlcleardocumentstyle">external documentation</a>. --spec clearDocumentStyle(This) -> ok when +-spec clearDocumentStyle(This) -> 'ok' when This::wxStyledTextCtrl(). clearDocumentStyle(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -329,7 +329,7 @@ getStyleAt(#wx_ref{type=ThisT,ref=ThisRef},Pos) <<ThisRef:32/?UI,Pos:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlredo">external documentation</a>. --spec redo(This) -> ok when +-spec redo(This) -> 'ok' when This::wxStyledTextCtrl(). redo(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -337,7 +337,7 @@ redo(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetundocollection">external documentation</a>. --spec setUndoCollection(This, CollectUndo) -> ok when +-spec setUndoCollection(This, CollectUndo) -> 'ok' when This::wxStyledTextCtrl(), CollectUndo::boolean(). setUndoCollection(#wx_ref{type=ThisT,ref=ThisRef},CollectUndo) when is_boolean(CollectUndo) -> @@ -346,7 +346,7 @@ setUndoCollection(#wx_ref{type=ThisT,ref=ThisRef},CollectUndo) <<ThisRef:32/?UI,(wxe_util:from_bool(CollectUndo)):32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlselectall">external documentation</a>. --spec selectAll(This) -> ok when +-spec selectAll(This) -> 'ok' when This::wxStyledTextCtrl(). selectAll(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -354,7 +354,7 @@ selectAll(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetsavepoint">external documentation</a>. --spec setSavePoint(This) -> ok when +-spec setSavePoint(This) -> 'ok' when This::wxStyledTextCtrl(). setSavePoint(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -388,7 +388,7 @@ markerLineFromHandle(#wx_ref{type=ThisT,ref=ThisRef},Handle) <<ThisRef:32/?UI,Handle:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlmarkerdeletehandle">external documentation</a>. --spec markerDeleteHandle(This, Handle) -> ok when +-spec markerDeleteHandle(This, Handle) -> 'ok' when This::wxStyledTextCtrl(), Handle::integer(). markerDeleteHandle(#wx_ref{type=ThisT,ref=ThisRef},Handle) when is_integer(Handle) -> @@ -413,7 +413,7 @@ getViewWhiteSpace(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetviewwhitespace">external documentation</a>. --spec setViewWhiteSpace(This, ViewWS) -> ok when +-spec setViewWhiteSpace(This, ViewWS) -> 'ok' when This::wxStyledTextCtrl(), ViewWS::integer(). setViewWhiteSpace(#wx_ref{type=ThisT,ref=ThisRef},ViewWS) when is_integer(ViewWS) -> @@ -440,7 +440,7 @@ positionFromPointClose(#wx_ref{type=ThisT,ref=ThisRef},X,Y) <<ThisRef:32/?UI,X:32/?UI,Y:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlgotoline">external documentation</a>. --spec gotoLine(This, Line) -> ok when +-spec gotoLine(This, Line) -> 'ok' when This::wxStyledTextCtrl(), Line::integer(). gotoLine(#wx_ref{type=ThisT,ref=ThisRef},Line) when is_integer(Line) -> @@ -449,7 +449,7 @@ gotoLine(#wx_ref{type=ThisT,ref=ThisRef},Line) <<ThisRef:32/?UI,Line:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlgotopos">external documentation</a>. --spec gotoPos(This, Pos) -> ok when +-spec gotoPos(This, Pos) -> 'ok' when This::wxStyledTextCtrl(), Pos::integer(). gotoPos(#wx_ref{type=ThisT,ref=ThisRef},Pos) when is_integer(Pos) -> @@ -458,7 +458,7 @@ gotoPos(#wx_ref{type=ThisT,ref=ThisRef},Pos) <<ThisRef:32/?UI,Pos:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetanchor">external documentation</a>. --spec setAnchor(This, PosAnchor) -> ok when +-spec setAnchor(This, PosAnchor) -> 'ok' when This::wxStyledTextCtrl(), PosAnchor::integer(). setAnchor(#wx_ref{type=ThisT,ref=ThisRef},PosAnchor) when is_integer(PosAnchor) -> @@ -484,7 +484,7 @@ getEndStyled(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlconverteols">external documentation</a>. --spec convertEOLs(This, EolMode) -> ok when +-spec convertEOLs(This, EolMode) -> 'ok' when This::wxStyledTextCtrl(), EolMode::integer(). convertEOLs(#wx_ref{type=ThisT,ref=ThisRef},EolMode) when is_integer(EolMode) -> @@ -501,7 +501,7 @@ getEOLMode(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlseteolmode">external documentation</a>. --spec setEOLMode(This, EolMode) -> ok when +-spec setEOLMode(This, EolMode) -> 'ok' when This::wxStyledTextCtrl(), EolMode::integer(). setEOLMode(#wx_ref{type=ThisT,ref=ThisRef},EolMode) when is_integer(EolMode) -> @@ -510,7 +510,7 @@ setEOLMode(#wx_ref{type=ThisT,ref=ThisRef},EolMode) <<ThisRef:32/?UI,EolMode:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlstartstyling">external documentation</a>. --spec startStyling(This, Pos, Mask) -> ok when +-spec startStyling(This, Pos, Mask) -> 'ok' when This::wxStyledTextCtrl(), Pos::integer(), Mask::integer(). startStyling(#wx_ref{type=ThisT,ref=ThisRef},Pos,Mask) when is_integer(Pos),is_integer(Mask) -> @@ -519,7 +519,7 @@ startStyling(#wx_ref{type=ThisT,ref=ThisRef},Pos,Mask) <<ThisRef:32/?UI,Pos:32/?UI,Mask:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetstyling">external documentation</a>. --spec setStyling(This, Length, Style) -> ok when +-spec setStyling(This, Length, Style) -> 'ok' when This::wxStyledTextCtrl(), Length::integer(), Style::integer(). setStyling(#wx_ref{type=ThisT,ref=ThisRef},Length,Style) when is_integer(Length),is_integer(Style) -> @@ -536,7 +536,7 @@ getBufferedDraw(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetbuffereddraw">external documentation</a>. --spec setBufferedDraw(This, Buffered) -> ok when +-spec setBufferedDraw(This, Buffered) -> 'ok' when This::wxStyledTextCtrl(), Buffered::boolean(). setBufferedDraw(#wx_ref{type=ThisT,ref=ThisRef},Buffered) when is_boolean(Buffered) -> @@ -545,7 +545,7 @@ setBufferedDraw(#wx_ref{type=ThisT,ref=ThisRef},Buffered) <<ThisRef:32/?UI,(wxe_util:from_bool(Buffered)):32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsettabwidth">external documentation</a>. --spec setTabWidth(This, TabWidth) -> ok when +-spec setTabWidth(This, TabWidth) -> 'ok' when This::wxStyledTextCtrl(), TabWidth::integer(). setTabWidth(#wx_ref{type=ThisT,ref=ThisRef},TabWidth) when is_integer(TabWidth) -> @@ -562,7 +562,7 @@ getTabWidth(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetcodepage">external documentation</a>. --spec setCodePage(This, CodePage) -> ok when +-spec setCodePage(This, CodePage) -> 'ok' when This::wxStyledTextCtrl(), CodePage::integer(). setCodePage(#wx_ref{type=ThisT,ref=ThisRef},CodePage) when is_integer(CodePage) -> @@ -571,7 +571,7 @@ setCodePage(#wx_ref{type=ThisT,ref=ThisRef},CodePage) <<ThisRef:32/?UI,CodePage:32/?UI>>). %% @equiv markerDefine(This,MarkerNumber,MarkerSymbol, []) --spec markerDefine(This, MarkerNumber, MarkerSymbol) -> ok when +-spec markerDefine(This, MarkerNumber, MarkerSymbol) -> 'ok' when This::wxStyledTextCtrl(), MarkerNumber::integer(), MarkerSymbol::integer(). markerDefine(This,MarkerNumber,MarkerSymbol) @@ -579,10 +579,10 @@ markerDefine(This,MarkerNumber,MarkerSymbol) markerDefine(This,MarkerNumber,MarkerSymbol, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlmarkerdefine">external documentation</a>. --spec markerDefine(This, MarkerNumber, MarkerSymbol, [Option]) -> ok when +-spec markerDefine(This, MarkerNumber, MarkerSymbol, [Option]) -> 'ok' when This::wxStyledTextCtrl(), MarkerNumber::integer(), MarkerSymbol::integer(), - Option :: {foreground, wx:wx_colour()} - | {background, wx:wx_colour()}. + Option :: {'foreground', wx:wx_colour()} + | {'background', wx:wx_colour()}. markerDefine(#wx_ref{type=ThisT,ref=ThisRef},MarkerNumber,MarkerSymbol, Options) when is_integer(MarkerNumber),is_integer(MarkerSymbol),is_list(Options) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -594,7 +594,7 @@ markerDefine(#wx_ref{type=ThisT,ref=ThisRef},MarkerNumber,MarkerSymbol, Options) <<ThisRef:32/?UI,MarkerNumber:32/?UI,MarkerSymbol:32/?UI, 0:32,BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlmarkersetforeground">external documentation</a>. --spec markerSetForeground(This, MarkerNumber, Fore) -> ok when +-spec markerSetForeground(This, MarkerNumber, Fore) -> 'ok' when This::wxStyledTextCtrl(), MarkerNumber::integer(), Fore::wx:wx_colour(). markerSetForeground(#wx_ref{type=ThisT,ref=ThisRef},MarkerNumber,Fore) when is_integer(MarkerNumber),tuple_size(Fore) =:= 3; tuple_size(Fore) =:= 4 -> @@ -603,7 +603,7 @@ markerSetForeground(#wx_ref{type=ThisT,ref=ThisRef},MarkerNumber,Fore) <<ThisRef:32/?UI,MarkerNumber:32/?UI,(wxe_util:colour_bin(Fore)):16/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlmarkersetbackground">external documentation</a>. --spec markerSetBackground(This, MarkerNumber, Back) -> ok when +-spec markerSetBackground(This, MarkerNumber, Back) -> 'ok' when This::wxStyledTextCtrl(), MarkerNumber::integer(), Back::wx:wx_colour(). markerSetBackground(#wx_ref{type=ThisT,ref=ThisRef},MarkerNumber,Back) when is_integer(MarkerNumber),tuple_size(Back) =:= 3; tuple_size(Back) =:= 4 -> @@ -621,7 +621,7 @@ markerAdd(#wx_ref{type=ThisT,ref=ThisRef},Line,MarkerNumber) <<ThisRef:32/?UI,Line:32/?UI,MarkerNumber:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlmarkerdelete">external documentation</a>. --spec markerDelete(This, Line, MarkerNumber) -> ok when +-spec markerDelete(This, Line, MarkerNumber) -> 'ok' when This::wxStyledTextCtrl(), Line::integer(), MarkerNumber::integer(). markerDelete(#wx_ref{type=ThisT,ref=ThisRef},Line,MarkerNumber) when is_integer(Line),is_integer(MarkerNumber) -> @@ -630,7 +630,7 @@ markerDelete(#wx_ref{type=ThisT,ref=ThisRef},Line,MarkerNumber) <<ThisRef:32/?UI,Line:32/?UI,MarkerNumber:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlmarkerdeleteall">external documentation</a>. --spec markerDeleteAll(This, MarkerNumber) -> ok when +-spec markerDeleteAll(This, MarkerNumber) -> 'ok' when This::wxStyledTextCtrl(), MarkerNumber::integer(). markerDeleteAll(#wx_ref{type=ThisT,ref=ThisRef},MarkerNumber) when is_integer(MarkerNumber) -> @@ -666,7 +666,7 @@ markerPrevious(#wx_ref{type=ThisT,ref=ThisRef},LineStart,MarkerMask) <<ThisRef:32/?UI,LineStart:32/?UI,MarkerMask:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlmarkerdefinebitmap">external documentation</a>. --spec markerDefineBitmap(This, MarkerNumber, Bmp) -> ok when +-spec markerDefineBitmap(This, MarkerNumber, Bmp) -> 'ok' when This::wxStyledTextCtrl(), MarkerNumber::integer(), Bmp::wxBitmap:wxBitmap(). markerDefineBitmap(#wx_ref{type=ThisT,ref=ThisRef},MarkerNumber,#wx_ref{type=BmpT,ref=BmpRef}) when is_integer(MarkerNumber) -> @@ -676,7 +676,7 @@ markerDefineBitmap(#wx_ref{type=ThisT,ref=ThisRef},MarkerNumber,#wx_ref{type=Bmp <<ThisRef:32/?UI,MarkerNumber:32/?UI,BmpRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlmarkeraddset">external documentation</a>. --spec markerAddSet(This, Line, Set) -> ok when +-spec markerAddSet(This, Line, Set) -> 'ok' when This::wxStyledTextCtrl(), Line::integer(), Set::integer(). markerAddSet(#wx_ref{type=ThisT,ref=ThisRef},Line,Set) when is_integer(Line),is_integer(Set) -> @@ -685,7 +685,7 @@ markerAddSet(#wx_ref{type=ThisT,ref=ThisRef},Line,Set) <<ThisRef:32/?UI,Line:32/?UI,Set:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlmarkersetalpha">external documentation</a>. --spec markerSetAlpha(This, MarkerNumber, Alpha) -> ok when +-spec markerSetAlpha(This, MarkerNumber, Alpha) -> 'ok' when This::wxStyledTextCtrl(), MarkerNumber::integer(), Alpha::integer(). markerSetAlpha(#wx_ref{type=ThisT,ref=ThisRef},MarkerNumber,Alpha) when is_integer(MarkerNumber),is_integer(Alpha) -> @@ -694,7 +694,7 @@ markerSetAlpha(#wx_ref{type=ThisT,ref=ThisRef},MarkerNumber,Alpha) <<ThisRef:32/?UI,MarkerNumber:32/?UI,Alpha:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetmargintype">external documentation</a>. --spec setMarginType(This, Margin, MarginType) -> ok when +-spec setMarginType(This, Margin, MarginType) -> 'ok' when This::wxStyledTextCtrl(), Margin::integer(), MarginType::integer(). setMarginType(#wx_ref{type=ThisT,ref=ThisRef},Margin,MarginType) when is_integer(Margin),is_integer(MarginType) -> @@ -712,7 +712,7 @@ getMarginType(#wx_ref{type=ThisT,ref=ThisRef},Margin) <<ThisRef:32/?UI,Margin:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetmarginwidth">external documentation</a>. --spec setMarginWidth(This, Margin, PixelWidth) -> ok when +-spec setMarginWidth(This, Margin, PixelWidth) -> 'ok' when This::wxStyledTextCtrl(), Margin::integer(), PixelWidth::integer(). setMarginWidth(#wx_ref{type=ThisT,ref=ThisRef},Margin,PixelWidth) when is_integer(Margin),is_integer(PixelWidth) -> @@ -730,7 +730,7 @@ getMarginWidth(#wx_ref{type=ThisT,ref=ThisRef},Margin) <<ThisRef:32/?UI,Margin:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetmarginmask">external documentation</a>. --spec setMarginMask(This, Margin, Mask) -> ok when +-spec setMarginMask(This, Margin, Mask) -> 'ok' when This::wxStyledTextCtrl(), Margin::integer(), Mask::integer(). setMarginMask(#wx_ref{type=ThisT,ref=ThisRef},Margin,Mask) when is_integer(Margin),is_integer(Mask) -> @@ -748,7 +748,7 @@ getMarginMask(#wx_ref{type=ThisT,ref=ThisRef},Margin) <<ThisRef:32/?UI,Margin:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetmarginsensitive">external documentation</a>. --spec setMarginSensitive(This, Margin, Sensitive) -> ok when +-spec setMarginSensitive(This, Margin, Sensitive) -> 'ok' when This::wxStyledTextCtrl(), Margin::integer(), Sensitive::boolean(). setMarginSensitive(#wx_ref{type=ThisT,ref=ThisRef},Margin,Sensitive) when is_integer(Margin),is_boolean(Sensitive) -> @@ -766,7 +766,7 @@ getMarginSensitive(#wx_ref{type=ThisT,ref=ThisRef},Margin) <<ThisRef:32/?UI,Margin:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlstyleclearall">external documentation</a>. --spec styleClearAll(This) -> ok when +-spec styleClearAll(This) -> 'ok' when This::wxStyledTextCtrl(). styleClearAll(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -774,7 +774,7 @@ styleClearAll(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlstylesetforeground">external documentation</a>. --spec styleSetForeground(This, Style, Fore) -> ok when +-spec styleSetForeground(This, Style, Fore) -> 'ok' when This::wxStyledTextCtrl(), Style::integer(), Fore::wx:wx_colour(). styleSetForeground(#wx_ref{type=ThisT,ref=ThisRef},Style,Fore) when is_integer(Style),tuple_size(Fore) =:= 3; tuple_size(Fore) =:= 4 -> @@ -783,7 +783,7 @@ styleSetForeground(#wx_ref{type=ThisT,ref=ThisRef},Style,Fore) <<ThisRef:32/?UI,Style:32/?UI,(wxe_util:colour_bin(Fore)):16/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlstylesetbackground">external documentation</a>. --spec styleSetBackground(This, Style, Back) -> ok when +-spec styleSetBackground(This, Style, Back) -> 'ok' when This::wxStyledTextCtrl(), Style::integer(), Back::wx:wx_colour(). styleSetBackground(#wx_ref{type=ThisT,ref=ThisRef},Style,Back) when is_integer(Style),tuple_size(Back) =:= 3; tuple_size(Back) =:= 4 -> @@ -792,7 +792,7 @@ styleSetBackground(#wx_ref{type=ThisT,ref=ThisRef},Style,Back) <<ThisRef:32/?UI,Style:32/?UI,(wxe_util:colour_bin(Back)):16/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlstylesetbold">external documentation</a>. --spec styleSetBold(This, Style, Bold) -> ok when +-spec styleSetBold(This, Style, Bold) -> 'ok' when This::wxStyledTextCtrl(), Style::integer(), Bold::boolean(). styleSetBold(#wx_ref{type=ThisT,ref=ThisRef},Style,Bold) when is_integer(Style),is_boolean(Bold) -> @@ -801,7 +801,7 @@ styleSetBold(#wx_ref{type=ThisT,ref=ThisRef},Style,Bold) <<ThisRef:32/?UI,Style:32/?UI,(wxe_util:from_bool(Bold)):32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlstylesetitalic">external documentation</a>. --spec styleSetItalic(This, Style, Italic) -> ok when +-spec styleSetItalic(This, Style, Italic) -> 'ok' when This::wxStyledTextCtrl(), Style::integer(), Italic::boolean(). styleSetItalic(#wx_ref{type=ThisT,ref=ThisRef},Style,Italic) when is_integer(Style),is_boolean(Italic) -> @@ -810,7 +810,7 @@ styleSetItalic(#wx_ref{type=ThisT,ref=ThisRef},Style,Italic) <<ThisRef:32/?UI,Style:32/?UI,(wxe_util:from_bool(Italic)):32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlstylesetsize">external documentation</a>. --spec styleSetSize(This, Style, SizePoints) -> ok when +-spec styleSetSize(This, Style, SizePoints) -> 'ok' when This::wxStyledTextCtrl(), Style::integer(), SizePoints::integer(). styleSetSize(#wx_ref{type=ThisT,ref=ThisRef},Style,SizePoints) when is_integer(Style),is_integer(SizePoints) -> @@ -819,7 +819,7 @@ styleSetSize(#wx_ref{type=ThisT,ref=ThisRef},Style,SizePoints) <<ThisRef:32/?UI,Style:32/?UI,SizePoints:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlstylesetfacename">external documentation</a>. --spec styleSetFaceName(This, Style, FontName) -> ok when +-spec styleSetFaceName(This, Style, FontName) -> 'ok' when This::wxStyledTextCtrl(), Style::integer(), FontName::unicode:chardata(). styleSetFaceName(#wx_ref{type=ThisT,ref=ThisRef},Style,FontName) when is_integer(Style),is_list(FontName) -> @@ -829,7 +829,7 @@ styleSetFaceName(#wx_ref{type=ThisT,ref=ThisRef},Style,FontName) <<ThisRef:32/?UI,Style:32/?UI,(byte_size(FontName_UC)):32/?UI,(FontName_UC)/binary, 0:(((8- ((4+byte_size(FontName_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlstyleseteolfilled">external documentation</a>. --spec styleSetEOLFilled(This, Style, Filled) -> ok when +-spec styleSetEOLFilled(This, Style, Filled) -> 'ok' when This::wxStyledTextCtrl(), Style::integer(), Filled::boolean(). styleSetEOLFilled(#wx_ref{type=ThisT,ref=ThisRef},Style,Filled) when is_integer(Style),is_boolean(Filled) -> @@ -838,7 +838,7 @@ styleSetEOLFilled(#wx_ref{type=ThisT,ref=ThisRef},Style,Filled) <<ThisRef:32/?UI,Style:32/?UI,(wxe_util:from_bool(Filled)):32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlstyleresetdefault">external documentation</a>. --spec styleResetDefault(This) -> ok when +-spec styleResetDefault(This) -> 'ok' when This::wxStyledTextCtrl(). styleResetDefault(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -846,7 +846,7 @@ styleResetDefault(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlstylesetunderline">external documentation</a>. --spec styleSetUnderline(This, Style, Underline) -> ok when +-spec styleSetUnderline(This, Style, Underline) -> 'ok' when This::wxStyledTextCtrl(), Style::integer(), Underline::boolean(). styleSetUnderline(#wx_ref{type=ThisT,ref=ThisRef},Style,Underline) when is_integer(Style),is_boolean(Underline) -> @@ -855,7 +855,7 @@ styleSetUnderline(#wx_ref{type=ThisT,ref=ThisRef},Style,Underline) <<ThisRef:32/?UI,Style:32/?UI,(wxe_util:from_bool(Underline)):32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlstylesetcase">external documentation</a>. --spec styleSetCase(This, Style, CaseForce) -> ok when +-spec styleSetCase(This, Style, CaseForce) -> 'ok' when This::wxStyledTextCtrl(), Style::integer(), CaseForce::integer(). styleSetCase(#wx_ref{type=ThisT,ref=ThisRef},Style,CaseForce) when is_integer(Style),is_integer(CaseForce) -> @@ -864,7 +864,7 @@ styleSetCase(#wx_ref{type=ThisT,ref=ThisRef},Style,CaseForce) <<ThisRef:32/?UI,Style:32/?UI,CaseForce:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlstylesethotspot">external documentation</a>. --spec styleSetHotSpot(This, Style, Hotspot) -> ok when +-spec styleSetHotSpot(This, Style, Hotspot) -> 'ok' when This::wxStyledTextCtrl(), Style::integer(), Hotspot::boolean(). styleSetHotSpot(#wx_ref{type=ThisT,ref=ThisRef},Style,Hotspot) when is_integer(Style),is_boolean(Hotspot) -> @@ -873,7 +873,7 @@ styleSetHotSpot(#wx_ref{type=ThisT,ref=ThisRef},Style,Hotspot) <<ThisRef:32/?UI,Style:32/?UI,(wxe_util:from_bool(Hotspot)):32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetselforeground">external documentation</a>. --spec setSelForeground(This, UseSetting, Fore) -> ok when +-spec setSelForeground(This, UseSetting, Fore) -> 'ok' when This::wxStyledTextCtrl(), UseSetting::boolean(), Fore::wx:wx_colour(). setSelForeground(#wx_ref{type=ThisT,ref=ThisRef},UseSetting,Fore) when is_boolean(UseSetting),tuple_size(Fore) =:= 3; tuple_size(Fore) =:= 4 -> @@ -882,7 +882,7 @@ setSelForeground(#wx_ref{type=ThisT,ref=ThisRef},UseSetting,Fore) <<ThisRef:32/?UI,(wxe_util:from_bool(UseSetting)):32/?UI,(wxe_util:colour_bin(Fore)):16/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetselbackground">external documentation</a>. --spec setSelBackground(This, UseSetting, Back) -> ok when +-spec setSelBackground(This, UseSetting, Back) -> 'ok' when This::wxStyledTextCtrl(), UseSetting::boolean(), Back::wx:wx_colour(). setSelBackground(#wx_ref{type=ThisT,ref=ThisRef},UseSetting,Back) when is_boolean(UseSetting),tuple_size(Back) =:= 3; tuple_size(Back) =:= 4 -> @@ -899,7 +899,7 @@ getSelAlpha(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetselalpha">external documentation</a>. --spec setSelAlpha(This, Alpha) -> ok when +-spec setSelAlpha(This, Alpha) -> 'ok' when This::wxStyledTextCtrl(), Alpha::integer(). setSelAlpha(#wx_ref{type=ThisT,ref=ThisRef},Alpha) when is_integer(Alpha) -> @@ -908,7 +908,7 @@ setSelAlpha(#wx_ref{type=ThisT,ref=ThisRef},Alpha) <<ThisRef:32/?UI,Alpha:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetcaretforeground">external documentation</a>. --spec setCaretForeground(This, Fore) -> ok when +-spec setCaretForeground(This, Fore) -> 'ok' when This::wxStyledTextCtrl(), Fore::wx:wx_colour(). setCaretForeground(#wx_ref{type=ThisT,ref=ThisRef},Fore) when tuple_size(Fore) =:= 3; tuple_size(Fore) =:= 4 -> @@ -917,7 +917,7 @@ setCaretForeground(#wx_ref{type=ThisT,ref=ThisRef},Fore) <<ThisRef:32/?UI,(wxe_util:colour_bin(Fore)):16/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlcmdkeyassign">external documentation</a>. --spec cmdKeyAssign(This, Key, Modifiers, Cmd) -> ok when +-spec cmdKeyAssign(This, Key, Modifiers, Cmd) -> 'ok' when This::wxStyledTextCtrl(), Key::integer(), Modifiers::integer(), Cmd::integer(). cmdKeyAssign(#wx_ref{type=ThisT,ref=ThisRef},Key,Modifiers,Cmd) when is_integer(Key),is_integer(Modifiers),is_integer(Cmd) -> @@ -926,7 +926,7 @@ cmdKeyAssign(#wx_ref{type=ThisT,ref=ThisRef},Key,Modifiers,Cmd) <<ThisRef:32/?UI,Key:32/?UI,Modifiers:32/?UI,Cmd:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlcmdkeyclear">external documentation</a>. --spec cmdKeyClear(This, Key, Modifiers) -> ok when +-spec cmdKeyClear(This, Key, Modifiers) -> 'ok' when This::wxStyledTextCtrl(), Key::integer(), Modifiers::integer(). cmdKeyClear(#wx_ref{type=ThisT,ref=ThisRef},Key,Modifiers) when is_integer(Key),is_integer(Modifiers) -> @@ -935,7 +935,7 @@ cmdKeyClear(#wx_ref{type=ThisT,ref=ThisRef},Key,Modifiers) <<ThisRef:32/?UI,Key:32/?UI,Modifiers:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlcmdkeyclearall">external documentation</a>. --spec cmdKeyClearAll(This) -> ok when +-spec cmdKeyClearAll(This) -> 'ok' when This::wxStyledTextCtrl(). cmdKeyClearAll(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -952,7 +952,7 @@ setStyleBytes(#wx_ref{type=ThisT,ref=ThisRef},Length) <<ThisRef:32/?UI,Length:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlstylesetvisible">external documentation</a>. --spec styleSetVisible(This, Style, Visible) -> ok when +-spec styleSetVisible(This, Style, Visible) -> 'ok' when This::wxStyledTextCtrl(), Style::integer(), Visible::boolean(). styleSetVisible(#wx_ref{type=ThisT,ref=ThisRef},Style,Visible) when is_integer(Style),is_boolean(Visible) -> @@ -969,7 +969,7 @@ getCaretPeriod(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetcaretperiod">external documentation</a>. --spec setCaretPeriod(This, PeriodMilliseconds) -> ok when +-spec setCaretPeriod(This, PeriodMilliseconds) -> 'ok' when This::wxStyledTextCtrl(), PeriodMilliseconds::integer(). setCaretPeriod(#wx_ref{type=ThisT,ref=ThisRef},PeriodMilliseconds) when is_integer(PeriodMilliseconds) -> @@ -978,7 +978,7 @@ setCaretPeriod(#wx_ref{type=ThisT,ref=ThisRef},PeriodMilliseconds) <<ThisRef:32/?UI,PeriodMilliseconds:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetwordchars">external documentation</a>. --spec setWordChars(This, Characters) -> ok when +-spec setWordChars(This, Characters) -> 'ok' when This::wxStyledTextCtrl(), Characters::unicode:chardata(). setWordChars(#wx_ref{type=ThisT,ref=ThisRef},Characters) when is_list(Characters) -> @@ -988,7 +988,7 @@ setWordChars(#wx_ref{type=ThisT,ref=ThisRef},Characters) <<ThisRef:32/?UI,(byte_size(Characters_UC)):32/?UI,(Characters_UC)/binary, 0:(((8- ((0+byte_size(Characters_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlbeginundoaction">external documentation</a>. --spec beginUndoAction(This) -> ok when +-spec beginUndoAction(This) -> 'ok' when This::wxStyledTextCtrl(). beginUndoAction(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -996,7 +996,7 @@ beginUndoAction(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlendundoaction">external documentation</a>. --spec endUndoAction(This) -> ok when +-spec endUndoAction(This) -> 'ok' when This::wxStyledTextCtrl(). endUndoAction(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -1004,7 +1004,7 @@ endUndoAction(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlindicatorsetstyle">external documentation</a>. --spec indicatorSetStyle(This, Indic, Style) -> ok when +-spec indicatorSetStyle(This, Indic, Style) -> 'ok' when This::wxStyledTextCtrl(), Indic::integer(), Style::integer(). indicatorSetStyle(#wx_ref{type=ThisT,ref=ThisRef},Indic,Style) when is_integer(Indic),is_integer(Style) -> @@ -1022,7 +1022,7 @@ indicatorGetStyle(#wx_ref{type=ThisT,ref=ThisRef},Indic) <<ThisRef:32/?UI,Indic:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlindicatorsetforeground">external documentation</a>. --spec indicatorSetForeground(This, Indic, Fore) -> ok when +-spec indicatorSetForeground(This, Indic, Fore) -> 'ok' when This::wxStyledTextCtrl(), Indic::integer(), Fore::wx:wx_colour(). indicatorSetForeground(#wx_ref{type=ThisT,ref=ThisRef},Indic,Fore) when is_integer(Indic),tuple_size(Fore) =:= 3; tuple_size(Fore) =:= 4 -> @@ -1040,7 +1040,7 @@ indicatorGetForeground(#wx_ref{type=ThisT,ref=ThisRef},Indic) <<ThisRef:32/?UI,Indic:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetwhitespaceforeground">external documentation</a>. --spec setWhitespaceForeground(This, UseSetting, Fore) -> ok when +-spec setWhitespaceForeground(This, UseSetting, Fore) -> 'ok' when This::wxStyledTextCtrl(), UseSetting::boolean(), Fore::wx:wx_colour(). setWhitespaceForeground(#wx_ref{type=ThisT,ref=ThisRef},UseSetting,Fore) when is_boolean(UseSetting),tuple_size(Fore) =:= 3; tuple_size(Fore) =:= 4 -> @@ -1049,7 +1049,7 @@ setWhitespaceForeground(#wx_ref{type=ThisT,ref=ThisRef},UseSetting,Fore) <<ThisRef:32/?UI,(wxe_util:from_bool(UseSetting)):32/?UI,(wxe_util:colour_bin(Fore)):16/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetwhitespacebackground">external documentation</a>. --spec setWhitespaceBackground(This, UseSetting, Back) -> ok when +-spec setWhitespaceBackground(This, UseSetting, Back) -> 'ok' when This::wxStyledTextCtrl(), UseSetting::boolean(), Back::wx:wx_colour(). setWhitespaceBackground(#wx_ref{type=ThisT,ref=ThisRef},UseSetting,Back) when is_boolean(UseSetting),tuple_size(Back) =:= 3; tuple_size(Back) =:= 4 -> @@ -1066,7 +1066,7 @@ getStyleBits(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetlinestate">external documentation</a>. --spec setLineState(This, Line, State) -> ok when +-spec setLineState(This, Line, State) -> 'ok' when This::wxStyledTextCtrl(), Line::integer(), State::integer(). setLineState(#wx_ref{type=ThisT,ref=ThisRef},Line,State) when is_integer(Line),is_integer(State) -> @@ -1100,7 +1100,7 @@ getCaretLineVisible(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetcaretlinevisible">external documentation</a>. --spec setCaretLineVisible(This, Show) -> ok when +-spec setCaretLineVisible(This, Show) -> 'ok' when This::wxStyledTextCtrl(), Show::boolean(). setCaretLineVisible(#wx_ref{type=ThisT,ref=ThisRef},Show) when is_boolean(Show) -> @@ -1117,7 +1117,7 @@ getCaretLineBackground(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetcaretlinebackground">external documentation</a>. --spec setCaretLineBackground(This, Back) -> ok when +-spec setCaretLineBackground(This, Back) -> 'ok' when This::wxStyledTextCtrl(), Back::wx:wx_colour(). setCaretLineBackground(#wx_ref{type=ThisT,ref=ThisRef},Back) when tuple_size(Back) =:= 3; tuple_size(Back) =:= 4 -> @@ -1126,7 +1126,7 @@ setCaretLineBackground(#wx_ref{type=ThisT,ref=ThisRef},Back) <<ThisRef:32/?UI,(wxe_util:colour_bin(Back)):16/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlautocompshow">external documentation</a>. --spec autoCompShow(This, LenEntered, ItemList) -> ok when +-spec autoCompShow(This, LenEntered, ItemList) -> 'ok' when This::wxStyledTextCtrl(), LenEntered::integer(), ItemList::unicode:chardata(). autoCompShow(#wx_ref{type=ThisT,ref=ThisRef},LenEntered,ItemList) when is_integer(LenEntered),is_list(ItemList) -> @@ -1136,7 +1136,7 @@ autoCompShow(#wx_ref{type=ThisT,ref=ThisRef},LenEntered,ItemList) <<ThisRef:32/?UI,LenEntered:32/?UI,(byte_size(ItemList_UC)):32/?UI,(ItemList_UC)/binary, 0:(((8- ((4+byte_size(ItemList_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlautocompcancel">external documentation</a>. --spec autoCompCancel(This) -> ok when +-spec autoCompCancel(This) -> 'ok' when This::wxStyledTextCtrl(). autoCompCancel(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -1160,7 +1160,7 @@ autoCompPosStart(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlautocompcomplete">external documentation</a>. --spec autoCompComplete(This) -> ok when +-spec autoCompComplete(This) -> 'ok' when This::wxStyledTextCtrl(). autoCompComplete(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -1168,7 +1168,7 @@ autoCompComplete(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlautocompstops">external documentation</a>. --spec autoCompStops(This, CharacterSet) -> ok when +-spec autoCompStops(This, CharacterSet) -> 'ok' when This::wxStyledTextCtrl(), CharacterSet::unicode:chardata(). autoCompStops(#wx_ref{type=ThisT,ref=ThisRef},CharacterSet) when is_list(CharacterSet) -> @@ -1178,7 +1178,7 @@ autoCompStops(#wx_ref{type=ThisT,ref=ThisRef},CharacterSet) <<ThisRef:32/?UI,(byte_size(CharacterSet_UC)):32/?UI,(CharacterSet_UC)/binary, 0:(((8- ((0+byte_size(CharacterSet_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlautocompsetseparator">external documentation</a>. --spec autoCompSetSeparator(This, SeparatorCharacter) -> ok when +-spec autoCompSetSeparator(This, SeparatorCharacter) -> 'ok' when This::wxStyledTextCtrl(), SeparatorCharacter::integer(). autoCompSetSeparator(#wx_ref{type=ThisT,ref=ThisRef},SeparatorCharacter) when is_integer(SeparatorCharacter) -> @@ -1195,7 +1195,7 @@ autoCompGetSeparator(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlautocompselect">external documentation</a>. --spec autoCompSelect(This, Text) -> ok when +-spec autoCompSelect(This, Text) -> 'ok' when This::wxStyledTextCtrl(), Text::unicode:chardata(). autoCompSelect(#wx_ref{type=ThisT,ref=ThisRef},Text) when is_list(Text) -> @@ -1205,7 +1205,7 @@ autoCompSelect(#wx_ref{type=ThisT,ref=ThisRef},Text) <<ThisRef:32/?UI,(byte_size(Text_UC)):32/?UI,(Text_UC)/binary, 0:(((8- ((0+byte_size(Text_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlautocompsetcancelatstart">external documentation</a>. --spec autoCompSetCancelAtStart(This, Cancel) -> ok when +-spec autoCompSetCancelAtStart(This, Cancel) -> 'ok' when This::wxStyledTextCtrl(), Cancel::boolean(). autoCompSetCancelAtStart(#wx_ref{type=ThisT,ref=ThisRef},Cancel) when is_boolean(Cancel) -> @@ -1222,7 +1222,7 @@ autoCompGetCancelAtStart(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlautocompsetfillups">external documentation</a>. --spec autoCompSetFillUps(This, CharacterSet) -> ok when +-spec autoCompSetFillUps(This, CharacterSet) -> 'ok' when This::wxStyledTextCtrl(), CharacterSet::unicode:chardata(). autoCompSetFillUps(#wx_ref{type=ThisT,ref=ThisRef},CharacterSet) when is_list(CharacterSet) -> @@ -1232,7 +1232,7 @@ autoCompSetFillUps(#wx_ref{type=ThisT,ref=ThisRef},CharacterSet) <<ThisRef:32/?UI,(byte_size(CharacterSet_UC)):32/?UI,(CharacterSet_UC)/binary, 0:(((8- ((0+byte_size(CharacterSet_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlautocompsetchoosesingle">external documentation</a>. --spec autoCompSetChooseSingle(This, ChooseSingle) -> ok when +-spec autoCompSetChooseSingle(This, ChooseSingle) -> 'ok' when This::wxStyledTextCtrl(), ChooseSingle::boolean(). autoCompSetChooseSingle(#wx_ref{type=ThisT,ref=ThisRef},ChooseSingle) when is_boolean(ChooseSingle) -> @@ -1249,7 +1249,7 @@ autoCompGetChooseSingle(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlautocompsetignorecase">external documentation</a>. --spec autoCompSetIgnoreCase(This, IgnoreCase) -> ok when +-spec autoCompSetIgnoreCase(This, IgnoreCase) -> 'ok' when This::wxStyledTextCtrl(), IgnoreCase::boolean(). autoCompSetIgnoreCase(#wx_ref{type=ThisT,ref=ThisRef},IgnoreCase) when is_boolean(IgnoreCase) -> @@ -1266,7 +1266,7 @@ autoCompGetIgnoreCase(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrluserlistshow">external documentation</a>. --spec userListShow(This, ListType, ItemList) -> ok when +-spec userListShow(This, ListType, ItemList) -> 'ok' when This::wxStyledTextCtrl(), ListType::integer(), ItemList::unicode:chardata(). userListShow(#wx_ref{type=ThisT,ref=ThisRef},ListType,ItemList) when is_integer(ListType),is_list(ItemList) -> @@ -1276,7 +1276,7 @@ userListShow(#wx_ref{type=ThisT,ref=ThisRef},ListType,ItemList) <<ThisRef:32/?UI,ListType:32/?UI,(byte_size(ItemList_UC)):32/?UI,(ItemList_UC)/binary, 0:(((8- ((4+byte_size(ItemList_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlautocompsetautohide">external documentation</a>. --spec autoCompSetAutoHide(This, AutoHide) -> ok when +-spec autoCompSetAutoHide(This, AutoHide) -> 'ok' when This::wxStyledTextCtrl(), AutoHide::boolean(). autoCompSetAutoHide(#wx_ref{type=ThisT,ref=ThisRef},AutoHide) when is_boolean(AutoHide) -> @@ -1293,7 +1293,7 @@ autoCompGetAutoHide(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlautocompsetdroprestofword">external documentation</a>. --spec autoCompSetDropRestOfWord(This, DropRestOfWord) -> ok when +-spec autoCompSetDropRestOfWord(This, DropRestOfWord) -> 'ok' when This::wxStyledTextCtrl(), DropRestOfWord::boolean(). autoCompSetDropRestOfWord(#wx_ref{type=ThisT,ref=ThisRef},DropRestOfWord) when is_boolean(DropRestOfWord) -> @@ -1310,7 +1310,7 @@ autoCompGetDropRestOfWord(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlregisterimage">external documentation</a>. --spec registerImage(This, Type, Bmp) -> ok when +-spec registerImage(This, Type, Bmp) -> 'ok' when This::wxStyledTextCtrl(), Type::integer(), Bmp::wxBitmap:wxBitmap(). registerImage(#wx_ref{type=ThisT,ref=ThisRef},Type,#wx_ref{type=BmpT,ref=BmpRef}) when is_integer(Type) -> @@ -1320,7 +1320,7 @@ registerImage(#wx_ref{type=ThisT,ref=ThisRef},Type,#wx_ref{type=BmpT,ref=BmpRef} <<ThisRef:32/?UI,Type:32/?UI,BmpRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlclearregisteredimages">external documentation</a>. --spec clearRegisteredImages(This) -> ok when +-spec clearRegisteredImages(This) -> 'ok' when This::wxStyledTextCtrl(). clearRegisteredImages(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -1336,7 +1336,7 @@ autoCompGetTypeSeparator(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlautocompsettypeseparator">external documentation</a>. --spec autoCompSetTypeSeparator(This, SeparatorCharacter) -> ok when +-spec autoCompSetTypeSeparator(This, SeparatorCharacter) -> 'ok' when This::wxStyledTextCtrl(), SeparatorCharacter::integer(). autoCompSetTypeSeparator(#wx_ref{type=ThisT,ref=ThisRef},SeparatorCharacter) when is_integer(SeparatorCharacter) -> @@ -1345,7 +1345,7 @@ autoCompSetTypeSeparator(#wx_ref{type=ThisT,ref=ThisRef},SeparatorCharacter) <<ThisRef:32/?UI,SeparatorCharacter:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlautocompsetmaxwidth">external documentation</a>. --spec autoCompSetMaxWidth(This, CharacterCount) -> ok when +-spec autoCompSetMaxWidth(This, CharacterCount) -> 'ok' when This::wxStyledTextCtrl(), CharacterCount::integer(). autoCompSetMaxWidth(#wx_ref{type=ThisT,ref=ThisRef},CharacterCount) when is_integer(CharacterCount) -> @@ -1362,7 +1362,7 @@ autoCompGetMaxWidth(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlautocompsetmaxheight">external documentation</a>. --spec autoCompSetMaxHeight(This, RowCount) -> ok when +-spec autoCompSetMaxHeight(This, RowCount) -> 'ok' when This::wxStyledTextCtrl(), RowCount::integer(). autoCompSetMaxHeight(#wx_ref{type=ThisT,ref=ThisRef},RowCount) when is_integer(RowCount) -> @@ -1379,7 +1379,7 @@ autoCompGetMaxHeight(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetindent">external documentation</a>. --spec setIndent(This, IndentSize) -> ok when +-spec setIndent(This, IndentSize) -> 'ok' when This::wxStyledTextCtrl(), IndentSize::integer(). setIndent(#wx_ref{type=ThisT,ref=ThisRef},IndentSize) when is_integer(IndentSize) -> @@ -1396,7 +1396,7 @@ getIndent(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetusetabs">external documentation</a>. --spec setUseTabs(This, UseTabs) -> ok when +-spec setUseTabs(This, UseTabs) -> 'ok' when This::wxStyledTextCtrl(), UseTabs::boolean(). setUseTabs(#wx_ref{type=ThisT,ref=ThisRef},UseTabs) when is_boolean(UseTabs) -> @@ -1413,7 +1413,7 @@ getUseTabs(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetlineindentation">external documentation</a>. --spec setLineIndentation(This, Line, IndentSize) -> ok when +-spec setLineIndentation(This, Line, IndentSize) -> 'ok' when This::wxStyledTextCtrl(), Line::integer(), IndentSize::integer(). setLineIndentation(#wx_ref{type=ThisT,ref=ThisRef},Line,IndentSize) when is_integer(Line),is_integer(IndentSize) -> @@ -1449,7 +1449,7 @@ getColumn(#wx_ref{type=ThisT,ref=ThisRef},Pos) <<ThisRef:32/?UI,Pos:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetusehorizontalscrollbar">external documentation</a>. --spec setUseHorizontalScrollBar(This, Show) -> ok when +-spec setUseHorizontalScrollBar(This, Show) -> 'ok' when This::wxStyledTextCtrl(), Show::boolean(). setUseHorizontalScrollBar(#wx_ref{type=ThisT,ref=ThisRef},Show) when is_boolean(Show) -> @@ -1466,7 +1466,7 @@ getUseHorizontalScrollBar(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetindentationguides">external documentation</a>. --spec setIndentationGuides(This, Show) -> ok when +-spec setIndentationGuides(This, Show) -> 'ok' when This::wxStyledTextCtrl(), Show::boolean(). setIndentationGuides(#wx_ref{type=ThisT,ref=ThisRef},Show) when is_boolean(Show) -> @@ -1483,7 +1483,7 @@ getIndentationGuides(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsethighlightguide">external documentation</a>. --spec setHighlightGuide(This, Column) -> ok when +-spec setHighlightGuide(This, Column) -> 'ok' when This::wxStyledTextCtrl(), Column::integer(). setHighlightGuide(#wx_ref{type=ThisT,ref=ThisRef},Column) when is_integer(Column) -> @@ -1533,7 +1533,7 @@ getReadOnly(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetcurrentpos">external documentation</a>. --spec setCurrentPos(This, Pos) -> ok when +-spec setCurrentPos(This, Pos) -> 'ok' when This::wxStyledTextCtrl(), Pos::integer(). setCurrentPos(#wx_ref{type=ThisT,ref=ThisRef},Pos) when is_integer(Pos) -> @@ -1542,7 +1542,7 @@ setCurrentPos(#wx_ref{type=ThisT,ref=ThisRef},Pos) <<ThisRef:32/?UI,Pos:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetselectionstart">external documentation</a>. --spec setSelectionStart(This, Pos) -> ok when +-spec setSelectionStart(This, Pos) -> 'ok' when This::wxStyledTextCtrl(), Pos::integer(). setSelectionStart(#wx_ref{type=ThisT,ref=ThisRef},Pos) when is_integer(Pos) -> @@ -1559,7 +1559,7 @@ getSelectionStart(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetselectionend">external documentation</a>. --spec setSelectionEnd(This, Pos) -> ok when +-spec setSelectionEnd(This, Pos) -> 'ok' when This::wxStyledTextCtrl(), Pos::integer(). setSelectionEnd(#wx_ref{type=ThisT,ref=ThisRef},Pos) when is_integer(Pos) -> @@ -1576,7 +1576,7 @@ getSelectionEnd(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetprintmagnification">external documentation</a>. --spec setPrintMagnification(This, Magnification) -> ok when +-spec setPrintMagnification(This, Magnification) -> 'ok' when This::wxStyledTextCtrl(), Magnification::integer(). setPrintMagnification(#wx_ref{type=ThisT,ref=ThisRef},Magnification) when is_integer(Magnification) -> @@ -1593,7 +1593,7 @@ getPrintMagnification(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetprintcolourmode">external documentation</a>. --spec setPrintColourMode(This, Mode) -> ok when +-spec setPrintColourMode(This, Mode) -> 'ok' when This::wxStyledTextCtrl(), Mode::integer(). setPrintColourMode(#wx_ref{type=ThisT,ref=ThisRef},Mode) when is_integer(Mode) -> @@ -1620,7 +1620,7 @@ findText(This,MinPos,MaxPos,Text) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlfindtext">external documentation</a>. -spec findText(This, MinPos, MaxPos, Text, [Option]) -> integer() when This::wxStyledTextCtrl(), MinPos::integer(), MaxPos::integer(), Text::unicode:chardata(), - Option :: {flags, integer()}. + Option :: {'flags', integer()}. findText(#wx_ref{type=ThisT,ref=ThisRef},MinPos,MaxPos,Text, Options) when is_integer(MinPos),is_integer(MaxPos),is_list(Text),is_list(Options) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -1668,7 +1668,7 @@ getLineCount(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetmarginleft">external documentation</a>. --spec setMarginLeft(This, PixelWidth) -> ok when +-spec setMarginLeft(This, PixelWidth) -> 'ok' when This::wxStyledTextCtrl(), PixelWidth::integer(). setMarginLeft(#wx_ref{type=ThisT,ref=ThisRef},PixelWidth) when is_integer(PixelWidth) -> @@ -1685,7 +1685,7 @@ getMarginLeft(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetmarginright">external documentation</a>. --spec setMarginRight(This, PixelWidth) -> ok when +-spec setMarginRight(This, PixelWidth) -> 'ok' when This::wxStyledTextCtrl(), PixelWidth::integer(). setMarginRight(#wx_ref{type=ThisT,ref=ThisRef},PixelWidth) when is_integer(PixelWidth) -> @@ -1710,7 +1710,7 @@ getModify(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetselection">external documentation</a>. --spec setSelection(This, Start, End) -> ok when +-spec setSelection(This, Start, End) -> 'ok' when This::wxStyledTextCtrl(), Start::integer(), End::integer(). setSelection(#wx_ref{type=ThisT,ref=ThisRef},Start,End) when is_integer(Start),is_integer(End) -> @@ -1736,7 +1736,7 @@ getTextRange(#wx_ref{type=ThisT,ref=ThisRef},StartPos,EndPos) <<ThisRef:32/?UI,StartPos:32/?UI,EndPos:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlhideselection">external documentation</a>. --spec hideSelection(This, Normal) -> ok when +-spec hideSelection(This, Normal) -> 'ok' when This::wxStyledTextCtrl(), Normal::boolean(). hideSelection(#wx_ref{type=ThisT,ref=ThisRef},Normal) when is_boolean(Normal) -> @@ -1763,7 +1763,7 @@ positionFromLine(#wx_ref{type=ThisT,ref=ThisRef},Line) <<ThisRef:32/?UI,Line:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrllinescroll">external documentation</a>. --spec lineScroll(This, Columns, Lines) -> ok when +-spec lineScroll(This, Columns, Lines) -> 'ok' when This::wxStyledTextCtrl(), Columns::integer(), Lines::integer(). lineScroll(#wx_ref{type=ThisT,ref=ThisRef},Columns,Lines) when is_integer(Columns),is_integer(Lines) -> @@ -1772,7 +1772,7 @@ lineScroll(#wx_ref{type=ThisT,ref=ThisRef},Columns,Lines) <<ThisRef:32/?UI,Columns:32/?UI,Lines:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlensurecaretvisible">external documentation</a>. --spec ensureCaretVisible(This) -> ok when +-spec ensureCaretVisible(This) -> 'ok' when This::wxStyledTextCtrl(). ensureCaretVisible(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -1780,7 +1780,7 @@ ensureCaretVisible(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlreplaceselection">external documentation</a>. --spec replaceSelection(This, Text) -> ok when +-spec replaceSelection(This, Text) -> 'ok' when This::wxStyledTextCtrl(), Text::unicode:chardata(). replaceSelection(#wx_ref{type=ThisT,ref=ThisRef},Text) when is_list(Text) -> @@ -1790,7 +1790,7 @@ replaceSelection(#wx_ref{type=ThisT,ref=ThisRef},Text) <<ThisRef:32/?UI,(byte_size(Text_UC)):32/?UI,(Text_UC)/binary, 0:(((8- ((0+byte_size(Text_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetreadonly">external documentation</a>. --spec setReadOnly(This, ReadOnly) -> ok when +-spec setReadOnly(This, ReadOnly) -> 'ok' when This::wxStyledTextCtrl(), ReadOnly::boolean(). setReadOnly(#wx_ref{type=ThisT,ref=ThisRef},ReadOnly) when is_boolean(ReadOnly) -> @@ -1815,7 +1815,7 @@ canUndo(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlemptyundobuffer">external documentation</a>. --spec emptyUndoBuffer(This) -> ok when +-spec emptyUndoBuffer(This) -> 'ok' when This::wxStyledTextCtrl(). emptyUndoBuffer(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -1823,7 +1823,7 @@ emptyUndoBuffer(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlundo">external documentation</a>. --spec undo(This) -> ok when +-spec undo(This) -> 'ok' when This::wxStyledTextCtrl(). undo(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -1831,7 +1831,7 @@ undo(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlcut">external documentation</a>. --spec cut(This) -> ok when +-spec cut(This) -> 'ok' when This::wxStyledTextCtrl(). cut(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -1839,7 +1839,7 @@ cut(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlcopy">external documentation</a>. --spec copy(This) -> ok when +-spec copy(This) -> 'ok' when This::wxStyledTextCtrl(). copy(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -1847,7 +1847,7 @@ copy(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlpaste">external documentation</a>. --spec paste(This) -> ok when +-spec paste(This) -> 'ok' when This::wxStyledTextCtrl(). paste(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -1855,7 +1855,7 @@ paste(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlclear">external documentation</a>. --spec clear(This) -> ok when +-spec clear(This) -> 'ok' when This::wxStyledTextCtrl(). clear(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -1863,7 +1863,7 @@ clear(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsettext">external documentation</a>. --spec setText(This, Text) -> ok when +-spec setText(This, Text) -> 'ok' when This::wxStyledTextCtrl(), Text::unicode:chardata(). setText(#wx_ref{type=ThisT,ref=ThisRef},Text) when is_list(Text) -> @@ -1897,7 +1897,7 @@ getOvertype(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetcaretwidth">external documentation</a>. --spec setCaretWidth(This, PixelWidth) -> ok when +-spec setCaretWidth(This, PixelWidth) -> 'ok' when This::wxStyledTextCtrl(), PixelWidth::integer(). setCaretWidth(#wx_ref{type=ThisT,ref=ThisRef},PixelWidth) when is_integer(PixelWidth) -> @@ -1914,7 +1914,7 @@ getCaretWidth(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsettargetstart">external documentation</a>. --spec setTargetStart(This, Pos) -> ok when +-spec setTargetStart(This, Pos) -> 'ok' when This::wxStyledTextCtrl(), Pos::integer(). setTargetStart(#wx_ref{type=ThisT,ref=ThisRef},Pos) when is_integer(Pos) -> @@ -1931,7 +1931,7 @@ getTargetStart(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsettargetend">external documentation</a>. --spec setTargetEnd(This, Pos) -> ok when +-spec setTargetEnd(This, Pos) -> 'ok' when This::wxStyledTextCtrl(), Pos::integer(). setTargetEnd(#wx_ref{type=ThisT,ref=ThisRef},Pos) when is_integer(Pos) -> @@ -1968,7 +1968,7 @@ searchInTarget(#wx_ref{type=ThisT,ref=ThisRef},Text) <<ThisRef:32/?UI,(byte_size(Text_UC)):32/?UI,(Text_UC)/binary, 0:(((8- ((0+byte_size(Text_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetsearchflags">external documentation</a>. --spec setSearchFlags(This, Flags) -> ok when +-spec setSearchFlags(This, Flags) -> 'ok' when This::wxStyledTextCtrl(), Flags::integer(). setSearchFlags(#wx_ref{type=ThisT,ref=ThisRef},Flags) when is_integer(Flags) -> @@ -1985,7 +1985,7 @@ getSearchFlags(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlcalltipshow">external documentation</a>. --spec callTipShow(This, Pos, Definition) -> ok when +-spec callTipShow(This, Pos, Definition) -> 'ok' when This::wxStyledTextCtrl(), Pos::integer(), Definition::unicode:chardata(). callTipShow(#wx_ref{type=ThisT,ref=ThisRef},Pos,Definition) when is_integer(Pos),is_list(Definition) -> @@ -1995,7 +1995,7 @@ callTipShow(#wx_ref{type=ThisT,ref=ThisRef},Pos,Definition) <<ThisRef:32/?UI,Pos:32/?UI,(byte_size(Definition_UC)):32/?UI,(Definition_UC)/binary, 0:(((8- ((4+byte_size(Definition_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlcalltipcancel">external documentation</a>. --spec callTipCancel(This) -> ok when +-spec callTipCancel(This) -> 'ok' when This::wxStyledTextCtrl(). callTipCancel(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2019,7 +2019,7 @@ callTipPosAtStart(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlcalltipsethighlight">external documentation</a>. --spec callTipSetHighlight(This, Start, End) -> ok when +-spec callTipSetHighlight(This, Start, End) -> 'ok' when This::wxStyledTextCtrl(), Start::integer(), End::integer(). callTipSetHighlight(#wx_ref{type=ThisT,ref=ThisRef},Start,End) when is_integer(Start),is_integer(End) -> @@ -2028,7 +2028,7 @@ callTipSetHighlight(#wx_ref{type=ThisT,ref=ThisRef},Start,End) <<ThisRef:32/?UI,Start:32/?UI,End:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlcalltipsetbackground">external documentation</a>. --spec callTipSetBackground(This, Back) -> ok when +-spec callTipSetBackground(This, Back) -> 'ok' when This::wxStyledTextCtrl(), Back::wx:wx_colour(). callTipSetBackground(#wx_ref{type=ThisT,ref=ThisRef},Back) when tuple_size(Back) =:= 3; tuple_size(Back) =:= 4 -> @@ -2037,7 +2037,7 @@ callTipSetBackground(#wx_ref{type=ThisT,ref=ThisRef},Back) <<ThisRef:32/?UI,(wxe_util:colour_bin(Back)):16/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlcalltipsetforeground">external documentation</a>. --spec callTipSetForeground(This, Fore) -> ok when +-spec callTipSetForeground(This, Fore) -> 'ok' when This::wxStyledTextCtrl(), Fore::wx:wx_colour(). callTipSetForeground(#wx_ref{type=ThisT,ref=ThisRef},Fore) when tuple_size(Fore) =:= 3; tuple_size(Fore) =:= 4 -> @@ -2046,7 +2046,7 @@ callTipSetForeground(#wx_ref{type=ThisT,ref=ThisRef},Fore) <<ThisRef:32/?UI,(wxe_util:colour_bin(Fore)):16/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlcalltipsetforegroundhighlight">external documentation</a>. --spec callTipSetForegroundHighlight(This, Fore) -> ok when +-spec callTipSetForegroundHighlight(This, Fore) -> 'ok' when This::wxStyledTextCtrl(), Fore::wx:wx_colour(). callTipSetForegroundHighlight(#wx_ref{type=ThisT,ref=ThisRef},Fore) when tuple_size(Fore) =:= 3; tuple_size(Fore) =:= 4 -> @@ -2055,7 +2055,7 @@ callTipSetForegroundHighlight(#wx_ref{type=ThisT,ref=ThisRef},Fore) <<ThisRef:32/?UI,(wxe_util:colour_bin(Fore)):16/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlcalltipusestyle">external documentation</a>. --spec callTipUseStyle(This, TabSize) -> ok when +-spec callTipUseStyle(This, TabSize) -> 'ok' when This::wxStyledTextCtrl(), TabSize::integer(). callTipUseStyle(#wx_ref{type=ThisT,ref=ThisRef},TabSize) when is_integer(TabSize) -> @@ -2091,7 +2091,7 @@ wrapCount(#wx_ref{type=ThisT,ref=ThisRef},Line) <<ThisRef:32/?UI,Line:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetfoldlevel">external documentation</a>. --spec setFoldLevel(This, Line, Level) -> ok when +-spec setFoldLevel(This, Line, Level) -> 'ok' when This::wxStyledTextCtrl(), Line::integer(), Level::integer(). setFoldLevel(#wx_ref{type=ThisT,ref=ThisRef},Line,Level) when is_integer(Line),is_integer(Level) -> @@ -2127,7 +2127,7 @@ getFoldParent(#wx_ref{type=ThisT,ref=ThisRef},Line) <<ThisRef:32/?UI,Line:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlshowlines">external documentation</a>. --spec showLines(This, LineStart, LineEnd) -> ok when +-spec showLines(This, LineStart, LineEnd) -> 'ok' when This::wxStyledTextCtrl(), LineStart::integer(), LineEnd::integer(). showLines(#wx_ref{type=ThisT,ref=ThisRef},LineStart,LineEnd) when is_integer(LineStart),is_integer(LineEnd) -> @@ -2136,7 +2136,7 @@ showLines(#wx_ref{type=ThisT,ref=ThisRef},LineStart,LineEnd) <<ThisRef:32/?UI,LineStart:32/?UI,LineEnd:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlhidelines">external documentation</a>. --spec hideLines(This, LineStart, LineEnd) -> ok when +-spec hideLines(This, LineStart, LineEnd) -> 'ok' when This::wxStyledTextCtrl(), LineStart::integer(), LineEnd::integer(). hideLines(#wx_ref{type=ThisT,ref=ThisRef},LineStart,LineEnd) when is_integer(LineStart),is_integer(LineEnd) -> @@ -2154,7 +2154,7 @@ getLineVisible(#wx_ref{type=ThisT,ref=ThisRef},Line) <<ThisRef:32/?UI,Line:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetfoldexpanded">external documentation</a>. --spec setFoldExpanded(This, Line, Expanded) -> ok when +-spec setFoldExpanded(This, Line, Expanded) -> 'ok' when This::wxStyledTextCtrl(), Line::integer(), Expanded::boolean(). setFoldExpanded(#wx_ref{type=ThisT,ref=ThisRef},Line,Expanded) when is_integer(Line),is_boolean(Expanded) -> @@ -2172,7 +2172,7 @@ getFoldExpanded(#wx_ref{type=ThisT,ref=ThisRef},Line) <<ThisRef:32/?UI,Line:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrltogglefold">external documentation</a>. --spec toggleFold(This, Line) -> ok when +-spec toggleFold(This, Line) -> 'ok' when This::wxStyledTextCtrl(), Line::integer(). toggleFold(#wx_ref{type=ThisT,ref=ThisRef},Line) when is_integer(Line) -> @@ -2181,7 +2181,7 @@ toggleFold(#wx_ref{type=ThisT,ref=ThisRef},Line) <<ThisRef:32/?UI,Line:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlensurevisible">external documentation</a>. --spec ensureVisible(This, Line) -> ok when +-spec ensureVisible(This, Line) -> 'ok' when This::wxStyledTextCtrl(), Line::integer(). ensureVisible(#wx_ref{type=ThisT,ref=ThisRef},Line) when is_integer(Line) -> @@ -2190,7 +2190,7 @@ ensureVisible(#wx_ref{type=ThisT,ref=ThisRef},Line) <<ThisRef:32/?UI,Line:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetfoldflags">external documentation</a>. --spec setFoldFlags(This, Flags) -> ok when +-spec setFoldFlags(This, Flags) -> 'ok' when This::wxStyledTextCtrl(), Flags::integer(). setFoldFlags(#wx_ref{type=ThisT,ref=ThisRef},Flags) when is_integer(Flags) -> @@ -2199,7 +2199,7 @@ setFoldFlags(#wx_ref{type=ThisT,ref=ThisRef},Flags) <<ThisRef:32/?UI,Flags:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlensurevisibleenforcepolicy">external documentation</a>. --spec ensureVisibleEnforcePolicy(This, Line) -> ok when +-spec ensureVisibleEnforcePolicy(This, Line) -> 'ok' when This::wxStyledTextCtrl(), Line::integer(). ensureVisibleEnforcePolicy(#wx_ref{type=ThisT,ref=ThisRef},Line) when is_integer(Line) -> @@ -2208,7 +2208,7 @@ ensureVisibleEnforcePolicy(#wx_ref{type=ThisT,ref=ThisRef},Line) <<ThisRef:32/?UI,Line:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsettabindents">external documentation</a>. --spec setTabIndents(This, TabIndents) -> ok when +-spec setTabIndents(This, TabIndents) -> 'ok' when This::wxStyledTextCtrl(), TabIndents::boolean(). setTabIndents(#wx_ref{type=ThisT,ref=ThisRef},TabIndents) when is_boolean(TabIndents) -> @@ -2225,7 +2225,7 @@ getTabIndents(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetbackspaceunindents">external documentation</a>. --spec setBackSpaceUnIndents(This, BsUnIndents) -> ok when +-spec setBackSpaceUnIndents(This, BsUnIndents) -> 'ok' when This::wxStyledTextCtrl(), BsUnIndents::boolean(). setBackSpaceUnIndents(#wx_ref{type=ThisT,ref=ThisRef},BsUnIndents) when is_boolean(BsUnIndents) -> @@ -2242,7 +2242,7 @@ getBackSpaceUnIndents(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetmousedwelltime">external documentation</a>. --spec setMouseDwellTime(This, PeriodMilliseconds) -> ok when +-spec setMouseDwellTime(This, PeriodMilliseconds) -> 'ok' when This::wxStyledTextCtrl(), PeriodMilliseconds::integer(). setMouseDwellTime(#wx_ref{type=ThisT,ref=ThisRef},PeriodMilliseconds) when is_integer(PeriodMilliseconds) -> @@ -2277,7 +2277,7 @@ wordEndPosition(#wx_ref{type=ThisT,ref=ThisRef},Pos,OnlyWordCharacters) <<ThisRef:32/?UI,Pos:32/?UI,(wxe_util:from_bool(OnlyWordCharacters)):32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetwrapmode">external documentation</a>. --spec setWrapMode(This, Mode) -> ok when +-spec setWrapMode(This, Mode) -> 'ok' when This::wxStyledTextCtrl(), Mode::integer(). setWrapMode(#wx_ref{type=ThisT,ref=ThisRef},Mode) when is_integer(Mode) -> @@ -2294,7 +2294,7 @@ getWrapMode(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetwrapvisualflags">external documentation</a>. --spec setWrapVisualFlags(This, WrapVisualFlags) -> ok when +-spec setWrapVisualFlags(This, WrapVisualFlags) -> 'ok' when This::wxStyledTextCtrl(), WrapVisualFlags::integer(). setWrapVisualFlags(#wx_ref{type=ThisT,ref=ThisRef},WrapVisualFlags) when is_integer(WrapVisualFlags) -> @@ -2311,7 +2311,7 @@ getWrapVisualFlags(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetwrapvisualflagslocation">external documentation</a>. --spec setWrapVisualFlagsLocation(This, WrapVisualFlagsLocation) -> ok when +-spec setWrapVisualFlagsLocation(This, WrapVisualFlagsLocation) -> 'ok' when This::wxStyledTextCtrl(), WrapVisualFlagsLocation::integer(). setWrapVisualFlagsLocation(#wx_ref{type=ThisT,ref=ThisRef},WrapVisualFlagsLocation) when is_integer(WrapVisualFlagsLocation) -> @@ -2328,7 +2328,7 @@ getWrapVisualFlagsLocation(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetwrapstartindent">external documentation</a>. --spec setWrapStartIndent(This, Indent) -> ok when +-spec setWrapStartIndent(This, Indent) -> 'ok' when This::wxStyledTextCtrl(), Indent::integer(). setWrapStartIndent(#wx_ref{type=ThisT,ref=ThisRef},Indent) when is_integer(Indent) -> @@ -2345,7 +2345,7 @@ getWrapStartIndent(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetlayoutcache">external documentation</a>. --spec setLayoutCache(This, Mode) -> ok when +-spec setLayoutCache(This, Mode) -> 'ok' when This::wxStyledTextCtrl(), Mode::integer(). setLayoutCache(#wx_ref{type=ThisT,ref=ThisRef},Mode) when is_integer(Mode) -> @@ -2362,7 +2362,7 @@ getLayoutCache(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetscrollwidth">external documentation</a>. --spec setScrollWidth(This, PixelWidth) -> ok when +-spec setScrollWidth(This, PixelWidth) -> 'ok' when This::wxStyledTextCtrl(), PixelWidth::integer(). setScrollWidth(#wx_ref{type=ThisT,ref=ThisRef},PixelWidth) when is_integer(PixelWidth) -> @@ -2406,7 +2406,7 @@ textHeight(#wx_ref{type=ThisT,ref=ThisRef},Line) <<ThisRef:32/?UI,Line:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetuseverticalscrollbar">external documentation</a>. --spec setUseVerticalScrollBar(This, Show) -> ok when +-spec setUseVerticalScrollBar(This, Show) -> 'ok' when This::wxStyledTextCtrl(), Show::boolean(). setUseVerticalScrollBar(#wx_ref{type=ThisT,ref=ThisRef},Show) when is_boolean(Show) -> @@ -2423,7 +2423,7 @@ getUseVerticalScrollBar(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlappendtext">external documentation</a>. --spec appendText(This, Text) -> ok when +-spec appendText(This, Text) -> 'ok' when This::wxStyledTextCtrl(), Text::unicode:chardata(). appendText(#wx_ref{type=ThisT,ref=ThisRef},Text) when is_list(Text) -> @@ -2441,7 +2441,7 @@ getTwoPhaseDraw(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsettwophasedraw">external documentation</a>. --spec setTwoPhaseDraw(This, TwoPhase) -> ok when +-spec setTwoPhaseDraw(This, TwoPhase) -> 'ok' when This::wxStyledTextCtrl(), TwoPhase::boolean(). setTwoPhaseDraw(#wx_ref{type=ThisT,ref=ThisRef},TwoPhase) when is_boolean(TwoPhase) -> @@ -2450,7 +2450,7 @@ setTwoPhaseDraw(#wx_ref{type=ThisT,ref=ThisRef},TwoPhase) <<ThisRef:32/?UI,(wxe_util:from_bool(TwoPhase)):32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrltargetfromselection">external documentation</a>. --spec targetFromSelection(This) -> ok when +-spec targetFromSelection(This) -> 'ok' when This::wxStyledTextCtrl(). targetFromSelection(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2458,7 +2458,7 @@ targetFromSelection(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrllinesjoin">external documentation</a>. --spec linesJoin(This) -> ok when +-spec linesJoin(This) -> 'ok' when This::wxStyledTextCtrl(). linesJoin(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2466,7 +2466,7 @@ linesJoin(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrllinessplit">external documentation</a>. --spec linesSplit(This, PixelWidth) -> ok when +-spec linesSplit(This, PixelWidth) -> 'ok' when This::wxStyledTextCtrl(), PixelWidth::integer(). linesSplit(#wx_ref{type=ThisT,ref=ThisRef},PixelWidth) when is_integer(PixelWidth) -> @@ -2475,7 +2475,7 @@ linesSplit(#wx_ref{type=ThisT,ref=ThisRef},PixelWidth) <<ThisRef:32/?UI,PixelWidth:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetfoldmargincolour">external documentation</a>. --spec setFoldMarginColour(This, UseSetting, Back) -> ok when +-spec setFoldMarginColour(This, UseSetting, Back) -> 'ok' when This::wxStyledTextCtrl(), UseSetting::boolean(), Back::wx:wx_colour(). setFoldMarginColour(#wx_ref{type=ThisT,ref=ThisRef},UseSetting,Back) when is_boolean(UseSetting),tuple_size(Back) =:= 3; tuple_size(Back) =:= 4 -> @@ -2484,7 +2484,7 @@ setFoldMarginColour(#wx_ref{type=ThisT,ref=ThisRef},UseSetting,Back) <<ThisRef:32/?UI,(wxe_util:from_bool(UseSetting)):32/?UI,(wxe_util:colour_bin(Back)):16/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetfoldmarginhicolour">external documentation</a>. --spec setFoldMarginHiColour(This, UseSetting, Fore) -> ok when +-spec setFoldMarginHiColour(This, UseSetting, Fore) -> 'ok' when This::wxStyledTextCtrl(), UseSetting::boolean(), Fore::wx:wx_colour(). setFoldMarginHiColour(#wx_ref{type=ThisT,ref=ThisRef},UseSetting,Fore) when is_boolean(UseSetting),tuple_size(Fore) =:= 3; tuple_size(Fore) =:= 4 -> @@ -2493,7 +2493,7 @@ setFoldMarginHiColour(#wx_ref{type=ThisT,ref=ThisRef},UseSetting,Fore) <<ThisRef:32/?UI,(wxe_util:from_bool(UseSetting)):32/?UI,(wxe_util:colour_bin(Fore)):16/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrllinedown">external documentation</a>. --spec lineDown(This) -> ok when +-spec lineDown(This) -> 'ok' when This::wxStyledTextCtrl(). lineDown(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2501,7 +2501,7 @@ lineDown(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrllinedownextend">external documentation</a>. --spec lineDownExtend(This) -> ok when +-spec lineDownExtend(This) -> 'ok' when This::wxStyledTextCtrl(). lineDownExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2509,7 +2509,7 @@ lineDownExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrllineup">external documentation</a>. --spec lineUp(This) -> ok when +-spec lineUp(This) -> 'ok' when This::wxStyledTextCtrl(). lineUp(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2517,7 +2517,7 @@ lineUp(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrllineupextend">external documentation</a>. --spec lineUpExtend(This) -> ok when +-spec lineUpExtend(This) -> 'ok' when This::wxStyledTextCtrl(). lineUpExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2525,7 +2525,7 @@ lineUpExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlcharleft">external documentation</a>. --spec charLeft(This) -> ok when +-spec charLeft(This) -> 'ok' when This::wxStyledTextCtrl(). charLeft(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2533,7 +2533,7 @@ charLeft(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlcharleftextend">external documentation</a>. --spec charLeftExtend(This) -> ok when +-spec charLeftExtend(This) -> 'ok' when This::wxStyledTextCtrl(). charLeftExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2541,7 +2541,7 @@ charLeftExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlcharright">external documentation</a>. --spec charRight(This) -> ok when +-spec charRight(This) -> 'ok' when This::wxStyledTextCtrl(). charRight(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2549,7 +2549,7 @@ charRight(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlcharrightextend">external documentation</a>. --spec charRightExtend(This) -> ok when +-spec charRightExtend(This) -> 'ok' when This::wxStyledTextCtrl(). charRightExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2557,7 +2557,7 @@ charRightExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlwordleft">external documentation</a>. --spec wordLeft(This) -> ok when +-spec wordLeft(This) -> 'ok' when This::wxStyledTextCtrl(). wordLeft(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2565,7 +2565,7 @@ wordLeft(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlwordleftextend">external documentation</a>. --spec wordLeftExtend(This) -> ok when +-spec wordLeftExtend(This) -> 'ok' when This::wxStyledTextCtrl(). wordLeftExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2573,7 +2573,7 @@ wordLeftExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlwordright">external documentation</a>. --spec wordRight(This) -> ok when +-spec wordRight(This) -> 'ok' when This::wxStyledTextCtrl(). wordRight(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2581,7 +2581,7 @@ wordRight(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlwordrightextend">external documentation</a>. --spec wordRightExtend(This) -> ok when +-spec wordRightExtend(This) -> 'ok' when This::wxStyledTextCtrl(). wordRightExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2589,7 +2589,7 @@ wordRightExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlhome">external documentation</a>. --spec home(This) -> ok when +-spec home(This) -> 'ok' when This::wxStyledTextCtrl(). home(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2597,7 +2597,7 @@ home(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlhomeextend">external documentation</a>. --spec homeExtend(This) -> ok when +-spec homeExtend(This) -> 'ok' when This::wxStyledTextCtrl(). homeExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2605,7 +2605,7 @@ homeExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrllineend">external documentation</a>. --spec lineEnd(This) -> ok when +-spec lineEnd(This) -> 'ok' when This::wxStyledTextCtrl(). lineEnd(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2613,7 +2613,7 @@ lineEnd(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrllineendextend">external documentation</a>. --spec lineEndExtend(This) -> ok when +-spec lineEndExtend(This) -> 'ok' when This::wxStyledTextCtrl(). lineEndExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2621,7 +2621,7 @@ lineEndExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrldocumentstart">external documentation</a>. --spec documentStart(This) -> ok when +-spec documentStart(This) -> 'ok' when This::wxStyledTextCtrl(). documentStart(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2629,7 +2629,7 @@ documentStart(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrldocumentstartextend">external documentation</a>. --spec documentStartExtend(This) -> ok when +-spec documentStartExtend(This) -> 'ok' when This::wxStyledTextCtrl(). documentStartExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2637,7 +2637,7 @@ documentStartExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrldocumentend">external documentation</a>. --spec documentEnd(This) -> ok when +-spec documentEnd(This) -> 'ok' when This::wxStyledTextCtrl(). documentEnd(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2645,7 +2645,7 @@ documentEnd(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrldocumentendextend">external documentation</a>. --spec documentEndExtend(This) -> ok when +-spec documentEndExtend(This) -> 'ok' when This::wxStyledTextCtrl(). documentEndExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2653,7 +2653,7 @@ documentEndExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlpageup">external documentation</a>. --spec pageUp(This) -> ok when +-spec pageUp(This) -> 'ok' when This::wxStyledTextCtrl(). pageUp(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2661,7 +2661,7 @@ pageUp(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlpageupextend">external documentation</a>. --spec pageUpExtend(This) -> ok when +-spec pageUpExtend(This) -> 'ok' when This::wxStyledTextCtrl(). pageUpExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2669,7 +2669,7 @@ pageUpExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlpagedown">external documentation</a>. --spec pageDown(This) -> ok when +-spec pageDown(This) -> 'ok' when This::wxStyledTextCtrl(). pageDown(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2677,7 +2677,7 @@ pageDown(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlpagedownextend">external documentation</a>. --spec pageDownExtend(This) -> ok when +-spec pageDownExtend(This) -> 'ok' when This::wxStyledTextCtrl(). pageDownExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2685,7 +2685,7 @@ pageDownExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrledittoggleovertype">external documentation</a>. --spec editToggleOvertype(This) -> ok when +-spec editToggleOvertype(This) -> 'ok' when This::wxStyledTextCtrl(). editToggleOvertype(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2693,7 +2693,7 @@ editToggleOvertype(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlcancel">external documentation</a>. --spec cancel(This) -> ok when +-spec cancel(This) -> 'ok' when This::wxStyledTextCtrl(). cancel(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2701,7 +2701,7 @@ cancel(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrldeleteback">external documentation</a>. --spec deleteBack(This) -> ok when +-spec deleteBack(This) -> 'ok' when This::wxStyledTextCtrl(). deleteBack(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2709,7 +2709,7 @@ deleteBack(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrltab">external documentation</a>. --spec tab(This) -> ok when +-spec tab(This) -> 'ok' when This::wxStyledTextCtrl(). tab(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2717,7 +2717,7 @@ tab(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlbacktab">external documentation</a>. --spec backTab(This) -> ok when +-spec backTab(This) -> 'ok' when This::wxStyledTextCtrl(). backTab(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2725,7 +2725,7 @@ backTab(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlnewline">external documentation</a>. --spec newLine(This) -> ok when +-spec newLine(This) -> 'ok' when This::wxStyledTextCtrl(). newLine(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2733,7 +2733,7 @@ newLine(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlformfeed">external documentation</a>. --spec formFeed(This) -> ok when +-spec formFeed(This) -> 'ok' when This::wxStyledTextCtrl(). formFeed(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2741,7 +2741,7 @@ formFeed(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlvchome">external documentation</a>. --spec vCHome(This) -> ok when +-spec vCHome(This) -> 'ok' when This::wxStyledTextCtrl(). vCHome(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2749,7 +2749,7 @@ vCHome(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlvchomeextend">external documentation</a>. --spec vCHomeExtend(This) -> ok when +-spec vCHomeExtend(This) -> 'ok' when This::wxStyledTextCtrl(). vCHomeExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2757,7 +2757,7 @@ vCHomeExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlzoomin">external documentation</a>. --spec zoomIn(This) -> ok when +-spec zoomIn(This) -> 'ok' when This::wxStyledTextCtrl(). zoomIn(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2765,7 +2765,7 @@ zoomIn(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlzoomout">external documentation</a>. --spec zoomOut(This) -> ok when +-spec zoomOut(This) -> 'ok' when This::wxStyledTextCtrl(). zoomOut(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2773,7 +2773,7 @@ zoomOut(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrldelwordleft">external documentation</a>. --spec delWordLeft(This) -> ok when +-spec delWordLeft(This) -> 'ok' when This::wxStyledTextCtrl(). delWordLeft(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2781,7 +2781,7 @@ delWordLeft(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrldelwordright">external documentation</a>. --spec delWordRight(This) -> ok when +-spec delWordRight(This) -> 'ok' when This::wxStyledTextCtrl(). delWordRight(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2789,7 +2789,7 @@ delWordRight(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrllinecut">external documentation</a>. --spec lineCut(This) -> ok when +-spec lineCut(This) -> 'ok' when This::wxStyledTextCtrl(). lineCut(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2797,7 +2797,7 @@ lineCut(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrllinedelete">external documentation</a>. --spec lineDelete(This) -> ok when +-spec lineDelete(This) -> 'ok' when This::wxStyledTextCtrl(). lineDelete(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2805,7 +2805,7 @@ lineDelete(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrllinetranspose">external documentation</a>. --spec lineTranspose(This) -> ok when +-spec lineTranspose(This) -> 'ok' when This::wxStyledTextCtrl(). lineTranspose(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2813,7 +2813,7 @@ lineTranspose(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrllineduplicate">external documentation</a>. --spec lineDuplicate(This) -> ok when +-spec lineDuplicate(This) -> 'ok' when This::wxStyledTextCtrl(). lineDuplicate(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2821,7 +2821,7 @@ lineDuplicate(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrllowercase">external documentation</a>. --spec lowerCase(This) -> ok when +-spec lowerCase(This) -> 'ok' when This::wxStyledTextCtrl(). lowerCase(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2829,7 +2829,7 @@ lowerCase(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrluppercase">external documentation</a>. --spec upperCase(This) -> ok when +-spec upperCase(This) -> 'ok' when This::wxStyledTextCtrl(). upperCase(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2837,7 +2837,7 @@ upperCase(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrllinescrolldown">external documentation</a>. --spec lineScrollDown(This) -> ok when +-spec lineScrollDown(This) -> 'ok' when This::wxStyledTextCtrl(). lineScrollDown(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2845,7 +2845,7 @@ lineScrollDown(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrllinescrollup">external documentation</a>. --spec lineScrollUp(This) -> ok when +-spec lineScrollUp(This) -> 'ok' when This::wxStyledTextCtrl(). lineScrollUp(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2853,7 +2853,7 @@ lineScrollUp(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrldeletebacknotline">external documentation</a>. --spec deleteBackNotLine(This) -> ok when +-spec deleteBackNotLine(This) -> 'ok' when This::wxStyledTextCtrl(). deleteBackNotLine(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2861,7 +2861,7 @@ deleteBackNotLine(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlhomedisplay">external documentation</a>. --spec homeDisplay(This) -> ok when +-spec homeDisplay(This) -> 'ok' when This::wxStyledTextCtrl(). homeDisplay(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2869,7 +2869,7 @@ homeDisplay(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlhomedisplayextend">external documentation</a>. --spec homeDisplayExtend(This) -> ok when +-spec homeDisplayExtend(This) -> 'ok' when This::wxStyledTextCtrl(). homeDisplayExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2877,7 +2877,7 @@ homeDisplayExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrllineenddisplay">external documentation</a>. --spec lineEndDisplay(This) -> ok when +-spec lineEndDisplay(This) -> 'ok' when This::wxStyledTextCtrl(). lineEndDisplay(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2885,7 +2885,7 @@ lineEndDisplay(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrllineenddisplayextend">external documentation</a>. --spec lineEndDisplayExtend(This) -> ok when +-spec lineEndDisplayExtend(This) -> 'ok' when This::wxStyledTextCtrl(). lineEndDisplayExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2893,7 +2893,7 @@ lineEndDisplayExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlhomewrapextend">external documentation</a>. --spec homeWrapExtend(This) -> ok when +-spec homeWrapExtend(This) -> 'ok' when This::wxStyledTextCtrl(). homeWrapExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2901,7 +2901,7 @@ homeWrapExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrllineendwrap">external documentation</a>. --spec lineEndWrap(This) -> ok when +-spec lineEndWrap(This) -> 'ok' when This::wxStyledTextCtrl(). lineEndWrap(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2909,7 +2909,7 @@ lineEndWrap(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrllineendwrapextend">external documentation</a>. --spec lineEndWrapExtend(This) -> ok when +-spec lineEndWrapExtend(This) -> 'ok' when This::wxStyledTextCtrl(). lineEndWrapExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2917,7 +2917,7 @@ lineEndWrapExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlvchomewrap">external documentation</a>. --spec vCHomeWrap(This) -> ok when +-spec vCHomeWrap(This) -> 'ok' when This::wxStyledTextCtrl(). vCHomeWrap(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2925,7 +2925,7 @@ vCHomeWrap(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlvchomewrapextend">external documentation</a>. --spec vCHomeWrapExtend(This) -> ok when +-spec vCHomeWrapExtend(This) -> 'ok' when This::wxStyledTextCtrl(). vCHomeWrapExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2933,7 +2933,7 @@ vCHomeWrapExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrllinecopy">external documentation</a>. --spec lineCopy(This) -> ok when +-spec lineCopy(This) -> 'ok' when This::wxStyledTextCtrl(). lineCopy(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2941,7 +2941,7 @@ lineCopy(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlmovecaretinsideview">external documentation</a>. --spec moveCaretInsideView(This) -> ok when +-spec moveCaretInsideView(This) -> 'ok' when This::wxStyledTextCtrl(). moveCaretInsideView(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -2958,7 +2958,7 @@ lineLength(#wx_ref{type=ThisT,ref=ThisRef},Line) <<ThisRef:32/?UI,Line:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlbracehighlight">external documentation</a>. --spec braceHighlight(This, Pos1, Pos2) -> ok when +-spec braceHighlight(This, Pos1, Pos2) -> 'ok' when This::wxStyledTextCtrl(), Pos1::integer(), Pos2::integer(). braceHighlight(#wx_ref{type=ThisT,ref=ThisRef},Pos1,Pos2) when is_integer(Pos1),is_integer(Pos2) -> @@ -2967,7 +2967,7 @@ braceHighlight(#wx_ref{type=ThisT,ref=ThisRef},Pos1,Pos2) <<ThisRef:32/?UI,Pos1:32/?UI,Pos2:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlbracebadlight">external documentation</a>. --spec braceBadLight(This, Pos) -> ok when +-spec braceBadLight(This, Pos) -> 'ok' when This::wxStyledTextCtrl(), Pos::integer(). braceBadLight(#wx_ref{type=ThisT,ref=ThisRef},Pos) when is_integer(Pos) -> @@ -2993,7 +2993,7 @@ getViewEOL(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetvieweol">external documentation</a>. --spec setViewEOL(This, Visible) -> ok when +-spec setViewEOL(This, Visible) -> 'ok' when This::wxStyledTextCtrl(), Visible::boolean(). setViewEOL(#wx_ref{type=ThisT,ref=ThisRef},Visible) when is_boolean(Visible) -> @@ -3002,7 +3002,7 @@ setViewEOL(#wx_ref{type=ThisT,ref=ThisRef},Visible) <<ThisRef:32/?UI,(wxe_util:from_bool(Visible)):32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetmodeventmask">external documentation</a>. --spec setModEventMask(This, Mask) -> ok when +-spec setModEventMask(This, Mask) -> 'ok' when This::wxStyledTextCtrl(), Mask::integer(). setModEventMask(#wx_ref{type=ThisT,ref=ThisRef},Mask) when is_integer(Mask) -> @@ -3019,7 +3019,7 @@ getEdgeColumn(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetedgecolumn">external documentation</a>. --spec setEdgeColumn(This, Column) -> ok when +-spec setEdgeColumn(This, Column) -> 'ok' when This::wxStyledTextCtrl(), Column::integer(). setEdgeColumn(#wx_ref{type=ThisT,ref=ThisRef},Column) when is_integer(Column) -> @@ -3028,7 +3028,7 @@ setEdgeColumn(#wx_ref{type=ThisT,ref=ThisRef},Column) <<ThisRef:32/?UI,Column:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetedgemode">external documentation</a>. --spec setEdgeMode(This, Mode) -> ok when +-spec setEdgeMode(This, Mode) -> 'ok' when This::wxStyledTextCtrl(), Mode::integer(). setEdgeMode(#wx_ref{type=ThisT,ref=ThisRef},Mode) when is_integer(Mode) -> @@ -3053,7 +3053,7 @@ getEdgeColour(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetedgecolour">external documentation</a>. --spec setEdgeColour(This, EdgeColour) -> ok when +-spec setEdgeColour(This, EdgeColour) -> 'ok' when This::wxStyledTextCtrl(), EdgeColour::wx:wx_colour(). setEdgeColour(#wx_ref{type=ThisT,ref=ThisRef},EdgeColour) when tuple_size(EdgeColour) =:= 3; tuple_size(EdgeColour) =:= 4 -> @@ -3062,7 +3062,7 @@ setEdgeColour(#wx_ref{type=ThisT,ref=ThisRef},EdgeColour) <<ThisRef:32/?UI,(wxe_util:colour_bin(EdgeColour)):16/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsearchanchor">external documentation</a>. --spec searchAnchor(This) -> ok when +-spec searchAnchor(This) -> 'ok' when This::wxStyledTextCtrl(). searchAnchor(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -3098,7 +3098,7 @@ linesOnScreen(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlusepopup">external documentation</a>. --spec usePopUp(This, AllowPopUp) -> ok when +-spec usePopUp(This, AllowPopUp) -> 'ok' when This::wxStyledTextCtrl(), AllowPopUp::boolean(). usePopUp(#wx_ref{type=ThisT,ref=ThisRef},AllowPopUp) when is_boolean(AllowPopUp) -> @@ -3115,7 +3115,7 @@ selectionIsRectangle(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetzoom">external documentation</a>. --spec setZoom(This, Zoom) -> ok when +-spec setZoom(This, Zoom) -> 'ok' when This::wxStyledTextCtrl(), Zoom::integer(). setZoom(#wx_ref{type=ThisT,ref=ThisRef},Zoom) when is_integer(Zoom) -> @@ -3140,7 +3140,7 @@ getModEventMask(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetstcfocus">external documentation</a>. --spec setSTCFocus(This, Focus) -> ok when +-spec setSTCFocus(This, Focus) -> 'ok' when This::wxStyledTextCtrl(), Focus::boolean(). setSTCFocus(#wx_ref{type=ThisT,ref=ThisRef},Focus) when is_boolean(Focus) -> @@ -3157,7 +3157,7 @@ getSTCFocus(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetstatus">external documentation</a>. --spec setStatus(This, StatusCode) -> ok when +-spec setStatus(This, StatusCode) -> 'ok' when This::wxStyledTextCtrl(), StatusCode::integer(). setStatus(#wx_ref{type=ThisT,ref=ThisRef},StatusCode) when is_integer(StatusCode) -> @@ -3174,7 +3174,7 @@ getStatus(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetmousedowncaptures">external documentation</a>. --spec setMouseDownCaptures(This, Captures) -> ok when +-spec setMouseDownCaptures(This, Captures) -> 'ok' when This::wxStyledTextCtrl(), Captures::boolean(). setMouseDownCaptures(#wx_ref{type=ThisT,ref=ThisRef},Captures) when is_boolean(Captures) -> @@ -3191,7 +3191,7 @@ getMouseDownCaptures(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetstccursor">external documentation</a>. --spec setSTCCursor(This, CursorType) -> ok when +-spec setSTCCursor(This, CursorType) -> 'ok' when This::wxStyledTextCtrl(), CursorType::integer(). setSTCCursor(#wx_ref{type=ThisT,ref=ThisRef},CursorType) when is_integer(CursorType) -> @@ -3208,7 +3208,7 @@ getSTCCursor(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetcontrolcharsymbol">external documentation</a>. --spec setControlCharSymbol(This, Symbol) -> ok when +-spec setControlCharSymbol(This, Symbol) -> 'ok' when This::wxStyledTextCtrl(), Symbol::integer(). setControlCharSymbol(#wx_ref{type=ThisT,ref=ThisRef},Symbol) when is_integer(Symbol) -> @@ -3225,7 +3225,7 @@ getControlCharSymbol(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlwordpartleft">external documentation</a>. --spec wordPartLeft(This) -> ok when +-spec wordPartLeft(This) -> 'ok' when This::wxStyledTextCtrl(). wordPartLeft(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -3233,7 +3233,7 @@ wordPartLeft(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlwordpartleftextend">external documentation</a>. --spec wordPartLeftExtend(This) -> ok when +-spec wordPartLeftExtend(This) -> 'ok' when This::wxStyledTextCtrl(). wordPartLeftExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -3241,7 +3241,7 @@ wordPartLeftExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlwordpartright">external documentation</a>. --spec wordPartRight(This) -> ok when +-spec wordPartRight(This) -> 'ok' when This::wxStyledTextCtrl(). wordPartRight(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -3249,7 +3249,7 @@ wordPartRight(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlwordpartrightextend">external documentation</a>. --spec wordPartRightExtend(This) -> ok when +-spec wordPartRightExtend(This) -> 'ok' when This::wxStyledTextCtrl(). wordPartRightExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -3257,7 +3257,7 @@ wordPartRightExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetvisiblepolicy">external documentation</a>. --spec setVisiblePolicy(This, VisiblePolicy, VisibleSlop) -> ok when +-spec setVisiblePolicy(This, VisiblePolicy, VisibleSlop) -> 'ok' when This::wxStyledTextCtrl(), VisiblePolicy::integer(), VisibleSlop::integer(). setVisiblePolicy(#wx_ref{type=ThisT,ref=ThisRef},VisiblePolicy,VisibleSlop) when is_integer(VisiblePolicy),is_integer(VisibleSlop) -> @@ -3266,7 +3266,7 @@ setVisiblePolicy(#wx_ref{type=ThisT,ref=ThisRef},VisiblePolicy,VisibleSlop) <<ThisRef:32/?UI,VisiblePolicy:32/?UI,VisibleSlop:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrldellineleft">external documentation</a>. --spec delLineLeft(This) -> ok when +-spec delLineLeft(This) -> 'ok' when This::wxStyledTextCtrl(). delLineLeft(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -3274,7 +3274,7 @@ delLineLeft(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrldellineright">external documentation</a>. --spec delLineRight(This) -> ok when +-spec delLineRight(This) -> 'ok' when This::wxStyledTextCtrl(). delLineRight(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -3290,7 +3290,7 @@ getXOffset(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlchoosecaretx">external documentation</a>. --spec chooseCaretX(This) -> ok when +-spec chooseCaretX(This) -> 'ok' when This::wxStyledTextCtrl(). chooseCaretX(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -3298,7 +3298,7 @@ chooseCaretX(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetxcaretpolicy">external documentation</a>. --spec setXCaretPolicy(This, CaretPolicy, CaretSlop) -> ok when +-spec setXCaretPolicy(This, CaretPolicy, CaretSlop) -> 'ok' when This::wxStyledTextCtrl(), CaretPolicy::integer(), CaretSlop::integer(). setXCaretPolicy(#wx_ref{type=ThisT,ref=ThisRef},CaretPolicy,CaretSlop) when is_integer(CaretPolicy),is_integer(CaretSlop) -> @@ -3307,7 +3307,7 @@ setXCaretPolicy(#wx_ref{type=ThisT,ref=ThisRef},CaretPolicy,CaretSlop) <<ThisRef:32/?UI,CaretPolicy:32/?UI,CaretSlop:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetycaretpolicy">external documentation</a>. --spec setYCaretPolicy(This, CaretPolicy, CaretSlop) -> ok when +-spec setYCaretPolicy(This, CaretPolicy, CaretSlop) -> 'ok' when This::wxStyledTextCtrl(), CaretPolicy::integer(), CaretSlop::integer(). setYCaretPolicy(#wx_ref{type=ThisT,ref=ThisRef},CaretPolicy,CaretSlop) when is_integer(CaretPolicy),is_integer(CaretSlop) -> @@ -3324,7 +3324,7 @@ getPrintWrapMode(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsethotspotactiveforeground">external documentation</a>. --spec setHotspotActiveForeground(This, UseSetting, Fore) -> ok when +-spec setHotspotActiveForeground(This, UseSetting, Fore) -> 'ok' when This::wxStyledTextCtrl(), UseSetting::boolean(), Fore::wx:wx_colour(). setHotspotActiveForeground(#wx_ref{type=ThisT,ref=ThisRef},UseSetting,Fore) when is_boolean(UseSetting),tuple_size(Fore) =:= 3; tuple_size(Fore) =:= 4 -> @@ -3333,7 +3333,7 @@ setHotspotActiveForeground(#wx_ref{type=ThisT,ref=ThisRef},UseSetting,Fore) <<ThisRef:32/?UI,(wxe_util:from_bool(UseSetting)):32/?UI,(wxe_util:colour_bin(Fore)):16/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsethotspotactivebackground">external documentation</a>. --spec setHotspotActiveBackground(This, UseSetting, Back) -> ok when +-spec setHotspotActiveBackground(This, UseSetting, Back) -> 'ok' when This::wxStyledTextCtrl(), UseSetting::boolean(), Back::wx:wx_colour(). setHotspotActiveBackground(#wx_ref{type=ThisT,ref=ThisRef},UseSetting,Back) when is_boolean(UseSetting),tuple_size(Back) =:= 3; tuple_size(Back) =:= 4 -> @@ -3342,7 +3342,7 @@ setHotspotActiveBackground(#wx_ref{type=ThisT,ref=ThisRef},UseSetting,Back) <<ThisRef:32/?UI,(wxe_util:from_bool(UseSetting)):32/?UI,(wxe_util:colour_bin(Back)):16/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsethotspotactiveunderline">external documentation</a>. --spec setHotspotActiveUnderline(This, Underline) -> ok when +-spec setHotspotActiveUnderline(This, Underline) -> 'ok' when This::wxStyledTextCtrl(), Underline::boolean(). setHotspotActiveUnderline(#wx_ref{type=ThisT,ref=ThisRef},Underline) when is_boolean(Underline) -> @@ -3351,7 +3351,7 @@ setHotspotActiveUnderline(#wx_ref{type=ThisT,ref=ThisRef},Underline) <<ThisRef:32/?UI,(wxe_util:from_bool(Underline)):32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsethotspotsingleline">external documentation</a>. --spec setHotspotSingleLine(This, SingleLine) -> ok when +-spec setHotspotSingleLine(This, SingleLine) -> 'ok' when This::wxStyledTextCtrl(), SingleLine::boolean(). setHotspotSingleLine(#wx_ref{type=ThisT,ref=ThisRef},SingleLine) when is_boolean(SingleLine) -> @@ -3360,7 +3360,7 @@ setHotspotSingleLine(#wx_ref{type=ThisT,ref=ThisRef},SingleLine) <<ThisRef:32/?UI,(wxe_util:from_bool(SingleLine)):32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlparadownextend">external documentation</a>. --spec paraDownExtend(This) -> ok when +-spec paraDownExtend(This) -> 'ok' when This::wxStyledTextCtrl(). paraDownExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -3368,7 +3368,7 @@ paraDownExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlparaup">external documentation</a>. --spec paraUp(This) -> ok when +-spec paraUp(This) -> 'ok' when This::wxStyledTextCtrl(). paraUp(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -3376,7 +3376,7 @@ paraUp(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlparaupextend">external documentation</a>. --spec paraUpExtend(This) -> ok when +-spec paraUpExtend(This) -> 'ok' when This::wxStyledTextCtrl(). paraUpExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -3402,7 +3402,7 @@ positionAfter(#wx_ref{type=ThisT,ref=ThisRef},Pos) <<ThisRef:32/?UI,Pos:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlcopyrange">external documentation</a>. --spec copyRange(This, Start, End) -> ok when +-spec copyRange(This, Start, End) -> 'ok' when This::wxStyledTextCtrl(), Start::integer(), End::integer(). copyRange(#wx_ref{type=ThisT,ref=ThisRef},Start,End) when is_integer(Start),is_integer(End) -> @@ -3411,7 +3411,7 @@ copyRange(#wx_ref{type=ThisT,ref=ThisRef},Start,End) <<ThisRef:32/?UI,Start:32/?UI,End:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlcopytext">external documentation</a>. --spec copyText(This, Length, Text) -> ok when +-spec copyText(This, Length, Text) -> 'ok' when This::wxStyledTextCtrl(), Length::integer(), Text::unicode:chardata(). copyText(#wx_ref{type=ThisT,ref=ThisRef},Length,Text) when is_integer(Length),is_list(Text) -> @@ -3421,7 +3421,7 @@ copyText(#wx_ref{type=ThisT,ref=ThisRef},Length,Text) <<ThisRef:32/?UI,Length:32/?UI,(byte_size(Text_UC)):32/?UI,(Text_UC)/binary, 0:(((8- ((4+byte_size(Text_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetselectionmode">external documentation</a>. --spec setSelectionMode(This, Mode) -> ok when +-spec setSelectionMode(This, Mode) -> 'ok' when This::wxStyledTextCtrl(), Mode::integer(). setSelectionMode(#wx_ref{type=ThisT,ref=ThisRef},Mode) when is_integer(Mode) -> @@ -3438,7 +3438,7 @@ getSelectionMode(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrllinedownrectextend">external documentation</a>. --spec lineDownRectExtend(This) -> ok when +-spec lineDownRectExtend(This) -> 'ok' when This::wxStyledTextCtrl(). lineDownRectExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -3446,7 +3446,7 @@ lineDownRectExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrllineuprectextend">external documentation</a>. --spec lineUpRectExtend(This) -> ok when +-spec lineUpRectExtend(This) -> 'ok' when This::wxStyledTextCtrl(). lineUpRectExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -3454,7 +3454,7 @@ lineUpRectExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlcharleftrectextend">external documentation</a>. --spec charLeftRectExtend(This) -> ok when +-spec charLeftRectExtend(This) -> 'ok' when This::wxStyledTextCtrl(). charLeftRectExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -3462,7 +3462,7 @@ charLeftRectExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlcharrightrectextend">external documentation</a>. --spec charRightRectExtend(This) -> ok when +-spec charRightRectExtend(This) -> 'ok' when This::wxStyledTextCtrl(). charRightRectExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -3470,7 +3470,7 @@ charRightRectExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlhomerectextend">external documentation</a>. --spec homeRectExtend(This) -> ok when +-spec homeRectExtend(This) -> 'ok' when This::wxStyledTextCtrl(). homeRectExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -3478,7 +3478,7 @@ homeRectExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlvchomerectextend">external documentation</a>. --spec vCHomeRectExtend(This) -> ok when +-spec vCHomeRectExtend(This) -> 'ok' when This::wxStyledTextCtrl(). vCHomeRectExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -3486,7 +3486,7 @@ vCHomeRectExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrllineendrectextend">external documentation</a>. --spec lineEndRectExtend(This) -> ok when +-spec lineEndRectExtend(This) -> 'ok' when This::wxStyledTextCtrl(). lineEndRectExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -3494,7 +3494,7 @@ lineEndRectExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlpageuprectextend">external documentation</a>. --spec pageUpRectExtend(This) -> ok when +-spec pageUpRectExtend(This) -> 'ok' when This::wxStyledTextCtrl(). pageUpRectExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -3502,7 +3502,7 @@ pageUpRectExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlpagedownrectextend">external documentation</a>. --spec pageDownRectExtend(This) -> ok when +-spec pageDownRectExtend(This) -> 'ok' when This::wxStyledTextCtrl(). pageDownRectExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -3510,7 +3510,7 @@ pageDownRectExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlstutteredpageup">external documentation</a>. --spec stutteredPageUp(This) -> ok when +-spec stutteredPageUp(This) -> 'ok' when This::wxStyledTextCtrl(). stutteredPageUp(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -3518,7 +3518,7 @@ stutteredPageUp(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlstutteredpageupextend">external documentation</a>. --spec stutteredPageUpExtend(This) -> ok when +-spec stutteredPageUpExtend(This) -> 'ok' when This::wxStyledTextCtrl(). stutteredPageUpExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -3526,7 +3526,7 @@ stutteredPageUpExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlstutteredpagedown">external documentation</a>. --spec stutteredPageDown(This) -> ok when +-spec stutteredPageDown(This) -> 'ok' when This::wxStyledTextCtrl(). stutteredPageDown(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -3534,7 +3534,7 @@ stutteredPageDown(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlstutteredpagedownextend">external documentation</a>. --spec stutteredPageDownExtend(This) -> ok when +-spec stutteredPageDownExtend(This) -> 'ok' when This::wxStyledTextCtrl(). stutteredPageDownExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -3542,7 +3542,7 @@ stutteredPageDownExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlwordleftend">external documentation</a>. --spec wordLeftEnd(This) -> ok when +-spec wordLeftEnd(This) -> 'ok' when This::wxStyledTextCtrl(). wordLeftEnd(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -3550,7 +3550,7 @@ wordLeftEnd(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlwordleftendextend">external documentation</a>. --spec wordLeftEndExtend(This) -> ok when +-spec wordLeftEndExtend(This) -> 'ok' when This::wxStyledTextCtrl(). wordLeftEndExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -3558,7 +3558,7 @@ wordLeftEndExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlwordrightend">external documentation</a>. --spec wordRightEnd(This) -> ok when +-spec wordRightEnd(This) -> 'ok' when This::wxStyledTextCtrl(). wordRightEnd(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -3566,7 +3566,7 @@ wordRightEnd(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlwordrightendextend">external documentation</a>. --spec wordRightEndExtend(This) -> ok when +-spec wordRightEndExtend(This) -> 'ok' when This::wxStyledTextCtrl(). wordRightEndExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -3574,7 +3574,7 @@ wordRightEndExtend(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetwhitespacechars">external documentation</a>. --spec setWhitespaceChars(This, Characters) -> ok when +-spec setWhitespaceChars(This, Characters) -> 'ok' when This::wxStyledTextCtrl(), Characters::unicode:chardata(). setWhitespaceChars(#wx_ref{type=ThisT,ref=ThisRef},Characters) when is_list(Characters) -> @@ -3584,7 +3584,7 @@ setWhitespaceChars(#wx_ref{type=ThisT,ref=ThisRef},Characters) <<ThisRef:32/?UI,(byte_size(Characters_UC)):32/?UI,(Characters_UC)/binary, 0:(((8- ((0+byte_size(Characters_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetcharsdefault">external documentation</a>. --spec setCharsDefault(This) -> ok when +-spec setCharsDefault(This) -> 'ok' when This::wxStyledTextCtrl(). setCharsDefault(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -3600,7 +3600,7 @@ autoCompGetCurrent(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlallocate">external documentation</a>. --spec allocate(This, Bytes) -> ok when +-spec allocate(This, Bytes) -> 'ok' when This::wxStyledTextCtrl(), Bytes::integer(). allocate(#wx_ref{type=ThisT,ref=ThisRef},Bytes) when is_integer(Bytes) -> @@ -3626,7 +3626,7 @@ getCaretSticky(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetcaretsticky">external documentation</a>. --spec setCaretSticky(This, UseCaretStickyBehaviour) -> ok when +-spec setCaretSticky(This, UseCaretStickyBehaviour) -> 'ok' when This::wxStyledTextCtrl(), UseCaretStickyBehaviour::boolean(). setCaretSticky(#wx_ref{type=ThisT,ref=ThisRef},UseCaretStickyBehaviour) when is_boolean(UseCaretStickyBehaviour) -> @@ -3635,7 +3635,7 @@ setCaretSticky(#wx_ref{type=ThisT,ref=ThisRef},UseCaretStickyBehaviour) <<ThisRef:32/?UI,(wxe_util:from_bool(UseCaretStickyBehaviour)):32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrltogglecaretsticky">external documentation</a>. --spec toggleCaretSticky(This) -> ok when +-spec toggleCaretSticky(This) -> 'ok' when This::wxStyledTextCtrl(). toggleCaretSticky(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -3643,7 +3643,7 @@ toggleCaretSticky(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetpasteconvertendings">external documentation</a>. --spec setPasteConvertEndings(This, Convert) -> ok when +-spec setPasteConvertEndings(This, Convert) -> 'ok' when This::wxStyledTextCtrl(), Convert::boolean(). setPasteConvertEndings(#wx_ref{type=ThisT,ref=ThisRef},Convert) when is_boolean(Convert) -> @@ -3660,7 +3660,7 @@ getPasteConvertEndings(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlselectionduplicate">external documentation</a>. --spec selectionDuplicate(This) -> ok when +-spec selectionDuplicate(This) -> 'ok' when This::wxStyledTextCtrl(). selectionDuplicate(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -3668,7 +3668,7 @@ selectionDuplicate(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetcaretlinebackalpha">external documentation</a>. --spec setCaretLineBackAlpha(This, Alpha) -> ok when +-spec setCaretLineBackAlpha(This, Alpha) -> 'ok' when This::wxStyledTextCtrl(), Alpha::integer(). setCaretLineBackAlpha(#wx_ref{type=ThisT,ref=ThisRef},Alpha) when is_integer(Alpha) -> @@ -3685,7 +3685,7 @@ getCaretLineBackAlpha(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlstartrecord">external documentation</a>. --spec startRecord(This) -> ok when +-spec startRecord(This) -> 'ok' when This::wxStyledTextCtrl(). startRecord(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -3693,7 +3693,7 @@ startRecord(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlstoprecord">external documentation</a>. --spec stopRecord(This) -> ok when +-spec stopRecord(This) -> 'ok' when This::wxStyledTextCtrl(). stopRecord(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -3701,7 +3701,7 @@ stopRecord(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetlexer">external documentation</a>. --spec setLexer(This, Lexer) -> ok when +-spec setLexer(This, Lexer) -> 'ok' when This::wxStyledTextCtrl(), Lexer::integer(). setLexer(#wx_ref{type=ThisT,ref=ThisRef},Lexer) when is_integer(Lexer) -> @@ -3718,7 +3718,7 @@ getLexer(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlcolourise">external documentation</a>. --spec colourise(This, Start, End) -> ok when +-spec colourise(This, Start, End) -> 'ok' when This::wxStyledTextCtrl(), Start::integer(), End::integer(). colourise(#wx_ref{type=ThisT,ref=ThisRef},Start,End) when is_integer(Start),is_integer(End) -> @@ -3727,7 +3727,7 @@ colourise(#wx_ref{type=ThisT,ref=ThisRef},Start,End) <<ThisRef:32/?UI,Start:32/?UI,End:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetproperty">external documentation</a>. --spec setProperty(This, Key, Value) -> ok when +-spec setProperty(This, Key, Value) -> 'ok' when This::wxStyledTextCtrl(), Key::unicode:chardata(), Value::unicode:chardata(). setProperty(#wx_ref{type=ThisT,ref=ThisRef},Key,Value) when is_list(Key),is_list(Value) -> @@ -3738,7 +3738,7 @@ setProperty(#wx_ref{type=ThisT,ref=ThisRef},Key,Value) <<ThisRef:32/?UI,(byte_size(Key_UC)):32/?UI,(Key_UC)/binary, 0:(((8- ((0+byte_size(Key_UC)) band 16#7)) band 16#7))/unit:8,(byte_size(Value_UC)):32/?UI,(Value_UC)/binary, 0:(((8- ((4+byte_size(Value_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetkeywords">external documentation</a>. --spec setKeyWords(This, KeywordSet, KeyWords) -> ok when +-spec setKeyWords(This, KeywordSet, KeyWords) -> 'ok' when This::wxStyledTextCtrl(), KeywordSet::integer(), KeyWords::unicode:chardata(). setKeyWords(#wx_ref{type=ThisT,ref=ThisRef},KeywordSet,KeyWords) when is_integer(KeywordSet),is_list(KeyWords) -> @@ -3748,7 +3748,7 @@ setKeyWords(#wx_ref{type=ThisT,ref=ThisRef},KeywordSet,KeyWords) <<ThisRef:32/?UI,KeywordSet:32/?UI,(byte_size(KeyWords_UC)):32/?UI,(KeyWords_UC)/binary, 0:(((8- ((4+byte_size(KeyWords_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetlexerlanguage">external documentation</a>. --spec setLexerLanguage(This, Language) -> ok when +-spec setLexerLanguage(This, Language) -> 'ok' when This::wxStyledTextCtrl(), Language::unicode:chardata(). setLexerLanguage(#wx_ref{type=ThisT,ref=ThisRef},Language) when is_list(Language) -> @@ -3784,7 +3784,7 @@ getCurrentLine(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlstylesetspec">external documentation</a>. --spec styleSetSpec(This, StyleNum, Spec) -> ok when +-spec styleSetSpec(This, StyleNum, Spec) -> 'ok' when This::wxStyledTextCtrl(), StyleNum::integer(), Spec::unicode:chardata(). styleSetSpec(#wx_ref{type=ThisT,ref=ThisRef},StyleNum,Spec) when is_integer(StyleNum),is_list(Spec) -> @@ -3794,7 +3794,7 @@ styleSetSpec(#wx_ref{type=ThisT,ref=ThisRef},StyleNum,Spec) <<ThisRef:32/?UI,StyleNum:32/?UI,(byte_size(Spec_UC)):32/?UI,(Spec_UC)/binary, 0:(((8- ((4+byte_size(Spec_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlstylesetfont">external documentation</a>. --spec styleSetFont(This, StyleNum, Font) -> ok when +-spec styleSetFont(This, StyleNum, Font) -> 'ok' when This::wxStyledTextCtrl(), StyleNum::integer(), Font::wxFont:wxFont(). styleSetFont(#wx_ref{type=ThisT,ref=ThisRef},StyleNum,#wx_ref{type=FontT,ref=FontRef}) when is_integer(StyleNum) -> @@ -3804,7 +3804,7 @@ styleSetFont(#wx_ref{type=ThisT,ref=ThisRef},StyleNum,#wx_ref{type=FontT,ref=Fon <<ThisRef:32/?UI,StyleNum:32/?UI,FontRef:32/?UI>>). %% @equiv styleSetFontAttr(This,StyleNum,Size,FaceName,Bold,Italic,Underline, []) --spec styleSetFontAttr(This, StyleNum, Size, FaceName, Bold, Italic, Underline) -> ok when +-spec styleSetFontAttr(This, StyleNum, Size, FaceName, Bold, Italic, Underline) -> 'ok' when This::wxStyledTextCtrl(), StyleNum::integer(), Size::integer(), FaceName::unicode:chardata(), Bold::boolean(), Italic::boolean(), Underline::boolean(). styleSetFontAttr(This,StyleNum,Size,FaceName,Bold,Italic,Underline) @@ -3813,9 +3813,9 @@ styleSetFontAttr(This,StyleNum,Size,FaceName,Bold,Italic,Underline) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlstylesetfontattr">external documentation</a>. %%<br /> Encoding = ?wxFONTENCODING_SYSTEM | ?wxFONTENCODING_DEFAULT | ?wxFONTENCODING_ISO8859_1 | ?wxFONTENCODING_ISO8859_2 | ?wxFONTENCODING_ISO8859_3 | ?wxFONTENCODING_ISO8859_4 | ?wxFONTENCODING_ISO8859_5 | ?wxFONTENCODING_ISO8859_6 | ?wxFONTENCODING_ISO8859_7 | ?wxFONTENCODING_ISO8859_8 | ?wxFONTENCODING_ISO8859_9 | ?wxFONTENCODING_ISO8859_10 | ?wxFONTENCODING_ISO8859_11 | ?wxFONTENCODING_ISO8859_12 | ?wxFONTENCODING_ISO8859_13 | ?wxFONTENCODING_ISO8859_14 | ?wxFONTENCODING_ISO8859_15 | ?wxFONTENCODING_ISO8859_MAX | ?wxFONTENCODING_KOI8 | ?wxFONTENCODING_KOI8_U | ?wxFONTENCODING_ALTERNATIVE | ?wxFONTENCODING_BULGARIAN | ?wxFONTENCODING_CP437 | ?wxFONTENCODING_CP850 | ?wxFONTENCODING_CP852 | ?wxFONTENCODING_CP855 | ?wxFONTENCODING_CP866 | ?wxFONTENCODING_CP874 | ?wxFONTENCODING_CP932 | ?wxFONTENCODING_CP936 | ?wxFONTENCODING_CP949 | ?wxFONTENCODING_CP950 | ?wxFONTENCODING_CP1250 | ?wxFONTENCODING_CP1251 | ?wxFONTENCODING_CP1252 | ?wxFONTENCODING_CP1253 | ?wxFONTENCODING_CP1254 | ?wxFONTENCODING_CP1255 | ?wxFONTENCODING_CP1256 | ?wxFONTENCODING_CP1257 | ?wxFONTENCODING_CP12_MAX | ?wxFONTENCODING_UTF7 | ?wxFONTENCODING_UTF8 | ?wxFONTENCODING_EUC_JP | ?wxFONTENCODING_UTF16BE | ?wxFONTENCODING_UTF16LE | ?wxFONTENCODING_UTF32BE | ?wxFONTENCODING_UTF32LE | ?wxFONTENCODING_MACROMAN | ?wxFONTENCODING_MACJAPANESE | ?wxFONTENCODING_MACCHINESETRAD | ?wxFONTENCODING_MACKOREAN | ?wxFONTENCODING_MACARABIC | ?wxFONTENCODING_MACHEBREW | ?wxFONTENCODING_MACGREEK | ?wxFONTENCODING_MACCYRILLIC | ?wxFONTENCODING_MACDEVANAGARI | ?wxFONTENCODING_MACGURMUKHI | ?wxFONTENCODING_MACGUJARATI | ?wxFONTENCODING_MACORIYA | ?wxFONTENCODING_MACBENGALI | ?wxFONTENCODING_MACTAMIL | ?wxFONTENCODING_MACTELUGU | ?wxFONTENCODING_MACKANNADA | ?wxFONTENCODING_MACMALAJALAM | ?wxFONTENCODING_MACSINHALESE | ?wxFONTENCODING_MACBURMESE | ?wxFONTENCODING_MACKHMER | ?wxFONTENCODING_MACTHAI | ?wxFONTENCODING_MACLAOTIAN | ?wxFONTENCODING_MACGEORGIAN | ?wxFONTENCODING_MACARMENIAN | ?wxFONTENCODING_MACCHINESESIMP | ?wxFONTENCODING_MACTIBETAN | ?wxFONTENCODING_MACMONGOLIAN | ?wxFONTENCODING_MACETHIOPIC | ?wxFONTENCODING_MACCENTRALEUR | ?wxFONTENCODING_MACVIATNAMESE | ?wxFONTENCODING_MACARABICEXT | ?wxFONTENCODING_MACSYMBOL | ?wxFONTENCODING_MACDINGBATS | ?wxFONTENCODING_MACTURKISH | ?wxFONTENCODING_MACCROATIAN | ?wxFONTENCODING_MACICELANDIC | ?wxFONTENCODING_MACROMANIAN | ?wxFONTENCODING_MACCELTIC | ?wxFONTENCODING_MACGAELIC | ?wxFONTENCODING_MACKEYBOARD | ?wxFONTENCODING_MAX | ?wxFONTENCODING_MACMIN | ?wxFONTENCODING_MACMAX | ?wxFONTENCODING_UTF16 | ?wxFONTENCODING_UTF32 | ?wxFONTENCODING_UNICODE | ?wxFONTENCODING_GB2312 | ?wxFONTENCODING_BIG5 | ?wxFONTENCODING_SHIFT_JIS --spec styleSetFontAttr(This, StyleNum, Size, FaceName, Bold, Italic, Underline, [Option]) -> ok when +-spec styleSetFontAttr(This, StyleNum, Size, FaceName, Bold, Italic, Underline, [Option]) -> 'ok' when This::wxStyledTextCtrl(), StyleNum::integer(), Size::integer(), FaceName::unicode:chardata(), Bold::boolean(), Italic::boolean(), Underline::boolean(), - Option :: {encoding, wx:wx_enum()}. + Option :: {'encoding', wx:wx_enum()}. styleSetFontAttr(#wx_ref{type=ThisT,ref=ThisRef},StyleNum,Size,FaceName,Bold,Italic,Underline, Options) when is_integer(StyleNum),is_integer(Size),is_list(FaceName),is_boolean(Bold),is_boolean(Italic),is_boolean(Underline),is_list(Options) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -3827,7 +3827,7 @@ styleSetFontAttr(#wx_ref{type=ThisT,ref=ThisRef},StyleNum,Size,FaceName,Bold,Ita <<ThisRef:32/?UI,StyleNum:32/?UI,Size:32/?UI,(byte_size(FaceName_UC)):32/?UI,(FaceName_UC)/binary, 0:(((8- ((0+byte_size(FaceName_UC)) band 16#7)) band 16#7))/unit:8,(wxe_util:from_bool(Bold)):32/?UI,(wxe_util:from_bool(Italic)):32/?UI,(wxe_util:from_bool(Underline)):32/?UI, 0:32,BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlstylesetcharacterset">external documentation</a>. --spec styleSetCharacterSet(This, Style, CharacterSet) -> ok when +-spec styleSetCharacterSet(This, Style, CharacterSet) -> 'ok' when This::wxStyledTextCtrl(), Style::integer(), CharacterSet::integer(). styleSetCharacterSet(#wx_ref{type=ThisT,ref=ThisRef},Style,CharacterSet) when is_integer(Style),is_integer(CharacterSet) -> @@ -3837,7 +3837,7 @@ styleSetCharacterSet(#wx_ref{type=ThisT,ref=ThisRef},Style,CharacterSet) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlstylesetfontencoding">external documentation</a>. %%<br /> Encoding = ?wxFONTENCODING_SYSTEM | ?wxFONTENCODING_DEFAULT | ?wxFONTENCODING_ISO8859_1 | ?wxFONTENCODING_ISO8859_2 | ?wxFONTENCODING_ISO8859_3 | ?wxFONTENCODING_ISO8859_4 | ?wxFONTENCODING_ISO8859_5 | ?wxFONTENCODING_ISO8859_6 | ?wxFONTENCODING_ISO8859_7 | ?wxFONTENCODING_ISO8859_8 | ?wxFONTENCODING_ISO8859_9 | ?wxFONTENCODING_ISO8859_10 | ?wxFONTENCODING_ISO8859_11 | ?wxFONTENCODING_ISO8859_12 | ?wxFONTENCODING_ISO8859_13 | ?wxFONTENCODING_ISO8859_14 | ?wxFONTENCODING_ISO8859_15 | ?wxFONTENCODING_ISO8859_MAX | ?wxFONTENCODING_KOI8 | ?wxFONTENCODING_KOI8_U | ?wxFONTENCODING_ALTERNATIVE | ?wxFONTENCODING_BULGARIAN | ?wxFONTENCODING_CP437 | ?wxFONTENCODING_CP850 | ?wxFONTENCODING_CP852 | ?wxFONTENCODING_CP855 | ?wxFONTENCODING_CP866 | ?wxFONTENCODING_CP874 | ?wxFONTENCODING_CP932 | ?wxFONTENCODING_CP936 | ?wxFONTENCODING_CP949 | ?wxFONTENCODING_CP950 | ?wxFONTENCODING_CP1250 | ?wxFONTENCODING_CP1251 | ?wxFONTENCODING_CP1252 | ?wxFONTENCODING_CP1253 | ?wxFONTENCODING_CP1254 | ?wxFONTENCODING_CP1255 | ?wxFONTENCODING_CP1256 | ?wxFONTENCODING_CP1257 | ?wxFONTENCODING_CP12_MAX | ?wxFONTENCODING_UTF7 | ?wxFONTENCODING_UTF8 | ?wxFONTENCODING_EUC_JP | ?wxFONTENCODING_UTF16BE | ?wxFONTENCODING_UTF16LE | ?wxFONTENCODING_UTF32BE | ?wxFONTENCODING_UTF32LE | ?wxFONTENCODING_MACROMAN | ?wxFONTENCODING_MACJAPANESE | ?wxFONTENCODING_MACCHINESETRAD | ?wxFONTENCODING_MACKOREAN | ?wxFONTENCODING_MACARABIC | ?wxFONTENCODING_MACHEBREW | ?wxFONTENCODING_MACGREEK | ?wxFONTENCODING_MACCYRILLIC | ?wxFONTENCODING_MACDEVANAGARI | ?wxFONTENCODING_MACGURMUKHI | ?wxFONTENCODING_MACGUJARATI | ?wxFONTENCODING_MACORIYA | ?wxFONTENCODING_MACBENGALI | ?wxFONTENCODING_MACTAMIL | ?wxFONTENCODING_MACTELUGU | ?wxFONTENCODING_MACKANNADA | ?wxFONTENCODING_MACMALAJALAM | ?wxFONTENCODING_MACSINHALESE | ?wxFONTENCODING_MACBURMESE | ?wxFONTENCODING_MACKHMER | ?wxFONTENCODING_MACTHAI | ?wxFONTENCODING_MACLAOTIAN | ?wxFONTENCODING_MACGEORGIAN | ?wxFONTENCODING_MACARMENIAN | ?wxFONTENCODING_MACCHINESESIMP | ?wxFONTENCODING_MACTIBETAN | ?wxFONTENCODING_MACMONGOLIAN | ?wxFONTENCODING_MACETHIOPIC | ?wxFONTENCODING_MACCENTRALEUR | ?wxFONTENCODING_MACVIATNAMESE | ?wxFONTENCODING_MACARABICEXT | ?wxFONTENCODING_MACSYMBOL | ?wxFONTENCODING_MACDINGBATS | ?wxFONTENCODING_MACTURKISH | ?wxFONTENCODING_MACCROATIAN | ?wxFONTENCODING_MACICELANDIC | ?wxFONTENCODING_MACROMANIAN | ?wxFONTENCODING_MACCELTIC | ?wxFONTENCODING_MACGAELIC | ?wxFONTENCODING_MACKEYBOARD | ?wxFONTENCODING_MAX | ?wxFONTENCODING_MACMIN | ?wxFONTENCODING_MACMAX | ?wxFONTENCODING_UTF16 | ?wxFONTENCODING_UTF32 | ?wxFONTENCODING_UNICODE | ?wxFONTENCODING_GB2312 | ?wxFONTENCODING_BIG5 | ?wxFONTENCODING_SHIFT_JIS --spec styleSetFontEncoding(This, Style, Encoding) -> ok when +-spec styleSetFontEncoding(This, Style, Encoding) -> 'ok' when This::wxStyledTextCtrl(), Style::integer(), Encoding::wx:wx_enum(). styleSetFontEncoding(#wx_ref{type=ThisT,ref=ThisRef},Style,Encoding) when is_integer(Style),is_integer(Encoding) -> @@ -3846,7 +3846,7 @@ styleSetFontEncoding(#wx_ref{type=ThisT,ref=ThisRef},Style,Encoding) <<ThisRef:32/?UI,Style:32/?UI,Encoding:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlcmdkeyexecute">external documentation</a>. --spec cmdKeyExecute(This, Cmd) -> ok when +-spec cmdKeyExecute(This, Cmd) -> 'ok' when This::wxStyledTextCtrl(), Cmd::integer(). cmdKeyExecute(#wx_ref{type=ThisT,ref=ThisRef},Cmd) when is_integer(Cmd) -> @@ -3855,7 +3855,7 @@ cmdKeyExecute(#wx_ref{type=ThisT,ref=ThisRef},Cmd) <<ThisRef:32/?UI,Cmd:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetmargins">external documentation</a>. --spec setMargins(This, Left, Right) -> ok when +-spec setMargins(This, Left, Right) -> 'ok' when This::wxStyledTextCtrl(), Left::integer(), Right::integer(). setMargins(#wx_ref{type=ThisT,ref=ThisRef},Left,Right) when is_integer(Left),is_integer(Right) -> @@ -3881,7 +3881,7 @@ pointFromPosition(#wx_ref{type=ThisT,ref=ThisRef},Pos) <<ThisRef:32/?UI,Pos:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlscrolltoline">external documentation</a>. --spec scrollToLine(This, Line) -> ok when +-spec scrollToLine(This, Line) -> 'ok' when This::wxStyledTextCtrl(), Line::integer(). scrollToLine(#wx_ref{type=ThisT,ref=ThisRef},Line) when is_integer(Line) -> @@ -3890,7 +3890,7 @@ scrollToLine(#wx_ref{type=ThisT,ref=ThisRef},Line) <<ThisRef:32/?UI,Line:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlscrolltocolumn">external documentation</a>. --spec scrollToColumn(This, Column) -> ok when +-spec scrollToColumn(This, Column) -> 'ok' when This::wxStyledTextCtrl(), Column::integer(). scrollToColumn(#wx_ref{type=ThisT,ref=ThisRef},Column) when is_integer(Column) -> @@ -3899,7 +3899,7 @@ scrollToColumn(#wx_ref{type=ThisT,ref=ThisRef},Column) <<ThisRef:32/?UI,Column:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetvscrollbar">external documentation</a>. --spec setVScrollBar(This, Bar) -> ok when +-spec setVScrollBar(This, Bar) -> 'ok' when This::wxStyledTextCtrl(), Bar::wxScrollBar:wxScrollBar(). setVScrollBar(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=BarT,ref=BarRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -3908,7 +3908,7 @@ setVScrollBar(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=BarT,ref=BarRef}) -> <<ThisRef:32/?UI,BarRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsethscrollbar">external documentation</a>. --spec setHScrollBar(This, Bar) -> ok when +-spec setHScrollBar(This, Bar) -> 'ok' when This::wxStyledTextCtrl(), Bar::wxScrollBar:wxScrollBar(). setHScrollBar(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=BarT,ref=BarRef}) -> ?CLASS(ThisT,wxStyledTextCtrl), @@ -3925,7 +3925,7 @@ getLastKeydownProcessed(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsetlastkeydownprocessed">external documentation</a>. --spec setLastKeydownProcessed(This, Val) -> ok when +-spec setLastKeydownProcessed(This, Val) -> 'ok' when This::wxStyledTextCtrl(), Val::boolean(). setLastKeydownProcessed(#wx_ref{type=ThisT,ref=ThisRef},Val) when is_boolean(Val) -> @@ -3983,7 +3983,7 @@ getUseAntiAliasing(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrladdtextraw">external documentation</a>. --spec addTextRaw(This, Text) -> ok when +-spec addTextRaw(This, Text) -> 'ok' when This::wxStyledTextCtrl(), Text::binary(). addTextRaw(#wx_ref{type=ThisT,ref=ThisRef},Text) when is_binary(Text) -> @@ -3993,7 +3993,7 @@ addTextRaw(#wx_ref{type=ThisT,ref=ThisRef},Text) <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlinserttextraw">external documentation</a>. --spec insertTextRaw(This, Pos, Text) -> ok when +-spec insertTextRaw(This, Pos, Text) -> 'ok' when This::wxStyledTextCtrl(), Pos::integer(), Text::binary(). insertTextRaw(#wx_ref{type=ThisT,ref=ThisRef},Pos,Text) when is_integer(Pos),is_binary(Text) -> @@ -4038,7 +4038,7 @@ getTextRangeRaw(#wx_ref{type=ThisT,ref=ThisRef},StartPos,EndPos) <<ThisRef:32/?UI,StartPos:32/?UI,EndPos:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlsettextraw">external documentation</a>. --spec setTextRaw(This, Text) -> ok when +-spec setTextRaw(This, Text) -> 'ok' when This::wxStyledTextCtrl(), Text::binary(). setTextRaw(#wx_ref{type=ThisT,ref=ThisRef},Text) when is_binary(Text) -> @@ -4056,7 +4056,7 @@ getTextRaw(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxstyledtextctrl.html#wxstyledtextctrlappendtextraw">external documentation</a>. --spec appendTextRaw(This, Text) -> ok when +-spec appendTextRaw(This, Text) -> 'ok' when This::wxStyledTextCtrl(), Text::binary(). appendTextRaw(#wx_ref{type=ThisT,ref=ThisRef},Text) when is_binary(Text) -> @@ -4066,7 +4066,7 @@ appendTextRaw(#wx_ref{type=ThisT,ref=ThisRef},Text) <<ThisRef:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxStyledTextCtrl()) -> ok. +-spec destroy(This::wxStyledTextCtrl()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxStyledTextCtrl), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxSystemOptions.erl b/lib/wx/src/gen/wxSystemOptions.erl index 9db137b6a1..28d77b1e26 100644 --- a/lib/wx/src/gen/wxSystemOptions.erl +++ b/lib/wx/src/gen/wxSystemOptions.erl @@ -73,12 +73,12 @@ isFalse(Name) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxsystemoptions.html#wxsystemoptionssetoption">external documentation</a>. %% <br /> Also:<br /> -%% setOption(Name, Value) -> ok when<br /> +%% setOption(Name, Value) -> 'ok' when<br /> %% Name::unicode:chardata(), Value::unicode:chardata().<br /> %% --spec setOption(Name, Value) -> ok when +-spec setOption(Name, Value) -> 'ok' when Name::unicode:chardata(), Value::integer(); - (Name, Value) -> ok when + (Name, Value) -> 'ok' when Name::unicode:chardata(), Value::unicode:chardata(). setOption(Name,Value) when is_list(Name),is_integer(Value) -> diff --git a/lib/wx/src/gen/wxSystemSettings.erl b/lib/wx/src/gen/wxSystemSettings.erl index 234b2414c0..b48f783a45 100644 --- a/lib/wx/src/gen/wxSystemSettings.erl +++ b/lib/wx/src/gen/wxSystemSettings.erl @@ -65,7 +65,7 @@ getMetric(Index) %%<br /> Index = ?wxSYS_MOUSE_BUTTONS | ?wxSYS_BORDER_X | ?wxSYS_BORDER_Y | ?wxSYS_CURSOR_X | ?wxSYS_CURSOR_Y | ?wxSYS_DCLICK_X | ?wxSYS_DCLICK_Y | ?wxSYS_DRAG_X | ?wxSYS_DRAG_Y | ?wxSYS_EDGE_X | ?wxSYS_EDGE_Y | ?wxSYS_HSCROLL_ARROW_X | ?wxSYS_HSCROLL_ARROW_Y | ?wxSYS_HTHUMB_X | ?wxSYS_ICON_X | ?wxSYS_ICON_Y | ?wxSYS_ICONSPACING_X | ?wxSYS_ICONSPACING_Y | ?wxSYS_WINDOWMIN_X | ?wxSYS_WINDOWMIN_Y | ?wxSYS_SCREEN_X | ?wxSYS_SCREEN_Y | ?wxSYS_FRAMESIZE_X | ?wxSYS_FRAMESIZE_Y | ?wxSYS_SMALLICON_X | ?wxSYS_SMALLICON_Y | ?wxSYS_HSCROLL_Y | ?wxSYS_VSCROLL_X | ?wxSYS_VSCROLL_ARROW_X | ?wxSYS_VSCROLL_ARROW_Y | ?wxSYS_VTHUMB_Y | ?wxSYS_CAPTION_Y | ?wxSYS_MENU_Y | ?wxSYS_NETWORK_PRESENT | ?wxSYS_PENWINDOWS_PRESENT | ?wxSYS_SHOW_SOUNDS | ?wxSYS_SWAP_BUTTONS -spec getMetric(Index, [Option]) -> integer() when Index::wx:wx_enum(), - Option :: {win, wxWindow:wxWindow()}. + Option :: {'win', wxWindow:wxWindow()}. getMetric(Index, Options) when is_integer(Index),is_list(Options) -> MOpts = fun({win, #wx_ref{type=WinT,ref=WinRef}}, Acc) -> ?CLASS(WinT,wxWindow),[<<1:32/?UI,WinRef:32/?UI>>|Acc]; diff --git a/lib/wx/src/gen/wxTaskBarIcon.erl b/lib/wx/src/gen/wxTaskBarIcon.erl index 0f336c6e4c..af4859fb88 100644 --- a/lib/wx/src/gen/wxTaskBarIcon.erl +++ b/lib/wx/src/gen/wxTaskBarIcon.erl @@ -73,7 +73,7 @@ setIcon(This,Icon) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtaskbaricon.html#wxtaskbariconseticon">external documentation</a>. -spec setIcon(This, Icon, [Option]) -> boolean() when This::wxTaskBarIcon(), Icon::wxIcon:wxIcon(), - Option :: {tooltip, unicode:chardata()}. + Option :: {'tooltip', unicode:chardata()}. setIcon(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=IconT,ref=IconRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxTaskBarIcon), @@ -85,7 +85,7 @@ setIcon(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=IconT,ref=IconRef}, Options <<ThisRef:32/?UI,IconRef:32/?UI, BinOpt/binary>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxTaskBarIcon()) -> ok. +-spec destroy(This::wxTaskBarIcon()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxTaskBarIcon), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxTextAttr.erl b/lib/wx/src/gen/wxTextAttr.erl index bcc2abf73e..4f6031cc88 100644 --- a/lib/wx/src/gen/wxTextAttr.erl +++ b/lib/wx/src/gen/wxTextAttr.erl @@ -58,9 +58,9 @@ new(ColText) %%<br /> Alignment = ?wxTEXT_ALIGNMENT_DEFAULT | ?wxTEXT_ALIGNMENT_LEFT | ?wxTEXT_ALIGNMENT_CENTRE | ?wxTEXT_ALIGNMENT_CENTER | ?wxTEXT_ALIGNMENT_RIGHT | ?wxTEXT_ALIGNMENT_JUSTIFIED -spec new(ColText, [Option]) -> wxTextAttr() when ColText::wx:wx_colour(), - Option :: {colBack, wx:wx_colour()} - | {font, wxFont:wxFont()} - | {alignment, wx:wx_enum()}. + Option :: {'colBack', wx:wx_colour()} + | {'font', wxFont:wxFont()} + | {'alignment', wx:wx_enum()}. new(ColText, Options) when tuple_size(ColText) =:= 3; tuple_size(ColText) =:= 4,is_list(Options) -> MOpts = fun({colBack, ColBack}, Acc) -> [<<1:32/?UI,(wxe_util:colour_bin(ColBack)):16/binary,0:32>>|Acc]; @@ -178,7 +178,7 @@ isDefault(#wx_ref{type=ThisT,ref=ThisRef}) -> %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtextattr.html#wxtextattrsetalignment">external documentation</a>. %%<br /> Alignment = ?wxTEXT_ALIGNMENT_DEFAULT | ?wxTEXT_ALIGNMENT_LEFT | ?wxTEXT_ALIGNMENT_CENTRE | ?wxTEXT_ALIGNMENT_CENTER | ?wxTEXT_ALIGNMENT_RIGHT | ?wxTEXT_ALIGNMENT_JUSTIFIED --spec setAlignment(This, Alignment) -> ok when +-spec setAlignment(This, Alignment) -> 'ok' when This::wxTextAttr(), Alignment::wx:wx_enum(). setAlignment(#wx_ref{type=ThisT,ref=ThisRef},Alignment) when is_integer(Alignment) -> @@ -187,7 +187,7 @@ setAlignment(#wx_ref{type=ThisT,ref=ThisRef},Alignment) <<ThisRef:32/?UI,Alignment:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtextattr.html#wxtextattrsetbackgroundcolour">external documentation</a>. --spec setBackgroundColour(This, ColBack) -> ok when +-spec setBackgroundColour(This, ColBack) -> 'ok' when This::wxTextAttr(), ColBack::wx:wx_colour(). setBackgroundColour(#wx_ref{type=ThisT,ref=ThisRef},ColBack) when tuple_size(ColBack) =:= 3; tuple_size(ColBack) =:= 4 -> @@ -196,7 +196,7 @@ setBackgroundColour(#wx_ref{type=ThisT,ref=ThisRef},ColBack) <<ThisRef:32/?UI,(wxe_util:colour_bin(ColBack)):16/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtextattr.html#wxtextattrsetflags">external documentation</a>. --spec setFlags(This, Flags) -> ok when +-spec setFlags(This, Flags) -> 'ok' when This::wxTextAttr(), Flags::integer(). setFlags(#wx_ref{type=ThisT,ref=ThisRef},Flags) when is_integer(Flags) -> @@ -205,7 +205,7 @@ setFlags(#wx_ref{type=ThisT,ref=ThisRef},Flags) <<ThisRef:32/?UI,Flags:32/?UI>>). %% @equiv setFont(This,Font, []) --spec setFont(This, Font) -> ok when +-spec setFont(This, Font) -> 'ok' when This::wxTextAttr(), Font::wxFont:wxFont(). setFont(This,Font) @@ -213,9 +213,9 @@ setFont(This,Font) setFont(This,Font, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtextattr.html#wxtextattrsetfont">external documentation</a>. --spec setFont(This, Font, [Option]) -> ok when +-spec setFont(This, Font, [Option]) -> 'ok' when This::wxTextAttr(), Font::wxFont:wxFont(), - Option :: {flags, integer()}. + Option :: {'flags', integer()}. setFont(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=FontT,ref=FontRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxTextAttr), @@ -227,7 +227,7 @@ setFont(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=FontT,ref=FontRef}, Options <<ThisRef:32/?UI,FontRef:32/?UI, BinOpt/binary>>). %% @equiv setLeftIndent(This,Indent, []) --spec setLeftIndent(This, Indent) -> ok when +-spec setLeftIndent(This, Indent) -> 'ok' when This::wxTextAttr(), Indent::integer(). setLeftIndent(This,Indent) @@ -235,9 +235,9 @@ setLeftIndent(This,Indent) setLeftIndent(This,Indent, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtextattr.html#wxtextattrsetleftindent">external documentation</a>. --spec setLeftIndent(This, Indent, [Option]) -> ok when +-spec setLeftIndent(This, Indent, [Option]) -> 'ok' when This::wxTextAttr(), Indent::integer(), - Option :: {subIndent, integer()}. + Option :: {'subIndent', integer()}. setLeftIndent(#wx_ref{type=ThisT,ref=ThisRef},Indent, Options) when is_integer(Indent),is_list(Options) -> ?CLASS(ThisT,wxTextAttr), @@ -248,7 +248,7 @@ setLeftIndent(#wx_ref{type=ThisT,ref=ThisRef},Indent, Options) <<ThisRef:32/?UI,Indent:32/?UI, BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtextattr.html#wxtextattrsetrightindent">external documentation</a>. --spec setRightIndent(This, Indent) -> ok when +-spec setRightIndent(This, Indent) -> 'ok' when This::wxTextAttr(), Indent::integer(). setRightIndent(#wx_ref{type=ThisT,ref=ThisRef},Indent) when is_integer(Indent) -> @@ -257,7 +257,7 @@ setRightIndent(#wx_ref{type=ThisT,ref=ThisRef},Indent) <<ThisRef:32/?UI,Indent:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtextattr.html#wxtextattrsettabs">external documentation</a>. --spec setTabs(This, Tabs) -> ok when +-spec setTabs(This, Tabs) -> 'ok' when This::wxTextAttr(), Tabs::[integer()]. setTabs(#wx_ref{type=ThisT,ref=ThisRef},Tabs) when is_list(Tabs) -> @@ -267,7 +267,7 @@ setTabs(#wx_ref{type=ThisT,ref=ThisRef},Tabs) (<< <<C:32/?I>> || C <- Tabs>>)/binary, 0:(((0+length(Tabs)) rem 2)*32)>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtextattr.html#wxtextattrsettextcolour">external documentation</a>. --spec setTextColour(This, ColText) -> ok when +-spec setTextColour(This, ColText) -> 'ok' when This::wxTextAttr(), ColText::wx:wx_colour(). setTextColour(#wx_ref{type=ThisT,ref=ThisRef},ColText) when tuple_size(ColText) =:= 3; tuple_size(ColText) =:= 4 -> @@ -276,7 +276,7 @@ setTextColour(#wx_ref{type=ThisT,ref=ThisRef},ColText) <<ThisRef:32/?UI,(wxe_util:colour_bin(ColText)):16/binary>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxTextAttr()) -> ok. +-spec destroy(This::wxTextAttr()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxTextAttr), wxe_util:destroy(?wxTextAttr_destroy,Obj), diff --git a/lib/wx/src/gen/wxTextCtrl.erl b/lib/wx/src/gen/wxTextCtrl.erl index 5840812579..5f03398959 100644 --- a/lib/wx/src/gen/wxTextCtrl.erl +++ b/lib/wx/src/gen/wxTextCtrl.erl @@ -104,11 +104,11 @@ new(Parent,Id) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtextctrl.html#wxtextctrlwxtextctrl">external documentation</a>. -spec new(Parent, Id, [Option]) -> wxTextCtrl() when Parent::wxWindow:wxWindow(), Id::integer(), - Option :: {value, unicode:chardata()} - | {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()} - | {validator, wx:wx_object()}. + Option :: {'value', unicode:chardata()} + | {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()} + | {'validator', wx:wx_object()}. new(#wx_ref{type=ParentT,ref=ParentRef},Id, Options) when is_integer(Id),is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -123,7 +123,7 @@ new(#wx_ref{type=ParentT,ref=ParentRef},Id, Options) <<ParentRef:32/?UI,Id:32/?UI, BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtextctrl.html#wxtextctrlappendtext">external documentation</a>. --spec appendText(This, Text) -> ok when +-spec appendText(This, Text) -> 'ok' when This::wxTextCtrl(), Text::unicode:chardata(). appendText(#wx_ref{type=ThisT,ref=ThisRef},Text) when is_list(Text) -> @@ -173,7 +173,7 @@ canUndo(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtextctrl.html#wxtextctrlclear">external documentation</a>. --spec clear(This) -> ok when +-spec clear(This) -> 'ok' when This::wxTextCtrl(). clear(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxTextCtrl), @@ -181,7 +181,7 @@ clear(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtextctrl.html#wxtextctrlcopy">external documentation</a>. --spec copy(This) -> ok when +-spec copy(This) -> 'ok' when This::wxTextCtrl(). copy(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxTextCtrl), @@ -199,11 +199,11 @@ create(This,Parent,Id) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtextctrl.html#wxtextctrlcreate">external documentation</a>. -spec create(This, Parent, Id, [Option]) -> boolean() when This::wxTextCtrl(), Parent::wxWindow:wxWindow(), Id::integer(), - Option :: {value, unicode:chardata()} - | {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()} - | {validator, wx:wx_object()}. + Option :: {'value', unicode:chardata()} + | {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()} + | {'validator', wx:wx_object()}. create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef},Id, Options) when is_integer(Id),is_list(Options) -> ?CLASS(ThisT,wxTextCtrl), @@ -219,7 +219,7 @@ create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef},Id, O <<ThisRef:32/?UI,ParentRef:32/?UI,Id:32/?UI, 0:32,BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtextctrl.html#wxtextctrlcut">external documentation</a>. --spec cut(This) -> ok when +-spec cut(This) -> 'ok' when This::wxTextCtrl(). cut(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxTextCtrl), @@ -227,7 +227,7 @@ cut(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtextctrl.html#wxtextctrldiscardedits">external documentation</a>. --spec discardEdits(This) -> ok when +-spec discardEdits(This) -> 'ok' when This::wxTextCtrl(). discardEdits(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxTextCtrl), @@ -235,7 +235,7 @@ discardEdits(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtextctrl.html#wxtextctrlchangevalue">external documentation</a>. --spec changeValue(This, Value) -> ok when +-spec changeValue(This, Value) -> 'ok' when This::wxTextCtrl(), Value::unicode:chardata(). changeValue(#wx_ref{type=ThisT,ref=ThisRef},Value) when is_list(Value) -> @@ -389,7 +389,7 @@ loadFile(This,File) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtextctrl.html#wxtextctrlloadfile">external documentation</a>. -spec loadFile(This, File, [Option]) -> boolean() when This::wxTextCtrl(), File::unicode:chardata(), - Option :: {fileType, integer()}. + Option :: {'fileType', integer()}. loadFile(#wx_ref{type=ThisT,ref=ThisRef},File, Options) when is_list(File),is_list(Options) -> ?CLASS(ThisT,wxTextCtrl), @@ -401,7 +401,7 @@ loadFile(#wx_ref{type=ThisT,ref=ThisRef},File, Options) <<ThisRef:32/?UI,(byte_size(File_UC)):32/?UI,(File_UC)/binary, 0:(((8- ((0+byte_size(File_UC)) band 16#7)) band 16#7))/unit:8, BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtextctrl.html#wxtextctrlmarkdirty">external documentation</a>. --spec markDirty(This) -> ok when +-spec markDirty(This) -> 'ok' when This::wxTextCtrl(). markDirty(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxTextCtrl), @@ -409,7 +409,7 @@ markDirty(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtextctrl.html#wxtextctrlpaste">external documentation</a>. --spec paste(This) -> ok when +-spec paste(This) -> 'ok' when This::wxTextCtrl(). paste(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxTextCtrl), @@ -427,7 +427,7 @@ positionToXY(#wx_ref{type=ThisT,ref=ThisRef},Pos) <<ThisRef:32/?UI,Pos:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtextctrl.html#wxtextctrlredo">external documentation</a>. --spec redo(This) -> ok when +-spec redo(This) -> 'ok' when This::wxTextCtrl(). redo(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxTextCtrl), @@ -435,7 +435,7 @@ redo(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtextctrl.html#wxtextctrlremove">external documentation</a>. --spec remove(This, From, To) -> ok when +-spec remove(This, From, To) -> 'ok' when This::wxTextCtrl(), From::integer(), To::integer(). remove(#wx_ref{type=ThisT,ref=ThisRef},From,To) when is_integer(From),is_integer(To) -> @@ -444,7 +444,7 @@ remove(#wx_ref{type=ThisT,ref=ThisRef},From,To) <<ThisRef:32/?UI,From:32/?UI,To:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtextctrl.html#wxtextctrlreplace">external documentation</a>. --spec replace(This, From, To, Value) -> ok when +-spec replace(This, From, To, Value) -> 'ok' when This::wxTextCtrl(), From::integer(), To::integer(), Value::unicode:chardata(). replace(#wx_ref{type=ThisT,ref=ThisRef},From,To,Value) when is_integer(From),is_integer(To),is_list(Value) -> @@ -464,8 +464,8 @@ saveFile(This) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtextctrl.html#wxtextctrlsavefile">external documentation</a>. -spec saveFile(This, [Option]) -> boolean() when This::wxTextCtrl(), - Option :: {file, unicode:chardata()} - | {fileType, integer()}. + Option :: {'file', unicode:chardata()} + | {'fileType', integer()}. saveFile(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxTextCtrl), @@ -486,7 +486,7 @@ setDefaultStyle(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=StyleT,ref=StyleRef <<ThisRef:32/?UI,StyleRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtextctrl.html#wxtextctrlseteditable">external documentation</a>. --spec setEditable(This, Editable) -> ok when +-spec setEditable(This, Editable) -> 'ok' when This::wxTextCtrl(), Editable::boolean(). setEditable(#wx_ref{type=ThisT,ref=ThisRef},Editable) when is_boolean(Editable) -> @@ -495,7 +495,7 @@ setEditable(#wx_ref{type=ThisT,ref=ThisRef},Editable) <<ThisRef:32/?UI,(wxe_util:from_bool(Editable)):32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtextctrl.html#wxtextctrlsetinsertionpoint">external documentation</a>. --spec setInsertionPoint(This, Pos) -> ok when +-spec setInsertionPoint(This, Pos) -> 'ok' when This::wxTextCtrl(), Pos::integer(). setInsertionPoint(#wx_ref{type=ThisT,ref=ThisRef},Pos) when is_integer(Pos) -> @@ -504,7 +504,7 @@ setInsertionPoint(#wx_ref{type=ThisT,ref=ThisRef},Pos) <<ThisRef:32/?UI,Pos:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtextctrl.html#wxtextctrlsetinsertionpointend">external documentation</a>. --spec setInsertionPointEnd(This) -> ok when +-spec setInsertionPointEnd(This) -> 'ok' when This::wxTextCtrl(). setInsertionPointEnd(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxTextCtrl), @@ -512,7 +512,7 @@ setInsertionPointEnd(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtextctrl.html#wxtextctrlsetmaxlength">external documentation</a>. --spec setMaxLength(This, Len) -> ok when +-spec setMaxLength(This, Len) -> 'ok' when This::wxTextCtrl(), Len::integer(). setMaxLength(#wx_ref{type=ThisT,ref=ThisRef},Len) when is_integer(Len) -> @@ -521,7 +521,7 @@ setMaxLength(#wx_ref{type=ThisT,ref=ThisRef},Len) <<ThisRef:32/?UI,Len:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtextctrl.html#wxtextctrlsetselection">external documentation</a>. --spec setSelection(This, From, To) -> ok when +-spec setSelection(This, From, To) -> 'ok' when This::wxTextCtrl(), From::integer(), To::integer(). setSelection(#wx_ref{type=ThisT,ref=ThisRef},From,To) when is_integer(From),is_integer(To) -> @@ -540,7 +540,7 @@ setStyle(#wx_ref{type=ThisT,ref=ThisRef},Start,End,#wx_ref{type=StyleT,ref=Style <<ThisRef:32/?UI,Start:32/?UI,End:32/?UI,StyleRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtextctrl.html#wxtextctrlsetvalue">external documentation</a>. --spec setValue(This, Value) -> ok when +-spec setValue(This, Value) -> 'ok' when This::wxTextCtrl(), Value::unicode:chardata(). setValue(#wx_ref{type=ThisT,ref=ThisRef},Value) when is_list(Value) -> @@ -550,7 +550,7 @@ setValue(#wx_ref{type=ThisT,ref=ThisRef},Value) <<ThisRef:32/?UI,(byte_size(Value_UC)):32/?UI,(Value_UC)/binary, 0:(((8- ((0+byte_size(Value_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtextctrl.html#wxtextctrlshowposition">external documentation</a>. --spec showPosition(This, Pos) -> ok when +-spec showPosition(This, Pos) -> 'ok' when This::wxTextCtrl(), Pos::integer(). showPosition(#wx_ref{type=ThisT,ref=ThisRef},Pos) when is_integer(Pos) -> @@ -559,7 +559,7 @@ showPosition(#wx_ref{type=ThisT,ref=ThisRef},Pos) <<ThisRef:32/?UI,Pos:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtextctrl.html#wxtextctrlundo">external documentation</a>. --spec undo(This) -> ok when +-spec undo(This) -> 'ok' when This::wxTextCtrl(). undo(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxTextCtrl), @@ -567,7 +567,7 @@ undo(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtextctrl.html#wxtextctrlwritetext">external documentation</a>. --spec writeText(This, Text) -> ok when +-spec writeText(This, Text) -> 'ok' when This::wxTextCtrl(), Text::unicode:chardata(). writeText(#wx_ref{type=ThisT,ref=ThisRef},Text) when is_list(Text) -> @@ -586,7 +586,7 @@ xYToPosition(#wx_ref{type=ThisT,ref=ThisRef},X,Y) <<ThisRef:32/?UI,X:32/?UI,Y:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxTextCtrl()) -> ok. +-spec destroy(This::wxTextCtrl()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxTextCtrl), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxTextDataObject.erl b/lib/wx/src/gen/wxTextDataObject.erl index a1893eed1c..eb3e1f4bff 100644 --- a/lib/wx/src/gen/wxTextDataObject.erl +++ b/lib/wx/src/gen/wxTextDataObject.erl @@ -47,7 +47,7 @@ new() -> %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtextdataobject.html#wxtextdataobjectwxtextdataobject">external documentation</a>. -spec new([Option]) -> wxTextDataObject() when - Option :: {text, unicode:chardata()}. + Option :: {'text', unicode:chardata()}. new(Options) when is_list(Options) -> MOpts = fun({text, Text}, Acc) -> Text_UC = unicode:characters_to_binary([Text,0]),[<<1:32/?UI,(byte_size(Text_UC)):32/?UI,(Text_UC)/binary, 0:(((8- ((0+byte_size(Text_UC)) band 16#7)) band 16#7))/unit:8>>|Acc]; @@ -73,7 +73,7 @@ getText(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtextdataobject.html#wxtextdataobjectsettext">external documentation</a>. --spec setText(This, Text) -> ok when +-spec setText(This, Text) -> 'ok' when This::wxTextDataObject(), Text::unicode:chardata(). setText(#wx_ref{type=ThisT,ref=ThisRef},Text) when is_list(Text) -> @@ -83,7 +83,7 @@ setText(#wx_ref{type=ThisT,ref=ThisRef},Text) <<ThisRef:32/?UI,(byte_size(Text_UC)):32/?UI,(Text_UC)/binary, 0:(((8- ((0+byte_size(Text_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxTextDataObject()) -> ok. +-spec destroy(This::wxTextDataObject()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxTextDataObject), wxe_util:destroy(?wxTextDataObject_destroy,Obj), diff --git a/lib/wx/src/gen/wxTextEntryDialog.erl b/lib/wx/src/gen/wxTextEntryDialog.erl index a93c3857a8..eaf6dc3926 100644 --- a/lib/wx/src/gen/wxTextEntryDialog.erl +++ b/lib/wx/src/gen/wxTextEntryDialog.erl @@ -99,10 +99,10 @@ new(Parent,Message) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtextentrydialog.html#wxtextentrydialogwxtextentrydialog">external documentation</a>. -spec new(Parent, Message, [Option]) -> wxTextEntryDialog() when Parent::wxWindow:wxWindow(), Message::unicode:chardata(), - Option :: {caption, unicode:chardata()} - | {value, unicode:chardata()} - | {style, integer()} - | {pos, {X::integer(), Y::integer()}}. + Option :: {'caption', unicode:chardata()} + | {'value', unicode:chardata()} + | {'style', integer()} + | {'pos', {X::integer(), Y::integer()}}. new(#wx_ref{type=ParentT,ref=ParentRef},Message, Options) when is_list(Message),is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -125,7 +125,7 @@ getValue(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtextentrydialog.html#wxtextentrydialogsetvalue">external documentation</a>. --spec setValue(This, Val) -> ok when +-spec setValue(This, Val) -> 'ok' when This::wxTextEntryDialog(), Val::unicode:chardata(). setValue(#wx_ref{type=ThisT,ref=ThisRef},Val) when is_list(Val) -> @@ -135,7 +135,7 @@ setValue(#wx_ref{type=ThisT,ref=ThisRef},Val) <<ThisRef:32/?UI,(byte_size(Val_UC)):32/?UI,(Val_UC)/binary, 0:(((8- ((0+byte_size(Val_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxTextEntryDialog()) -> ok. +-spec destroy(This::wxTextEntryDialog()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxTextEntryDialog), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxToggleButton.erl b/lib/wx/src/gen/wxToggleButton.erl index dffb4b159d..9e8dab1c32 100644 --- a/lib/wx/src/gen/wxToggleButton.erl +++ b/lib/wx/src/gen/wxToggleButton.erl @@ -96,10 +96,10 @@ new(Parent,Id,Label) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtogglebutton.html#wxtogglebuttonwxtogglebutton">external documentation</a>. -spec new(Parent, Id, Label, [Option]) -> wxToggleButton() when Parent::wxWindow:wxWindow(), Id::integer(), Label::unicode:chardata(), - Option :: {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()} - | {validator, wx:wx_object()}. + Option :: {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()} + | {'validator', wx:wx_object()}. new(#wx_ref{type=ParentT,ref=ParentRef},Id,Label, Options) when is_integer(Id),is_list(Label),is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -124,10 +124,10 @@ create(This,Parent,Id,Label) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtogglebutton.html#wxtogglebuttoncreate">external documentation</a>. -spec create(This, Parent, Id, Label, [Option]) -> boolean() when This::wxToggleButton(), Parent::wxWindow:wxWindow(), Id::integer(), Label::unicode:chardata(), - Option :: {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()} - | {validator, wx:wx_object()}. + Option :: {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()} + | {'validator', wx:wx_object()}. create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef},Id,Label, Options) when is_integer(Id),is_list(Label),is_list(Options) -> ?CLASS(ThisT,wxToggleButton), @@ -151,7 +151,7 @@ getValue(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtogglebutton.html#wxtogglebuttonsetvalue">external documentation</a>. --spec setValue(This, State) -> ok when +-spec setValue(This, State) -> 'ok' when This::wxToggleButton(), State::boolean(). setValue(#wx_ref{type=ThisT,ref=ThisRef},State) when is_boolean(State) -> @@ -160,7 +160,7 @@ setValue(#wx_ref{type=ThisT,ref=ThisRef},State) <<ThisRef:32/?UI,(wxe_util:from_bool(State)):32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxToggleButton()) -> ok. +-spec destroy(This::wxToggleButton()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxToggleButton), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxToolBar.erl b/lib/wx/src/gen/wxToolBar.erl index b3cce2b6e9..9be37f943c 100644 --- a/lib/wx/src/gen/wxToolBar.erl +++ b/lib/wx/src/gen/wxToolBar.erl @@ -128,8 +128,8 @@ addTool(This,Toolid,Bitmap) %% This::wxToolBar(), Toolid::integer(), Bitmap::wxBitmap:wxBitmap(), BmpDisabled::wxBitmap:wxBitmap();<br /> %% (This, Toolid, Bitmap, [Option]) -> wx:wx_object() when<br /> %% This::wxToolBar(), Toolid::integer(), Bitmap::wxBitmap:wxBitmap(),<br /> -%% Option :: {shortHelpString, unicode:chardata()}<br /> -%% | {longHelpString, unicode:chardata()}.<br /> +%% Option :: {'shortHelpString', unicode:chardata()}<br /> +%% | {'longHelpString', unicode:chardata()}.<br /> %% %%<br /> Kind = ?wxITEM_SEPARATOR | ?wxITEM_NORMAL | ?wxITEM_CHECK | ?wxITEM_RADIO | ?wxITEM_MAX -spec addTool(This, Toolid, Label, Bitmap) -> wx:wx_object() when @@ -138,8 +138,8 @@ addTool(This,Toolid,Bitmap) This::wxToolBar(), Toolid::integer(), Bitmap::wxBitmap:wxBitmap(), BmpDisabled::wxBitmap:wxBitmap(); (This, Toolid, Bitmap, [Option]) -> wx:wx_object() when This::wxToolBar(), Toolid::integer(), Bitmap::wxBitmap:wxBitmap(), - Option :: {shortHelpString, unicode:chardata()} - | {longHelpString, unicode:chardata()}. + Option :: {'shortHelpString', unicode:chardata()} + | {'longHelpString', unicode:chardata()}. addTool(This,Toolid,Label,Bitmap) when is_record(This, wx_ref),is_integer(Toolid),is_list(Label),is_record(Bitmap, wx_ref) -> @@ -163,28 +163,28 @@ addTool(#wx_ref{type=ThisT,ref=ThisRef},Toolid,#wx_ref{type=BitmapT,ref=BitmapRe %% <br /> Also:<br /> %% addTool(This, Toolid, Label, Bitmap, [Option]) -> wx:wx_object() when<br /> %% This::wxToolBar(), Toolid::integer(), Label::unicode:chardata(), Bitmap::wxBitmap:wxBitmap(),<br /> -%% Option :: {shortHelp, unicode:chardata()}<br /> -%% | {kind, wx:wx_enum()};<br /> +%% Option :: {'shortHelp', unicode:chardata()}<br /> +%% | {'kind', wx:wx_enum()};<br /> %% (This, Toolid, Bitmap, BmpDisabled, [Option]) -> wx:wx_object() when<br /> %% This::wxToolBar(), Toolid::integer(), Bitmap::wxBitmap:wxBitmap(), BmpDisabled::wxBitmap:wxBitmap(),<br /> -%% Option :: {toggle, boolean()}<br /> -%% | {clientData, wx:wx_object()}<br /> -%% | {shortHelpString, unicode:chardata()}<br /> -%% | {longHelpString, unicode:chardata()}.<br /> +%% Option :: {'toggle', boolean()}<br /> +%% | {'clientData', wx:wx_object()}<br /> +%% | {'shortHelpString', unicode:chardata()}<br /> +%% | {'longHelpString', unicode:chardata()}.<br /> %% %%<br /> Kind = ?wxITEM_SEPARATOR | ?wxITEM_NORMAL | ?wxITEM_CHECK | ?wxITEM_RADIO | ?wxITEM_MAX -spec addTool(This, Toolid, Label, Bitmap, BmpDisabled) -> wx:wx_object() when This::wxToolBar(), Toolid::integer(), Label::unicode:chardata(), Bitmap::wxBitmap:wxBitmap(), BmpDisabled::wxBitmap:wxBitmap(); (This, Toolid, Label, Bitmap, [Option]) -> wx:wx_object() when This::wxToolBar(), Toolid::integer(), Label::unicode:chardata(), Bitmap::wxBitmap:wxBitmap(), - Option :: {shortHelp, unicode:chardata()} - | {kind, wx:wx_enum()}; + Option :: {'shortHelp', unicode:chardata()} + | {'kind', wx:wx_enum()}; (This, Toolid, Bitmap, BmpDisabled, [Option]) -> wx:wx_object() when This::wxToolBar(), Toolid::integer(), Bitmap::wxBitmap:wxBitmap(), BmpDisabled::wxBitmap:wxBitmap(), - Option :: {toggle, boolean()} - | {clientData, wx:wx_object()} - | {shortHelpString, unicode:chardata()} - | {longHelpString, unicode:chardata()}. + Option :: {'toggle', boolean()} + | {'clientData', wx:wx_object()} + | {'shortHelpString', unicode:chardata()} + | {'longHelpString', unicode:chardata()}. addTool(This,Toolid,Label,Bitmap,BmpDisabled) when is_record(This, wx_ref),is_integer(Toolid),is_list(Label),is_record(Bitmap, wx_ref),is_record(BmpDisabled, wx_ref) -> @@ -218,20 +218,20 @@ addTool(#wx_ref{type=ThisT,ref=ThisRef},Toolid,#wx_ref{type=BitmapT,ref=BitmapRe %% <br /> Also:<br /> %% addTool(This, Toolid, Label, Bitmap, BmpDisabled, [Option]) -> wx:wx_object() when<br /> %% This::wxToolBar(), Toolid::integer(), Label::unicode:chardata(), Bitmap::wxBitmap:wxBitmap(), BmpDisabled::wxBitmap:wxBitmap(),<br /> -%% Option :: {kind, wx:wx_enum()}<br /> -%% | {shortHelp, unicode:chardata()}<br /> -%% | {longHelp, unicode:chardata()}<br /> -%% | {data, wx:wx_object()}.<br /> +%% Option :: {'kind', wx:wx_enum()}<br /> +%% | {'shortHelp', unicode:chardata()}<br /> +%% | {'longHelp', unicode:chardata()}<br /> +%% | {'data', wx:wx_object()}.<br /> %% %%<br /> Kind = ?wxITEM_SEPARATOR | ?wxITEM_NORMAL | ?wxITEM_CHECK | ?wxITEM_RADIO | ?wxITEM_MAX -spec addTool(This, Toolid, Bitmap, BmpDisabled, Toggle, XPos) -> wx:wx_object() when This::wxToolBar(), Toolid::integer(), Bitmap::wxBitmap:wxBitmap(), BmpDisabled::wxBitmap:wxBitmap(), Toggle::boolean(), XPos::integer(); (This, Toolid, Label, Bitmap, BmpDisabled, [Option]) -> wx:wx_object() when This::wxToolBar(), Toolid::integer(), Label::unicode:chardata(), Bitmap::wxBitmap:wxBitmap(), BmpDisabled::wxBitmap:wxBitmap(), - Option :: {kind, wx:wx_enum()} - | {shortHelp, unicode:chardata()} - | {longHelp, unicode:chardata()} - | {data, wx:wx_object()}. + Option :: {'kind', wx:wx_enum()} + | {'shortHelp', unicode:chardata()} + | {'longHelp', unicode:chardata()} + | {'data', wx:wx_object()}. addTool(This,Toolid,Bitmap,BmpDisabled,Toggle,XPos) when is_record(This, wx_ref),is_integer(Toolid),is_record(Bitmap, wx_ref),is_record(BmpDisabled, wx_ref),is_boolean(Toggle),is_integer(XPos) -> @@ -254,10 +254,10 @@ addTool(#wx_ref{type=ThisT,ref=ThisRef},Toolid,Label,#wx_ref{type=BitmapT,ref=Bi %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtoolbar.html#wxtoolbaraddtool">external documentation</a>. -spec addTool(This, Toolid, Bitmap, BmpDisabled, Toggle, XPos, [Option]) -> wx:wx_object() when This::wxToolBar(), Toolid::integer(), Bitmap::wxBitmap:wxBitmap(), BmpDisabled::wxBitmap:wxBitmap(), Toggle::boolean(), XPos::integer(), - Option :: {yPos, integer()} - | {clientData, wx:wx_object()} - | {shortHelp, unicode:chardata()} - | {longHelp, unicode:chardata()}. + Option :: {'yPos', integer()} + | {'clientData', wx:wx_object()} + | {'shortHelp', unicode:chardata()} + | {'longHelp', unicode:chardata()}. addTool(#wx_ref{type=ThisT,ref=ThisRef},Toolid,#wx_ref{type=BitmapT,ref=BitmapRef},#wx_ref{type=BmpDisabledT,ref=BmpDisabledRef},Toggle,XPos, Options) when is_integer(Toolid),is_boolean(Toggle),is_integer(XPos),is_list(Options) -> ?CLASS(ThisT,wxToolBar), @@ -283,10 +283,10 @@ addCheckTool(This,Toolid,Label,Bitmap) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtoolbar.html#wxtoolbaraddchecktool">external documentation</a>. -spec addCheckTool(This, Toolid, Label, Bitmap, [Option]) -> wx:wx_object() when This::wxToolBar(), Toolid::integer(), Label::unicode:chardata(), Bitmap::wxBitmap:wxBitmap(), - Option :: {bmpDisabled, wxBitmap:wxBitmap()} - | {shortHelp, unicode:chardata()} - | {longHelp, unicode:chardata()} - | {data, wx:wx_object()}. + Option :: {'bmpDisabled', wxBitmap:wxBitmap()} + | {'shortHelp', unicode:chardata()} + | {'longHelp', unicode:chardata()} + | {'data', wx:wx_object()}. addCheckTool(#wx_ref{type=ThisT,ref=ThisRef},Toolid,Label,#wx_ref{type=BitmapT,ref=BitmapRef}, Options) when is_integer(Toolid),is_list(Label),is_list(Options) -> ?CLASS(ThisT,wxToolBar), @@ -312,10 +312,10 @@ addRadioTool(This,Toolid,Label,Bitmap) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtoolbar.html#wxtoolbaraddradiotool">external documentation</a>. -spec addRadioTool(This, Toolid, Label, Bitmap, [Option]) -> wx:wx_object() when This::wxToolBar(), Toolid::integer(), Label::unicode:chardata(), Bitmap::wxBitmap:wxBitmap(), - Option :: {bmpDisabled, wxBitmap:wxBitmap()} - | {shortHelp, unicode:chardata()} - | {longHelp, unicode:chardata()} - | {data, wx:wx_object()}. + Option :: {'bmpDisabled', wxBitmap:wxBitmap()} + | {'shortHelp', unicode:chardata()} + | {'longHelp', unicode:chardata()} + | {'data', wx:wx_object()}. addRadioTool(#wx_ref{type=ThisT,ref=ThisRef},Toolid,Label,#wx_ref{type=BitmapT,ref=BitmapRef}, Options) when is_integer(Toolid),is_list(Label),is_list(Options) -> ?CLASS(ThisT,wxToolBar), @@ -366,7 +366,7 @@ deleteToolByPos(#wx_ref{type=ThisT,ref=ThisRef},Pos) <<ThisRef:32/?UI,Pos:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtoolbar.html#wxtoolbarenabletool">external documentation</a>. --spec enableTool(This, Toolid, Enable) -> ok when +-spec enableTool(This, Toolid, Enable) -> 'ok' when This::wxToolBar(), Toolid::integer(), Enable::boolean(). enableTool(#wx_ref{type=ThisT,ref=ThisRef},Toolid,Enable) when is_integer(Toolid),is_boolean(Enable) -> @@ -527,22 +527,22 @@ insertTool(This,Pos,Toolid,Bitmap) %% <br /> Also:<br /> %% insertTool(This, Pos, Toolid, Bitmap, [Option]) -> wx:wx_object() when<br /> %% This::wxToolBar(), Pos::integer(), Toolid::integer(), Bitmap::wxBitmap:wxBitmap(),<br /> -%% Option :: {bmpDisabled, wxBitmap:wxBitmap()}<br /> -%% | {toggle, boolean()}<br /> -%% | {clientData, wx:wx_object()}<br /> -%% | {shortHelp, unicode:chardata()}<br /> -%% | {longHelp, unicode:chardata()}.<br /> +%% Option :: {'bmpDisabled', wxBitmap:wxBitmap()}<br /> +%% | {'toggle', boolean()}<br /> +%% | {'clientData', wx:wx_object()}<br /> +%% | {'shortHelp', unicode:chardata()}<br /> +%% | {'longHelp', unicode:chardata()}.<br /> %% %%<br /> Kind = ?wxITEM_SEPARATOR | ?wxITEM_NORMAL | ?wxITEM_CHECK | ?wxITEM_RADIO | ?wxITEM_MAX -spec insertTool(This, Pos, Toolid, Label, Bitmap) -> wx:wx_object() when This::wxToolBar(), Pos::integer(), Toolid::integer(), Label::unicode:chardata(), Bitmap::wxBitmap:wxBitmap(); (This, Pos, Toolid, Bitmap, [Option]) -> wx:wx_object() when This::wxToolBar(), Pos::integer(), Toolid::integer(), Bitmap::wxBitmap:wxBitmap(), - Option :: {bmpDisabled, wxBitmap:wxBitmap()} - | {toggle, boolean()} - | {clientData, wx:wx_object()} - | {shortHelp, unicode:chardata()} - | {longHelp, unicode:chardata()}. + Option :: {'bmpDisabled', wxBitmap:wxBitmap()} + | {'toggle', boolean()} + | {'clientData', wx:wx_object()} + | {'shortHelp', unicode:chardata()} + | {'longHelp', unicode:chardata()}. insertTool(This,Pos,Toolid,Label,Bitmap) when is_record(This, wx_ref),is_integer(Pos),is_integer(Toolid),is_list(Label),is_record(Bitmap, wx_ref) -> @@ -565,11 +565,11 @@ insertTool(#wx_ref{type=ThisT,ref=ThisRef},Pos,Toolid,#wx_ref{type=BitmapT,ref=B %%<br /> Kind = ?wxITEM_SEPARATOR | ?wxITEM_NORMAL | ?wxITEM_CHECK | ?wxITEM_RADIO | ?wxITEM_MAX -spec insertTool(This, Pos, Toolid, Label, Bitmap, [Option]) -> wx:wx_object() when This::wxToolBar(), Pos::integer(), Toolid::integer(), Label::unicode:chardata(), Bitmap::wxBitmap:wxBitmap(), - Option :: {bmpDisabled, wxBitmap:wxBitmap()} - | {kind, wx:wx_enum()} - | {shortHelp, unicode:chardata()} - | {longHelp, unicode:chardata()} - | {clientData, wx:wx_object()}. + Option :: {'bmpDisabled', wxBitmap:wxBitmap()} + | {'kind', wx:wx_enum()} + | {'shortHelp', unicode:chardata()} + | {'longHelp', unicode:chardata()} + | {'clientData', wx:wx_object()}. insertTool(#wx_ref{type=ThisT,ref=ThisRef},Pos,Toolid,Label,#wx_ref{type=BitmapT,ref=BitmapRef}, Options) when is_integer(Pos),is_integer(Toolid),is_list(Label),is_list(Options) -> ?CLASS(ThisT,wxToolBar), @@ -603,7 +603,7 @@ removeTool(#wx_ref{type=ThisT,ref=ThisRef},Toolid) <<ThisRef:32/?UI,Toolid:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtoolbar.html#wxtoolbarsetmargins">external documentation</a>. --spec setMargins(This, X, Y) -> ok when +-spec setMargins(This, X, Y) -> 'ok' when This::wxToolBar(), X::integer(), Y::integer(). setMargins(#wx_ref{type=ThisT,ref=ThisRef},X,Y) when is_integer(X),is_integer(Y) -> @@ -612,7 +612,7 @@ setMargins(#wx_ref{type=ThisT,ref=ThisRef},X,Y) <<ThisRef:32/?UI,X:32/?UI,Y:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtoolbar.html#wxtoolbarsettoolbitmapsize">external documentation</a>. --spec setToolBitmapSize(This, Size) -> ok when +-spec setToolBitmapSize(This, Size) -> 'ok' when This::wxToolBar(), Size::{W::integer(), H::integer()}. setToolBitmapSize(#wx_ref{type=ThisT,ref=ThisRef},{SizeW,SizeH}) when is_integer(SizeW),is_integer(SizeH) -> @@ -621,7 +621,7 @@ setToolBitmapSize(#wx_ref{type=ThisT,ref=ThisRef},{SizeW,SizeH}) <<ThisRef:32/?UI,SizeW:32/?UI,SizeH:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtoolbar.html#wxtoolbarsettoollonghelp">external documentation</a>. --spec setToolLongHelp(This, Toolid, HelpString) -> ok when +-spec setToolLongHelp(This, Toolid, HelpString) -> 'ok' when This::wxToolBar(), Toolid::integer(), HelpString::unicode:chardata(). setToolLongHelp(#wx_ref{type=ThisT,ref=ThisRef},Toolid,HelpString) when is_integer(Toolid),is_list(HelpString) -> @@ -631,7 +631,7 @@ setToolLongHelp(#wx_ref{type=ThisT,ref=ThisRef},Toolid,HelpString) <<ThisRef:32/?UI,Toolid:32/?UI,(byte_size(HelpString_UC)):32/?UI,(HelpString_UC)/binary, 0:(((8- ((4+byte_size(HelpString_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtoolbar.html#wxtoolbarsettoolpacking">external documentation</a>. --spec setToolPacking(This, Packing) -> ok when +-spec setToolPacking(This, Packing) -> 'ok' when This::wxToolBar(), Packing::integer(). setToolPacking(#wx_ref{type=ThisT,ref=ThisRef},Packing) when is_integer(Packing) -> @@ -640,7 +640,7 @@ setToolPacking(#wx_ref{type=ThisT,ref=ThisRef},Packing) <<ThisRef:32/?UI,Packing:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtoolbar.html#wxtoolbarsettoolshorthelp">external documentation</a>. --spec setToolShortHelp(This, Id, HelpString) -> ok when +-spec setToolShortHelp(This, Id, HelpString) -> 'ok' when This::wxToolBar(), Id::integer(), HelpString::unicode:chardata(). setToolShortHelp(#wx_ref{type=ThisT,ref=ThisRef},Id,HelpString) when is_integer(Id),is_list(HelpString) -> @@ -650,7 +650,7 @@ setToolShortHelp(#wx_ref{type=ThisT,ref=ThisRef},Id,HelpString) <<ThisRef:32/?UI,Id:32/?UI,(byte_size(HelpString_UC)):32/?UI,(HelpString_UC)/binary, 0:(((8- ((4+byte_size(HelpString_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtoolbar.html#wxtoolbarsettoolseparation">external documentation</a>. --spec setToolSeparation(This, Separation) -> ok when +-spec setToolSeparation(This, Separation) -> 'ok' when This::wxToolBar(), Separation::integer(). setToolSeparation(#wx_ref{type=ThisT,ref=ThisRef},Separation) when is_integer(Separation) -> @@ -659,7 +659,7 @@ setToolSeparation(#wx_ref{type=ThisT,ref=ThisRef},Separation) <<ThisRef:32/?UI,Separation:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtoolbar.html#wxtoolbartoggletool">external documentation</a>. --spec toggleTool(This, Toolid, Toggle) -> ok when +-spec toggleTool(This, Toolid, Toggle) -> 'ok' when This::wxToolBar(), Toolid::integer(), Toggle::boolean(). toggleTool(#wx_ref{type=ThisT,ref=ThisRef},Toolid,Toggle) when is_integer(Toolid),is_boolean(Toggle) -> diff --git a/lib/wx/src/gen/wxToolTip.erl b/lib/wx/src/gen/wxToolTip.erl index 78831de8c5..163e764d8c 100644 --- a/lib/wx/src/gen/wxToolTip.erl +++ b/lib/wx/src/gen/wxToolTip.erl @@ -36,7 +36,7 @@ parent_class(_Class) -> erlang:error({badtype, ?MODULE}). -type wxToolTip() :: wx:wx_object(). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtooltip.html#wxtooltipenable">external documentation</a>. --spec enable(Flag) -> ok when +-spec enable(Flag) -> 'ok' when Flag::boolean(). enable(Flag) when is_boolean(Flag) -> @@ -44,7 +44,7 @@ enable(Flag) <<(wxe_util:from_bool(Flag)):32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtooltip.html#wxtooltipsetdelay">external documentation</a>. --spec setDelay(Msecs) -> ok when +-spec setDelay(Msecs) -> 'ok' when Msecs::integer(). setDelay(Msecs) when is_integer(Msecs) -> @@ -61,7 +61,7 @@ new(Tip) <<(byte_size(Tip_UC)):32/?UI,(Tip_UC)/binary, 0:(((8- ((4+byte_size(Tip_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtooltip.html#wxtooltipsettip">external documentation</a>. --spec setTip(This, Tip) -> ok when +-spec setTip(This, Tip) -> 'ok' when This::wxToolTip(), Tip::unicode:chardata(). setTip(#wx_ref{type=ThisT,ref=ThisRef},Tip) when is_list(Tip) -> @@ -87,7 +87,7 @@ getWindow(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxToolTip()) -> ok. +-spec destroy(This::wxToolTip()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxToolTip), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxToolbook.erl b/lib/wx/src/gen/wxToolbook.erl index cf77aefd8a..92dcbc726b 100644 --- a/lib/wx/src/gen/wxToolbook.erl +++ b/lib/wx/src/gen/wxToolbook.erl @@ -101,9 +101,9 @@ new(Parent,Id) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtoolbook.html#wxtoolbookwxtoolbook">external documentation</a>. -spec new(Parent, Id, [Option]) -> wxToolbook() when Parent::wxWindow:wxWindow(), Id::integer(), - Option :: {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()}. + Option :: {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()}. new(#wx_ref{type=ParentT,ref=ParentRef},Id, Options) when is_integer(Id),is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -126,8 +126,8 @@ addPage(This,Page,Text) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtoolbook.html#wxtoolbookaddpage">external documentation</a>. -spec addPage(This, Page, Text, [Option]) -> boolean() when This::wxToolbook(), Page::wxWindow:wxWindow(), Text::unicode:chardata(), - Option :: {bSelect, boolean()} - | {imageId, integer()}. + Option :: {'bSelect', boolean()} + | {'imageId', integer()}. addPage(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=PageT,ref=PageRef},Text, Options) when is_list(Text),is_list(Options) -> ?CLASS(ThisT,wxToolbook), @@ -141,7 +141,7 @@ addPage(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=PageT,ref=PageRef},Text, Op <<ThisRef:32/?UI,PageRef:32/?UI,(byte_size(Text_UC)):32/?UI,(Text_UC)/binary, 0:(((8- ((4+byte_size(Text_UC)) band 16#7)) band 16#7))/unit:8, BinOpt/binary>>). %% @equiv advanceSelection(This, []) --spec advanceSelection(This) -> ok when +-spec advanceSelection(This) -> 'ok' when This::wxToolbook(). advanceSelection(This) @@ -149,9 +149,9 @@ advanceSelection(This) advanceSelection(This, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtoolbook.html#wxtoolbookadvanceselection">external documentation</a>. --spec advanceSelection(This, [Option]) -> ok when +-spec advanceSelection(This, [Option]) -> 'ok' when This::wxToolbook(), - Option :: {forward, boolean()}. + Option :: {'forward', boolean()}. advanceSelection(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxToolbook), @@ -162,7 +162,7 @@ advanceSelection(#wx_ref{type=ThisT,ref=ThisRef}, Options) <<ThisRef:32/?UI, 0:32,BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtoolbook.html#wxtoolbookassignimagelist">external documentation</a>. --spec assignImageList(This, ImageList) -> ok when +-spec assignImageList(This, ImageList) -> 'ok' when This::wxToolbook(), ImageList::wxImageList:wxImageList(). assignImageList(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ImageListT,ref=ImageListRef}) -> ?CLASS(ThisT,wxToolbook), @@ -181,9 +181,9 @@ create(This,Parent,Id) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtoolbook.html#wxtoolbookcreate">external documentation</a>. -spec create(This, Parent, Id, [Option]) -> boolean() when This::wxToolbook(), Parent::wxWindow:wxWindow(), Id::integer(), - Option :: {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()}. + Option :: {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()}. create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef},Id, Options) when is_integer(Id),is_list(Options) -> ?CLASS(ThisT,wxToolbook), @@ -302,8 +302,8 @@ insertPage(This,N,Page,Text) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtoolbook.html#wxtoolbookinsertpage">external documentation</a>. -spec insertPage(This, N, Page, Text, [Option]) -> boolean() when This::wxToolbook(), N::integer(), Page::wxWindow:wxWindow(), Text::unicode:chardata(), - Option :: {bSelect, boolean()} - | {imageId, integer()}. + Option :: {'bSelect', boolean()} + | {'imageId', integer()}. insertPage(#wx_ref{type=ThisT,ref=ThisRef},N,#wx_ref{type=PageT,ref=PageRef},Text, Options) when is_integer(N),is_list(Text),is_list(Options) -> ?CLASS(ThisT,wxToolbook), @@ -317,7 +317,7 @@ insertPage(#wx_ref{type=ThisT,ref=ThisRef},N,#wx_ref{type=PageT,ref=PageRef},Tex <<ThisRef:32/?UI,N:32/?UI,PageRef:32/?UI,(byte_size(Text_UC)):32/?UI,(Text_UC)/binary, 0:(((8- ((0+byte_size(Text_UC)) band 16#7)) band 16#7))/unit:8, BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtoolbook.html#wxtoolbooksetimagelist">external documentation</a>. --spec setImageList(This, ImageList) -> ok when +-spec setImageList(This, ImageList) -> 'ok' when This::wxToolbook(), ImageList::wxImageList:wxImageList(). setImageList(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ImageListT,ref=ImageListRef}) -> ?CLASS(ThisT,wxToolbook), @@ -326,7 +326,7 @@ setImageList(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ImageListT,ref=ImageLi <<ThisRef:32/?UI,ImageListRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtoolbook.html#wxtoolbooksetpagesize">external documentation</a>. --spec setPageSize(This, Size) -> ok when +-spec setPageSize(This, Size) -> 'ok' when This::wxToolbook(), Size::{W::integer(), H::integer()}. setPageSize(#wx_ref{type=ThisT,ref=ThisRef},{SizeW,SizeH}) when is_integer(SizeW),is_integer(SizeH) -> @@ -372,7 +372,7 @@ changeSelection(#wx_ref{type=ThisT,ref=ThisRef},N) <<ThisRef:32/?UI,N:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxToolbook()) -> ok. +-spec destroy(This::wxToolbook()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxToolbook), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxTopLevelWindow.erl b/lib/wx/src/gen/wxTopLevelWindow.erl index 72813b0073..6ba81691c7 100644 --- a/lib/wx/src/gen/wxTopLevelWindow.erl +++ b/lib/wx/src/gen/wxTopLevelWindow.erl @@ -114,7 +114,7 @@ isActive(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @equiv iconize(This, []) --spec iconize(This) -> ok when +-spec iconize(This) -> 'ok' when This::wxTopLevelWindow(). iconize(This) @@ -122,9 +122,9 @@ iconize(This) iconize(This, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtoplevelwindow.html#wxtoplevelwindowiconize">external documentation</a>. --spec iconize(This, [Option]) -> ok when +-spec iconize(This, [Option]) -> 'ok' when This::wxTopLevelWindow(), - Option :: {iconize, boolean()}. + Option :: {'iconize', boolean()}. iconize(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxTopLevelWindow), @@ -159,7 +159,7 @@ isMaximized(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @equiv maximize(This, []) --spec maximize(This) -> ok when +-spec maximize(This) -> 'ok' when This::wxTopLevelWindow(). maximize(This) @@ -167,9 +167,9 @@ maximize(This) maximize(This, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtoplevelwindow.html#wxtoplevelwindowmaximize">external documentation</a>. --spec maximize(This, [Option]) -> ok when +-spec maximize(This, [Option]) -> 'ok' when This::wxTopLevelWindow(), - Option :: {maximize, boolean()}. + Option :: {'maximize', boolean()}. maximize(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxTopLevelWindow), @@ -180,7 +180,7 @@ maximize(#wx_ref{type=ThisT,ref=ThisRef}, Options) <<ThisRef:32/?UI, 0:32,BinOpt/binary>>). %% @equiv requestUserAttention(This, []) --spec requestUserAttention(This) -> ok when +-spec requestUserAttention(This) -> 'ok' when This::wxTopLevelWindow(). requestUserAttention(This) @@ -188,9 +188,9 @@ requestUserAttention(This) requestUserAttention(This, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtoplevelwindow.html#wxtoplevelwindowrequestuserattention">external documentation</a>. --spec requestUserAttention(This, [Option]) -> ok when +-spec requestUserAttention(This, [Option]) -> 'ok' when This::wxTopLevelWindow(), - Option :: {flags, integer()}. + Option :: {'flags', integer()}. requestUserAttention(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxTopLevelWindow), @@ -201,7 +201,7 @@ requestUserAttention(#wx_ref{type=ThisT,ref=ThisRef}, Options) <<ThisRef:32/?UI, 0:32,BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtoplevelwindow.html#wxtoplevelwindowseticon">external documentation</a>. --spec setIcon(This, Icon) -> ok when +-spec setIcon(This, Icon) -> 'ok' when This::wxTopLevelWindow(), Icon::wxIcon:wxIcon(). setIcon(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=IconT,ref=IconRef}) -> ?CLASS(ThisT,wxTopLevelWindow), @@ -210,7 +210,7 @@ setIcon(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=IconT,ref=IconRef}) -> <<ThisRef:32/?UI,IconRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtoplevelwindow.html#wxtoplevelwindowseticons">external documentation</a>. --spec setIcons(This, Icons) -> ok when +-spec setIcons(This, Icons) -> 'ok' when This::wxTopLevelWindow(), Icons::wxIconBundle:wxIconBundle(). setIcons(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=IconsT,ref=IconsRef}) -> ?CLASS(ThisT,wxTopLevelWindow), @@ -219,7 +219,7 @@ setIcons(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=IconsT,ref=IconsRef}) -> <<ThisRef:32/?UI,IconsRef:32/?UI>>). %% @equiv centerOnScreen(This, []) --spec centerOnScreen(This) -> ok when +-spec centerOnScreen(This) -> 'ok' when This::wxTopLevelWindow(). centerOnScreen(This) @@ -227,9 +227,9 @@ centerOnScreen(This) centerOnScreen(This, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtoplevelwindow.html#wxtoplevelwindowcenteronscreen">external documentation</a>. --spec centerOnScreen(This, [Option]) -> ok when +-spec centerOnScreen(This, [Option]) -> 'ok' when This::wxTopLevelWindow(), - Option :: {dir, integer()}. + Option :: {'dir', integer()}. centerOnScreen(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxTopLevelWindow), @@ -240,7 +240,7 @@ centerOnScreen(#wx_ref{type=ThisT,ref=ThisRef}, Options) <<ThisRef:32/?UI, 0:32,BinOpt/binary>>). %% @equiv centreOnScreen(This, []) --spec centreOnScreen(This) -> ok when +-spec centreOnScreen(This) -> 'ok' when This::wxTopLevelWindow(). centreOnScreen(This) @@ -248,9 +248,9 @@ centreOnScreen(This) centreOnScreen(This, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtoplevelwindow.html#wxtoplevelwindowcentreonscreen">external documentation</a>. --spec centreOnScreen(This, [Option]) -> ok when +-spec centreOnScreen(This, [Option]) -> 'ok' when This::wxTopLevelWindow(), - Option :: {dir, integer()}. + Option :: {'dir', integer()}. centreOnScreen(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxTopLevelWindow), @@ -270,7 +270,7 @@ setShape(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=RegionT,ref=RegionRef}) -> <<ThisRef:32/?UI,RegionRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtoplevelwindow.html#wxtoplevelwindowsettitle">external documentation</a>. --spec setTitle(This, Title) -> ok when +-spec setTitle(This, Title) -> 'ok' when This::wxTopLevelWindow(), Title::unicode:chardata(). setTitle(#wx_ref{type=ThisT,ref=ThisRef},Title) when is_list(Title) -> @@ -290,7 +290,7 @@ showFullScreen(This,Show) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtoplevelwindow.html#wxtoplevelwindowshowfullscreen">external documentation</a>. -spec showFullScreen(This, Show, [Option]) -> boolean() when This::wxTopLevelWindow(), Show::boolean(), - Option :: {style, integer()}. + Option :: {'style', integer()}. showFullScreen(#wx_ref{type=ThisT,ref=ThisRef},Show, Options) when is_boolean(Show),is_list(Options) -> ?CLASS(ThisT,wxTopLevelWindow), diff --git a/lib/wx/src/gen/wxTreeCtrl.erl b/lib/wx/src/gen/wxTreeCtrl.erl index 43dee9107d..97b43309ad 100644 --- a/lib/wx/src/gen/wxTreeCtrl.erl +++ b/lib/wx/src/gen/wxTreeCtrl.erl @@ -117,11 +117,11 @@ new(Parent) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtreectrl.html#wxtreectrlwxtreectrl">external documentation</a>. -spec new(Parent, [Option]) -> wxTreeCtrl() when Parent::wxWindow:wxWindow(), - Option :: {id, integer()} - | {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()} - | {validator, wx:wx_object()}. + Option :: {'id', integer()} + | {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()} + | {'validator', wx:wx_object()}. new(#wx_ref{type=ParentT,ref=ParentRef}, Options) when is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -146,9 +146,9 @@ addRoot(This,Text) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtreectrl.html#wxtreectrladdroot">external documentation</a>. -spec addRoot(This, Text, [Option]) -> integer() when This::wxTreeCtrl(), Text::unicode:chardata(), - Option :: {image, integer()} - | {selectedImage, integer()} - | {data, term()}. + Option :: {'image', integer()} + | {'selectedImage', integer()} + | {'data', term()}. addRoot(#wx_ref{type=ThisT,ref=ThisRef},Text, Options) when is_list(Text),is_list(Options) -> ?CLASS(ThisT,wxTreeCtrl), @@ -172,9 +172,9 @@ appendItem(This,Parent,Text) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtreectrl.html#wxtreectrlappenditem">external documentation</a>. -spec appendItem(This, Parent, Text, [Option]) -> integer() when This::wxTreeCtrl(), Parent::integer(), Text::unicode:chardata(), - Option :: {image, integer()} - | {selectedImage, integer()} - | {data, term()}. + Option :: {'image', integer()} + | {'selectedImage', integer()} + | {'data', term()}. appendItem(#wx_ref{type=ThisT,ref=ThisRef},Parent,Text, Options) when is_integer(Parent),is_list(Text),is_list(Options) -> ?CLASS(ThisT,wxTreeCtrl), @@ -188,7 +188,7 @@ appendItem(#wx_ref{type=ThisT,ref=ThisRef},Parent,Text, Options) <<ThisRef:32/?UI,0:32,Parent:64/?UI,(byte_size(Text_UC)):32/?UI,(Text_UC)/binary, 0:(((8- ((4+byte_size(Text_UC)) band 16#7)) band 16#7))/unit:8, BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtreectrl.html#wxtreectrlassignimagelist">external documentation</a>. --spec assignImageList(This, ImageList) -> ok when +-spec assignImageList(This, ImageList) -> 'ok' when This::wxTreeCtrl(), ImageList::wxImageList:wxImageList(). assignImageList(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ImageListT,ref=ImageListRef}) -> ?CLASS(ThisT,wxTreeCtrl), @@ -197,7 +197,7 @@ assignImageList(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ImageListT,ref=Imag <<ThisRef:32/?UI,ImageListRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtreectrl.html#wxtreectrlassignstateimagelist">external documentation</a>. --spec assignStateImageList(This, ImageList) -> ok when +-spec assignStateImageList(This, ImageList) -> 'ok' when This::wxTreeCtrl(), ImageList::wxImageList:wxImageList(). assignStateImageList(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ImageListT,ref=ImageListRef}) -> ?CLASS(ThisT,wxTreeCtrl), @@ -206,7 +206,7 @@ assignStateImageList(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ImageListT,ref <<ThisRef:32/?UI,ImageListRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtreectrl.html#wxtreectrlcollapse">external documentation</a>. --spec collapse(This, Item) -> ok when +-spec collapse(This, Item) -> 'ok' when This::wxTreeCtrl(), Item::integer(). collapse(#wx_ref{type=ThisT,ref=ThisRef},Item) when is_integer(Item) -> @@ -215,7 +215,7 @@ collapse(#wx_ref{type=ThisT,ref=ThisRef},Item) <<ThisRef:32/?UI,0:32,Item:64/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtreectrl.html#wxtreectrlcollapseandreset">external documentation</a>. --spec collapseAndReset(This, Item) -> ok when +-spec collapseAndReset(This, Item) -> 'ok' when This::wxTreeCtrl(), Item::integer(). collapseAndReset(#wx_ref{type=ThisT,ref=ThisRef},Item) when is_integer(Item) -> @@ -234,11 +234,11 @@ create(This,Parent) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtreectrl.html#wxtreectrlcreate">external documentation</a>. -spec create(This, Parent, [Option]) -> boolean() when This::wxTreeCtrl(), Parent::wxWindow:wxWindow(), - Option :: {id, integer()} - | {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()} - | {validator, wx:wx_object()}. + Option :: {'id', integer()} + | {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()} + | {'validator', wx:wx_object()}. create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxTreeCtrl), @@ -254,7 +254,7 @@ create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef}, Opti <<ThisRef:32/?UI,ParentRef:32/?UI, BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtreectrl.html#wxtreectrldelete">external documentation</a>. --spec delete(This, Item) -> ok when +-spec delete(This, Item) -> 'ok' when This::wxTreeCtrl(), Item::integer(). delete(#wx_ref{type=ThisT,ref=ThisRef},Item) when is_integer(Item) -> @@ -263,7 +263,7 @@ delete(#wx_ref{type=ThisT,ref=ThisRef},Item) <<ThisRef:32/?UI,0:32,Item:64/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtreectrl.html#wxtreectrldeleteallitems">external documentation</a>. --spec deleteAllItems(This) -> ok when +-spec deleteAllItems(This) -> 'ok' when This::wxTreeCtrl(). deleteAllItems(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxTreeCtrl), @@ -271,7 +271,7 @@ deleteAllItems(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtreectrl.html#wxtreectrldeletechildren">external documentation</a>. --spec deleteChildren(This, Item) -> ok when +-spec deleteChildren(This, Item) -> 'ok' when This::wxTreeCtrl(), Item::integer(). deleteChildren(#wx_ref{type=ThisT,ref=ThisRef},Item) when is_integer(Item) -> @@ -289,7 +289,7 @@ editLabel(#wx_ref{type=ThisT,ref=ThisRef},Item) <<ThisRef:32/?UI,0:32,Item:64/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtreectrl.html#wxtreectrlensurevisible">external documentation</a>. --spec ensureVisible(This, Item) -> ok when +-spec ensureVisible(This, Item) -> 'ok' when This::wxTreeCtrl(), Item::integer(). ensureVisible(#wx_ref{type=ThisT,ref=ThisRef},Item) when is_integer(Item) -> @@ -298,7 +298,7 @@ ensureVisible(#wx_ref{type=ThisT,ref=ThisRef},Item) <<ThisRef:32/?UI,0:32,Item:64/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtreectrl.html#wxtreectrlexpand">external documentation</a>. --spec expand(This, Item) -> ok when +-spec expand(This, Item) -> 'ok' when This::wxTreeCtrl(), Item::integer(). expand(#wx_ref{type=ThisT,ref=ThisRef},Item) when is_integer(Item) -> @@ -319,7 +319,7 @@ getBoundingRect(This,Item) -spec getBoundingRect(This, Item, [Option]) -> Result when Result :: {Res ::boolean(), Rect::{X::integer(), Y::integer(), W::integer(), H::integer()}}, This::wxTreeCtrl(), Item::integer(), - Option :: {textOnly, boolean()}. + Option :: {'textOnly', boolean()}. getBoundingRect(#wx_ref{type=ThisT,ref=ThisRef},Item, Options) when is_integer(Item),is_list(Options) -> ?CLASS(ThisT,wxTreeCtrl), @@ -340,7 +340,7 @@ getChildrenCount(This,Item) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtreectrl.html#wxtreectrlgetchildrencount">external documentation</a>. -spec getChildrenCount(This, Item, [Option]) -> integer() when This::wxTreeCtrl(), Item::integer(), - Option :: {recursively, boolean()}. + Option :: {'recursively', boolean()}. getChildrenCount(#wx_ref{type=ThisT,ref=ThisRef},Item, Options) when is_integer(Item),is_list(Options) -> ?CLASS(ThisT,wxTreeCtrl), @@ -450,7 +450,7 @@ getItemImage(#wx_ref{type=ThisT,ref=ThisRef},Item) %%<br /> Which = ?wxTreeItemIcon_Normal | ?wxTreeItemIcon_Selected | ?wxTreeItemIcon_Expanded | ?wxTreeItemIcon_SelectedExpanded | ?wxTreeItemIcon_Max -spec getItemImage(This, Item, [Option]) -> integer() when This::wxTreeCtrl(), Item::integer(), - Option :: {which, wx:wx_enum()}. + Option :: {'which', wx:wx_enum()}. getItemImage(#wx_ref{type=ThisT,ref=ThisRef},Item, Options) when is_integer(Item),is_list(Options) -> ?CLASS(ThisT,wxTreeCtrl), @@ -586,9 +586,9 @@ insertItem(This,Parent,Pos,Text) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtreectrl.html#wxtreectrlinsertitem">external documentation</a>. -spec insertItem(This, Parent, Pos, Text, [Option]) -> integer() when This::wxTreeCtrl(), Parent::integer(), Pos::integer(), Text::unicode:chardata(), - Option :: {image, integer()} - | {selImage, integer()} - | {data, term()}. + Option :: {'image', integer()} + | {'selImage', integer()} + | {'data', term()}. insertItem(#wx_ref{type=ThisT,ref=ThisRef},Parent,Pos,Text, Options) when is_integer(Parent),is_integer(Pos),is_list(Text),is_list(Options) -> ?CLASS(ThisT,wxTreeCtrl), @@ -665,9 +665,9 @@ prependItem(This,Parent,Text) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtreectrl.html#wxtreectrlprependitem">external documentation</a>. -spec prependItem(This, Parent, Text, [Option]) -> integer() when This::wxTreeCtrl(), Parent::integer(), Text::unicode:chardata(), - Option :: {image, integer()} - | {selectedImage, integer()} - | {data, term()}. + Option :: {'image', integer()} + | {'selectedImage', integer()} + | {'data', term()}. prependItem(#wx_ref{type=ThisT,ref=ThisRef},Parent,Text, Options) when is_integer(Parent),is_list(Text),is_list(Options) -> ?CLASS(ThisT,wxTreeCtrl), @@ -681,7 +681,7 @@ prependItem(#wx_ref{type=ThisT,ref=ThisRef},Parent,Text, Options) <<ThisRef:32/?UI,0:32,Parent:64/?UI,(byte_size(Text_UC)):32/?UI,(Text_UC)/binary, 0:(((8- ((4+byte_size(Text_UC)) band 16#7)) band 16#7))/unit:8, BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtreectrl.html#wxtreectrlscrollto">external documentation</a>. --spec scrollTo(This, Item) -> ok when +-spec scrollTo(This, Item) -> 'ok' when This::wxTreeCtrl(), Item::integer(). scrollTo(#wx_ref{type=ThisT,ref=ThisRef},Item) when is_integer(Item) -> @@ -690,7 +690,7 @@ scrollTo(#wx_ref{type=ThisT,ref=ThisRef},Item) <<ThisRef:32/?UI,0:32,Item:64/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtreectrl.html#wxtreectrlselectitem">external documentation</a>. --spec selectItem(This, Item) -> ok when +-spec selectItem(This, Item) -> 'ok' when This::wxTreeCtrl(), Item::integer(). selectItem(#wx_ref{type=ThisT,ref=ThisRef},Item) when is_integer(Item) -> @@ -699,9 +699,9 @@ selectItem(#wx_ref{type=ThisT,ref=ThisRef},Item) <<ThisRef:32/?UI,0:32,Item:64/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtreectrl.html#wxtreectrlselectitem">external documentation</a>. --spec selectItem(This, Item, [Option]) -> ok when +-spec selectItem(This, Item, [Option]) -> 'ok' when This::wxTreeCtrl(), Item::integer(), - Option :: {select, boolean()}. + Option :: {'select', boolean()}. selectItem(#wx_ref{type=ThisT,ref=ThisRef},Item, Options) when is_integer(Item),is_list(Options) -> ?CLASS(ThisT,wxTreeCtrl), @@ -712,7 +712,7 @@ selectItem(#wx_ref{type=ThisT,ref=ThisRef},Item, Options) <<ThisRef:32/?UI,0:32,Item:64/?UI, BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtreectrl.html#wxtreectrlsetindent">external documentation</a>. --spec setIndent(This, Indent) -> ok when +-spec setIndent(This, Indent) -> 'ok' when This::wxTreeCtrl(), Indent::integer(). setIndent(#wx_ref{type=ThisT,ref=ThisRef},Indent) when is_integer(Indent) -> @@ -721,7 +721,7 @@ setIndent(#wx_ref{type=ThisT,ref=ThisRef},Indent) <<ThisRef:32/?UI,Indent:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtreectrl.html#wxtreectrlsetimagelist">external documentation</a>. --spec setImageList(This, ImageList) -> ok when +-spec setImageList(This, ImageList) -> 'ok' when This::wxTreeCtrl(), ImageList::wxImageList:wxImageList(). setImageList(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ImageListT,ref=ImageListRef}) -> ?CLASS(ThisT,wxTreeCtrl), @@ -730,7 +730,7 @@ setImageList(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ImageListT,ref=ImageLi <<ThisRef:32/?UI,ImageListRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtreectrl.html#wxtreectrlsetitembackgroundcolour">external documentation</a>. --spec setItemBackgroundColour(This, Item, Col) -> ok when +-spec setItemBackgroundColour(This, Item, Col) -> 'ok' when This::wxTreeCtrl(), Item::integer(), Col::wx:wx_colour(). setItemBackgroundColour(#wx_ref{type=ThisT,ref=ThisRef},Item,Col) when is_integer(Item),tuple_size(Col) =:= 3; tuple_size(Col) =:= 4 -> @@ -739,7 +739,7 @@ setItemBackgroundColour(#wx_ref{type=ThisT,ref=ThisRef},Item,Col) <<ThisRef:32/?UI,0:32,Item:64/?UI,(wxe_util:colour_bin(Col)):16/binary>>). %% @equiv setItemBold(This,Item, []) --spec setItemBold(This, Item) -> ok when +-spec setItemBold(This, Item) -> 'ok' when This::wxTreeCtrl(), Item::integer(). setItemBold(This,Item) @@ -747,9 +747,9 @@ setItemBold(This,Item) setItemBold(This,Item, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtreectrl.html#wxtreectrlsetitembold">external documentation</a>. --spec setItemBold(This, Item, [Option]) -> ok when +-spec setItemBold(This, Item, [Option]) -> 'ok' when This::wxTreeCtrl(), Item::integer(), - Option :: {bold, boolean()}. + Option :: {'bold', boolean()}. setItemBold(#wx_ref{type=ThisT,ref=ThisRef},Item, Options) when is_integer(Item),is_list(Options) -> ?CLASS(ThisT,wxTreeCtrl), @@ -760,7 +760,7 @@ setItemBold(#wx_ref{type=ThisT,ref=ThisRef},Item, Options) <<ThisRef:32/?UI,0:32,Item:64/?UI, BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtreectrl.html#wxtreectrlsetitemdata">external documentation</a>. --spec setItemData(This, Item, Data) -> ok when +-spec setItemData(This, Item, Data) -> 'ok' when This::wxTreeCtrl(), Item::integer(), Data::term(). setItemData(#wx_ref{type=ThisT,ref=ThisRef},Item,Data) when is_integer(Item) -> @@ -770,7 +770,7 @@ setItemData(#wx_ref{type=ThisT,ref=ThisRef},Item,Data) <<ThisRef:32/?UI,0:32,Item:64/?UI>>). %% @equiv setItemDropHighlight(This,Item, []) --spec setItemDropHighlight(This, Item) -> ok when +-spec setItemDropHighlight(This, Item) -> 'ok' when This::wxTreeCtrl(), Item::integer(). setItemDropHighlight(This,Item) @@ -778,9 +778,9 @@ setItemDropHighlight(This,Item) setItemDropHighlight(This,Item, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtreectrl.html#wxtreectrlsetitemdrophighlight">external documentation</a>. --spec setItemDropHighlight(This, Item, [Option]) -> ok when +-spec setItemDropHighlight(This, Item, [Option]) -> 'ok' when This::wxTreeCtrl(), Item::integer(), - Option :: {highlight, boolean()}. + Option :: {'highlight', boolean()}. setItemDropHighlight(#wx_ref{type=ThisT,ref=ThisRef},Item, Options) when is_integer(Item),is_list(Options) -> ?CLASS(ThisT,wxTreeCtrl), @@ -791,7 +791,7 @@ setItemDropHighlight(#wx_ref{type=ThisT,ref=ThisRef},Item, Options) <<ThisRef:32/?UI,0:32,Item:64/?UI, BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtreectrl.html#wxtreectrlsetitemfont">external documentation</a>. --spec setItemFont(This, Item, Font) -> ok when +-spec setItemFont(This, Item, Font) -> 'ok' when This::wxTreeCtrl(), Item::integer(), Font::wxFont:wxFont(). setItemFont(#wx_ref{type=ThisT,ref=ThisRef},Item,#wx_ref{type=FontT,ref=FontRef}) when is_integer(Item) -> @@ -801,7 +801,7 @@ setItemFont(#wx_ref{type=ThisT,ref=ThisRef},Item,#wx_ref{type=FontT,ref=FontRef} <<ThisRef:32/?UI,0:32,Item:64/?UI,FontRef:32/?UI>>). %% @equiv setItemHasChildren(This,Item, []) --spec setItemHasChildren(This, Item) -> ok when +-spec setItemHasChildren(This, Item) -> 'ok' when This::wxTreeCtrl(), Item::integer(). setItemHasChildren(This,Item) @@ -809,9 +809,9 @@ setItemHasChildren(This,Item) setItemHasChildren(This,Item, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtreectrl.html#wxtreectrlsetitemhaschildren">external documentation</a>. --spec setItemHasChildren(This, Item, [Option]) -> ok when +-spec setItemHasChildren(This, Item, [Option]) -> 'ok' when This::wxTreeCtrl(), Item::integer(), - Option :: {has, boolean()}. + Option :: {'has', boolean()}. setItemHasChildren(#wx_ref{type=ThisT,ref=ThisRef},Item, Options) when is_integer(Item),is_list(Options) -> ?CLASS(ThisT,wxTreeCtrl), @@ -822,7 +822,7 @@ setItemHasChildren(#wx_ref{type=ThisT,ref=ThisRef},Item, Options) <<ThisRef:32/?UI,0:32,Item:64/?UI, BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtreectrl.html#wxtreectrlsetitemimage">external documentation</a>. --spec setItemImage(This, Item, Image) -> ok when +-spec setItemImage(This, Item, Image) -> 'ok' when This::wxTreeCtrl(), Item::integer(), Image::integer(). setItemImage(#wx_ref{type=ThisT,ref=ThisRef},Item,Image) when is_integer(Item),is_integer(Image) -> @@ -832,9 +832,9 @@ setItemImage(#wx_ref{type=ThisT,ref=ThisRef},Item,Image) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtreectrl.html#wxtreectrlsetitemimage">external documentation</a>. %%<br /> Which = ?wxTreeItemIcon_Normal | ?wxTreeItemIcon_Selected | ?wxTreeItemIcon_Expanded | ?wxTreeItemIcon_SelectedExpanded | ?wxTreeItemIcon_Max --spec setItemImage(This, Item, Image, [Option]) -> ok when +-spec setItemImage(This, Item, Image, [Option]) -> 'ok' when This::wxTreeCtrl(), Item::integer(), Image::integer(), - Option :: {which, wx:wx_enum()}. + Option :: {'which', wx:wx_enum()}. setItemImage(#wx_ref{type=ThisT,ref=ThisRef},Item,Image, Options) when is_integer(Item),is_integer(Image),is_list(Options) -> ?CLASS(ThisT,wxTreeCtrl), @@ -845,7 +845,7 @@ setItemImage(#wx_ref{type=ThisT,ref=ThisRef},Item,Image, Options) <<ThisRef:32/?UI,0:32,Item:64/?UI,Image:32/?UI, 0:32,BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtreectrl.html#wxtreectrlsetitemtext">external documentation</a>. --spec setItemText(This, Item, Text) -> ok when +-spec setItemText(This, Item, Text) -> 'ok' when This::wxTreeCtrl(), Item::integer(), Text::unicode:chardata(). setItemText(#wx_ref{type=ThisT,ref=ThisRef},Item,Text) when is_integer(Item),is_list(Text) -> @@ -855,7 +855,7 @@ setItemText(#wx_ref{type=ThisT,ref=ThisRef},Item,Text) <<ThisRef:32/?UI,0:32,Item:64/?UI,(byte_size(Text_UC)):32/?UI,(Text_UC)/binary, 0:(((8- ((4+byte_size(Text_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtreectrl.html#wxtreectrlsetitemtextcolour">external documentation</a>. --spec setItemTextColour(This, Item, Col) -> ok when +-spec setItemTextColour(This, Item, Col) -> 'ok' when This::wxTreeCtrl(), Item::integer(), Col::wx:wx_colour(). setItemTextColour(#wx_ref{type=ThisT,ref=ThisRef},Item,Col) when is_integer(Item),tuple_size(Col) =:= 3; tuple_size(Col) =:= 4 -> @@ -864,7 +864,7 @@ setItemTextColour(#wx_ref{type=ThisT,ref=ThisRef},Item,Col) <<ThisRef:32/?UI,0:32,Item:64/?UI,(wxe_util:colour_bin(Col)):16/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtreectrl.html#wxtreectrlsetstateimagelist">external documentation</a>. --spec setStateImageList(This, ImageList) -> ok when +-spec setStateImageList(This, ImageList) -> 'ok' when This::wxTreeCtrl(), ImageList::wxImageList:wxImageList(). setStateImageList(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ImageListT,ref=ImageListRef}) -> ?CLASS(ThisT,wxTreeCtrl), @@ -873,7 +873,7 @@ setStateImageList(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ImageListT,ref=Im <<ThisRef:32/?UI,ImageListRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtreectrl.html#wxtreectrlsetwindowstyle">external documentation</a>. --spec setWindowStyle(This, Styles) -> ok when +-spec setWindowStyle(This, Styles) -> 'ok' when This::wxTreeCtrl(), Styles::integer(). setWindowStyle(#wx_ref{type=ThisT,ref=ThisRef},Styles) when is_integer(Styles) -> @@ -882,7 +882,7 @@ setWindowStyle(#wx_ref{type=ThisT,ref=ThisRef},Styles) <<ThisRef:32/?UI,Styles:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtreectrl.html#wxtreectrlsortchildren">external documentation</a>. --spec sortChildren(This, Item) -> ok when +-spec sortChildren(This, Item) -> 'ok' when This::wxTreeCtrl(), Item::integer(). sortChildren(#wx_ref{type=ThisT,ref=ThisRef},Item) when is_integer(Item) -> @@ -891,7 +891,7 @@ sortChildren(#wx_ref{type=ThisT,ref=ThisRef},Item) <<ThisRef:32/?UI,0:32,Item:64/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtreectrl.html#wxtreectrltoggle">external documentation</a>. --spec toggle(This, Item) -> ok when +-spec toggle(This, Item) -> 'ok' when This::wxTreeCtrl(), Item::integer(). toggle(#wx_ref{type=ThisT,ref=ThisRef},Item) when is_integer(Item) -> @@ -900,7 +900,7 @@ toggle(#wx_ref{type=ThisT,ref=ThisRef},Item) <<ThisRef:32/?UI,0:32,Item:64/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtreectrl.html#wxtreectrltoggleitemselection">external documentation</a>. --spec toggleItemSelection(This, Item) -> ok when +-spec toggleItemSelection(This, Item) -> 'ok' when This::wxTreeCtrl(), Item::integer(). toggleItemSelection(#wx_ref{type=ThisT,ref=ThisRef},Item) when is_integer(Item) -> @@ -909,7 +909,7 @@ toggleItemSelection(#wx_ref{type=ThisT,ref=ThisRef},Item) <<ThisRef:32/?UI,0:32,Item:64/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtreectrl.html#wxtreectrlunselect">external documentation</a>. --spec unselect(This) -> ok when +-spec unselect(This) -> 'ok' when This::wxTreeCtrl(). unselect(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxTreeCtrl), @@ -917,7 +917,7 @@ unselect(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtreectrl.html#wxtreectrlunselectall">external documentation</a>. --spec unselectAll(This) -> ok when +-spec unselectAll(This) -> 'ok' when This::wxTreeCtrl(). unselectAll(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxTreeCtrl), @@ -925,7 +925,7 @@ unselectAll(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtreectrl.html#wxtreectrlunselectitem">external documentation</a>. --spec unselectItem(This, Item) -> ok when +-spec unselectItem(This, Item) -> 'ok' when This::wxTreeCtrl(), Item::integer(). unselectItem(#wx_ref{type=ThisT,ref=ThisRef},Item) when is_integer(Item) -> @@ -934,7 +934,7 @@ unselectItem(#wx_ref{type=ThisT,ref=ThisRef},Item) <<ThisRef:32/?UI,0:32,Item:64/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxTreeCtrl()) -> ok. +-spec destroy(This::wxTreeCtrl()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxTreeCtrl), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxTreeEvent.erl b/lib/wx/src/gen/wxTreeEvent.erl index 5200a7a8e9..41e86fe41f 100644 --- a/lib/wx/src/gen/wxTreeEvent.erl +++ b/lib/wx/src/gen/wxTreeEvent.erl @@ -108,7 +108,7 @@ isEditCancelled(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtreeevent.html#wxtreeeventsettooltip">external documentation</a>. --spec setToolTip(This, ToolTip) -> ok when +-spec setToolTip(This, ToolTip) -> 'ok' when This::wxTreeEvent(), ToolTip::unicode:chardata(). setToolTip(#wx_ref{type=ThisT,ref=ThisRef},ToolTip) when is_list(ToolTip) -> diff --git a/lib/wx/src/gen/wxTreebook.erl b/lib/wx/src/gen/wxTreebook.erl index 1900f47289..5d3c177f7e 100644 --- a/lib/wx/src/gen/wxTreebook.erl +++ b/lib/wx/src/gen/wxTreebook.erl @@ -102,9 +102,9 @@ new(Parent,Id) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtreebook.html#wxtreebookwxtreebook">external documentation</a>. -spec new(Parent, Id, [Option]) -> wxTreebook() when Parent::wxWindow:wxWindow(), Id::integer(), - Option :: {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()}. + Option :: {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()}. new(#wx_ref{type=ParentT,ref=ParentRef},Id, Options) when is_integer(Id),is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -127,8 +127,8 @@ addPage(This,Page,Text) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtreebook.html#wxtreebookaddpage">external documentation</a>. -spec addPage(This, Page, Text, [Option]) -> boolean() when This::wxTreebook(), Page::wxWindow:wxWindow(), Text::unicode:chardata(), - Option :: {bSelect, boolean()} - | {imageId, integer()}. + Option :: {'bSelect', boolean()} + | {'imageId', integer()}. addPage(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=PageT,ref=PageRef},Text, Options) when is_list(Text),is_list(Options) -> ?CLASS(ThisT,wxTreebook), @@ -142,7 +142,7 @@ addPage(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=PageT,ref=PageRef},Text, Op <<ThisRef:32/?UI,PageRef:32/?UI,(byte_size(Text_UC)):32/?UI,(Text_UC)/binary, 0:(((8- ((4+byte_size(Text_UC)) band 16#7)) band 16#7))/unit:8, BinOpt/binary>>). %% @equiv advanceSelection(This, []) --spec advanceSelection(This) -> ok when +-spec advanceSelection(This) -> 'ok' when This::wxTreebook(). advanceSelection(This) @@ -150,9 +150,9 @@ advanceSelection(This) advanceSelection(This, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtreebook.html#wxtreebookadvanceselection">external documentation</a>. --spec advanceSelection(This, [Option]) -> ok when +-spec advanceSelection(This, [Option]) -> 'ok' when This::wxTreebook(), - Option :: {forward, boolean()}. + Option :: {'forward', boolean()}. advanceSelection(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxTreebook), @@ -163,7 +163,7 @@ advanceSelection(#wx_ref{type=ThisT,ref=ThisRef}, Options) <<ThisRef:32/?UI, 0:32,BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtreebook.html#wxtreebookassignimagelist">external documentation</a>. --spec assignImageList(This, ImageList) -> ok when +-spec assignImageList(This, ImageList) -> 'ok' when This::wxTreebook(), ImageList::wxImageList:wxImageList(). assignImageList(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ImageListT,ref=ImageListRef}) -> ?CLASS(ThisT,wxTreebook), @@ -182,9 +182,9 @@ create(This,Parent,Id) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtreebook.html#wxtreebookcreate">external documentation</a>. -spec create(This, Parent, Id, [Option]) -> boolean() when This::wxTreebook(), Parent::wxWindow:wxWindow(), Id::integer(), - Option :: {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()}. + Option :: {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()}. create(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ParentT,ref=ParentRef},Id, Options) when is_integer(Id),is_list(Options) -> ?CLASS(ThisT,wxTreebook), @@ -293,7 +293,7 @@ expandNode(This,Pos) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtreebook.html#wxtreebookexpandnode">external documentation</a>. -spec expandNode(This, Pos, [Option]) -> boolean() when This::wxTreebook(), Pos::integer(), - Option :: {expand, boolean()}. + Option :: {'expand', boolean()}. expandNode(#wx_ref{type=ThisT,ref=ThisRef},Pos, Options) when is_integer(Pos),is_list(Options) -> ?CLASS(ThisT,wxTreebook), @@ -333,8 +333,8 @@ insertPage(This,Pos,Page,Text) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtreebook.html#wxtreebookinsertpage">external documentation</a>. -spec insertPage(This, Pos, Page, Text, [Option]) -> boolean() when This::wxTreebook(), Pos::integer(), Page::wxWindow:wxWindow(), Text::unicode:chardata(), - Option :: {bSelect, boolean()} - | {imageId, integer()}. + Option :: {'bSelect', boolean()} + | {'imageId', integer()}. insertPage(#wx_ref{type=ThisT,ref=ThisRef},Pos,#wx_ref{type=PageT,ref=PageRef},Text, Options) when is_integer(Pos),is_list(Text),is_list(Options) -> ?CLASS(ThisT,wxTreebook), @@ -358,8 +358,8 @@ insertSubPage(This,Pos,Page,Text) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtreebook.html#wxtreebookinsertsubpage">external documentation</a>. -spec insertSubPage(This, Pos, Page, Text, [Option]) -> boolean() when This::wxTreebook(), Pos::integer(), Page::wxWindow:wxWindow(), Text::unicode:chardata(), - Option :: {bSelect, boolean()} - | {imageId, integer()}. + Option :: {'bSelect', boolean()} + | {'imageId', integer()}. insertSubPage(#wx_ref{type=ThisT,ref=ThisRef},Pos,#wx_ref{type=PageT,ref=PageRef},Text, Options) when is_integer(Pos),is_list(Text),is_list(Options) -> ?CLASS(ThisT,wxTreebook), @@ -373,7 +373,7 @@ insertSubPage(#wx_ref{type=ThisT,ref=ThisRef},Pos,#wx_ref{type=PageT,ref=PageRef <<ThisRef:32/?UI,Pos:32/?UI,PageRef:32/?UI,(byte_size(Text_UC)):32/?UI,(Text_UC)/binary, 0:(((8- ((0+byte_size(Text_UC)) band 16#7)) band 16#7))/unit:8, BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtreebook.html#wxtreebooksetimagelist">external documentation</a>. --spec setImageList(This, ImageList) -> ok when +-spec setImageList(This, ImageList) -> 'ok' when This::wxTreebook(), ImageList::wxImageList:wxImageList(). setImageList(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ImageListT,ref=ImageListRef}) -> ?CLASS(ThisT,wxTreebook), @@ -382,7 +382,7 @@ setImageList(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ImageListT,ref=ImageLi <<ThisRef:32/?UI,ImageListRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtreebook.html#wxtreebooksetpagesize">external documentation</a>. --spec setPageSize(This, Size) -> ok when +-spec setPageSize(This, Size) -> 'ok' when This::wxTreebook(), Size::{W::integer(), H::integer()}. setPageSize(#wx_ref{type=ThisT,ref=ThisRef},{SizeW,SizeH}) when is_integer(SizeW),is_integer(SizeH) -> @@ -428,7 +428,7 @@ changeSelection(#wx_ref{type=ThisT,ref=ThisRef},N) <<ThisRef:32/?UI,N:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxTreebook()) -> ok. +-spec destroy(This::wxTreebook()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxTreebook), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxUpdateUIEvent.erl b/lib/wx/src/gen/wxUpdateUIEvent.erl index db126eec40..fec42ed8eb 100644 --- a/lib/wx/src/gen/wxUpdateUIEvent.erl +++ b/lib/wx/src/gen/wxUpdateUIEvent.erl @@ -59,7 +59,7 @@ canUpdate(#wx_ref{type=WinT,ref=WinRef}) -> <<WinRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxupdateuievent.html#wxupdateuieventcheck">external documentation</a>. --spec check(This, Check) -> ok when +-spec check(This, Check) -> 'ok' when This::wxUpdateUIEvent(), Check::boolean(). check(#wx_ref{type=ThisT,ref=ThisRef},Check) when is_boolean(Check) -> @@ -68,7 +68,7 @@ check(#wx_ref{type=ThisT,ref=ThisRef},Check) <<ThisRef:32/?UI,(wxe_util:from_bool(Check)):32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxupdateuievent.html#wxupdateuieventenable">external documentation</a>. --spec enable(This, Enable) -> ok when +-spec enable(This, Enable) -> 'ok' when This::wxUpdateUIEvent(), Enable::boolean(). enable(#wx_ref{type=ThisT,ref=ThisRef},Enable) when is_boolean(Enable) -> @@ -77,7 +77,7 @@ enable(#wx_ref{type=ThisT,ref=ThisRef},Enable) <<ThisRef:32/?UI,(wxe_util:from_bool(Enable)):32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxupdateuievent.html#wxupdateuieventshow">external documentation</a>. --spec show(This, Show) -> ok when +-spec show(This, Show) -> 'ok' when This::wxUpdateUIEvent(), Show::boolean(). show(#wx_ref{type=ThisT,ref=ThisRef},Show) when is_boolean(Show) -> @@ -163,14 +163,14 @@ getUpdateInterval() -> <<>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxupdateuievent.html#wxupdateuieventresetupdatetime">external documentation</a>. --spec resetUpdateTime() -> ok. +-spec resetUpdateTime() -> 'ok'. resetUpdateTime() -> wxe_util:cast(?wxUpdateUIEvent_ResetUpdateTime, <<>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxupdateuievent.html#wxupdateuieventsetmode">external documentation</a>. %%<br /> Mode = ?wxUPDATE_UI_PROCESS_ALL | ?wxUPDATE_UI_PROCESS_SPECIFIED --spec setMode(Mode) -> ok when +-spec setMode(Mode) -> 'ok' when Mode::wx:wx_enum(). setMode(Mode) when is_integer(Mode) -> @@ -178,7 +178,7 @@ setMode(Mode) <<Mode:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxupdateuievent.html#wxupdateuieventsettext">external documentation</a>. --spec setText(This, Text) -> ok when +-spec setText(This, Text) -> 'ok' when This::wxUpdateUIEvent(), Text::unicode:chardata(). setText(#wx_ref{type=ThisT,ref=ThisRef},Text) when is_list(Text) -> @@ -188,7 +188,7 @@ setText(#wx_ref{type=ThisT,ref=ThisRef},Text) <<ThisRef:32/?UI,(byte_size(Text_UC)):32/?UI,(Text_UC)/binary, 0:(((8- ((0+byte_size(Text_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxupdateuievent.html#wxupdateuieventsetupdateinterval">external documentation</a>. --spec setUpdateInterval(UpdateInterval) -> ok when +-spec setUpdateInterval(UpdateInterval) -> 'ok' when UpdateInterval::integer(). setUpdateInterval(UpdateInterval) when is_integer(UpdateInterval) -> diff --git a/lib/wx/src/gen/wxWindow.erl b/lib/wx/src/gen/wxWindow.erl index a8a61d547b..4ac7cc5d75 100644 --- a/lib/wx/src/gen/wxWindow.erl +++ b/lib/wx/src/gen/wxWindow.erl @@ -93,9 +93,9 @@ new(Parent,Id) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowwxwindow">external documentation</a>. -spec new(Parent, Id, [Option]) -> wxWindow() when Parent::wxWindow(), Id::integer(), - Option :: {pos, {X::integer(), Y::integer()}} - | {size, {W::integer(), H::integer()}} - | {style, integer()}. + Option :: {'pos', {X::integer(), Y::integer()}} + | {'size', {W::integer(), H::integer()}} + | {'style', integer()}. new(#wx_ref{type=ParentT,ref=ParentRef},Id, Options) when is_integer(Id),is_list(Options) -> ?CLASS(ParentT,wxWindow), @@ -108,7 +108,7 @@ new(#wx_ref{type=ParentT,ref=ParentRef},Id, Options) <<ParentRef:32/?UI,Id:32/?UI, BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowcachebestsize">external documentation</a>. --spec cacheBestSize(This, Size) -> ok when +-spec cacheBestSize(This, Size) -> 'ok' when This::wxWindow(), Size::{W::integer(), H::integer()}. cacheBestSize(#wx_ref{type=ThisT,ref=ThisRef},{SizeW,SizeH}) when is_integer(SizeW),is_integer(SizeH) -> @@ -117,7 +117,7 @@ cacheBestSize(#wx_ref{type=ThisT,ref=ThisRef},{SizeW,SizeH}) <<ThisRef:32/?UI,SizeW:32/?UI,SizeH:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowcapturemouse">external documentation</a>. --spec captureMouse(This) -> ok when +-spec captureMouse(This) -> 'ok' when This::wxWindow(). captureMouse(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxWindow), @@ -125,7 +125,7 @@ captureMouse(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @equiv center(This, []) --spec center(This) -> ok when +-spec center(This) -> 'ok' when This::wxWindow(). center(This) @@ -133,9 +133,9 @@ center(This) center(This, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowcenter">external documentation</a>. --spec center(This, [Option]) -> ok when +-spec center(This, [Option]) -> 'ok' when This::wxWindow(), - Option :: {dir, integer()}. + Option :: {'dir', integer()}. center(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxWindow), @@ -146,7 +146,7 @@ center(#wx_ref{type=ThisT,ref=ThisRef}, Options) <<ThisRef:32/?UI, 0:32,BinOpt/binary>>). %% @equiv centerOnParent(This, []) --spec centerOnParent(This) -> ok when +-spec centerOnParent(This) -> 'ok' when This::wxWindow(). centerOnParent(This) @@ -154,9 +154,9 @@ centerOnParent(This) centerOnParent(This, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowcenteronparent">external documentation</a>. --spec centerOnParent(This, [Option]) -> ok when +-spec centerOnParent(This, [Option]) -> 'ok' when This::wxWindow(), - Option :: {dir, integer()}. + Option :: {'dir', integer()}. centerOnParent(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxWindow), @@ -167,7 +167,7 @@ centerOnParent(#wx_ref{type=ThisT,ref=ThisRef}, Options) <<ThisRef:32/?UI, 0:32,BinOpt/binary>>). %% @equiv centre(This, []) --spec centre(This) -> ok when +-spec centre(This) -> 'ok' when This::wxWindow(). centre(This) @@ -175,9 +175,9 @@ centre(This) centre(This, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowcentre">external documentation</a>. --spec centre(This, [Option]) -> ok when +-spec centre(This, [Option]) -> 'ok' when This::wxWindow(), - Option :: {dir, integer()}. + Option :: {'dir', integer()}. centre(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxWindow), @@ -188,7 +188,7 @@ centre(#wx_ref{type=ThisT,ref=ThisRef}, Options) <<ThisRef:32/?UI, 0:32,BinOpt/binary>>). %% @equiv centreOnParent(This, []) --spec centreOnParent(This) -> ok when +-spec centreOnParent(This) -> 'ok' when This::wxWindow(). centreOnParent(This) @@ -196,9 +196,9 @@ centreOnParent(This) centreOnParent(This, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowcentreonparent">external documentation</a>. --spec centreOnParent(This, [Option]) -> ok when +-spec centreOnParent(This, [Option]) -> 'ok' when This::wxWindow(), - Option :: {dir, integer()}. + Option :: {'dir', integer()}. centreOnParent(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxWindow), @@ -209,7 +209,7 @@ centreOnParent(#wx_ref{type=ThisT,ref=ThisRef}, Options) <<ThisRef:32/?UI, 0:32,BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowclearbackground">external documentation</a>. --spec clearBackground(This) -> ok when +-spec clearBackground(This) -> 'ok' when This::wxWindow(). clearBackground(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxWindow), @@ -245,7 +245,7 @@ close(This) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowclose">external documentation</a>. -spec close(This, [Option]) -> boolean() when This::wxWindow(), - Option :: {force, boolean()}. + Option :: {'force', boolean()}. close(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxWindow), @@ -308,7 +308,7 @@ enable(This) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowenable">external documentation</a>. -spec enable(This, [Option]) -> boolean() when This::wxWindow(), - Option :: {enable, boolean()}. + Option :: {'enable', boolean()}. enable(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxWindow), @@ -356,7 +356,7 @@ findWindowById(Winid) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowfindwindowbyid">external documentation</a>. -spec findWindowById(Winid, [Option]) -> wxWindow() when Winid::integer(), - Option :: {parent, wxWindow()}. + Option :: {'parent', wxWindow()}. findWindowById(Winid, Options) when is_integer(Winid),is_list(Options) -> MOpts = fun({parent, #wx_ref{type=ParentT,ref=ParentRef}}, Acc) -> ?CLASS(ParentT,wxWindow),[<<1:32/?UI,ParentRef:32/?UI>>|Acc]; @@ -376,7 +376,7 @@ findWindowByName(Name) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowfindwindowbyname">external documentation</a>. -spec findWindowByName(Name, [Option]) -> wxWindow() when Name::unicode:chardata(), - Option :: {parent, wxWindow()}. + Option :: {'parent', wxWindow()}. findWindowByName(Name, Options) when is_list(Name),is_list(Options) -> Name_UC = unicode:characters_to_binary([Name,0]), @@ -397,7 +397,7 @@ findWindowByLabel(Label) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowfindwindowbylabel">external documentation</a>. -spec findWindowByLabel(Label, [Option]) -> wxWindow() when Label::unicode:chardata(), - Option :: {parent, wxWindow()}. + Option :: {'parent', wxWindow()}. findWindowByLabel(Label, Options) when is_list(Label),is_list(Options) -> Label_UC = unicode:characters_to_binary([Label,0]), @@ -408,7 +408,7 @@ findWindowByLabel(Label, Options) <<(byte_size(Label_UC)):32/?UI,(Label_UC)/binary, 0:(((8- ((4+byte_size(Label_UC)) band 16#7)) band 16#7))/unit:8, BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowfit">external documentation</a>. --spec fit(This) -> ok when +-spec fit(This) -> 'ok' when This::wxWindow(). fit(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxWindow), @@ -416,7 +416,7 @@ fit(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowfitinside">external documentation</a>. --spec fitInside(This) -> ok when +-spec fitInside(This) -> 'ok' when This::wxWindow(). fitInside(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxWindow), @@ -424,7 +424,7 @@ fitInside(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowfreeze">external documentation</a>. --spec freeze(This) -> ok when +-spec freeze(This) -> 'ok' when This::wxWindow(). freeze(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxWindow), @@ -726,7 +726,7 @@ getTextExtent(This,String) -spec getTextExtent(This, String, [Option]) -> Result when Result :: {X::integer(), Y::integer(), Descent::integer(), ExternalLeading::integer()}, This::wxWindow(), String::unicode:chardata(), - Option :: {theFont, wxFont:wxFont()}. + Option :: {'theFont', wxFont:wxFont()}. getTextExtent(#wx_ref{type=ThisT,ref=ThisRef},String, Options) when is_list(String),is_list(Options) -> ?CLASS(ThisT,wxWindow), @@ -812,7 +812,7 @@ hide(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowinheritattributes">external documentation</a>. --spec inheritAttributes(This) -> ok when +-spec inheritAttributes(This) -> 'ok' when This::wxWindow(). inheritAttributes(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxWindow), @@ -820,7 +820,7 @@ inheritAttributes(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowinitdialog">external documentation</a>. --spec initDialog(This) -> ok when +-spec initDialog(This) -> 'ok' when This::wxWindow(). initDialog(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxWindow), @@ -828,7 +828,7 @@ initDialog(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowinvalidatebestsize">external documentation</a>. --spec invalidateBestSize(This) -> ok when +-spec invalidateBestSize(This) -> 'ok' when This::wxWindow(). invalidateBestSize(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxWindow), @@ -930,7 +930,7 @@ lineUp(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowlower">external documentation</a>. --spec lower(This) -> ok when +-spec lower(This) -> 'ok' when This::wxWindow(). lower(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxWindow), @@ -938,7 +938,7 @@ lower(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @equiv makeModal(This, []) --spec makeModal(This) -> ok when +-spec makeModal(This) -> 'ok' when This::wxWindow(). makeModal(This) @@ -946,9 +946,9 @@ makeModal(This) makeModal(This, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowmakemodal">external documentation</a>. --spec makeModal(This, [Option]) -> ok when +-spec makeModal(This, [Option]) -> 'ok' when This::wxWindow(), - Option :: {modal, boolean()}. + Option :: {'modal', boolean()}. makeModal(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxWindow), @@ -959,7 +959,7 @@ makeModal(#wx_ref{type=ThisT,ref=ThisRef}, Options) <<ThisRef:32/?UI, 0:32,BinOpt/binary>>). %% @equiv move(This,Pt, []) --spec move(This, Pt) -> ok when +-spec move(This, Pt) -> 'ok' when This::wxWindow(), Pt::{X::integer(), Y::integer()}. move(This,Pt={PtX,PtY}) @@ -968,15 +968,15 @@ move(This,Pt={PtX,PtY}) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowmove">external documentation</a>. %% <br /> Also:<br /> -%% move(This, Pt, [Option]) -> ok when<br /> +%% move(This, Pt, [Option]) -> 'ok' when<br /> %% This::wxWindow(), Pt::{X::integer(), Y::integer()},<br /> -%% Option :: {flags, integer()}.<br /> +%% Option :: {'flags', integer()}.<br /> %% --spec move(This, X, Y) -> ok when +-spec move(This, X, Y) -> 'ok' when This::wxWindow(), X::integer(), Y::integer(); - (This, Pt, [Option]) -> ok when + (This, Pt, [Option]) -> 'ok' when This::wxWindow(), Pt::{X::integer(), Y::integer()}, - Option :: {flags, integer()}. + Option :: {'flags', integer()}. move(This,X,Y) when is_record(This, wx_ref),is_integer(X),is_integer(Y) -> @@ -991,9 +991,9 @@ move(#wx_ref{type=ThisT,ref=ThisRef},{PtX,PtY}, Options) <<ThisRef:32/?UI,PtX:32/?UI,PtY:32/?UI, 0:32,BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowmove">external documentation</a>. --spec move(This, X, Y, [Option]) -> ok when +-spec move(This, X, Y, [Option]) -> 'ok' when This::wxWindow(), X::integer(), Y::integer(), - Option :: {flags, integer()}. + Option :: {'flags', integer()}. move(#wx_ref{type=ThisT,ref=ThisRef},X,Y, Options) when is_integer(X),is_integer(Y),is_list(Options) -> ?CLASS(ThisT,wxWindow), @@ -1004,7 +1004,7 @@ move(#wx_ref{type=ThisT,ref=ThisRef},X,Y, Options) <<ThisRef:32/?UI,X:32/?UI,Y:32/?UI, 0:32,BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowmoveafterintaborder">external documentation</a>. --spec moveAfterInTabOrder(This, Win) -> ok when +-spec moveAfterInTabOrder(This, Win) -> 'ok' when This::wxWindow(), Win::wxWindow(). moveAfterInTabOrder(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=WinT,ref=WinRef}) -> ?CLASS(ThisT,wxWindow), @@ -1013,7 +1013,7 @@ moveAfterInTabOrder(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=WinT,ref=WinRef <<ThisRef:32/?UI,WinRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowmovebeforeintaborder">external documentation</a>. --spec moveBeforeInTabOrder(This, Win) -> ok when +-spec moveBeforeInTabOrder(This, Win) -> 'ok' when This::wxWindow(), Win::wxWindow(). moveBeforeInTabOrder(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=WinT,ref=WinRef}) -> ?CLASS(ThisT,wxWindow), @@ -1032,7 +1032,7 @@ navigate(This) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindownavigate">external documentation</a>. -spec navigate(This, [Option]) -> boolean() when This::wxWindow(), - Option :: {flags, integer()}. + Option :: {'flags', integer()}. navigate(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxWindow), @@ -1069,7 +1069,7 @@ popEventHandler(This) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowpopeventhandler">external documentation</a>. -spec popEventHandler(This, [Option]) -> wxEvtHandler:wxEvtHandler() when This::wxWindow(), - Option :: {deleteHandler, boolean()}. + Option :: {'deleteHandler', boolean()}. popEventHandler(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxWindow), @@ -1090,7 +1090,7 @@ popupMenu(This,Menu) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowpopupmenu">external documentation</a>. -spec popupMenu(This, Menu, [Option]) -> boolean() when This::wxWindow(), Menu::wxMenu:wxMenu(), - Option :: {pos, {X::integer(), Y::integer()}}. + Option :: {'pos', {X::integer(), Y::integer()}}. popupMenu(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=MenuT,ref=MenuRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxWindow), @@ -1112,7 +1112,7 @@ popupMenu(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=MenuT,ref=MenuRef},X,Y) <<ThisRef:32/?UI,MenuRef:32/?UI,X:32/?UI,Y:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowraise">external documentation</a>. --spec raise(This) -> ok when +-spec raise(This) -> 'ok' when This::wxWindow(). raise(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxWindow), @@ -1120,7 +1120,7 @@ raise(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @equiv refresh(This, []) --spec refresh(This) -> ok when +-spec refresh(This) -> 'ok' when This::wxWindow(). refresh(This) @@ -1128,10 +1128,10 @@ refresh(This) refresh(This, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowrefresh">external documentation</a>. --spec refresh(This, [Option]) -> ok when +-spec refresh(This, [Option]) -> 'ok' when This::wxWindow(), - Option :: {eraseBackground, boolean()} - | {rect, {X::integer(), Y::integer(), W::integer(), H::integer()}}. + Option :: {'eraseBackground', boolean()} + | {'rect', {X::integer(), Y::integer(), W::integer(), H::integer()}}. refresh(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxWindow), @@ -1143,7 +1143,7 @@ refresh(#wx_ref{type=ThisT,ref=ThisRef}, Options) <<ThisRef:32/?UI, 0:32,BinOpt/binary>>). %% @equiv refreshRect(This,Rect, []) --spec refreshRect(This, Rect) -> ok when +-spec refreshRect(This, Rect) -> 'ok' when This::wxWindow(), Rect::{X::integer(), Y::integer(), W::integer(), H::integer()}. refreshRect(This,Rect={RectX,RectY,RectW,RectH}) @@ -1151,9 +1151,9 @@ refreshRect(This,Rect={RectX,RectY,RectW,RectH}) refreshRect(This,Rect, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowrefreshrect">external documentation</a>. --spec refreshRect(This, Rect, [Option]) -> ok when +-spec refreshRect(This, Rect, [Option]) -> 'ok' when This::wxWindow(), Rect::{X::integer(), Y::integer(), W::integer(), H::integer()}, - Option :: {eraseBackground, boolean()}. + Option :: {'eraseBackground', boolean()}. refreshRect(#wx_ref{type=ThisT,ref=ThisRef},{RectX,RectY,RectW,RectH}, Options) when is_integer(RectX),is_integer(RectY),is_integer(RectW),is_integer(RectH),is_list(Options) -> ?CLASS(ThisT,wxWindow), @@ -1164,7 +1164,7 @@ refreshRect(#wx_ref{type=ThisT,ref=ThisRef},{RectX,RectY,RectW,RectH}, Options) <<ThisRef:32/?UI,RectX:32/?UI,RectY:32/?UI,RectW:32/?UI,RectH:32/?UI, 0:32,BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowreleasemouse">external documentation</a>. --spec releaseMouse(This) -> ok when +-spec releaseMouse(This) -> 'ok' when This::wxWindow(). releaseMouse(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxWindow), @@ -1172,7 +1172,7 @@ releaseMouse(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowremovechild">external documentation</a>. --spec removeChild(This, Child) -> ok when +-spec removeChild(This, Child) -> 'ok' when This::wxWindow(), Child::wxWindow(). removeChild(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=ChildT,ref=ChildRef}) -> ?CLASS(ThisT,wxWindow), @@ -1225,7 +1225,7 @@ scrollPages(#wx_ref{type=ThisT,ref=ThisRef},Pages) <<ThisRef:32/?UI,Pages:32/?UI>>). %% @equiv scrollWindow(This,Dx,Dy, []) --spec scrollWindow(This, Dx, Dy) -> ok when +-spec scrollWindow(This, Dx, Dy) -> 'ok' when This::wxWindow(), Dx::integer(), Dy::integer(). scrollWindow(This,Dx,Dy) @@ -1233,9 +1233,9 @@ scrollWindow(This,Dx,Dy) scrollWindow(This,Dx,Dy, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowscrollwindow">external documentation</a>. --spec scrollWindow(This, Dx, Dy, [Option]) -> ok when +-spec scrollWindow(This, Dx, Dy, [Option]) -> 'ok' when This::wxWindow(), Dx::integer(), Dy::integer(), - Option :: {rect, {X::integer(), Y::integer(), W::integer(), H::integer()}}. + Option :: {'rect', {X::integer(), Y::integer(), W::integer(), H::integer()}}. scrollWindow(#wx_ref{type=ThisT,ref=ThisRef},Dx,Dy, Options) when is_integer(Dx),is_integer(Dy),is_list(Options) -> ?CLASS(ThisT,wxWindow), @@ -1246,7 +1246,7 @@ scrollWindow(#wx_ref{type=ThisT,ref=ThisRef},Dx,Dy, Options) <<ThisRef:32/?UI,Dx:32/?UI,Dy:32/?UI, 0:32,BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowsetacceleratortable">external documentation</a>. --spec setAcceleratorTable(This, Accel) -> ok when +-spec setAcceleratorTable(This, Accel) -> 'ok' when This::wxWindow(), Accel::wxAcceleratorTable:wxAcceleratorTable(). setAcceleratorTable(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=AccelT,ref=AccelRef}) -> ?CLASS(ThisT,wxWindow), @@ -1255,7 +1255,7 @@ setAcceleratorTable(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=AccelT,ref=Acce <<ThisRef:32/?UI,AccelRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowsetautolayout">external documentation</a>. --spec setAutoLayout(This, AutoLayout) -> ok when +-spec setAutoLayout(This, AutoLayout) -> 'ok' when This::wxWindow(), AutoLayout::boolean(). setAutoLayout(#wx_ref{type=ThisT,ref=ThisRef},AutoLayout) when is_boolean(AutoLayout) -> @@ -1283,7 +1283,7 @@ setBackgroundStyle(#wx_ref{type=ThisT,ref=ThisRef},Style) <<ThisRef:32/?UI,Style:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowsetcaret">external documentation</a>. --spec setCaret(This, Caret) -> ok when +-spec setCaret(This, Caret) -> 'ok' when This::wxWindow(), Caret::wxCaret:wxCaret(). setCaret(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=CaretT,ref=CaretRef}) -> ?CLASS(ThisT,wxWindow), @@ -1293,12 +1293,12 @@ setCaret(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=CaretT,ref=CaretRef}) -> %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowsetclientsize">external documentation</a>. %% <br /> Also:<br /> -%% setClientSize(This, Rect) -> ok when<br /> +%% setClientSize(This, Rect) -> 'ok' when<br /> %% This::wxWindow(), Rect::{X::integer(), Y::integer(), W::integer(), H::integer()}.<br /> %% --spec setClientSize(This, Size) -> ok when +-spec setClientSize(This, Size) -> 'ok' when This::wxWindow(), Size::{W::integer(), H::integer()}; - (This, Rect) -> ok when + (This, Rect) -> 'ok' when This::wxWindow(), Rect::{X::integer(), Y::integer(), W::integer(), H::integer()}. setClientSize(#wx_ref{type=ThisT,ref=ThisRef},{SizeW,SizeH}) when is_integer(SizeW),is_integer(SizeH) -> @@ -1312,7 +1312,7 @@ setClientSize(#wx_ref{type=ThisT,ref=ThisRef},{RectX,RectY,RectW,RectH}) <<ThisRef:32/?UI,RectX:32/?UI,RectY:32/?UI,RectW:32/?UI,RectH:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowsetclientsize">external documentation</a>. --spec setClientSize(This, Width, Height) -> ok when +-spec setClientSize(This, Width, Height) -> 'ok' when This::wxWindow(), Width::integer(), Height::integer(). setClientSize(#wx_ref{type=ThisT,ref=ThisRef},Width,Height) when is_integer(Width),is_integer(Height) -> @@ -1321,7 +1321,7 @@ setClientSize(#wx_ref{type=ThisT,ref=ThisRef},Width,Height) <<ThisRef:32/?UI,Width:32/?UI,Height:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowsetcontainingsizer">external documentation</a>. --spec setContainingSizer(This, Sizer) -> ok when +-spec setContainingSizer(This, Sizer) -> 'ok' when This::wxWindow(), Sizer::wxSizer:wxSizer(). setContainingSizer(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=SizerT,ref=SizerRef}) -> ?CLASS(ThisT,wxWindow), @@ -1339,7 +1339,7 @@ setCursor(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=CursorT,ref=CursorRef}) - <<ThisRef:32/?UI,CursorRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowsetmaxsize">external documentation</a>. --spec setMaxSize(This, MaxSize) -> ok when +-spec setMaxSize(This, MaxSize) -> 'ok' when This::wxWindow(), MaxSize::{W::integer(), H::integer()}. setMaxSize(#wx_ref{type=ThisT,ref=ThisRef},{MaxSizeW,MaxSizeH}) when is_integer(MaxSizeW),is_integer(MaxSizeH) -> @@ -1348,7 +1348,7 @@ setMaxSize(#wx_ref{type=ThisT,ref=ThisRef},{MaxSizeW,MaxSizeH}) <<ThisRef:32/?UI,MaxSizeW:32/?UI,MaxSizeH:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowsetminsize">external documentation</a>. --spec setMinSize(This, MinSize) -> ok when +-spec setMinSize(This, MinSize) -> 'ok' when This::wxWindow(), MinSize::{W::integer(), H::integer()}. setMinSize(#wx_ref{type=ThisT,ref=ThisRef},{MinSizeW,MinSizeH}) when is_integer(MinSizeW),is_integer(MinSizeH) -> @@ -1357,7 +1357,7 @@ setMinSize(#wx_ref{type=ThisT,ref=ThisRef},{MinSizeW,MinSizeH}) <<ThisRef:32/?UI,MinSizeW:32/?UI,MinSizeH:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowsetownbackgroundcolour">external documentation</a>. --spec setOwnBackgroundColour(This, Colour) -> ok when +-spec setOwnBackgroundColour(This, Colour) -> 'ok' when This::wxWindow(), Colour::wx:wx_colour(). setOwnBackgroundColour(#wx_ref{type=ThisT,ref=ThisRef},Colour) when tuple_size(Colour) =:= 3; tuple_size(Colour) =:= 4 -> @@ -1366,7 +1366,7 @@ setOwnBackgroundColour(#wx_ref{type=ThisT,ref=ThisRef},Colour) <<ThisRef:32/?UI,(wxe_util:colour_bin(Colour)):16/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowsetownfont">external documentation</a>. --spec setOwnFont(This, Font) -> ok when +-spec setOwnFont(This, Font) -> 'ok' when This::wxWindow(), Font::wxFont:wxFont(). setOwnFont(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=FontT,ref=FontRef}) -> ?CLASS(ThisT,wxWindow), @@ -1375,7 +1375,7 @@ setOwnFont(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=FontT,ref=FontRef}) -> <<ThisRef:32/?UI,FontRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowsetownforegroundcolour">external documentation</a>. --spec setOwnForegroundColour(This, Colour) -> ok when +-spec setOwnForegroundColour(This, Colour) -> 'ok' when This::wxWindow(), Colour::wx:wx_colour(). setOwnForegroundColour(#wx_ref{type=ThisT,ref=ThisRef},Colour) when tuple_size(Colour) =:= 3; tuple_size(Colour) =:= 4 -> @@ -1384,7 +1384,7 @@ setOwnForegroundColour(#wx_ref{type=ThisT,ref=ThisRef},Colour) <<ThisRef:32/?UI,(wxe_util:colour_bin(Colour)):16/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowsetdroptarget">external documentation</a>. --spec setDropTarget(This, DropTarget) -> ok when +-spec setDropTarget(This, DropTarget) -> 'ok' when This::wxWindow(), DropTarget::wx:wx_object(). setDropTarget(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=DropTargetT,ref=DropTargetRef}) -> ?CLASS(ThisT,wxWindow), @@ -1393,7 +1393,7 @@ setDropTarget(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=DropTargetT,ref=DropT <<ThisRef:32/?UI,DropTargetRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowsetextrastyle">external documentation</a>. --spec setExtraStyle(This, ExStyle) -> ok when +-spec setExtraStyle(This, ExStyle) -> 'ok' when This::wxWindow(), ExStyle::integer(). setExtraStyle(#wx_ref{type=ThisT,ref=ThisRef},ExStyle) when is_integer(ExStyle) -> @@ -1402,7 +1402,7 @@ setExtraStyle(#wx_ref{type=ThisT,ref=ThisRef},ExStyle) <<ThisRef:32/?UI,ExStyle:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowsetfocus">external documentation</a>. --spec setFocus(This) -> ok when +-spec setFocus(This) -> 'ok' when This::wxWindow(). setFocus(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxWindow), @@ -1410,7 +1410,7 @@ setFocus(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowsetfocusfromkbd">external documentation</a>. --spec setFocusFromKbd(This) -> ok when +-spec setFocusFromKbd(This) -> 'ok' when This::wxWindow(). setFocusFromKbd(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxWindow), @@ -1436,7 +1436,7 @@ setForegroundColour(#wx_ref{type=ThisT,ref=ThisRef},Colour) <<ThisRef:32/?UI,(wxe_util:colour_bin(Colour)):16/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowsethelptext">external documentation</a>. --spec setHelpText(This, Text) -> ok when +-spec setHelpText(This, Text) -> 'ok' when This::wxWindow(), Text::unicode:chardata(). setHelpText(#wx_ref{type=ThisT,ref=ThisRef},Text) when is_list(Text) -> @@ -1446,7 +1446,7 @@ setHelpText(#wx_ref{type=ThisT,ref=ThisRef},Text) <<ThisRef:32/?UI,(byte_size(Text_UC)):32/?UI,(Text_UC)/binary, 0:(((8- ((0+byte_size(Text_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowsetid">external documentation</a>. --spec setId(This, Winid) -> ok when +-spec setId(This, Winid) -> 'ok' when This::wxWindow(), Winid::integer(). setId(#wx_ref{type=ThisT,ref=ThisRef},Winid) when is_integer(Winid) -> @@ -1455,7 +1455,7 @@ setId(#wx_ref{type=ThisT,ref=ThisRef},Winid) <<ThisRef:32/?UI,Winid:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowsetlabel">external documentation</a>. --spec setLabel(This, Label) -> ok when +-spec setLabel(This, Label) -> 'ok' when This::wxWindow(), Label::unicode:chardata(). setLabel(#wx_ref{type=ThisT,ref=ThisRef},Label) when is_list(Label) -> @@ -1465,7 +1465,7 @@ setLabel(#wx_ref{type=ThisT,ref=ThisRef},Label) <<ThisRef:32/?UI,(byte_size(Label_UC)):32/?UI,(Label_UC)/binary, 0:(((8- ((0+byte_size(Label_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowsetname">external documentation</a>. --spec setName(This, Name) -> ok when +-spec setName(This, Name) -> 'ok' when This::wxWindow(), Name::unicode:chardata(). setName(#wx_ref{type=ThisT,ref=ThisRef},Name) when is_list(Name) -> @@ -1475,7 +1475,7 @@ setName(#wx_ref{type=ThisT,ref=ThisRef},Name) <<ThisRef:32/?UI,(byte_size(Name_UC)):32/?UI,(Name_UC)/binary, 0:(((8- ((0+byte_size(Name_UC)) band 16#7)) band 16#7))/unit:8>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowsetpalette">external documentation</a>. --spec setPalette(This, Pal) -> ok when +-spec setPalette(This, Pal) -> 'ok' when This::wxWindow(), Pal::wxPalette:wxPalette(). setPalette(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=PalT,ref=PalRef}) -> ?CLASS(ThisT,wxWindow), @@ -1484,7 +1484,7 @@ setPalette(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=PalT,ref=PalRef}) -> <<ThisRef:32/?UI,PalRef:32/?UI>>). %% @equiv setScrollbar(This,Orient,Pos,ThumbVisible,Range, []) --spec setScrollbar(This, Orient, Pos, ThumbVisible, Range) -> ok when +-spec setScrollbar(This, Orient, Pos, ThumbVisible, Range) -> 'ok' when This::wxWindow(), Orient::integer(), Pos::integer(), ThumbVisible::integer(), Range::integer(). setScrollbar(This,Orient,Pos,ThumbVisible,Range) @@ -1492,9 +1492,9 @@ setScrollbar(This,Orient,Pos,ThumbVisible,Range) setScrollbar(This,Orient,Pos,ThumbVisible,Range, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowsetscrollbar">external documentation</a>. --spec setScrollbar(This, Orient, Pos, ThumbVisible, Range, [Option]) -> ok when +-spec setScrollbar(This, Orient, Pos, ThumbVisible, Range, [Option]) -> 'ok' when This::wxWindow(), Orient::integer(), Pos::integer(), ThumbVisible::integer(), Range::integer(), - Option :: {refresh, boolean()}. + Option :: {'refresh', boolean()}. setScrollbar(#wx_ref{type=ThisT,ref=ThisRef},Orient,Pos,ThumbVisible,Range, Options) when is_integer(Orient),is_integer(Pos),is_integer(ThumbVisible),is_integer(Range),is_list(Options) -> ?CLASS(ThisT,wxWindow), @@ -1505,7 +1505,7 @@ setScrollbar(#wx_ref{type=ThisT,ref=ThisRef},Orient,Pos,ThumbVisible,Range, Opti <<ThisRef:32/?UI,Orient:32/?UI,Pos:32/?UI,ThumbVisible:32/?UI,Range:32/?UI, 0:32,BinOpt/binary>>). %% @equiv setScrollPos(This,Orient,Pos, []) --spec setScrollPos(This, Orient, Pos) -> ok when +-spec setScrollPos(This, Orient, Pos) -> 'ok' when This::wxWindow(), Orient::integer(), Pos::integer(). setScrollPos(This,Orient,Pos) @@ -1513,9 +1513,9 @@ setScrollPos(This,Orient,Pos) setScrollPos(This,Orient,Pos, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowsetscrollpos">external documentation</a>. --spec setScrollPos(This, Orient, Pos, [Option]) -> ok when +-spec setScrollPos(This, Orient, Pos, [Option]) -> 'ok' when This::wxWindow(), Orient::integer(), Pos::integer(), - Option :: {refresh, boolean()}. + Option :: {'refresh', boolean()}. setScrollPos(#wx_ref{type=ThisT,ref=ThisRef},Orient,Pos, Options) when is_integer(Orient),is_integer(Pos),is_list(Options) -> ?CLASS(ThisT,wxWindow), @@ -1527,12 +1527,12 @@ setScrollPos(#wx_ref{type=ThisT,ref=ThisRef},Orient,Pos, Options) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowsetsize">external documentation</a>. %% <br /> Also:<br /> -%% setSize(This, Size) -> ok when<br /> +%% setSize(This, Size) -> 'ok' when<br /> %% This::wxWindow(), Size::{W::integer(), H::integer()}.<br /> %% --spec setSize(This, Rect) -> ok when +-spec setSize(This, Rect) -> 'ok' when This::wxWindow(), Rect::{X::integer(), Y::integer(), W::integer(), H::integer()}; - (This, Size) -> ok when + (This, Size) -> 'ok' when This::wxWindow(), Size::{W::integer(), H::integer()}. setSize(This,Rect={RectX,RectY,RectW,RectH}) @@ -1546,15 +1546,15 @@ setSize(#wx_ref{type=ThisT,ref=ThisRef},{SizeW,SizeH}) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowsetsize">external documentation</a>. %% <br /> Also:<br /> -%% setSize(This, Rect, [Option]) -> ok when<br /> +%% setSize(This, Rect, [Option]) -> 'ok' when<br /> %% This::wxWindow(), Rect::{X::integer(), Y::integer(), W::integer(), H::integer()},<br /> -%% Option :: {sizeFlags, integer()}.<br /> +%% Option :: {'sizeFlags', integer()}.<br /> %% --spec setSize(This, Width, Height) -> ok when +-spec setSize(This, Width, Height) -> 'ok' when This::wxWindow(), Width::integer(), Height::integer(); - (This, Rect, [Option]) -> ok when + (This, Rect, [Option]) -> 'ok' when This::wxWindow(), Rect::{X::integer(), Y::integer(), W::integer(), H::integer()}, - Option :: {sizeFlags, integer()}. + Option :: {'sizeFlags', integer()}. setSize(#wx_ref{type=ThisT,ref=ThisRef},Width,Height) when is_integer(Width),is_integer(Height) -> ?CLASS(ThisT,wxWindow), @@ -1570,7 +1570,7 @@ setSize(#wx_ref{type=ThisT,ref=ThisRef},{RectX,RectY,RectW,RectH}, Options) <<ThisRef:32/?UI,RectX:32/?UI,RectY:32/?UI,RectW:32/?UI,RectH:32/?UI, 0:32,BinOpt/binary>>). %% @equiv setSize(This,X,Y,Width,Height, []) --spec setSize(This, X, Y, Width, Height) -> ok when +-spec setSize(This, X, Y, Width, Height) -> 'ok' when This::wxWindow(), X::integer(), Y::integer(), Width::integer(), Height::integer(). setSize(This,X,Y,Width,Height) @@ -1578,9 +1578,9 @@ setSize(This,X,Y,Width,Height) setSize(This,X,Y,Width,Height, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowsetsize">external documentation</a>. --spec setSize(This, X, Y, Width, Height, [Option]) -> ok when +-spec setSize(This, X, Y, Width, Height, [Option]) -> 'ok' when This::wxWindow(), X::integer(), Y::integer(), Width::integer(), Height::integer(), - Option :: {sizeFlags, integer()}. + Option :: {'sizeFlags', integer()}. setSize(#wx_ref{type=ThisT,ref=ThisRef},X,Y,Width,Height, Options) when is_integer(X),is_integer(Y),is_integer(Width),is_integer(Height),is_list(Options) -> ?CLASS(ThisT,wxWindow), @@ -1591,7 +1591,7 @@ setSize(#wx_ref{type=ThisT,ref=ThisRef},X,Y,Width,Height, Options) <<ThisRef:32/?UI,X:32/?UI,Y:32/?UI,Width:32/?UI,Height:32/?UI, 0:32,BinOpt/binary>>). %% @equiv setSizeHints(This,MinSize, []) --spec setSizeHints(This, MinSize) -> ok when +-spec setSizeHints(This, MinSize) -> 'ok' when This::wxWindow(), MinSize::{W::integer(), H::integer()}. setSizeHints(This,MinSize={MinSizeW,MinSizeH}) @@ -1600,17 +1600,17 @@ setSizeHints(This,MinSize={MinSizeW,MinSizeH}) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowsetsizehints">external documentation</a>. %% <br /> Also:<br /> -%% setSizeHints(This, MinSize, [Option]) -> ok when<br /> +%% setSizeHints(This, MinSize, [Option]) -> 'ok' when<br /> %% This::wxWindow(), MinSize::{W::integer(), H::integer()},<br /> -%% Option :: {maxSize, {W::integer(), H::integer()}}<br /> -%% | {incSize, {W::integer(), H::integer()}}.<br /> +%% Option :: {'maxSize', {W::integer(), H::integer()}}<br /> +%% | {'incSize', {W::integer(), H::integer()}}.<br /> %% --spec setSizeHints(This, MinW, MinH) -> ok when +-spec setSizeHints(This, MinW, MinH) -> 'ok' when This::wxWindow(), MinW::integer(), MinH::integer(); - (This, MinSize, [Option]) -> ok when + (This, MinSize, [Option]) -> 'ok' when This::wxWindow(), MinSize::{W::integer(), H::integer()}, - Option :: {maxSize, {W::integer(), H::integer()}} - | {incSize, {W::integer(), H::integer()}}. + Option :: {'maxSize', {W::integer(), H::integer()}} + | {'incSize', {W::integer(), H::integer()}}. setSizeHints(This,MinW,MinH) when is_record(This, wx_ref),is_integer(MinW),is_integer(MinH) -> @@ -1626,12 +1626,12 @@ setSizeHints(#wx_ref{type=ThisT,ref=ThisRef},{MinSizeW,MinSizeH}, Options) <<ThisRef:32/?UI,MinSizeW:32/?UI,MinSizeH:32/?UI, 0:32,BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowsetsizehints">external documentation</a>. --spec setSizeHints(This, MinW, MinH, [Option]) -> ok when +-spec setSizeHints(This, MinW, MinH, [Option]) -> 'ok' when This::wxWindow(), MinW::integer(), MinH::integer(), - Option :: {maxW, integer()} - | {maxH, integer()} - | {incW, integer()} - | {incH, integer()}. + Option :: {'maxW', integer()} + | {'maxH', integer()} + | {'incW', integer()} + | {'incH', integer()}. setSizeHints(#wx_ref{type=ThisT,ref=ThisRef},MinW,MinH, Options) when is_integer(MinW),is_integer(MinH),is_list(Options) -> ?CLASS(ThisT,wxWindow), @@ -1645,7 +1645,7 @@ setSizeHints(#wx_ref{type=ThisT,ref=ThisRef},MinW,MinH, Options) <<ThisRef:32/?UI,MinW:32/?UI,MinH:32/?UI, 0:32,BinOpt/binary>>). %% @equiv setSizer(This,Sizer, []) --spec setSizer(This, Sizer) -> ok when +-spec setSizer(This, Sizer) -> 'ok' when This::wxWindow(), Sizer::wxSizer:wxSizer(). setSizer(This,Sizer) @@ -1653,9 +1653,9 @@ setSizer(This,Sizer) setSizer(This,Sizer, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowsetsizer">external documentation</a>. --spec setSizer(This, Sizer, [Option]) -> ok when +-spec setSizer(This, Sizer, [Option]) -> 'ok' when This::wxWindow(), Sizer::wxSizer:wxSizer(), - Option :: {deleteOld, boolean()}. + Option :: {'deleteOld', boolean()}. setSizer(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=SizerT,ref=SizerRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxWindow), @@ -1667,7 +1667,7 @@ setSizer(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=SizerT,ref=SizerRef}, Opti <<ThisRef:32/?UI,SizerRef:32/?UI, BinOpt/binary>>). %% @equiv setSizerAndFit(This,Sizer, []) --spec setSizerAndFit(This, Sizer) -> ok when +-spec setSizerAndFit(This, Sizer) -> 'ok' when This::wxWindow(), Sizer::wxSizer:wxSizer(). setSizerAndFit(This,Sizer) @@ -1675,9 +1675,9 @@ setSizerAndFit(This,Sizer) setSizerAndFit(This,Sizer, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowsetsizerandfit">external documentation</a>. --spec setSizerAndFit(This, Sizer, [Option]) -> ok when +-spec setSizerAndFit(This, Sizer, [Option]) -> 'ok' when This::wxWindow(), Sizer::wxSizer:wxSizer(), - Option :: {deleteOld, boolean()}. + Option :: {'deleteOld', boolean()}. setSizerAndFit(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=SizerT,ref=SizerRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxWindow), @@ -1689,7 +1689,7 @@ setSizerAndFit(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=SizerT,ref=SizerRef} <<ThisRef:32/?UI,SizerRef:32/?UI, BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowsetthemeenabled">external documentation</a>. --spec setThemeEnabled(This, EnableTheme) -> ok when +-spec setThemeEnabled(This, EnableTheme) -> 'ok' when This::wxWindow(), EnableTheme::boolean(). setThemeEnabled(#wx_ref{type=ThisT,ref=ThisRef},EnableTheme) when is_boolean(EnableTheme) -> @@ -1699,12 +1699,12 @@ setThemeEnabled(#wx_ref{type=ThisT,ref=ThisRef},EnableTheme) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowsettooltip">external documentation</a>. %% <br /> Also:<br /> -%% setToolTip(This, Tip) -> ok when<br /> +%% setToolTip(This, Tip) -> 'ok' when<br /> %% This::wxWindow(), Tip::wxToolTip:wxToolTip().<br /> %% --spec setToolTip(This, Tip) -> ok when +-spec setToolTip(This, Tip) -> 'ok' when This::wxWindow(), Tip::unicode:chardata(); - (This, Tip) -> ok when + (This, Tip) -> 'ok' when This::wxWindow(), Tip::wxToolTip:wxToolTip(). setToolTip(#wx_ref{type=ThisT,ref=ThisRef},Tip) when is_list(Tip) -> @@ -1719,7 +1719,7 @@ setToolTip(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=TipT,ref=TipRef}) -> <<ThisRef:32/?UI,TipRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowsetvirtualsize">external documentation</a>. --spec setVirtualSize(This, Size) -> ok when +-spec setVirtualSize(This, Size) -> 'ok' when This::wxWindow(), Size::{W::integer(), H::integer()}. setVirtualSize(#wx_ref{type=ThisT,ref=ThisRef},{SizeW,SizeH}) when is_integer(SizeW),is_integer(SizeH) -> @@ -1728,7 +1728,7 @@ setVirtualSize(#wx_ref{type=ThisT,ref=ThisRef},{SizeW,SizeH}) <<ThisRef:32/?UI,SizeW:32/?UI,SizeH:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowsetvirtualsize">external documentation</a>. --spec setVirtualSize(This, X, Y) -> ok when +-spec setVirtualSize(This, X, Y) -> 'ok' when This::wxWindow(), X::integer(), Y::integer(). setVirtualSize(#wx_ref{type=ThisT,ref=ThisRef},X,Y) when is_integer(X),is_integer(Y) -> @@ -1737,7 +1737,7 @@ setVirtualSize(#wx_ref{type=ThisT,ref=ThisRef},X,Y) <<ThisRef:32/?UI,X:32/?UI,Y:32/?UI>>). %% @equiv setVirtualSizeHints(This,MinSize, []) --spec setVirtualSizeHints(This, MinSize) -> ok when +-spec setVirtualSizeHints(This, MinSize) -> 'ok' when This::wxWindow(), MinSize::{W::integer(), H::integer()}. setVirtualSizeHints(This,MinSize={MinSizeW,MinSizeH}) @@ -1746,15 +1746,15 @@ setVirtualSizeHints(This,MinSize={MinSizeW,MinSizeH}) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowsetvirtualsizehints">external documentation</a>. %% <br /> Also:<br /> -%% setVirtualSizeHints(This, MinSize, [Option]) -> ok when<br /> +%% setVirtualSizeHints(This, MinSize, [Option]) -> 'ok' when<br /> %% This::wxWindow(), MinSize::{W::integer(), H::integer()},<br /> -%% Option :: {maxSize, {W::integer(), H::integer()}}.<br /> +%% Option :: {'maxSize', {W::integer(), H::integer()}}.<br /> %% --spec setVirtualSizeHints(This, MinW, MinH) -> ok when +-spec setVirtualSizeHints(This, MinW, MinH) -> 'ok' when This::wxWindow(), MinW::integer(), MinH::integer(); - (This, MinSize, [Option]) -> ok when + (This, MinSize, [Option]) -> 'ok' when This::wxWindow(), MinSize::{W::integer(), H::integer()}, - Option :: {maxSize, {W::integer(), H::integer()}}. + Option :: {'maxSize', {W::integer(), H::integer()}}. setVirtualSizeHints(This,MinW,MinH) when is_record(This, wx_ref),is_integer(MinW),is_integer(MinH) -> @@ -1769,10 +1769,10 @@ setVirtualSizeHints(#wx_ref{type=ThisT,ref=ThisRef},{MinSizeW,MinSizeH}, Options <<ThisRef:32/?UI,MinSizeW:32/?UI,MinSizeH:32/?UI, 0:32,BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowsetvirtualsizehints">external documentation</a>. --spec setVirtualSizeHints(This, MinW, MinH, [Option]) -> ok when +-spec setVirtualSizeHints(This, MinW, MinH, [Option]) -> 'ok' when This::wxWindow(), MinW::integer(), MinH::integer(), - Option :: {maxW, integer()} - | {maxH, integer()}. + Option :: {'maxW', integer()} + | {'maxH', integer()}. setVirtualSizeHints(#wx_ref{type=ThisT,ref=ThisRef},MinW,MinH, Options) when is_integer(MinW),is_integer(MinH),is_list(Options) -> ?CLASS(ThisT,wxWindow), @@ -1784,7 +1784,7 @@ setVirtualSizeHints(#wx_ref{type=ThisT,ref=ThisRef},MinW,MinH, Options) <<ThisRef:32/?UI,MinW:32/?UI,MinH:32/?UI, 0:32,BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowsetwindowstyle">external documentation</a>. --spec setWindowStyle(This, Style) -> ok when +-spec setWindowStyle(This, Style) -> 'ok' when This::wxWindow(), Style::integer(). setWindowStyle(#wx_ref{type=ThisT,ref=ThisRef},Style) when is_integer(Style) -> @@ -1793,7 +1793,7 @@ setWindowStyle(#wx_ref{type=ThisT,ref=ThisRef},Style) <<ThisRef:32/?UI,Style:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowsetwindowstyleflag">external documentation</a>. --spec setWindowStyleFlag(This, Style) -> ok when +-spec setWindowStyleFlag(This, Style) -> 'ok' when This::wxWindow(), Style::integer(). setWindowStyleFlag(#wx_ref{type=ThisT,ref=ThisRef},Style) when is_integer(Style) -> @@ -1803,7 +1803,7 @@ setWindowStyleFlag(#wx_ref{type=ThisT,ref=ThisRef},Style) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowsetwindowvariant">external documentation</a>. %%<br /> Variant = ?wxWINDOW_VARIANT_NORMAL | ?wxWINDOW_VARIANT_SMALL | ?wxWINDOW_VARIANT_MINI | ?wxWINDOW_VARIANT_LARGE | ?wxWINDOW_VARIANT_MAX --spec setWindowVariant(This, Variant) -> ok when +-spec setWindowVariant(This, Variant) -> 'ok' when This::wxWindow(), Variant::wx:wx_enum(). setWindowVariant(#wx_ref{type=ThisT,ref=ThisRef},Variant) when is_integer(Variant) -> @@ -1830,7 +1830,7 @@ show(This) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowshow">external documentation</a>. -spec show(This, [Option]) -> boolean() when This::wxWindow(), - Option :: {show, boolean()}. + Option :: {'show', boolean()}. show(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxWindow), @@ -1841,7 +1841,7 @@ show(#wx_ref{type=ThisT,ref=ThisRef}, Options) <<ThisRef:32/?UI, 0:32,BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowthaw">external documentation</a>. --spec thaw(This) -> ok when +-spec thaw(This) -> 'ok' when This::wxWindow(). thaw(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxWindow), @@ -1865,7 +1865,7 @@ transferDataToWindow(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowupdate">external documentation</a>. --spec update(This) -> ok when +-spec update(This) -> 'ok' when This::wxWindow(). update(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxWindow), @@ -1873,7 +1873,7 @@ update(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @equiv updateWindowUI(This, []) --spec updateWindowUI(This) -> ok when +-spec updateWindowUI(This) -> 'ok' when This::wxWindow(). updateWindowUI(This) @@ -1881,9 +1881,9 @@ updateWindowUI(This) updateWindowUI(This, []). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowupdatewindowui">external documentation</a>. --spec updateWindowUI(This, [Option]) -> ok when +-spec updateWindowUI(This, [Option]) -> 'ok' when This::wxWindow(), - Option :: {flags, integer()}. + Option :: {'flags', integer()}. updateWindowUI(#wx_ref{type=ThisT,ref=ThisRef}, Options) when is_list(Options) -> ?CLASS(ThisT,wxWindow), @@ -1902,7 +1902,7 @@ validate(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowwarppointer">external documentation</a>. --spec warpPointer(This, X, Y) -> ok when +-spec warpPointer(This, X, Y) -> 'ok' when This::wxWindow(), X::integer(), Y::integer(). warpPointer(#wx_ref{type=ThisT,ref=ThisRef},X,Y) when is_integer(X),is_integer(Y) -> @@ -1936,7 +1936,7 @@ isDoubleBuffered(#wx_ref{type=ThisT,ref=ThisRef}) -> <<ThisRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwindow.html#wxwindowsetdoublebuffered">external documentation</a>. --spec setDoubleBuffered(This, On) -> ok when +-spec setDoubleBuffered(This, On) -> 'ok' when This::wxWindow(), On::boolean(). setDoubleBuffered(#wx_ref{type=ThisT,ref=ThisRef},On) when is_boolean(On) -> @@ -1945,7 +1945,7 @@ setDoubleBuffered(#wx_ref{type=ThisT,ref=ThisRef},On) <<ThisRef:32/?UI,(wxe_util:from_bool(On)):32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxWindow()) -> ok. +-spec destroy(This::wxWindow()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxWindow), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxWindowDC.erl b/lib/wx/src/gen/wxWindowDC.erl index 176580a9bf..9b1045b84d 100644 --- a/lib/wx/src/gen/wxWindowDC.erl +++ b/lib/wx/src/gen/wxWindowDC.erl @@ -78,7 +78,7 @@ new(#wx_ref{type=WinT,ref=WinRef}) -> <<WinRef:32/?UI>>). %% @doc Destroys this object, do not use object again --spec destroy(This::wxWindowDC()) -> ok. +-spec destroy(This::wxWindowDC()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxWindowDC), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wxXmlResource.erl b/lib/wx/src/gen/wxXmlResource.erl index b4d08fbbd5..ae02c74751 100644 --- a/lib/wx/src/gen/wxXmlResource.erl +++ b/lib/wx/src/gen/wxXmlResource.erl @@ -48,8 +48,8 @@ new() -> %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxxmlresource.html#wxxmlresourcewxxmlresource">external documentation</a>. -spec new([Option]) -> wxXmlResource() when - Option :: {flags, integer()} - | {domain, unicode:chardata()}. + Option :: {'flags', integer()} + | {'domain', unicode:chardata()}. new(Options) when is_list(Options) -> MOpts = fun({flags, Flags}, Acc) -> [<<1:32/?UI,Flags:32/?UI>>|Acc]; @@ -62,8 +62,8 @@ new(Options) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxxmlresource.html#wxxmlresourcewxxmlresource">external documentation</a>. -spec new(Filemask, [Option]) -> wxXmlResource() when Filemask::unicode:chardata(), - Option :: {flags, integer()} - | {domain, unicode:chardata()}. + Option :: {'flags', integer()} + | {'domain', unicode:chardata()}. new(Filemask, Options) when is_list(Filemask),is_list(Options) -> Filemask_UC = unicode:characters_to_binary([Filemask,0]), @@ -85,7 +85,7 @@ attachUnknownControl(This,Name,Control) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxxmlresource.html#wxxmlresourceattachunknowncontrol">external documentation</a>. -spec attachUnknownControl(This, Name, Control, [Option]) -> boolean() when This::wxXmlResource(), Name::unicode:chardata(), Control::wxWindow:wxWindow(), - Option :: {parent, wxWindow:wxWindow()}. + Option :: {'parent', wxWindow:wxWindow()}. attachUnknownControl(#wx_ref{type=ThisT,ref=ThisRef},Name,#wx_ref{type=ControlT,ref=ControlRef}, Options) when is_list(Name),is_list(Options) -> ?CLASS(ThisT,wxXmlResource), @@ -98,7 +98,7 @@ attachUnknownControl(#wx_ref{type=ThisT,ref=ThisRef},Name,#wx_ref{type=ControlT, <<ThisRef:32/?UI,(byte_size(Name_UC)):32/?UI,(Name_UC)/binary, 0:(((8- ((0+byte_size(Name_UC)) band 16#7)) band 16#7))/unit:8,ControlRef:32/?UI, 0:32,BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxxmlresource.html#wxxmlresourceclearhandlers">external documentation</a>. --spec clearHandlers(This) -> ok when +-spec clearHandlers(This) -> 'ok' when This::wxXmlResource(). clearHandlers(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxXmlResource), @@ -147,7 +147,7 @@ getXRCID(Str_id) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxxmlresource.html#wxxmlresourcegetxrcid">external documentation</a>. -spec getXRCID(Str_id, [Option]) -> integer() when Str_id::[unicode:chardata()], - Option :: {value_if_not_found, integer()}. + Option :: {'value_if_not_found', integer()}. getXRCID(Str_id, Options) when is_list(Str_id),is_list(Options) -> Str_id_UC = unicode:characters_to_binary([Str_id,0]), @@ -158,7 +158,7 @@ getXRCID(Str_id, Options) <<(byte_size(Str_id_UC)):32/?UI,(Str_id_UC)/binary, 0:(((8- ((4+byte_size(Str_id_UC)) band 16#7)) band 16#7))/unit:8, BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxxmlresource.html#wxxmlresourceinitallhandlers">external documentation</a>. --spec initAllHandlers(This) -> ok when +-spec initAllHandlers(This) -> 'ok' when This::wxXmlResource(). initAllHandlers(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxXmlResource), @@ -315,7 +315,7 @@ set(#wx_ref{type=ResT,ref=ResRef}) -> <<ResRef:32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxxmlresource.html#wxxmlresourcesetflags">external documentation</a>. --spec setFlags(This, Flags) -> ok when +-spec setFlags(This, Flags) -> 'ok' when This::wxXmlResource(), Flags::integer(). setFlags(#wx_ref{type=ThisT,ref=ThisRef},Flags) when is_integer(Flags) -> @@ -353,7 +353,7 @@ xrcctrl(Window = #wx_ref{}, Name, Type) when is_list(Name), is_atom(Type) -> wx:typeCast(Res, Type). %% @doc Destroys this object, do not use object again --spec destroy(This::wxXmlResource()) -> ok. +-spec destroy(This::wxXmlResource()) -> 'ok'. destroy(Obj=#wx_ref{type=Type}) -> ?CLASS(Type,wxXmlResource), wxe_util:destroy(?DESTROY_OBJECT,Obj), diff --git a/lib/wx/src/gen/wx_misc.erl b/lib/wx/src/gen/wx_misc.erl index 5db6ceb036..ce5d917136 100644 --- a/lib/wx/src/gen/wx_misc.erl +++ b/lib/wx/src/gen/wx_misc.erl @@ -63,7 +63,7 @@ setDetectableAutoRepeat(Flag) <<(wxe_util:from_bool(Flag)):32/?UI>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_miscellany.html#wxbell">external documentation</a>. --spec bell() -> ok. +-spec bell() -> 'ok'. bell() -> wxe_util:cast(?utils_wxBell, <<>>). @@ -96,14 +96,14 @@ findWindowAtPoint({PtX,PtY}) <<PtX:32/?UI,PtY:32/?UI>>). %% @equiv beginBusyCursor([]) --spec beginBusyCursor() -> ok. +-spec beginBusyCursor() -> 'ok'. beginBusyCursor() -> beginBusyCursor([]). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_miscellany.html#wxbeginbusycursor">external documentation</a>. --spec beginBusyCursor([Option]) -> ok when - Option :: {cursor, wxCursor:wxCursor()}. +-spec beginBusyCursor([Option]) -> 'ok' when + Option :: {'cursor', wxCursor:wxCursor()}. beginBusyCursor(Options) when is_list(Options) -> MOpts = fun({cursor, #wx_ref{type=CursorT,ref=CursorRef}}, Acc) -> ?CLASS(CursorT,wxCursor),[<<1:32/?UI,CursorRef:32/?UI>>|Acc]; @@ -113,7 +113,7 @@ beginBusyCursor(Options) <<BinOpt/binary>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_miscellany.html#wxendbusycursor">external documentation</a>. --spec endBusyCursor() -> ok. +-spec endBusyCursor() -> 'ok'. endBusyCursor() -> wxe_util:cast(?utils_wxEndBusyCursor, <<>>). @@ -141,7 +141,7 @@ shell() -> %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_miscellany.html#wxshell">external documentation</a>. -spec shell([Option]) -> boolean() when - Option :: {command, unicode:chardata()}. + Option :: {'command', unicode:chardata()}. shell(Options) when is_list(Options) -> MOpts = fun({command, Command}, Acc) -> Command_UC = unicode:characters_to_binary([Command,0]),[<<1:32/?UI,(byte_size(Command_UC)):32/?UI,(Command_UC)/binary, 0:(((8- ((0+byte_size(Command_UC)) band 16#7)) band 16#7))/unit:8>>|Acc]; @@ -161,7 +161,7 @@ launchDefaultBrowser(Url) %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_miscellany.html#wxlaunchdefaultbrowser">external documentation</a>. -spec launchDefaultBrowser(Url, [Option]) -> boolean() when Url::unicode:chardata(), - Option :: {flags, integer()}. + Option :: {'flags', integer()}. launchDefaultBrowser(Url, Options) when is_list(Url),is_list(Options) -> Url_UC = unicode:characters_to_binary([Url,0]), @@ -196,7 +196,7 @@ newId() -> <<>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_miscellany.html#wxregisterid">external documentation</a>. --spec registerId(Id) -> ok when +-spec registerId(Id) -> 'ok' when Id::integer(). registerId(Id) when is_integer(Id) -> @@ -234,7 +234,7 @@ displaySize() -> <<>>). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_gdicmn.html#gdicmnwxsetcursor">external documentation</a>. --spec setCursor(Cursor) -> ok when +-spec setCursor(Cursor) -> 'ok' when Cursor::wxCursor:wxCursor(). setCursor(#wx_ref{type=CursorT,ref=CursorRef}) -> ?CLASS(CursorT,wxCursor), diff --git a/lib/wx/src/wx.erl b/lib/wx/src/wx.erl index 6498b58cda..34bf06cf46 100644 --- a/lib/wx/src/wx.erl +++ b/lib/wx/src/wx.erl @@ -106,8 +106,8 @@ new() -> %% Or {silent_start, Bool}, which causes error messages at startup to %% be suppressed. The latter can be used as a silent test of whether %% wx is properly installed or not. --spec new([Option]) -> wx_object() when Option :: {debug, list() | atom()} | - {silent_start, boolean()}. +-spec new([Option]) -> wx_object() + when Option :: {'debug', list() | atom()} | {'silent_start', boolean()}. new(Options) when is_list(Options) -> Debug = proplists:get_value(debug, Options, 0), SilentStart = proplists:get_value(silent_start, Options, false), @@ -118,7 +118,7 @@ new(Options) when is_list(Options) -> null(). %% @doc Stops a wx server. --spec destroy() -> ok. +-spec destroy() -> 'ok'. destroy() -> wxe_server:stop(), erase(?WXE_IDENTIFIER), @@ -136,7 +136,7 @@ get_env() -> %% @doc Sets the process wx environment, allows this process to use %% another process wx environment. --spec set_env(wx_env()) -> ok. +-spec set_env(wx_env()) -> 'ok'. set_env(#wx_env{sv=Pid, port=Port} = Env) -> put(?WXE_IDENTIFIER, Env), put(opengl_port, Port), @@ -191,7 +191,7 @@ batch(Fun) -> end. %% @doc Behaves like {@link //stdlib/lists:foreach/2} but batches wx commands. See {@link batch/1}. --spec foreach(function(), list()) -> ok. +-spec foreach(function(), list()) -> 'ok'. foreach(Fun, List) -> ok = wxe_util:cast(?BATCH_BEGIN, <<>>), try lists:foreach(Fun, List) @@ -267,7 +267,7 @@ get_memory_bin(#wx_mem{bin=Bin, size=Size}) -> %% @doc Saves the memory from deletion until release_memory/1 is called. %% If release_memory/1 is not called the memory will not be garbage collected. --spec retain_memory(wx_memory()) -> ok. +-spec retain_memory(wx_memory()) -> 'ok'. retain_memory(#wx_mem{bin=Bin}) -> wxe_util:send_bin(Bin), ok = wxe_util:cast(?WXE_BIN_INCR, <<>>); @@ -279,7 +279,7 @@ retain_memory(Bin) when is_binary(Bin) -> wxe_util:send_bin(Bin), ok = wxe_util:cast(?WXE_BIN_INCR, <<>>). --spec release_memory(wx_memory()) -> ok. +-spec release_memory(wx_memory()) -> 'ok'. release_memory(#wx_mem{bin=Bin}) -> wxe_util:send_bin(Bin), ok = wxe_util:cast(?WXE_BIN_DECR, <<>>); @@ -290,8 +290,8 @@ release_memory(Bin) when is_binary(Bin) -> %% @doc Sets debug level. If debug level is 'verbose' or 'trace' %% each call is printed on console. If Level is 'driver' each allocated %% object and deletion is printed on the console. --spec debug(Level | [Level]) -> ok - when Level :: none | verbose | trace | driver | integer(). +-spec debug(Level | [Level]) -> 'ok' + when Level :: 'none' | 'verbose' | 'trace' | 'driver' | integer(). debug(Debug) -> Level = calc_level(Debug), @@ -332,7 +332,7 @@ set_debug(Level) when is_integer(Level) -> end. %% @doc Starts a wxErlang demo if examples directory exists and is compiled --spec demo() -> ok | {error, atom()}. +-spec demo() -> 'ok' | {'error', atom()}. demo() -> Priv = code:priv_dir(wx), Demo = filename:join([filename:dirname(Priv),examples,demo]), diff --git a/lib/wx/src/wx_object.erl b/lib/wx/src/wx_object.erl index c22a083eb9..40ee308358 100644 --- a/lib/wx/src/wx_object.erl +++ b/lib/wx/src/wx_object.erl @@ -113,35 +113,35 @@ %% -export([behaviour_info/1]). -callback init(Args :: term()) -> - {#wx_ref{}, State :: term()} | {#wx_ref{}, State :: term(), timeout() | hibernate} | - {stop, Reason :: term()} | ignore. + {#wx_ref{}, State :: term()} | {#wx_ref{}, State :: term(), timeout() | 'hibernate'} | + {'stop', Reason :: term()} | 'ignore'. -callback handle_event(Request :: #wx{}, State :: term()) -> - {noreply, NewState :: term()} | - {noreply, NewState :: term(), timeout() | hibernate} | - {stop, Reason :: term(), NewState :: term()}. + {'noreply', NewState :: term()} | + {'noreply', NewState :: term(), timeout() | 'hibernate'} | + {'stop', Reason :: term(), NewState :: term()}. -callback handle_call(Request :: term(), From :: {pid(), Tag :: term()}, State :: term()) -> - {reply, Reply :: term(), NewState :: term()} | - {reply, Reply :: term(), NewState :: term(), timeout() | hibernate} | - {noreply, NewState :: term()} | - {noreply, NewState :: term(), timeout() | hibernate} | - {stop, Reason :: term(), Reply :: term(), NewState :: term()} | - {stop, Reason :: term(), NewState :: term()}. + {'reply', Reply :: term(), NewState :: term()} | + {'reply', Reply :: term(), NewState :: term(), timeout() | 'hibernate'} | + {'noreply', NewState :: term()} | + {'noreply', NewState :: term(), timeout() | 'hibernate'} | + {'stop', Reason :: term(), Reply :: term(), NewState :: term()} | + {'stop', Reason :: term(), NewState :: term()}. -callback handle_cast(Request :: term(), State :: term()) -> - {noreply, NewState :: term()} | - {noreply, NewState :: term(), timeout() | hibernate} | - {stop, Reason :: term(), NewState :: term()}. + {'noreply', NewState :: term()} | + {'noreply', NewState :: term(), timeout() | 'hibernate'} | + {'stop', Reason :: term(), NewState :: term()}. -callback handle_info(Info :: timeout() | term(), State :: term()) -> - {noreply, NewState :: term()} | - {noreply, NewState :: term(), timeout() | hibernate} | - {stop, Reason :: term(), NewState :: term()}. --callback terminate(Reason :: (normal | shutdown | {shutdown, term()} | + {'noreply', NewState :: term()} | + {'noreply', NewState :: term(), timeout() | 'hibernate'} | + {'stop', Reason :: term(), NewState :: term()}. +-callback terminate(Reason :: ('normal' | 'shutdown' | {'shutdown', term()} | term()), State :: term()) -> term(). --callback code_change(OldVsn :: (term() | {down, term()}), State :: term(), +-callback code_change(OldVsn :: (term() | {'down', term()}), State :: term(), Extra :: term()) -> - {ok, NewState :: term()} | {error, Reason :: term()}. + {'ok', NewState :: term()} | {'error', Reason :: term()}. %% System exports |