问题标签 [efl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
52 浏览

efl - EFL - 自定义按钮


我正在将 C 语言 kiosk 应用程序移植到运行 Ubuntu 16 的 x86 机器上。
我正在使用 EFL GUI 框架(版本 1.20.7)——这对我来说是新的。
我设法向按钮添加了一个图标,但该按钮仍然有一个框架和“按下”的 GUI 动画。
我只希望我的自定义按钮图像可见,可能在两个图像之间切换:“按下”和“未按下”(在匹配事件时,通过配置......也许是边缘???)。
如果它具有相关事件的回调,我不介意使用任何小部件(图像等)。
谢谢。

0 投票
1 回答
38 浏览

efl - EFL - 窗口层次结构


我正在将 C 语言 kiosk 应用程序移植到运行 Ubuntu 16 的 x86 机器上。
我正在使用 EFL GUI 框架(版本 1.20.7)——这对我来说是新的。
GUI 非常简单:几个屏幕,每个屏幕上都有背景图像、一些按钮、标签和文本条目。根据应用程序逻辑,相关屏幕被提升,可见。我这样做了。
我的问题:所有子窗口都应该有一个根父窗口(容器)吗?至少在我的简单设计中?
我浏览了许多示例程序,但都非常具体,没有一个具有更大的 GUI。

令我困惑的另一件事是,小部件是通过根窗口创建的,即使它们被插入/定位在子容器中(取自 EFL 文档,test_button.c):

谢谢。

0 投票
1 回答
317 浏览

tizen - Tizen Native:未调用硬件按钮的回调集

我使用以下代码设置了硬件按钮 Back 和 More 的回调:

但是,它从来没有被调用过。

注意:我使用了一个专门创建_eext_ctxpopup_back_cb的,写入调试日志来检查它是否被调用,而不是标准的eext_ctxpopup_back_cb。我也试过eext_ctxpopup_back_cb了。

使用此代码,当我点击硬件按钮(返回或更多)时,它会调用为主窗口设置的回调。_eext_ctxpopup_back_cb永远不会被调用!

这是代码,它为主窗口设置回调:

因此,看起来实际上并没有为 Ctxpopup 设置回调,或者 Ctxpopup由于某种原因eext_object_event_callback_add()没有接收EEXT_CALLBACK_BACK和事件。EEXT_CALLBACK_MORE

eext_object_event_callback_add()在 Tizen Native API 文档和许多示例应用程序中看到了 with Ctxpopup 的用法,所以我认为它应该可以工作,但事实并非如此。

请指教。

更新:

我将尚未准备好的应用程序部署到 Tizen 设备上,“返回”按钮在那里工作!所以,这是调试环境或模拟器中的东西(它在模拟器中不起作用)。

0 投票
1 回答
31 浏览

c - 如何在 Enlightment 库中手动折叠框架

我正在为用户界面使用 Enlightment 库(C api)。我想以编程方式折叠框架,但是该功能似乎不起作用:

当我触发该功能时,我收到一条错误消息:

0 投票
1 回答
300 浏览

linux - 是否可以在不反汇编或使用 grep 或字符串的情况下从 ELF 映像文件中获取内核版本?

我有一个 vmlinuz ELF 图像文件。我需要从图像文件中获取内核版本而不反汇编它。是否可以从该压缩图像文件的偏移量中获取内核版本?该文件是 ELF 64 位 MSB 可执行文件,静态链接,未剥离。

0 投票
2 回答
178 浏览

touch - 如何为表盘添加触摸 (EFL)

我正在尝试将触摸事件添加到我正在使用 EFL 库开发的表盘中。但是触摸层要么不工作,要么当它工作时,它完全覆盖了我的表盘,尽管它应该是透明的。

我创建监视窗口的代码是:

然后我尝试创建一个透明的手势层和触摸回调(如https://docs.tizen.org/application/native/guides/ui/efl/touch-gesture中所述)。我尝试了两种变体。

变体 A - 我使用为手表创建的相同窗口(获胜)。没有错误,但它不起作用,没有触摸事件:

变体 B - 我为触摸层使用单独的对象 winTouch。它可以工作,但是该层看起来完全不透明,并且看不到表盘:

我究竟做错了什么?

我的项目基于 SDK 示例“计时手表”。实际上有 4 种不同的 Evas_Object:

  1. evas_object_resize(赢,宽度,高度);
  2. evas_object_resize(bg, 宽度, 高度);
  3. evas_object_resize(chronograph_layout, DIAM_SCREEN, DIAM_SCREEN);
  4. evas_object_resize(parts, size_w, size_h);

我应该在哪里添加手势层?当我将它添加到 1 时,变体 A 什么都不做,变体 B 工作但覆盖了表盘。如果我在其中一个上执行此操作,则两个变体都可以工作,但会覆盖表盘。我不明白为什么,因为我指定的是透明颜色。

编辑:一个新想法:触摸手势层是否只适用于应用程序,而不适用于表盘?

0 投票
3 回答
166 浏览

tizen - 我可以更改现有 Evas_Object 的图像文件吗?

我正在使用 EFL 库使用 Tizen Native 开发表盘。使用以下命令创建许多对象后:

我想稍后根据需要更改一些现有对象的图像。这可能吗?我知道我还可以将所有可能的变体加载为单个对象并相应地显示/隐藏对象。但我发现只改变现有对象的图像更简单、更优雅。另外,这也可能使用更少的资源。

我试图这样做:

elm_image_file_set(<part_I_want_to_change_its_image>, "images/newimage.png", NULL));

但是,对象并没有更改为正确的图像,而是消失了。有任何想法吗?

0 投票
0 回答
26 浏览

python - 使用术语使用 Matplotlib 生成内联图(EFL byevidence.org)

您好,我一直在尝试在名为 Terminology 的终端模拟器中使用 matplotlib 生成内联图,可以在以下位置找到:

https://www.enlightenment.org/about-terminology.md

此终端仿真器能够使用其自己的特定命令显示内联图像。具体来说,在模拟器内部时,而不是使用

要列出目录中的文件,可以使用特定于术语的命令

列出文件,然后它们就可以交互了,例如,您可以单击它们,它们会在弹出窗口中打开。

也输入命令

将内联打开图像文件。

我知道 jupyter-qtconsole 可以轻松生成我想要的内联图形,但是我非常喜欢术语模拟器。

我目前的理解是 jupyter-console 可以通过设置生成内联图形

在支持内联图像显示的控制台内。但是,当我尝试这样做时,它会继续生成一个外部图形。

具体来说,如果我打开术语并运行

然后输入以下python命令我在标准交互窗口中生成一个外部图形。

的输出

当我尝试更改为内联使用

然后检查

再次它仍然返回

尝试再次绘制它会再次在另一个窗口中打开一个图形,然而,有趣的是,它会将应用程序切换到 imagemagick 以查看该图形。

我可以循环这些命令,外部生成的图形将在交互式窗口和 imagemagick 之间继续变化。

如果我对自己在做什么有更好的理解,我会尝试让 jupyter-console %matplotlib 内联命令以某种方式与术语内联图像显示功能连接起来。不幸的是,这是我卡住的地方。任何建议或提示将非常受欢迎。

我的操作系统是 Arch Linux 5.4.79-1-lts,带有 KDE plasmashell 5.20.3 Qt:5.15.2 KDE Frameworks:5.76.0。

0 投票
2 回答
46 浏览

tizen - Tizen:设置 EDC 文件中的组中部分的文本

我正在尝试为 Tizen 平台编写一个小部件。小部件的布局在 EDC 文件中描述。我需要一个包含一些文本和图像部分的块,用不同的文本标签重复三次。所以我决定我需要创建一个group带有所需部分的组件并将其用作item部分box

对于放置在主要布局组中的静态文本部分,content我使用elm_object_part_text_set(wid->content, part_name, text)(语言是 C,顺便说一句),但不知道如何设置label1每个实例的部分文本list_item

0 投票
0 回答
84 浏览

c++ - direct2d:优化位图上几个 BGRA 矩形的渲染

我正在将一个工具包(即 EFL)引擎从纯 GDI 移植到 Direct2D。更准确地说,我正在添加一个 Direct2D 引擎。目的是拥有比 GDI 更快的引擎。

这个工具包是跨平台的,已经存在很长时间了,所以我不能修改它。我可以使用它提供给我的东西。

它有一个状态完整的画布。当必须绘制窗口的内容时,它会提供一个 BGRA 矩形数组(x、y、w、h 和 BGRA 数据),该数组自上一个窗口内容以来已被修改。

我已经在考虑 DirectComposition 的情况下设置了 D2D(还具有每个像素的透明度,并且 Kenny Kerr 说过它比没有直接组合的情况要快)。

天真的方法是创建一个大小为寡妇大小的位图,并保留它以供渲染。然后我执行以下步骤:

  1. 我遍历矩形,对于每个矩形,我调用 CopyFromMemory() 来更新位图中的每个矩形区域
  2. 我打电话给 BeginDraw()
  3. 我调用 DrawBitmap() 来渲染整个位图
  4. 我打电话给 EndDraw()

有用。这是完整的代码:

该代码的第一部分是创建和销毁窗口,第二部分处理 Direct2D。函数 render() 渲染背景。函数 draw() 呈现 2 个 BGRA 矩形(实际上是正方形......)。

我的问题:有没有比调用多次 CopyFromMemory() 更快的方法,比如在我的 draw() 函数中,来实现这一点?

谢谢你