Revision 119:66352054ce4d UOLib/UHue.pas

b/UOLib/UHue.pas
21 21
 * CDDL HEADER END
22 22
 *
23 23
 *
24
 *      Portions Copyright 2007 Andreas Schneider
24
 *      Portions Copyright 2009 Andreas Schneider
25 25
 *)
26 26
unit UHue;
27 27

  
......
30 30
interface
31 31

  
32 32
uses
33
  SysUtils, Classes, Graphics, UMulBlock, UGraphicHelper;
33
  SysUtils, Classes, Graphics, UMulBlock;
34 34

  
35 35
type
36

  
36 37
  TColorTable = array[0..31] of Word;
38

  
39
  { THue }
40

  
37 41
  THue = class(TMulBlock)
38 42
    constructor Create(AData: TStream);
39 43
    function Clone: THue; override;
......
52 56
    property TableEnd: Word read FTableEnd write FTableEnd;
53 57
    property Name: string read GetName write SetName;
54 58
  end;
59

  
55 60
  THueEntries = array[0..7] of THue;
61

  
62
  { THueGroup }
63

  
56 64
  THueGroup = class(TMulBlock)
57 65
    constructor Create(AData: TStream);
58 66
    destructor Destroy; override;
......
92 100
  color: Word;
93 101
begin
94 102
  SetLength(FName, 20);
95
  if Assigned(AData) then
103
  if AData <> nil then
96 104
  begin
97 105
    buffer := TMemoryStream.Create;
98 106
    buffer.CopyFrom(AData, 88);
......
158 166
  i: Integer;
159 167
  buffer: TMemoryStream;
160 168
begin
161
  if Assigned(AData) then
169
  if AData <> nil then
162 170
  begin
163 171
    buffer := TMemoryStream.Create;
164 172
    buffer.CopyFrom(AData, 708);
......
170 178
  for i := 0 to 7 do
171 179
    FHueEntries[i] := THue.Create(buffer);
172 180

  
173
  if Assigned(buffer) then FreeAndNil(buffer);
181
  buffer.Free;
174 182
end;
175 183

  
176 184
destructor THueGroup.Destroy;
......
178 186
  i: Integer;
179 187
begin
180 188
  for i := 0 to 7 do
181
    if Assigned(FHueEntries[i]) then
182
      FreeAndNil(FHueEntries[i]);
183
  inherited;
189
    FreeAndNil(FHueEntries[i]);
190
  inherited Destroy;
184 191
end;
185 192

  
186 193
function THueGroup.GetHueEntry(AIndex: Integer): THue;
......
195 202

  
196 203
procedure THueGroup.SetHueEntry(AIndex: Integer; AValue: THue);
197 204
begin
198
  if Assigned(FHueEntries[AIndex]) then FreeAndNil(FHueEntries[AIndex]);
205
  FreeAndNil(FHueEntries[AIndex]);
199 206
  FHueEntries[AIndex] := AValue;
200 207
end;
201 208

  

Also available in: Unified diff