wxErlang

wxGraphicsObject.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
127
128
%       /¯_ |¯\  /\  |¯\ | |  | /¯   (`  /¯\ |¯|    | |_¯ /¯  ¯|¯ 
%\  W X \_/ |¯\ /¯¯\ |¯¯ |¯|  | \_, \_)  \_/ |¯_\ \_/ |__ \_,  | . 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_wxgraphicsobject.html">wxGraphicsObject</a>.
%% @type wxGraphicsObject().  
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%   
%%   OVERVIEW
%%   ––––––––
%%   This class is the superclass of native graphics objects like pens etc. 
%%   It allows reference counting. 
%%   Not instantiated by user code.
%%   
%%   
%%   See Also:
%%   —————————
%%   wxGraphicsBrush, wxGraphicsPen, wxGraphicsMatrix, wxGraphicsPath
%%   
%%   
-module(wxGraphicsObject).
-include("wxe.hrl").
-export([destroy/1,getRenderer/1,isNull/1]).


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

-export_type([wxGraphicsObject/0]).


%% @hidden
parent_class(_Class) -> erlang:error({badtype, ?MODULE}).


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




           %·%% GET RENDERER %%·%

%%   
%%    Returns the renderer that was used to create this instance, 
%%    or NULL if it has not been initialized yet
%%   
%% Return Value:
%% See Also:
%%*%%*%%
          -spec getRenderer(This) -> wxGraphicsRenderer:wxGraphicsRenderer()
           when
           This :: wxGraphicsObject().

getRenderer(#wx_ref{type=ThisT,ref=ThisRef}) ->
                                              ?CLASS(ThisT,wxGraphicsObject),
                                wxe_util:call(?wxGraphicsObject_GetRenderer,
                                <<ThisRef:32/?UI>>).





           %·%% IS NULL %%·%

%%   
%%    Is this object valid (false) or still empty (true)?
%%   
%% Return Value:
%% See Also:
%%*%%*%%
          -spec isNull(This) -> boolean()
           when
           This :: wxGraphicsObject().

isNull(#wx_ref{type=ThisT,ref=ThisRef}) ->
                                         ?CLASS(ThisT,wxGraphicsObject),
                           wxe_util:call(?wxGraphicsObject_IsNull,
                           <<ThisRef:32/?UI>>).





           %·%% DESTROY %%·%

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

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