platform/upstream/efl.git
5 years ago evas rect update calculation - account for clipped color changes 86/193286/1
Jiyoun Park [Mon, 19 Nov 2018 02:30:13 +0000 (11:30 +0900)]
evas rect update calculation - account for clipped color changes

    if clipped color changed and not object color on rect objects, then
    the updates could be missed. this also fixes some corner cases where
    opaqueness should not count for update deletion too. this bug seems to
    have been here a while unnoticed.

Change-Id: I7520cf2af98d2e72d4a8c2f41a020c9789f9143b

5 years agoevas vg: support default_size get api. 61/193161/1
Hermet Park [Thu, 15 Nov 2018 10:54:18 +0000 (19:54 +0900)]
evas vg: support default_size get api.

efl_canvas_vg_default_size_get()
returns origin resource's default size.

Change-Id: I4b2778a85558e252703f9fdaf225001afa2f3bce

5 years agoevas canvas: re-submit broken code-sync while happend in efl migration. 60/193160/1
Hermet Park [Thu, 15 Nov 2018 11:18:37 +0000 (20:18 +0900)]
evas canvas: re-submit broken code-sync while happend in efl migration.

Change-Id: I4a152f0d60c57ba708681fe652c30a186199a7c0

5 years agoector: fix wrong initalization count reference. 26/193126/1
Hermet Park [Thu, 15 Nov 2018 03:15:58 +0000 (12:15 +0900)]
ector: fix wrong initalization count reference.

Ector shutdown couldn't terminate engine properly
since it's counting statement is wrong.

Change-Id: Ibd9bc6c79293a23d5dd34d2de75b202e69c903f4

5 years agoevas ector: fix memory leaks. 01/193101/1
Hermet Park [Wed, 14 Nov 2018 12:51:24 +0000 (21:51 +0900)]
evas ector: fix memory leaks.

Summary:
Make it sure ref/unref pairs.

unpaired reference count occures object dangled.

@fix

Reviewers: #committers

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7270

Change-Id: I51f167bf506f110236b6ee04da60c13cfbdd5fa3

5 years agoevas vg: optimize gradient sequences. 00/193100/1
Hermet Park [Wed, 14 Nov 2018 12:50:50 +0000 (21:50 +0900)]
evas vg: optimize gradient sequences.

Summary:
1. Pointed out gradient prepare step triggered duplicatedly,
because they are immediate children of container.
But gradients is desigend to fill shape,
shape could get ready of the gradients which are applied to.
So, container doesn't need to prepare gradient children.

2. Ector shape does prepare its gradient renderer in it's prepare time,
each gradients objects doesn't need to prepare renderer separately.

Here code skip duplication of sequences of gradients preparation step.
by cleaning up logic.

Reviewers: #committers

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7269

Change-Id: Ia0132b333756201ad9cf84a4b261f79e7eaa6d97

5 years agoedje: fix an overflow issue for state values 61/193061/1
Youngbok Shin [Wed, 14 Nov 2018 07:43:13 +0000 (16:43 +0900)]
edje: fix an overflow issue for state values

Summary:
Whenever _edje_recalc_do() is called, a state value of
Edje structure is increased. This increased value will be stored
in Edje_Real_Part and Edje_Real_Part_State for calculation optimazation.
But, once the state value is overflowed, it ruins calculation logic.
@fix

Test Plan:
Run an Edje file which has infinite animation for over an hour.
I'll attach an example to phab.

Reviewers: raster, cedric, woohyun, Hermet

Reviewed By: Hermet

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7264

Change-Id: If4d941fa9e5496fdd694625d7f4c1f36b2345abb
Signed-off-by: Youngbok Shin <youngb.shin@samsung.com>
5 years agoevas json: implement radial gradient. 43/192943/1
Hermet Park [Mon, 12 Nov 2018 15:13:39 +0000 (00:13 +0900)]
evas json: implement radial gradient.

Change-Id: Ibbd69e3cecb7c76e1789e7045c495cec31c227e2

5 years agoevas json: implement stroke dash. 05/192905/3
Hermet Park [Mon, 12 Nov 2018 13:57:14 +0000 (22:57 +0900)]
evas json: implement stroke dash.

Change-Id: Idc95bc89ee76d3e8d05f5125676afba170318e5e

5 years agoecore event_loop: add the error handler for event_loop 38/192738/2
lsj119 [Fri, 9 Nov 2018 01:49:18 +0000 (10:49 +0900)]
ecore event_loop: add the error handler for event_loop

When the return value of select is ZERO, _ecore_main_fdh_mark_active did not called.
So in _ecore_main_awake_handler, we cannot guarantee right operation. For this problem,
Even the return valie of select is ZERO, call the _ecore_main_fdh_mark_active()
with NULL parameters. and In _ecore_main_fdh_mark_active(), reset the all flags for each
fd_handlers.

Change-Id: I6f47f6ce9f824a21e668c099d1601243b3af8b53

5 years agoevas json: implement stroke join style. 04/192904/1
Hermet Park [Mon, 12 Nov 2018 13:19:30 +0000 (22:19 +0900)]
evas json: implement stroke join style.

