-
Notifications
You must be signed in to change notification settings - Fork 17
Introduce TizenViewNui #328
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Introduce TizenViewNui #328
Conversation
5bbdf4a to
103c2d7
Compare
103c2d7 to
d53c128
Compare
shell/platform/common/BUILD.gn
Outdated
| configs -= [ "//build/config/compiler:no_rtti" ] | ||
| configs += [ "//build/config/compiler:rtti" ] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
enable_nui_support variable information set in shell/platform/tizen/BUILD.gn cannot be imported into this context.
If you know how to pass nui support info to this file and the gn file of accessibility, please let me know.
|
Hi @swift-kim I think the PR is roughly ready. Please review this pr. +) Since dali is a package compiled with rtti, the no_rtti config must be removed. If we remove the code that exclude the no_rtti This link error occurs. Since we don't use dynamic_cast or typeid, I thought we could solve this problem. For now, I think it's okay to leave the build config removing no_rtti as it is, unless it's a problem.(it may have a slight impact on the size or performance of the result.) If you have any good workarounds or ideas, please share me. |
| public_configs = | ||
| [ "//flutter/third_party/accessibility:accessibility_config" ] | ||
|
|
||
| configs -= [ "//build/config/compiler:no_rtti" ] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I couldn't find a way to skip this part either. Actually I don't understand why the "undefined reference" error occurs for accessibility-related classes only.
| FLUTTER_EXPORT void FlutterDesktopViewOnPointerEvent( | ||
| FlutterDesktopViewRef view, | ||
| FlutterDesktopPointerEventType type, | ||
| double x, | ||
| double y, | ||
| size_t timestamp, | ||
| int32_t device_id); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Doesn't NUI support scroll events?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I haven't checked dali's scroll event yet.
I want to work on this in another PR if you are ok.
| #include <dali-toolkit/public-api/controls/image-view/image-view.h> | ||
| #include <dali/devel-api/adaptor-framework/event-thread-callback.h> | ||
| #include <dali/devel-api/adaptor-framework/native-image-source-queue.h> | ||
| #include <dali/devel-api/common/stage.h> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does devel-api mean that the APIs are not finalized and subject to change in the future?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As far as I know the devel-api is for inhouse app developers. it didn't ACR.
The APIs we use are open as DALI_ADAPTOR_API.
subject to change in the future?
It could change, but I think it's unlikely.
swift-kim
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Many thanks!
This is a View Class that supports NUI UIFW that inherits TizenView. NUI is a UIFW based on the C# language that wrapping Dali UIFW. The mouse and the keyboard event callback handling for NUI is handled in embedding(C#). The embedder handles events related to event delivery and rendering. Basically draw a flutter on a NativeImageQueue created from embedding. This corresponds to tbm_surface_queue_h and is rendered flutter view using egl. (When taking tbm_surface_queue_h from NativeImageQueue, typeid() is used inside dali, so -rtti flag is absolutely necessary.)
Currently, when I resize FlutterView, there is a problem that render sync does not match. The last updated flutterview is not drawn to the target. onMakeCurrent and onPresent are called every frame update. Because onPresent is called later than onMakeCurrent, it can temporarily solve the current problem.
This reverts commit 7dd6bec.
69d4618 to
7bfd4ea
Compare
This is a View Class that supports NUI UIFW that inherits TizenView. NUI is a UIFW based on the C# language that wrapping Dali UIFW. The mouse and the keyboard event callback handling for NUI is handled in embedding(C#). The embedder handles events related to event delivery and rendering. Basically draw a flutter on a NativeImageQueue created from embedding. This corresponds to tbm_surface_queue_h and is rendered flutter view using egl. (When taking tbm_surface_queue_h from NativeImageQueue, typeid() is used inside dali, so -rtti flag is absolutely necessary.) Co-authored-by: Swift Kim <swift.kim@samsung.com>
This is a View Class that supports NUI UIFW that inherits TizenView.
NUI is a UIFW based on the C# language that wrapping Dali UIFW.
The mouse and the keyboard event callback handling for NUI is handled in embedding(C#).
The embedder handles events related to event delivery and rendering.
Basically draw a flutter on a NativeImageQueue created from embedding.
This corresponds to tbm_surface_queue_h and is rendered flutter view using egl.
(When taking tbm_surface_queue_h from NativeImageQueue, typeid() is used inside dali,
so -rtti flag is absolutely necessary.)