DEADSOFTWARE

intermediate commit (faster render and coldet; this commit won't build!)
[d2df-sdl.git] / src / game / g_panel.pas
index 39237f182d1a692e481043dc90640dba4624e169..ab996040406168f29ced2f9c131f576d080b86fd 100644 (file)
@@ -41,6 +41,11 @@ type
                             True:  (AnTex: TAnimation);
                         end;
 
+  private
+    function getx1 (): Integer; inline;
+    function gety1 (): Integer; inline;
+    function getvisvalid (): Boolean; inline;
+
   public
     FCurTexture:      Integer; // Íîìåð òåêóùåé òåêñòóðû
     FCurFrame:        Integer;
@@ -74,6 +79,12 @@ type
 
     procedure   SaveState(var Mem: TBinMemoryWriter);
     procedure   LoadState(var Mem: TBinMemoryReader);
+
+    property x0: Integer read X;
+    property y0: Integer read Y;
+    property x1: Integer read getx1; // inclusive!
+    property y1: Integer read gety1; // inclusive!
+    property visvalid: Boolean read getvisvalid; // panel is "visvalid" when it's width and height are positive
   end;
 
   PPanel = ^TPanel;
@@ -248,6 +259,10 @@ begin
   Inherited;
 end;
 
+function TPanel.getx1 (): Integer; inline; begin result := X+Width-1; end;
+function TPanel.gety1 (): Integer; inline; begin result := Y+Height-1; end;
+function TPanel.getvisvalid (): Boolean; inline; begin result := (Width > 0) and (Height > 0); end;
+
 procedure TPanel.Draw();
 var
   xx, yy: Integer;