Change-Id: I8b77354bf632dcc627ead8ba33c1b00349411ce5

5 years agoevas json: implement shape fill rule. 03/192903/1
Hermet Park [Mon, 12 Nov 2018 13:06:20 +0000 (22:06 +0900)]
evas json: implement shape fill rule.

Change-Id: I2a9e958c62a131072e04b79186516d41e7246250

5 years agoevas json: fix wrong color integration. 00/192900/1
Hermet Park [Mon, 12 Nov 2018 12:41:29 +0000 (21:41 +0900)]
evas json: fix wrong color integration.

It must be a mistake while writing code.

Change-Id: Ifc95524633d04cef0bc7325a5ad751b91d9c3509

5 years agoevas json: Implemenent missing linear gradient and stroke cap. 67/192867/3
Hermet Park [Fri, 9 Nov 2018 13:02:30 +0000 (22:02 +0900)]
evas json: Implemenent missing linear gradient and stroke cap.

Change-Id: Id5daed129bd0e2173cdac5d2deff0b4af71cfa2f

5 years agoevas vg: skip current cached frame. 06/192806/1
Hermet Park [Fri, 9 Nov 2018 11:05:51 +0000 (20:05 +0900)]
evas vg: skip current cached frame.

There is a missing scenario that doesn't hit the current cached frame.
Re-use the node tree that constructed before,
if the same frame number is requested.

Change-Id: I10148b18de257e1de96ee65886003ce5afdd873d

5 years agoRevert "bug fixed : ignore_output_transform is should not processed." 77/192777/1
joogab yun [Fri, 9 Nov 2018 09:26:20 +0000 (09:26 +0000)]
Revert "bug fixed : ignore_output_transform is should not processed."

This reverts commit ae5fa3014d06a3fc88c7377ecbd38f12688607e9.

Change-Id: Id4ca163021d2f32b5af0abe3cc00ff926d53d397

5 years agobug fixed : ignore_output_transform is should not processed. 37/192737/2
Joogab Yun [Fri, 9 Nov 2018 01:31:50 +0000 (10:31 +0900)]
bug fixed : ignore_output_transform is should not processed.

Change-Id: I0885ba6e25b9667e8ea7a32bed16c1f7ee2561fe

5 years agoefl_ui_dnd: fix migration issue
Yeongjong Lee [Fri, 9 Nov 2018 01:40:12 +0000 (10:40 +0900)]
efl_ui_dnd: fix migration issue

It doesn't need for tizen. also this break backward

Change-Id: I06bc61dfcfa566894710367f5c70e2f957724df5

5 years agoevas vg: free ector surface if they are not cached. 07/192707/2
Hermet Park [Thu, 8 Nov 2018 09:37:57 +0000 (18:37 +0900)]
evas vg: free ector surface if they are not cached.

Ector surfaces which not gonna cached should be destroyed immediately.
Those surfaces was introduced for animation frames.

Here patch decides which one is cacheable or not.

This is a regresion bug by 7dff71295c3c99ea136955625ba0ebbfa4beee32

Change-Id: Iebde8ae0f29104b49cca1665778c404f3eba0278

5 years agomeson: fix hyphen support submit/tizen/20181108.080505 submit/tizen/20181109.041614
Marcel Hollerbach [Wed, 7 Nov 2018 08:42:35 +0000 (09:42 +0100)]
meson: fix hyphen support

there was a missing define for the search directory

5 years agoCanvas layout: support more Efl.Text.* with efl_part
Daniel Hirt [Tue, 6 Nov 2018 14:52:53 +0000 (16:52 +0200)]
Canvas layout: support more Efl.Text.* with efl_part

This adds many Efl.Text.* that are useful for manipulating the
underlying TEXTBLOCK object's propeties using efl_part.

This has been implemented as part of the "user-defined" properties of
the layout part, so that the changes on the part persist across load of
different groups.

Note that text styles have precedence over the TEXTBLOCK (Canvas.Text)
object's properties. if an edc provides a style, the properties it
manipulates as part of the "base:" string would not be affected by this
API.

In general, this helps reducing the amount of styles for objects (or
modes of the same objects) that share the same setup, but are different
in some properties (e.g.  ellipsis, wrap etc).

@feature

Canvas layout: add text part "expand" property

This adds "expansion modes", which are essentially the same as min/max
hints in the edje part's 'description.text' fields.

The user can then customize his widget to different modes without being
forced to create a new edje group in the theme.

Note that there is an added check in case one of the min/max text flags
are provided from the theme. In such case, all flags from this new API
will be ignored.
This fortifies misuse where the flags are set both in theme and the API.

@feature

5 years agoEfl text style: remove 'underline2_type' property
Daniel Hirt [Tue, 6 Nov 2018 14:53:03 +0000 (16:53 +0200)]
Efl text style: remove 'underline2_type' property

This moves the logic to the 'underline_type' property, in which we
define the type.

5 years agoCanvas text: share common style strings in style_set
Daniel Hirt [Tue, 5 Jun 2018 18:02:37 +0000 (21:02 +0300)]
Canvas text: share common style strings in style_set

Style strings will now be implicitly handled and shared by the object.

