Browse Source

DestroyAll missing.

lainz 10 years ago
parent
commit
c00519cce1
2 changed files with 12 additions and 2 deletions
  1. 10 2
      bgrapascalscript.pas
  2. 2 0
      upsi_bgrapascalscript.pas

+ 10 - 2
bgrapascalscript.pas

@@ -1,5 +1,5 @@
 unit BGRAPascalScript;
 unit BGRAPascalScript;
-
+// Note: overloaded procedures not supported, use unique identifiers
 {$mode objfpc}{$H+}
 {$mode objfpc}{$H+}
 
 
 interface
 interface
@@ -34,11 +34,11 @@ function setRed(AColor: TBGRAColor; AValue: byte): TBGRAColor;
 function setAlpha(AColor: TBGRAColor; AValue: byte): TBGRAColor;
 function setAlpha(AColor: TBGRAColor; AValue: byte): TBGRAColor;
 
 
 {Constructors}
 {Constructors}
-// Note: overloaded procedures not supported, use unique identifiers
 procedure bgra_Create(id: integer);
 procedure bgra_Create(id: integer);
 procedure bgra_CreateWithSize(id: integer; AWidth, AHeight: integer);
 procedure bgra_CreateWithSize(id: integer; AWidth, AHeight: integer);
 procedure bgra_CreateFromFile(id: integer; AFilename: string);
 procedure bgra_CreateFromFile(id: integer; AFilename: string);
 procedure bgra_Destroy(id: integer);
 procedure bgra_Destroy(id: integer);
+procedure bgra_DestroyAll;
 
 
 procedure bgra_Fill(id: integer; AColor: TBGRAColor);
 procedure bgra_Fill(id: integer; AColor: TBGRAColor);
 procedure bgra_SetPixel(id: integer; x, y: integer; AColor: TBGRAColor);
 procedure bgra_SetPixel(id: integer; x, y: integer; AColor: TBGRAColor);
@@ -196,6 +196,14 @@ begin
   FreeAndNil(BitmapArray[id]);
   FreeAndNil(BitmapArray[id]);
 end;
 end;
 
 
+procedure bgra_DestroyAll;
+var
+  id: integer;
+begin
+  for id := 0 to bgra_GetHighestID do
+    bgra_Destroy(id);
+end;
+
 procedure bgra_Fill(id: integer; AColor: TBGRAColor);
 procedure bgra_Fill(id: integer; AColor: TBGRAColor);
 begin
 begin
   if Assigned(BitmapArray[id]) then
   if Assigned(BitmapArray[id]) then

+ 2 - 0
upsi_bgrapascalscript.pas

@@ -80,6 +80,7 @@ begin
   CL.AddDelphiFunction('Procedure bgra_CreateWithSize( id : Integer; AWidth, AHeight: integer)');
   CL.AddDelphiFunction('Procedure bgra_CreateWithSize( id : Integer; AWidth, AHeight: integer)');
   CL.AddDelphiFunction('Procedure bgra_CreateFromFile( id : Integer; AFilename : string)');
   CL.AddDelphiFunction('Procedure bgra_CreateFromFile( id : Integer; AFilename : string)');
   CL.AddDelphiFunction('Procedure bgra_Destroy( id : Integer)');
   CL.AddDelphiFunction('Procedure bgra_Destroy( id : Integer)');
+  CL.AddDelphiFunction('Procedure bgra_DestroyAll');
   {}
   {}
   CL.AddDelphiFunction('Procedure bgra_Fill( id : Integer; AColor: TBGRAColor)');
   CL.AddDelphiFunction('Procedure bgra_Fill( id : Integer; AColor: TBGRAColor)');
   CL.AddDelphiFunction('procedure bgra_SetPixel(id: Integer; x,y: integer; AColor: TBGRAColor);');
   CL.AddDelphiFunction('procedure bgra_SetPixel(id: Integer; x,y: integer; AColor: TBGRAColor);');
@@ -130,6 +131,7 @@ begin
   S.RegisterDelphiFunction(@bgra_CreateWithSize, 'bgra_CreateWithSize', cdRegister);
   S.RegisterDelphiFunction(@bgra_CreateWithSize, 'bgra_CreateWithSize', cdRegister);
   S.RegisterDelphiFunction(@bgra_CreateFromFile, 'bgra_CreateFromFile', cdRegister);
   S.RegisterDelphiFunction(@bgra_CreateFromFile, 'bgra_CreateFromFile', cdRegister);
   S.RegisterDelphiFunction(@bgra_Destroy, 'bgra_Destroy', cdRegister);
   S.RegisterDelphiFunction(@bgra_Destroy, 'bgra_Destroy', cdRegister);
+  S.RegisterDelphiFunction(@bgra_DestroyAll, 'bgra_DestroyAll', cdRegister);
   {}
   {}
   S.RegisterDelphiFunction(@bgra_Fill, 'bgra_Fill', cdRegister);
   S.RegisterDelphiFunction(@bgra_Fill, 'bgra_Fill', cdRegister);
   {Loading functions}
   {Loading functions}