|
@@ -1663,7 +1663,8 @@ type
|
|
|
FHeight: TFresnelLength;
|
|
|
FLayouter: TFresnelLayouter;
|
|
|
FOnDomChanged: TNotifyEvent;
|
|
|
- FScrollbarOverlay: boolean;
|
|
|
+ FScrollbarsAutoHide: boolean;
|
|
|
+ FScrollbarsOverlay: boolean;
|
|
|
FScrollbarThinWidth: array[boolean] of TFresnelLength;
|
|
|
FScrollbarWidth: array[boolean] of TFresnelLength;
|
|
|
FStylesheet: TStrings;
|
|
@@ -1673,6 +1674,7 @@ type
|
|
|
procedure CSSResolverLog(Sender: TObject; Entry: TCSSResolverLogEntry);
|
|
|
function GetFocusedElement: TFresnelElement;
|
|
|
procedure SetFocusedElement(const aValue: TFresnelElement);
|
|
|
+ procedure SetScrollbarsAutoHide(AValue: boolean);
|
|
|
protected
|
|
|
class var FFresnelEventsRegistered: boolean;
|
|
|
protected
|
|
@@ -1682,7 +1684,6 @@ type
|
|
|
procedure DispatchPointerCapture(El: TFresnelElement; Lost: boolean; const aPointerId: TFreHandle); virtual;
|
|
|
function GetDPI(IsHorizontal: boolean): TFresnelLength; override;
|
|
|
function GetHeight: TFresnelLength; virtual;
|
|
|
- function GetScrollbarsOverlay: boolean; virtual;
|
|
|
function GetScrollbarsThinWidth(IsHorizontal: boolean): TFresnelLength; virtual;
|
|
|
function GetScrollbarsWidth(IsHorizontal: boolean): TFresnelLength; virtual;
|
|
|
function GetVPLength(l: TFresnelViewportLength): TFresnelLength; virtual;
|
|
@@ -1789,6 +1790,7 @@ type
|
|
|
function ViewportToPaddingBox(El: TFresnelElement; const x, y: TFresnelLength): TFresnelPoint; overload; // viewport to padding-box coord of El
|
|
|
function ViewportToPaddingBox(El: TFresnelElement; const p: TFresnelPoint): TFresnelPoint; overload; // viewport to padding-box coord of El
|
|
|
function GetPointerCaptureEl(const aPointerId: TFreHandle): TFresnelElement;
|
|
|
+ function GetFirstPointerCaptureEl(El: TFresnelElement): TFreHandle;
|
|
|
procedure SetPointerCapture(const aPointerId: TFreHandle); override; overload;
|
|
|
procedure SetPointerCapture(El: TFresnelElement; const aPointerId: TFreHandle); virtual; overload;
|
|
|
procedure ReleasePointerCapture(const aPointerId: TFreHandle); override; overload;
|
|
@@ -1800,7 +1802,8 @@ type
|
|
|
function WSInput(WSData: TFresnelInputEventInit) : boolean; virtual;
|
|
|
property VPApplication: IFresnelVPApplication read FVPApplication;
|
|
|
property DPI[IsHorizontal: boolean]: TFresnelLength read GetDPI write SetDPI;
|
|
|
- property ScrollbarsOverlay: boolean read GetScrollbarsOverlay write SetScrollbarsOverlay;
|
|
|
+ property ScrollbarsAutoHide: boolean read FScrollbarsAutoHide write SetScrollbarsAutoHide;
|
|
|
+ property ScrollbarsOverlay: boolean read FScrollbarsOverlay write SetScrollbarsOverlay;
|
|
|
property ScrollbarsWidth[IsHorizontal: boolean]: TFresnelLength read GetScrollbarsWidth write SetScrollbarsWidth;
|
|
|
property ScrollbarsThinWidth[IsHorizontal: boolean]: TFresnelLength read GetScrollbarsThinWidth write SetScrollbarsThinWidth;
|
|
|
property VPLength[l: TFresnelViewportLength]: TFresnelLength read GetVPLength write SetVPLength;
|
|
@@ -6673,6 +6676,13 @@ begin
|
|
|
TrySetFocusControl(aValue);
|
|
|
end;
|
|
|
|
|
|
+procedure TFresnelViewport.SetScrollbarsAutoHide(AValue: boolean);
|
|
|
+begin
|
|
|
+ if FScrollbarsAutoHide=AValue then Exit;
|
|
|
+ FScrollbarsAutoHide:=AValue;
|
|
|
+ Invalidate;
|
|
|
+end;
|
|
|
+
|
|
|
function TFresnelViewport.GetDPI(IsHorizontal: boolean): TFresnelLength;
|
|
|
begin
|
|
|
Result:=FDPI[IsHorizontal];
|
|
@@ -6694,11 +6704,6 @@ begin
|
|
|
Result:=FHeight;
|
|
|
end;
|
|
|
|
|
|
-function TFresnelViewport.GetScrollbarsOverlay: boolean;
|
|
|
-begin
|
|
|
- Result:=FScrollbarOverlay;
|
|
|
-end;
|
|
|
-
|
|
|
function TFresnelViewport.GetVPLength(l: TFresnelViewportLength
|
|
|
): TFresnelLength;
|
|
|
begin
|
|
@@ -6868,8 +6873,8 @@ end;
|
|
|
|
|
|
procedure TFresnelViewport.SetScrollbarsOverlay(const AValue: boolean);
|
|
|
begin
|
|
|
- if FScrollbarOverlay=AValue then exit;
|
|
|
- FScrollbarOverlay:=AValue;
|
|
|
+ if FScrollbarsOverlay=AValue then exit;
|
|
|
+ FScrollbarsOverlay:=AValue;
|
|
|
DomChanged;
|
|
|
end;
|
|
|
|
|
@@ -7248,6 +7253,18 @@ begin
|
|
|
Result:=nil;
|
|
|
end;
|
|
|
|
|
|
+function TFresnelViewport.GetFirstPointerCaptureEl(El: TFresnelElement
|
|
|
+ ): TFreHandle;
|
|
|
+var
|
|
|
+ i: Integer;
|
|
|
+begin
|
|
|
+ if El=nil then exit(nil);
|
|
|
+ for i:=0 to length(FPointerCaptures)-1 do
|
|
|
+ if FPointerCaptures[i].Element=El then
|
|
|
+ exit(FPointerCaptures[i].Id);
|
|
|
+ Result:=nil;
|
|
|
+end;
|
|
|
+
|
|
|
procedure TFresnelViewport.SetPointerCapture(const aPointerId: TFreHandle);
|
|
|
begin
|
|
|
// must be implemented by descendant
|