Also, some of the code was simplified for better readability.

@optimize

5 years agoCanvas text: remove old style tag 'replace_len' field
Daniel Hirt [Tue, 5 Jun 2018 18:02:31 +0000 (21:02 +0300)]
Canvas text: remove old style tag 'replace_len' field

The result isn't used at all, so the field is useless.
Maybe we should use stringshare comparisons.

5 years agoUi internal text scroller: fix meson build
Daniel Hirt [Mon, 5 Nov 2018 22:41:50 +0000 (00:41 +0200)]
Ui internal text scroller: fix meson build

This adds missing files to `meson.build`.

5 years agoUi internal text scroller: move .eo.h to internal usage
Daniel Hirt [Mon, 5 Nov 2018 21:55:20 +0000 (23:55 +0200)]
Ui internal text scroller: move .eo.h to internal usage

This fixes the broken `Elementary.h` header.

5 years agoEfl selection: remove cancelled promises
Daniel Hirt [Fri, 7 Sep 2018 09:31:46 +0000 (12:31 +0300)]
Efl selection: remove cancelled promises

This removes the promises in case multiple selection_set are used and
future_cancel were called.

5 years agoUi scroll: fix update scrollbar arrows on pos change
Daniel Hirt [Mon, 15 Oct 2018 14:32:11 +0000 (17:32 +0300)]
Ui scroll: fix update scrollbar arrows on pos change

5 years agoUi text: port widget to new interfaces
Daniel Hirt [Thu, 13 Sep 2018 09:45:29 +0000 (12:45 +0300)]
Ui text: port widget to new interfaces

This is a big rewrite. In addition to implementing functionality with
the new Efl interfaces, a lot of legacy (Elm) code was removed.

A lot of work is squashed in this patch as the widget would've been
completely broken otherwise.

The major changes are:

Life-cycle:
  - Code was split to have 'finalize'
  - Item anchors (emoticons, images) were rewritten to have proper
  life-cycle

Scrolling logic:
  - Efl.Ui.Internal_Text_Scroller widget was added, and replaces the old
  Elm.Interface_Scrollable implementation. Singe-line and multi-line
  modes were fixed as well as sizing calculations. The object is now
  swallowed inside the Ui.Text widget.

Copy and paste:
  - Code was converted to Efl.Selection logic.

Modified tests:
    elementary_test -to "efl.ui.text"
    elementary_test -to "efl.ui.text label"

Added tests:
    elementary_test -to "efl.ui.text inputfield"

Removed test:
    elementary_test -to "efl.ui.text.async"

5 years agoCanvas text: emit text,changed event on markup_insert
Daniel Hirt [Mon, 5 Nov 2018 16:15:19 +0000 (18:15 +0200)]
Canvas text: emit text,changed event on markup_insert

5 years agoText: add markup_range_get
Daniel Hirt [Wed, 12 Sep 2018 18:17:53 +0000 (21:17 +0300)]
Text: add markup_range_get

This allows to retrieve the markup representation of the current text.

@feature

5 years agoUi text scroller: add scroller for internal usage
Daniel Hirt [Fri, 7 Sep 2018 09:37:18 +0000 (12:37 +0300)]
Ui text scroller: add scroller for internal usage

This class inherits Efl.Ui.Scroller and has its own sizing_eval logic to
handle the text content sizing as needed.

It's kept internal as it only serves Efl.Ui.Text in a scrollable mode.

5 years agoUi text interactive: swap cursors on cursors_get if needed
Daniel Hirt [Fri, 7 Sep 2018 09:36:57 +0000 (12:36 +0300)]
Ui text interactive: swap cursors on cursors_get if needed

5 years agoUi text interactive: don't use freeze when using legacy cursor_copy
Daniel Hirt [Fri, 7 Sep 2018 09:36:41 +0000 (12:36 +0300)]
Ui text interactive: don't use freeze when using legacy cursor_copy

5 years agoUi text interactive: emit selection,changed on selection changes, not cursor
Daniel Hirt [Fri, 7 Sep 2018 09:36:32 +0000 (12:36 +0300)]
Ui text interactive: emit selection,changed on selection changes, not cursor

5 years agoUi text interactive: add select_none
Daniel Hirt [Fri, 7 Sep 2018 09:36:26 +0000 (12:36 +0300)]
Ui text interactive: add select_none

This is intended for Ui.Text to clear the selection on selection loss.

5 years agoCanvas text: don't emit 'cursor,changed' on legacy cursor_copy
Daniel Hirt [Fri, 7 Sep 2018 09:36:10 +0000 (12:36 +0300)]
Canvas text: don't emit 'cursor,changed' on legacy cursor_copy

5 years agoCanvas text: fix line_jump_by logic
Daniel Hirt [Fri, 7 Sep 2018 09:34:37 +0000 (12:34 +0300)]
Canvas text: fix line_jump_by logic

Some cases of line_jump_by did not emit "cursor,changed" when it should
have.

@fix

5 years agoefl-mono: Typos in generated code comments
Xavi Artigas [Mon, 5 Nov 2018 10:14:37 +0000 (11:14 +0100)]
efl-mono: Typos in generated code comments

