public SkiVStack() { SpacingProp = new LinkedProperty <float>( this, 10, valueChanged: (sender, args) => InvalidateLayout() ); }
public SkiScrollView() { CanScrollHorizontallyProp = new LinkedProperty <bool>( this, valueChanged: (sender, args) => { UpdateScrollMax(); InvalidateLayout(); } ); CanScrollVerticallyProp = new LinkedProperty <bool>( this, true, valueChanged: (sender, args) => { UpdateScrollMax(); InvalidateLayout(); } ); ScrollMaxProp = new LinkedProperty <SKPoint>( this, valueChanged: (sender, args) => AdjustScrollIfOutOfBounds() ); ScrollProp = new LinkedProperty <SKPoint>( this, valueChanging: (oldValue, newValue) => AdjustScrollIfOutOfBounds(newValue), valueChanged: (sender, args) => { UpdateChildPoint(); InvalidateSurface(); } ); SizeProp.ValueChanged += OnSizeChanged; PaddingProp.ValueChanged += OnPaddingChanged; VerticalOptions = SkiLayoutOptions.Fill; Padding = new SKRect(0, 0, VerticalScrollBarWidth, 0); var handleGestureRecognizer = new ScrollHandleGestureRecognizer(this); GestureRecognizers.Add(handleGestureRecognizer); FlingGestureRecognizer = new FlingGestureRecognizer( this, () => CanScrollHorizontally, () => CanScrollVertically, onMove: deltaPixels => { var previousScroll = Scroll; Scroll -= PixelToLocalMatrix.MapVector(deltaPixels); return(Scroll != previousScroll); } ); GestureRecognizers.Add(FlingGestureRecognizer); }
public ColorBackground(SkiView view, SKColor color) { _view = view; ColorProp = new LinkedProperty <SKColor>( this, color, valueChanged: (sender, args) => _view.InvalidateSurface() ); }
public SkiView() { WidthRequestProp = new LinkedProperty <float?>( this, valueChanged: (sender, args) => { if (!_updatingViewPreferredSize) { _allowViewPreferredWidth = false; } } ); HeightRequestProp = new LinkedProperty <float?>( this, valueChanged: (sender, args) => { if (!_updatingViewPreferredSize) { _allowViewPreferredHeight = false; } } ); SizeProp = new LinkedProperty <SKSize>(this); PaddingProp = new LinkedProperty <SKRect>( this, valueChanged: (sender, args) => InvalidateLayout() ); HorizontalOptionsProp = new LinkedProperty <SkiLayoutOptions>(this); VerticalOptionsProp = new LinkedProperty <SkiLayoutOptions>(this); IsFocusedProp = new LinkedProperty <bool>( this, valueChanged: (sender, args) => { var previousFocusedView = UiComponent.FocusedView; if (args.NewValue) { if (previousFocusedView != null) { previousFocusedView.IsFocused = false; } UiComponent.FocusedView = this; } else if (previousFocusedView == this) { UiComponent.FocusedView = null; } } ); BackgroundProp = new LinkedProperty <ISkiBackground>( this, valueChanged: (sender, args) => InvalidateSurface() ); }
public SkiLabel() { TextProp = new LinkedProperty <string>( this, "", valueChanged: (sender, args) => UpdateTextBlock() ); FontSizeProp = new LinkedProperty <float>( this, 16, valueChanged: (sender, args) => UpdateTextBlock() ); }
public SkiImageView(CachedResourceUsage <SKImage> imageUsage = null) { ImageUsageProp = new LinkedProperty <CachedResourceUsage <SKImage> >( this, valueChanged: async(sender, args) => { args.OldValue?.Dispose(); if (args.NewValue != null) { await args.NewValue.WaitForLoadingAsync(); } InvalidateSurface(); } ); ImageUsage = imageUsage; }
public override void UpdateProperty(ModConfig config) { LinkedProperty.SetValue(config, this.SaveData.Value, null); }
public override void BuildCompled() { ShutDownPc = false; _linkedPlaying = LinkProperty(nameof(_player.Playing), _player, nameof(CanActivate)); }