Skip to content

[NUI][API13_MR] Rebase API13 patches relative with NUI#7551

Open
hinohie wants to merge 20 commits intoSamsung:API13_MRfrom
hinohie:rebase_nui_api13_mr
Open

[NUI][API13_MR] Rebase API13 patches relative with NUI#7551
hinohie wants to merge 20 commits intoSamsung:API13_MRfrom
hinohie:rebase_nui_api13_mr

Conversation

@hinohie
Copy link
Copy Markdown
Contributor

@hinohie hinohie commented Apr 5, 2026

Rebase all patches at API13, 2026.04.05

Eunki Hong and others added 20 commits April 5, 2026 21:35
…lback

Let we allow to get and bake custom property at FrameUpdateCallback

Relatie dali patches
- https://review.tizen.org/gerrit/c/platform/core/uifw/dali-core/+/338444
- https://review.tizen.org/gerrit/c/platform/core/uifw/dali-csharp-binder/+/338445

Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
…ally

Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
…vent interception

Add SystemInterceptKeyEvent to provide system-level key event interception
with higher priority than user-level InterceptKeyEvent.

Features:
- System-level event that executes before InterceptKeyEvent
- Highest priority for intercepting key events in the framework
- When consumed, prevents event dispatch to both InterceptKeyEvent and child views
- Supports multiple handlers with OR'd return values
- Marked as internal for framework use only
Sometimes the callback - which is GC deleted at GC thread - could be invoked
from native side.

Since native don't know whether given view is GC or not, native just invoke
the GC deleted callback.

To avoid this kind of issue, let we hold the callbacks as native holder.
It could be deleted ensurely after Dispose(DisposeTypes) called.

Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
Revert patch of Samsung#7485.

Since Delegate have strong dependency with object, View never be GC
if we call AddToNativeHolder();