These comments end up in the API reference docs, so typos look bad.

5 years agogendoc: Typos in templates
Xavi Artigas [Mon, 5 Nov 2018 09:03:21 +0000 (10:03 +0100)]
gendoc: Typos in templates

5 years agoefl_ui : change efl_ui_view_list to efl_ui_list_view.
SangHyeon Jade Lee [Mon, 5 Nov 2018 05:27:05 +0000 (14:27 +0900)]
efl_ui : change efl_ui_view_list to efl_ui_list_view.

Summary:
  View is not a namespace, but an interface,
  So, View_List cannot be under the view namespace for now.
  it looks more suite to be end as View than List on this widget name.
  Firstly, it follows our common naming rules of class.
  Also, List_View is commonly presentable name on most UI frameworks,
  so it is very easy to understand what this widget can do for the user.

Test Plan:
Make works.
           Example is not works for now til stable model interface.

Reviewers: felipealmeida, woohyun, cedric, Hermet

Reviewed By: Hermet

Subscribers: larryolj, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7234

5 years agoelementary transit: add a new api - elm_transit_progress_value_set()
Hermet Park [Mon, 5 Nov 2018 05:22:58 +0000 (14:22 +0900)]
elementary transit: add a new api - elm_transit_progress_value_set()

Summary:
This API sets current time progression of the animation.

It intervenes current progress instantly when it requires
to jump onto a specific frame position.

@feature

Reviewers: #committers

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7211

5 years agoelementary transit: fix wrong pausing time calculation.
Hermet Park [Mon, 5 Nov 2018 05:22:12 +0000 (14:22 +0900)]
elementary transit: fix wrong pausing time calculation.

Summary:
the logic of computation of pausing time was incorrect.
even it didn't take care of revert_mode at all.

delayed time must be subtracted from elapsed time.

@fix

Reviewers: #committers

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7201

5 years agoevas_render: fix objects change occured withoout real rendering.
Jiyoun Park [Mon, 5 Nov 2018 05:20:42 +0000 (14:20 +0900)]
evas_render: fix objects change occured withoout real rendering.

Summary:
: condition of problem
- rectangle object of RECT part(BASE part of below edje)
- mapped
- has clipper and clipper is ed's base clipper.

1. _evas_render_phase1_object_process is called of rect object
if rect is mapped, not changed, it call _evas_render_phase1_object_mapped.

2. _evas_render_phase1_object_mapped
when _evas_render_phase1_object_mapped is called,
condition is
src_changed=0 , is_active=0 , obj_changed=0
hmap=0 => because map of this object is only enabled once and not changed.

in this case, rect object's clipper always changed and it cause useless randering

so only call _evas_render_phase1_object_map_clipper_fix when obj is changed.
first time of map set, evas object always be changed, so it maybe ok we call clipper_fix only obj is chaned.

below is sample of edj.

