wxErlang

wxOverlay.erl

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
%        /¯\ \ / |_¯ |¯\ |    /\  \ /              
%\   W X \_/  V  |__ |¯\ |__ /¯¯\  | . E R L 
%%——————————————————————————————————————————————————————————
%%
%%   Copyright Ericsson AB 2008-2013. All Rights Reserved.
%%
%%——————————————————————————————————————————————
%% Whitespace Beautified by ScriptCulture © 2018
%% Sit Back · Feet Up · Learn wxErlang
%% For use as a reference only
%% www.scriptculture.com
%% Not check-summed 
%% wx 1.8 —————————————————————————————————————— 
%%
%% 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.
%%%%%%%
%%%%
%%%%%
%% @doc See external documentation: <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxoverlay.html">wxOverlay</a>.
%% @type wxOverlay().  
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%   
%%   OVERVIEW
%%   ––––––––
%%   Creates an overlay over an existing window, 
%%   allowing for manipulations like rubberbanding, etc.
%%
%%   On wxOSX the overlay is implemented with native platform APIs, 
%%   on the other platforms it is simulated using wxMemoryDC.
%%   
%%   
%%   See Also:
%%   —————————
%%   wxDCOverlay, wxDC 
%%   
%%   
-module(wxOverlay).
-include("wxe.hrl").
-export([destroy/1,new/0,reset/1]).

%% inherited exports
-export([parent_class/1]).

-export_type([wxOverlay/0]).
%% @hidden
parent_class(_Class) -> erlang:error({badtype, ?MODULE}).


-type wxOverlay()  ::  wx:wx_object().




           %·%% NEW  %%·%

%%   
%%   Constructor
%%   
%% Return Value:
%% See Also:
%%*%%*%%
          -spec new() -> wxOverlay().

new() ->
  wxe_util:construct(?wxOverlay_new,
               <<>>).





           %·%% RESET %%·%

%%   
%%   Clears the overlay without restoring the former state.
%%
%%   To be done, for example, when the window content has been changed and repainted.
%%   
%% Return Value:
%% See Also:
%%*%%*%%
          -spec reset(This) -> ok
           when
           This :: wxOverlay().

reset(#wx_ref{type=ThisT,ref=ThisRef}) ->
                                        ?CLASS(ThisT,wxOverlay),
                          wxe_util:cast(?wxOverlay_Reset,
                          <<ThisRef:32/?UI>>).





           %·%% DESTROY %%·%

%%   
%%   Destructor.   
%%
%% @doc Destroys this object, do not use object again
          -spec destroy(This :: wxOverlay()) -> ok.

destroy(Obj=#wx_ref{type=Type}) ->
                                 ?CLASS(Type,wxOverlay),
                wxe_util:destroy(?wxOverlay_destruct,Obj),
                ok.