Until found solution, block the code temprary.

Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
…View`

Let we got the finished callback of animated image from native.

Relative dali patches :

https://review.tizen.org/gerrit/c/platform/core/uifw/dali-toolkit/+/339278

Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
…uential urls

Their are several logics to skip some function calls for performance when `_resourceUrl` is null or empty.
But if we are use `AnimateImageView.URLs` it could be null, and renderable.

To make ensure to create new visuals if ImageView property changed, let we make new internal flags
if we are using `URLs`, and allow to change visuals for this case.

Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
… if new image created

Default behavior of dali's AnimatedImageVisual is play animation whenever it created. But for some case, user don't want to play automatically.

To make it works ensurely, let we keep play state as AnimatedImageView level, and send action after create new visual.

Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
`Registry.GetManagedBaseHandleFromNativePtr` can check whether give view
was GC'ed or not.
Let we make several View API use static delegate function register to
native side. It could gaurd case that GC at GC thread,
but event callback invorked at event thread, so GC'ed delegate invoked.

Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
…eep Play state if property changed

Let we follow logics as AnimatedImageView to AnimatedImageVisual

Also, prepare to Finished signal, which is not working well now.

Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>

(BorderWindow) Change new added layer's `Viewport`

Until now, we set clipping box to root layer, and new added
layers also be added to the given clipping layer.

Since the clipping under layer didn't works fairly,
let we make new-added layers also be added to window default layer
directly, and change `Layer.Viewport` property instead.

It will change the position and size of layer internally.
So clipping will works fine.

Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
…r + Move `AngleAxis` to deprecated folder

Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
Let we add property to control the mix color of Renderable class.

Also, support those properties animatable.

Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
Signed-off-by: sbsh.baek <sbsh.baek@samsung.com>

Add `ImageVisualProperty.LoadPolicy` at `cachedImagePropertyKeyList`

Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
@github-actions github-actions bot added the API13_MR Platform : Tizen 10.0 / TFM: net8.0-tizen10.0 label Apr 5, 2026
@TizenAPI-Bot
Copy link
Copy Markdown
Collaborator

Internal API Changed

Added: 43, Removed: 0, Changed: 1

Added

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ Tizen.NUI.BaseComponents.AnimatedImageView/AnimationStates Tizen.NUI.BaseComponents.AnimatedImageView::AnimationState()

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Void Tizen.NUI.BaseComponents.AnimatedImageView::Pause()

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Void Tizen.NUI.BaseComponents.AnimatedImageView::Play()

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Void Tizen.NUI.BaseComponents.AnimatedImageView::Stop()

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.EventHandler Tizen.NUI.BaseComponents.AnimatedImageView::Finished

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ Tizen.NUI.BaseComponents.AnimatedImageView/AnimationStates

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static Tizen.NUI.BaseComponents.AnimatedImageView/AnimationStates Tizen.NUI.BaseComponents.AnimatedImageView/AnimationStates::Paused

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static Tizen.NUI.BaseComponents.AnimatedImageView/AnimationStates Tizen.NUI.BaseComponents.AnimatedImageView/AnimationStates::Playing

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static Tizen.NUI.BaseComponents.AnimatedImageView/AnimationStates Tizen.NUI.BaseComponents.AnimatedImageView/AnimationStates::Stopped

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ Tizen.NUI.LoadPolicyType Tizen.NUI.BaseComponents.ImageView::LoadPolicy()

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.EventHandler Tizen.NUI.BaseComponents.WebView::WebProcessCrashed

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Boolean Tizen.NUI.FrameUpdateCallbackInterface::BakeCustomProperty(System.UInt32,System.String,Tizen.NUI.PropertyValue)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Boolean Tizen.NUI.FrameUpdateCallbackInterface::GetCustomProperty(System.UInt32,System.String,Tizen.NUI.PropertyValue)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Boolean Tizen.NUI.PropertyValue::Get(Tizen.NUI.Matrix)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Boolean Tizen.NUI.PropertyValue::Get(Tizen.NUI.Matrix3)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Void Tizen.NUI.PropertyValue::.ctor(Tizen.NUI.Matrix)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Void Tizen.NUI.PropertyValue::.ctor(Tizen.NUI.Matrix3)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Void Tizen.NUI.PropertyValue::Set(System.Boolean)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Void Tizen.NUI.PropertyValue::Set(System.Int32)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Void Tizen.NUI.PropertyValue::Set(System.Single)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Void Tizen.NUI.PropertyValue::Set(System.String)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Void Tizen.NUI.PropertyValue::Set(Tizen.NUI.Extents)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Void Tizen.NUI.PropertyValue::Set(Tizen.NUI.Matrix)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Void Tizen.NUI.PropertyValue::Set(Tizen.NUI.Matrix3)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Void Tizen.NUI.PropertyValue::Set(Tizen.NUI.PropertyArray)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Void Tizen.NUI.PropertyValue::Set(Tizen.NUI.PropertyMap)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Void Tizen.NUI.PropertyValue::Set(Tizen.NUI.Rectangle)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Void Tizen.NUI.PropertyValue::Set(Tizen.NUI.Rotation)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Void Tizen.NUI.PropertyValue::Set(Tizen.NUI.UIColor)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Void Tizen.NUI.PropertyValue::Set(Tizen.NUI.UICorner)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Void Tizen.NUI.PropertyValue::Set(Tizen.NUI.UIExtents)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Void Tizen.NUI.PropertyValue::Set(Tizen.NUI.UIVector2)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Void Tizen.NUI.PropertyValue::Set(Tizen.NUI.UIVector3)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Void Tizen.NUI.PropertyValue::Set(Tizen.NUI.Vector2)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Void Tizen.NUI.PropertyValue::Set(Tizen.NUI.Vector3)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Void Tizen.NUI.PropertyValue::Set(Tizen.NUI.Vector4)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Single Tizen.NUI.Renderable::ColorBlue()

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Single Tizen.NUI.Renderable::ColorGreen()

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Single Tizen.NUI.Renderable::ColorRed()

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Single Tizen.NUI.Renderable::Opacity()

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ Tizen.NUI.Color Tizen.NUI.Renderable::Color()

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Void Tizen.NUI.Visuals.AnimatedImageVisual::Dispose(Tizen.NUI.DisposeTypes)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.EventHandler Tizen.NUI.Visuals.AnimatedImageVisual::Finished

Changed

/// <since_tizen>none</since_tizen
[EditorBrowsable(EditorBrowsableState.Never)]
- System.Collections.Generic.List`1<System.String> Tizen.NUI.Visuals.AnimatedImageVisual::ResourceUrlList()
+ System.Collections.ObjectModel.ObservableCollection`1<System.String> Tizen.NUI.Visuals.AnimatedImageVisual::ResourceUrlList()

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

API13_MR Platform : Tizen 10.0 / TFM: net8.0-tizen10.0 Internal API Changed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants