Browse Source

* Patch from Silvio Clecio to add THTMLImageElement

michael 6 years ago
parent
commit
b69e9bbc36
1 changed files with 34 additions and 3 deletions
  1. 34 3
      packages/rtl/web.pas

+ 34 - 3
packages/rtl/web.pas

@@ -1,6 +1,6 @@
 {
 {
     This file is part of the Pas2JS run time library.
     This file is part of the Pas2JS run time library.
-    Copyright (c) 2017 by Mattias Gaertner
+    Copyright (c) 2017-2019 by the Pas2JS development team.
 
 
     See the file COPYING.FPC, included in this distribution,
     See the file COPYING.FPC, included in this distribution,
     for details about the copyright.
     for details about the copyright.
@@ -649,7 +649,7 @@ Type
     property Items[aIndex : NativeInt] : TJSDataTransferItem Read getitem; default;
     property Items[aIndex : NativeInt] : TJSDataTransferItem Read getitem; default;
   end;
   end;
 
 
-  { TDataTransfer }
+  { TJSDataTransfer }
 
 
   TJSDataTransfer = class external name 'DataTransfer'
   TJSDataTransfer = class external name 'DataTransfer'
   private
   private
@@ -731,7 +731,7 @@ Type
     Property error : TJSObject read FError;
     Property error : TJSObject read FError;
   end;
   end;
 
 
-  TJsPageTransitionEvent = class(TJSEvent)
+  TJSPageTransitionEvent = class(TJSEvent)
   end;
   end;
 
 
   TJSHashChangeEvent = class external name 'HashChangeEvent' (TJSEvent)
   TJSHashChangeEvent = class external name 'HashChangeEvent' (TJSEvent)
@@ -2075,6 +2075,37 @@ Type
     property validity : TJSValidityState read FValidity;
     property validity : TJSValidityState read FValidity;
   end;
   end;
 
 
+  { TJSHTMLImageElement }
+
+  TJSHTMLImageElement = class external name 'HTMLImageElement' (TJSHTMLElement)
+  Private
+    FComplete: boolean; external name 'complete';
+    FCurrentSrc: String; external name 'currentSrc';
+    FNaturalHeight: NativeUInt; external name 'naturalHeight';
+    FNaturalWidth: NativeUInt; external name 'naturalWidth';
+    FX: NativeInt; external name 'x';
+    FY: NativeInt; external name 'y';
+  Public
+    alt: String;
+    crossOrigin: String;
+    decoding: String;
+    height: NativeUInt;
+    isMap: boolean;
+    referrerPolicy: String;
+    src: String;
+    sizes: String;
+    srcset: String;
+    useMap: String;
+    width: NativeUInt;
+    function decode : TJSPromise;
+    property complete: boolean read FComplete;
+    property currentSrc: String read FCurrentSrc;
+    property naturalHeight: NativeUInt read FNaturalHeight;
+    property naturalWidth: NativeUInt read FNaturalWidth;
+    property x: NativeInt read FX;
+    property y: NativeInt read FY;
+  end;
+
   { TJSHTMLMenuElement }
   { TJSHTMLMenuElement }
 
 
   TJSHTMLMenuElement = class external name 'HTMLMenuElement' (TJSHTMLElement) //  uhm... should it be declared? it is experimental at Mozilla docs...
   TJSHTMLMenuElement = class external name 'HTMLMenuElement' (TJSHTMLElement) //  uhm... should it be declared? it is experimental at Mozilla docs...