group { name: "elm/notify/center/default";

   parts {
      part { name: "anim_start";
             scale: 1;
             type: SPACER;
             description {
..
              perspective {
                             zplane: -100;
                             focal: 1000;
                          }
                   }
        }
          part { name: "anim_stop";
             scale: 1;
             type: SPACER;
             description {
..
             perspective {
                             zplane: 0;
                             focal: 1000;
                          }
                   }
        }
      part { name: "base";
             scale: 1;
         type: RECT;
         description { state: "default" 0.0;
..
            map {
                on: 1;
                perspective_on: 1;
                perspective: "anim_stop";
           }
         }
      }

Reviewers: raster, Hermet

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7219

5 years agoSlider: fix callback invocation
Daniel Zaoui [Mon, 5 Nov 2018 05:03:15 +0000 (14:03 +0900)]
Slider: fix callback invocation

Summary:
efl_event_callback_legacy_call already invokes legacy and non-legacy
callbacks. Therefore, there is no reason to call
efl_event_callback_call as well.

Reviewers: eagleeye, Hermet

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7237

5 years agoeolian: expose API to retrieve the class of an event
Daniel Kolesa [Sun, 4 Nov 2018 17:32:05 +0000 (18:32 +0100)]
eolian: expose API to retrieve the class of an event

This information has been stored and used in Eolian until now
but not exposed to the API user. While there are roundabout ways
to retrieve the class for an event, this one is direct and costs
us nothing.

5 years agoeolian: add eolian_implement_implementing_class_get
Daniel Kolesa [Sun, 4 Nov 2018 15:08:48 +0000 (16:08 +0100)]
eolian: add eolian_implement_implementing_class_get

This will make it easier for generators and utilities to retrieve
the class that implemented a method/property/etc rather than the
class the implement was originally defined for. Thanks to this
it will no longer be necessary to carry the class pointer around
the place.

5 years agoevas - generic loaders - use eina properly so windows build works
Vincent Torri [Fri, 2 Nov 2018 13:44:39 +0000 (13:44 +0000)]
evas - generic loaders - use eina properly so windows build works

5 years agomeson: generate .pc files for efl-core efl-ui efl-net
Marcel Hollerbach [Fri, 2 Nov 2018 12:28:28 +0000 (13:28 +0100)]
meson: generate .pc files for efl-core efl-ui efl-net

they simply redirect to the projects of elementary / ecore,efl,emile /
ecore,ecore-con,emile. The resuling flags are the same.

fix T7447

5 years agocodegen: ensure we include the filename and not the path
Marcel Hollerbach [Fri, 2 Nov 2018 11:38:02 +0000 (12:38 +0100)]
codegen: ensure we include the filename and not the path

this mirrors the behaviour of eolian & eolian_cxx. Usally a generator
just generates the files side by side, the directory then needs to be
included anyways. thus adding the include with another subdirectory is
unusal.

Differential Revision: https://phab.enlightenment.org/D7235

5 years agoelm_toolbar: fix prio.visible
Marcel Hollerbach [Mon, 22 Oct 2018 08:03:28 +0000 (10:03 +0200)]
elm_toolbar: fix prio.visible

prio.visible is ignored in case of SHRINK_EXPAND is used. every single
item is just stuffed into a box. Thus in case that the *more flag
indicates that another box is displayed (rather than not fitting items),
then we do not set the visibility flag on the item - as the item is used
anyways.

ref T6806.

Differential Revision: https://phab.enlightenment.org/D7185

5 years agoefl_ui_focus_manager: rename a event
Marcel Hollerbach [Fri, 21 Sep 2018 16:47:44 +0000 (18:47 +0200)]
efl_ui_focus_manager: rename a event

In eo there is a difference between legacy events and normal events.
However, when a legacy event, that is called "focused" is emitted, the
event EFL_UI_FOCUS_MANAGER_FOCUSED is emitted on those objects. This
leads to bugs and unexpected results in elm_scroller, and additionally
this problem blocks work that is done right now to add those "focused"
event calls to gengrid.

Differential Revision: https://phab.enlightenment.org/D7099

5 years agoElm_Code: check pointer nullity before using it
Daniel Zaoui [Thu, 1 Nov 2018 20:58:35 +0000 (22:58 +0200)]
Elm_Code: check pointer nullity before using it

5 years agomeson: allow setting of custom pc variables
Marcel Hollerbach [Wed, 31 Oct 2018 09:22:09 +0000 (10:22 +0100)]
meson: allow setting of custom pc variables

this brings the theme directory to the elementary .pc file.

Differential Revision: https://phab.enlightenment.org/D7224

5 years agomeson - ethumb - fix build and install of service files for ethumb
Carsten Haitzler (Rasterman) [Wed, 31 Oct 2018 14:46:21 +0000 (14:46 +0000)]
meson - ethumb - fix build and install of service files for ethumb

5 years agoemile - fix windows build
Vincent Torri [Wed, 31 Oct 2018 14:11:05 +0000 (14:11 +0000)]
emile - fix windows build

use evil and fix libjpeg boolean re-def.

5 years agoevas - fix pending object set tracking to not multi-add the same object
Marcel Hollerbach [Mon, 29 Oct 2018 20:50:45 +0000 (21:50 +0100)]
evas - fix pending object set tracking to not multi-add the same object

flag if obj in pending array and don't add if already there. fixes
run-away slowness in rendering in some cases

5 years agoRevert "build - meson - fix build when legacy is still enabled and gen the code"
Carsten Haitzler (Rasterman) [Wed, 31 Oct 2018 09:26:51 +0000 (09:26 +0000)]
Revert "build - meson - fix build when legacy is still enabled and gen the code"

This reverts commit 9aeedc5a1c68a5e28dcd12db5ee1856b33e19e45.

5 years agoeolian: Add @ctor_param parameter to constructors
Felipe Magno de Almeida [Wed, 31 Oct 2018 01:47:58 +0000 (02:47 +0100)]
eolian: Add @ctor_param parameter to constructors

Summary:
This tagging keyword explicitly asks, for bindings that support it,
that the constructor's parameters are added to the class constructor.

Allowing the user to instantiate the class and call the constructor in
a straightforward way.

Reviewers: q66, woohyun, bu5hm4n, Jaehyun_Cho, segfaultxavi

Reviewed By: q66

Subscribers: cedric, #reviewers, #committers, lauromoura

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7221

5 years agoevas - remove excess data scope lookup during render when getting changed
Carsten Haitzler (Rasterman) [Wed, 24 Oct 2018 23:29:48 +0000 (00:29 +0100)]
evas - remove excess data scope lookup during render when getting changed

getting smart changed meant another scope data get when we already had
the protected data in the caller. don't do that and just pass down.
saves a lot of overhead...

@optimize

5 years agobuild - meson - fix build when legacy is still enabled and gen the code
Carsten Haitzler (Rasterman) [Wed, 24 Oct 2018 23:19:46 +0000 (00:19 +0100)]
build - meson - fix build when legacy is still enabled and gen the code

meson build was not generating .legacy.h etc. files for a whole host
of classes that were depended on - add it back so the build works again.

5 years agoevas map: remove unnecessary count comparison.
Hermet Park [Fri, 26 Oct 2018 11:33:44 +0000 (20:33 +0900)]
evas map: remove unnecessary count comparison.

Our map points is fixed to 4. And no plans to support other cases yet.

5 years agoevas: fix backward compatibility issue.
Hosang Kim [Fri, 26 Oct 2018 11:28:03 +0000 (20:28 +0900)]
evas: fix backward compatibility issue.

Summary:
Sometimes mouse_grabbed flag can not be zero.
Before version of EFL, object has just one mouse_grabbed flag.
But now we have a new feature, so object has list of pointer devices
and each pointer device has mouse_grabbed flag.

We need to check all of pointer devices mouse_grabbed flag.
And if all of mouse_grabbed flag are zero, dispatch move event.

Test Plan:
{F3384050}
gcc -o button_example_01 button_example_01.c `pkg-config --cflags --libs elementary`

Reviewers: iscaro, zmike, Hermet

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7216

5 years agoevas_object: Refactor pixels get hack
Derek Foreman [Fri, 26 Oct 2018 11:14:17 +0000 (20:14 +0900)]
evas_object: Refactor pixels get hack

Summary:
Refactor this so it can be used by another call site in a later commit.

Also, reduce its complexity, as we only need the callback to fire, we
don't care about any of the other machinery in _evas_image_pixels_get.

Depends on D7188

Reviewers: Hermet

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7189

5 years agoevas_image: Force stacking check on non-video surface
Derek Foreman [Fri, 26 Oct 2018 11:09:37 +0000 (20:09 +0900)]
evas_image: Force stacking check on non-video surface

Summary:
We use this code path for native image hardware planes.  Force the
stacking check on those for now so planes don't accidentally occlude
surfaces above them.

Reviewers: Hermet

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7188

5 years agoevas filter: add a commentary for a temporary fix.
Hermet Park [Fri, 26 Oct 2018 10:33:05 +0000 (19:33 +0900)]
evas filter: add a commentary for a temporary fix.

5 years agoevas filter: remove critical messages from Evas Filter
Youngbok Shin [Fri, 26 Oct 2018 10:30:28 +0000 (19:30 +0900)]
evas filter: remove critical messages from Evas Filter

Summary:
When you run filter examples with enabling GL engine support,
you can see critical messages which say don't use efl_unref for buffer object.
So, efl_unref has to be replaced with efl_del.
@fix

Test Plan: Run filter example with GL

Reviewers: cedric, Hermet, raster, woohyun

Reviewed By: Hermet

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7119

5 years agoecore: remove duplicated conditions
Yeongjong Lee [Fri, 26 Oct 2018 10:25:09 +0000 (19:25 +0900)]
ecore: remove duplicated conditions

Summary: The macro already checks eina_main_loop_is() when DEBUG_THREADS is enabled.

Test Plan: make

Reviewers: segfaultxavi, ManMower, Hermet, bu5hm4n

Reviewed By: bu5hm4n

Subscribers: bu5hm4n, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7183

5 years agoevas_image_main: make the cache->usage count eina_file size
Shinwoo Kim [Fri, 26 Oct 2018 10:16:32 +0000 (19:16 +0900)]
evas_image_main: make the cache->usage count eina_file size

Summary:
The image.data is set to null by evas_common_rgba_image_unload_real.
After this point the cache->usage does not count cache_entry.w and h value when
evas_gl_common_image_free calls evas_cache_image_flush.
So the cache->usage increases just around 300. If the cache->limit is 4194304,
then the cache could have around 1398 items. This would be fine.

But each items hold eina_file, and the cache does not count eina_file size.
If the file size is 326352, then a process could use 456527385 bytes.

So this patch set make the cache->usage count eina_file size.
This would be better option than https://phab.enlightenment.org/D7029

Reviewers: Hermet, jypark, cedric

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7030

5 years agoelementary selection: remove unnecesary logs.
Hermet Park [Fri, 26 Oct 2018 10:04:23 +0000 (19:04 +0900)]
elementary selection: remove unnecesary logs.

5 years agomeson: disable luajit & mono by default
Marcel Hollerbach [Thu, 25 Oct 2018 21:45:18 +0000 (23:45 +0200)]
meson: disable luajit & mono by default

Summary:
they are disabled in autotools per default
Depends on D7213

Reviewers: q66, netstar, jeyzu

Reviewed By: q66

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7214

5 years agomeson: do not add cs as required compiler
Marcel Hollerbach [Thu, 25 Oct 2018 21:40:31 +0000 (23:40 +0200)]
meson: do not add cs as required compiler

Summary: its only required when having mono

Reviewers: q66, netstar, jeyzu

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7213

5 years agomeson: restore generation of legacy header files in elementary
Daniel Kolesa [Thu, 25 Oct 2018 12:31:38 +0000 (14:31 +0200)]
meson: restore generation of legacy header files in elementary

While this is probably not entirely correct, it restores the
previous behavior. A proper fix would be to move .eo files that
do require header files into the pub_legacy_eo_files section but
that will require more effort and care. So until that is fixed,
just generate legacy as usual.

5 years agomeson: make bindings test work without efl installed
Marcel Hollerbach [Wed, 24 Oct 2018 13:08:15 +0000 (15:08 +0200)]
meson: make bindings test work without efl installed

there is the need to assemble the search path where the .so files can be
found. This is now added to the test suite.

In future this could ne added to meson directory. Since this is a
general csharp problem.

5 years agomeson: time for the c-sharp build
Marcel Hollerbach [Wed, 17 Oct 2018 11:04:07 +0000 (13:04 +0200)]
meson: time for the c-sharp build

The tests are added and build. For running C# code please see the wiki.

you can enable -Dmono=true

Differential Revision: https://phab.enlightenment.org/D7203

5 years agomeson: here comes cxx bindings
Marcel Hollerbach [Fri, 19 Oct 2018 14:18:39 +0000 (16:18 +0200)]
meson: here comes cxx bindings

this commits is bringing cxx bindings.
You can enable / disable them with the cxx option.

Differential Revision: https://phab.enlightenment.org/D7181

5 years agomeson: prepare general build for the bindings
Marcel Hollerbach [Fri, 19 Oct 2018 13:47:44 +0000 (15:47 +0200)]
meson: prepare general build for the bindings

for bindings we needed a system that could be used to find all special
directories of every subsystem, for eo files headers etc.
The mechanism is documented in the root meson.build

Differential Revision: https://phab.enlightenment.org/D7180

5 years agomeson: add eolian custom dependencies support
Daniel Kolesa [Sun, 21 Oct 2018 13:55:51 +0000 (15:55 +0200)]
meson: add eolian custom dependencies support

This uses the meson/ninja depfile functionality + eolian to make
sure proper dependencies between generated files and .eo files
are managed, to ensure consistent re-generation of all generated
files that are affected upon .eo file modification.

For custom rules with multiple outputs, Ninja currently does not
support depfiles. Therefore, split those into two custom rules
so that the depfiles functionality can be enabled. While this
is ugly and slows down the process a little by having to invoke
Eolian twice instead of once, it has to be done and it's still
better than what we had in Autotools anyway.

Differential revision: D7187

Fixes T6700.

5 years agoeolian gen: add generation of build dependencies
Daniel Kolesa [Thu, 11 Oct 2018 14:36:50 +0000 (16:36 +0200)]
eolian gen: add generation of build dependencies

It is now possible to generate a separate .d file which will
contain Make-style dependencies for the files generated in that
batch, i.e. if you geerate header, legacy header and source, the
.eo.d file will contain dependency lists for those three.

It should be possible to integrate this into our build system to
enable proper regeneration of .eo files in an incremental manner.

Fixes T2251.

5 years agoeolian: add API to get full file path of a unit
Daniel Kolesa [Thu, 11 Oct 2018 14:35:41 +0000 (16:35 +0200)]
eolian: add API to get full file path of a unit

This is necessary for easy dependency generation, as it is needed
to retrieve a full list of paths that each generated file depends
on.

5 years agoeina_lock: add empty do-while in macro
Yeongjong Lee [Mon, 22 Oct 2018 09:04:21 +0000 (11:04 +0200)]
eina_lock: add empty do-while in macro

Summary:
empty do-while is needed for safe use.
This patch avoid empty body compiler warning.

Problem case:
if (b)
  EINA_MAIN_LOOP_CHECK_RETURN_VAL(NULL);

Reviewers: segfaultxavi, Hermet, ManMower, bu5hm4n

Reviewed By: segfaultxavi, bu5hm4n

Subscribers: bu5hm4n, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7182

5 years agoMeson: set vieet as executable
Daniel Zaoui [Sun, 21 Oct 2018 06:19:01 +0000 (09:19 +0300)]
Meson: set vieet as executable

Summary: vieet is an installed executable and therefore should be executable by everyone

Test Plan: Check vieet permissions

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7184

5 years agoMeson: link elementary_test with rdynamic
Daniel Zaoui [Sun, 21 Oct 2018 06:37:12 +0000 (09:37 +0300)]
Meson: link elementary_test with rdynamic

Summary:
This is needed to let dlsym extract the efl_main/main... symbols. For
example, the Exactness player needs it to launch a given binary. If
this option is not provided during the linkage of the binary, the
player won't be able to run it.

Test Plan: exactness_play -t <path to exactness scenarios>/radio.rec -- elementary_test -to radio

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7178

5 years agobuild - meson - fix linking of gl gneric to link to libm
Carsten Haitzler (Rasterman) [Thu, 18 Oct 2018 21:01:47 +0000 (22:01 +0100)]
build - meson - fix linking of gl gneric to link to libm

need maths lib for lots of modules... so link to it.

5 years agobuild - meson - fix install of generic loaders for evas to be exes
Carsten Haitzler (Rasterman) [Thu, 18 Oct 2018 17:38:16 +0000 (18:38 +0100)]
build - meson - fix install of generic loaders for evas to be exes

they were shared libs..... oops. :)

5 years agoRevert "meson: add cxx bindings"
Marcel Hollerbach [Thu, 18 Oct 2018 14:11:22 +0000 (16:11 +0200)]
Revert "meson: add cxx bindings"

This reverts commit 5aaf2cbb5defd64a2048fe90e80004d435bbca1a.

The cxx bindings were accidently merged. Things are missing (like .eot.h
files)

5 years agobuild: move ELM_INTERNAL_API_ARGESFSDFEFC into buildsystem
Marcel Hollerbach [Wed, 17 Oct 2018 08:38:50 +0000 (10:38 +0200)]
build: move ELM_INTERNAL_API_ARGESFSDFEFC into buildsystem

the definition is now defined in the buildtools autools / meson. This
reduces the amount of warnings in meson.

Differential Revision: https://phab.enlightenment.org/D7170

5 years agomeson: add cxx bindings
Marcel Hollerbach [Sat, 18 Aug 2018 15:05:27 +0000 (17:05 +0200)]
meson: add cxx bindings

this commit adds cxx bindings to meson.

Differential Revision: https://phab.enlightenment.org/D7169

5 years agoRemove engine check script for direct3d.
Hermet Park [Wed, 17 Oct 2018 17:39:47 +0000 (17:39 +0000)]
Remove engine check script for direct3d.

We gave up support direct3d long ago.
Differential Revision: https://phab.enlightenment.org/D7172

5 years agomeson: elementary -e the configs only -i the standard config
Marcel Hollerbach [Thu, 18 Oct 2018 13:56:37 +0000 (15:56 +0200)]
meson: elementary -e the configs only -i the standard config

this fixes inital configs with meson.

Differential Revision: https://phab.enlightenment.org/D7177

5 years agomeson: add missing ELM_EFREET
Marcel Hollerbach [Thu, 18 Oct 2018 13:35:02 +0000 (15:35 +0200)]
meson: add missing ELM_EFREET

without this - elementary_config will crash, and elementary will not use
that much of Efreet. We might want to drop this #ifdef at some point.

Differential Revision: https://phab.enlightenment.org/D7176

5 years agomeson: we accidently looked at the wrong elementary config spot
Marcel Hollerbach [Thu, 18 Oct 2018 12:30:37 +0000 (14:30 +0200)]
meson: we accidently looked at the wrong elementary config spot

we read and wrote the config into the wrong subdirectory, thus values
did not match - HOWEVER something lead to more problems and trouble, as
some options in elementary_config are not respected anymore.

Differential Revision: https://phab.enlightenment.org/D7175

5 years agoeina_vpath_xdg: fix fallback strings
Marcel Hollerbach [Thu, 18 Oct 2018 12:00:33 +0000 (14:00 +0200)]
eina_vpath_xdg: fix fallback strings

when more than one fallback string was used the same variable was
accidently used again and again. This fixes that.

Note: This was not discovered because elementary does not use xdg per
default :)

