SynchronousLoadingProperty = BindableProperty.Create(nameof(SynchronousLoading), typeof(bool), typeof(ImageView), false, propertyChanged: SetInternalSynchronousLoadingProperty, defaultValueCreator: GetInternalSynchronousLoadingProperty);
OrientationCorrectionProperty = BindableProperty.Create(nameof(OrientationCorrection), typeof(bool), typeof(ImageView), false, propertyChanged: SetInternalOrientationCorrectionProperty, defaultValueCreator: GetInternalOrientationCorrectionProperty);
-
+
MaskingModeProperty = BindableProperty.Create(nameof(MaskingMode), typeof(MaskingModeType), typeof(ImageView), default(MaskingModeType), propertyChanged: SetInternalMaskingModeProperty, defaultValueCreator: GetInternalMaskingModeProperty);
FastTrackUploadingProperty = BindableProperty.Create(nameof(FastTrackUploading), typeof(bool), typeof(ImageView), false, propertyChanged: SetInternalFastTrackUploadingProperty, defaultValueCreator: GetInternalFastTrackUploadingProperty);
Visual.Property.PremultipliedAlpha,
ImageVisualProperty.OrientationCorrection,
ImageVisualProperty.FastTrackUploading,
+ ImageVisualProperty.SynchronousSizing,
NpatchImageVisualProperty.Border,
NpatchImageVisualProperty.BorderOnly,
};
}
/// <summary>
+ /// Gets or sets whether to automatically reload the image as the view size<br />
+ /// If we set this value as true, view size will be works as desired size of image.<br />
+ /// </summary>
+ /// <remarks>
+ /// If we set this value as true, <see cref="DesiredWidth"/> and <see cref="DesiredHeight"/> will be invalidated.
+ /// </remarks>
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public bool SynchronousSizing
+ {
+ get
+ {
+ return (bool)GetInternalSynchronousSizingProperty(this);
+ }
+ set
+ {
+ SetInternalSynchronousSizingProperty(this, value);
+ NotifyPropertyChanged();
+ }
+ }
+
+ /// <summary>
/// Gets or sets whether to apply mask on GPU or not.<br />
/// </summary>
[EditorBrowsable(EditorBrowsableState.Never)]
}
/// <summary>
+ /// SynchronousSizingProperty
+ /// </summary>
+ internal static void SetInternalSynchronousSizingProperty(ImageView imageView, bool newValue)
+ {
+ imageView.UpdateImage(ImageVisualProperty.SynchronousSizing, new PropertyValue(newValue));
+ }
+
+ internal static object GetInternalSynchronousSizingProperty(ImageView imageView)
+ {
+ bool ret = false;
+
+ imageView.GetCachedImageVisualProperty(ImageVisualProperty.SynchronousSizing)?.Get(out ret);
+
+ return ret;
+ }
+
+ /// <summary>
/// MaskingModeProperty
/// </summary>
[EditorBrowsable(EditorBrowsableState.Never)]
/// </summary>
[EditorBrowsable(EditorBrowsableState.Never)]
public static readonly int NotifyAfterRasterization = NDalic.ImageVisualOrientationCorrection + 17;
+
+ /// <summary>
+ /// @brief Whether to synchronize image texture size to visual size.
+ /// @details Name "synchronousSizing", type Property::BOOLEAN.
+ /// If this property is true, ImageVisual ignores mDesiredSize.
+ /// @note Used by the ImageVisual. The default is false.
+ /// </summary>
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public static readonly int SynchronousSizing = NDalic.ImageVisualOrientationCorrection + 18;
}
/// <summary>
}
/// <summary>
+ /// Gets or sets whether to automatically reload the image as the visual size.<br />
+ /// If we set this value as true, Visual size will be works as desired size of image.<br />
+ /// </summary>
+ /// <remarks>
+ /// If this value is true, <see cref="DesiredWidth"/> and <see cref="DesiredHeight"/> will be invalidated.
+ /// </remarks>
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public bool SynchronousSizing
+ {
+ set
+ {
+ UpdateVisualProperty((int)Tizen.NUI.ImageVisualProperty.SynchronousSizing, new PropertyValue(value), true);
+ }
+ get
+ {
+ bool ret = false;
+ var propertyValue = GetCachedVisualProperty((int)Tizen.NUI.ImageVisualProperty.SynchronousSizing);
+ propertyValue?.Get(out ret);
+ return ret;
+ }
+ }
+
+ /// <summary>
/// Gets or sets the URL of the alpha mask.<br />
/// Optional.
/// </summary>