Differential Revision: https://phab.enlightenment.org/D7174

5 years agobuild - meson - fix ecore-x to detect xcursor to fix rgba cursors
Carsten Haitzler (Rasterman) [Thu, 18 Oct 2018 12:42:10 +0000 (13:42 +0100)]
build - meson - fix ecore-x to detect xcursor to fix rgba cursors

5 years agoeina_cxx: Fix eina::value copy constructor.
Lauro Moura [Tue, 16 Oct 2018 21:39:32 +0000 (18:39 -0300)]
eina_cxx: Fix eina::value copy constructor.

Summary:
The previous declaration was causing the implicit copy constructor to be
invoked when copying a new eina::value from an existing eina::value,
thus leading to two wrappers pointing to the same underlying C pointer.

This showed some error messages when running the tests but under autotools
it didn't fail, while building with meson caused it to segfault.

Reviewers: vitor.sousa

Reviewed By: vitor.sousa

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7166

5 years agointerface gfx_path: fix incorrect doc content.
Hermet Park [Tue, 16 Oct 2018 12:30:42 +0000 (21:30 +0900)]
interface gfx_path: fix incorrect doc content.

5 years agoeina_cxx: use efl_new instead of efl_add
Marcel Hollerbach [Tue, 16 Oct 2018 11:07:26 +0000 (13:07 +0200)]
eina_cxx: use efl_new instead of efl_add

Summary:
parent is NULL, this results in a error. And a NULL object. This fixes
that!
Depends on D7163

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7164

5 years agoeolian_cxx: PACKAGE_DATA_DIR is completly wrong here
Marcel Hollerbach [Tue, 16 Oct 2018 10:48:43 +0000 (12:48 +0200)]
eolian_cxx: PACKAGE_DATA_DIR is completly wrong here

Summary:
its the define for the directory where data is installed in the fs. Not
where to find test data in the tree - TESTS_SRC_DIR is defining the
same - however, with this change we are consistent and i dont need to
change the meson automatic define generation.

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7163

5 years agodevas vg: return default root node if possible.
Hermet Park [Tue, 16 Oct 2018 06:07:36 +0000 (15:07 +0900)]
devas vg: return default root node if possible.

Summary:

It could return NULL root node
while user expect a valid root node in default
as It did before.

This is a regresion bug from long ago.

@fix

Reviewers: #committers

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7162

5 years agomeson: another build break fix
Marcel Hollerbach [Mon, 15 Oct 2018 18:09:21 +0000 (20:09 +0200)]
meson: another build break fix

the installation of the header was forgotten which broke app compilation
against meson builds

Differential Revision: https://phab.enlightenment.org/D7161