Summary:
dev branch : devs/subhransu/font
The Final goal is to move the evas_font module to ector so that both ector and evas can reuse the code.
make the api simple so that sam eapi can be used by evas_textblock and ector text.
This is the 1st stage to achive that gola, first remove the evas internal dependancy as much as possible before moving to ector library.
Reviewers: jpeg, raster, herdsman, cedric, id213sin
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D5419
elementary_config.h should not even exist. It's been hijacked as a
private header for elementary, but all "real" configuration is stored in
efl's main config.h now.
This uses the new cref keyword instead of inout, as the c++ code has no
access to the internals of struct Efl.Text.Cursor.Cursor
Something tells me cref may not be the perfect solution here (we lose
information on whether this is in, out or inout).
I hid it behind ifdef for now as I'm very much unsure of what I'm doing.
This whole modern C++ thing is still weird to me :)
Prerequisite:
#define EFL_CXX_WREF_EASY
This allows constructs such as:
auto wobj = obj._get_wref();
std::cout << wobj->text_get() << std::endl;
This allows constructs like:
auto w_obj = obj._get_wref();
auto cb = std::bind([w_obj]() {
auto o = w_obj.lock();
if (!o) return;
o->call();
});
event_add(..., obj, cb);
Note: I don't like how those wref work. Close to c++ wref but far from
EFL wref.
NOTE: protected APIs are placed behind ifdef as well in the
implementation file. This makes sense since the define is required for
the C code to compile, but this isn't what @protected means.
Coverity reports that EVAS_OBJECT_DATA_SAFE_GET returns NULL here (184
out of 188 times). As such, we should not be calling
_event_animation_object_get with a null object so add a null check here.
Fixes Coverity CID1381713
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Coverity reports that EVAS_OBJECT_DATA_SAFE_GET returns NULL here (184
out of 188 times). The _all_animation_objects_cancel function
directly dereferences the obj parameter passed into it, so lets null check it
before calling that function.
Fixes Coverity CID1381711
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Coverity reports that EVAS_OBJECT_DATA_SAFE_GET returns NULL here (184
out of 188 times). The _all_animation_objects_cancel function directly
dereferences the obj parameter passed into it, so lets null check it
before calling that function.
Fixes Coverity CID1381710
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
Textblock's ellipsis feature only worked when text's width exceeds its area.
So, it didn't work when text's height exceeds its area by "br" tags.
This patch will do ellipsis when only ellipsis=1.0 is set.
@fix
Test Plan: make check
Reviewers: herdsman, raster, cedric, jpeg, sohyun
Reviewed By: raster
Subscribers: woohyun
Differential Revision: https://phab.enlightenment.org/D5412
Summary:
It should return width and height with positive values or zero.
@fix
Test Plan: make check
Reviewers: raster, jpeg, cedric
Reviewed By: raster
Subscribers: jiin.moon
Differential Revision: https://phab.enlightenment.org/D5422
This disallows deeply nested pointers, you can only explicitly
ptr() on types that are strictly value types.
For a few cases where it was necessary to override this behavior,
you can use legacy(ptr(x)) as a temporary measure.
As we do not know when a window won't be able to tick, and we do
not know which window a legacy animator is attached to, we require
all windows to tick as often as they can and only generate one tick
per loop run.
This might need more adjustement especially with multi output.
It is not because a round of rendering happen for a child, that it result in
actually drawing anything in the parent. The parent will always be aware of
the rendering request of the sub surface and we should only track what the
parent think.
T6049
Tested-by: Derek Foreman <derekf@osg.samsung.com>
Summary:
This uses constructor/destructor instead of group_add/group_del.
Note: finalize can't be used for theme loading as any action done
inside
efl_add(...) would be lost (eg. part text set).
Test Plan: 1) run elementary_test -to radio
Reviewers: jpeg, woohyun, cedric
Subscribers: akanad
Differential Revision: https://phab.enlightenment.org/D5404
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
If we pass in screen geometry here when trying to set an output mode,
we can encounter "out of memory" errors from libdrm with outputs
that have a high resolution. As it turns out, we should be passing 0, 0 for
the x/y values when trying to set an output mode.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
This prevents legacy EO classes from being exposed through .eo.h headers
or .eo in share/eolian/includes. Also removes a slew of useless xxx_eo.h
intermediate headers.
Notes:
- elm_systray has no proper API: it's not clear if the EO API should be
released (in which case it needs to be renamed to efl_something) and
there is no legacy API to create a systray object.
- Some files have been placed in a "FIXME" section, as I believe they
are necessary within EO land, but at the same time still don't
conform to the interfaces (eg. name starts with elm_).
- elm_interface_scrollable is required by photocam. This means photocam
needs to be adapted to fit the EO scroller API (still to be
completed, I believe).
Bugs:
- This breaks most C++ examples. I KNOW. And I'm working on it.
Ref T5301
This is a "pass by reference to const" equivalent. There is no explicit pointer
and currently it's the same as ptr(const(x)) on the type. However, it is also
usable on properties.
Summary:
**@feature** T6241
This feature enables genlist to pin an item to viewport which will
be available always for user to view/select.
**Use Case**:
In a big list of music, most times when user finds a song which they
like, before playing that they may want to go through the entire list
to check whether there is some other good songs, but
after seeing the entire list user have to again scroll back to the
position of item which they liked to play it then.
In this case item pinning can be used, so that the item
which they want to keep for future selection can be pinned
and then it will remain in viewport, finally when user want to do
operation on item, it will be readily available in viewport.
Signed-off-by: Godly T.Alias <godlytalias@yahoo.co.in>
Test Plan: Elementary Test -> Genlist -> Double click on items to enable/disable pinning
Reviewers: raster, cedric, prince.dubey, SanghyeonLee
Subscribers: rajeshps, jpeg, shilpasingh
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D5340
Summary:
There are wrong annotation about version and wrong enum name
so fix that.
Reviewers: jpeg, cedric, akanad
Differential Revision: https://phab.enlightenment.org/D5403
This isn't meant to be installed. The canvas API in EO is based around
the interfaces Efl.Canvas and the widget Efl.Ui.Win. Anything else is
not EO (eg: ecore_evas, evas, ...)
Note: evas_canvas3d is the last remaining thing that is installed along
EO files, but those are all beta APIs.
'output' variable is actually used in this function, so remove
EINA_UNUSED from function parameter
Signed-off-by: Chris Michael <cp.michael@samsung.com>
No warnings:
export EOLIAN_WARN_FUNC_DUPLICATES=0
No beta warnings:
export EOLIAN_WARN_FUNC_DUPLICATES=1
All warnings including beta:
export EOLIAN_WARN_FUNC_DUPLICATES=2
EOLIAN_WARN_FUNC_DUPLICATES is not an API and may change in the future
as we improve the tool :)
The backspace key is supposed to send an ASCII code of 0x08, not 0x7F
(this would be the delete key). This has not be seen before as it is is
rare to use the ASCII code for the BackSpace key.
@fix
valgrind does complain about this. i'm not sure it matters but it's
safer to 0 it out in case some field is being used that we don't think
is being used that we didn't set.
Summary:
A new parameter "width_offset" was added to
evas_common_font_query_last_up_to_pos() internal function.
But, internal documentation was not updated.
So, it adds a simple description for the new parameter.
Test Plan: N/A
Reviewers: jpeg, cedric, herdsman, shilpasingh
Differential Revision: https://phab.enlightenment.org/D5035
Summary:
Change the first letter of the sentence from lowercase to uppercase,
and fix typo "top be" to "to be"
Reviewers: cedric, jpeg, stefan_schmidt, myoungwoon, Jaehyun_Cho, conr2d
Reviewed By: cedric
Differential Revision: https://phab.enlightenment.org/D5398
Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
in default focus just sets the focus to the first item in the redirect
manager, we now reset that back and move the focus to the last element
of a item.
This is the result of a really quick review of the new VG code. Most of
it was moved around, but this merge includes the following:
- Move logic from edje to evas
- Create static lib for common VG handling
- Add file_set() API
- Add a basic VG cache in evas side
- Add savers modules, implement loaders and savers.
In Pb, the legacy units_format_set's user callback uses value to
be 100*value (0.0 to 100.0) and legacy format_function_set uses
value of range "0.0 to 1.0". This was broken after my patch.
Lets keep this behaviour in legacy APIs.
In case of new EO APIs, the value will be always from 0.0 to 1.0
in both format_string() and format_cb callbacks.
The cursor isn't clipped so if we decide to hide the widget
this ensures the cursor also is hidden. This should not affect
any existing application using elm_code API.
This generic format_string would be used in slider,progressbar
and other widgets.This default function handles INT
and DOUBLE eina value types for now.
Ref T6204
Summary:
elm_index.h uses legacy keyword for ref tag.
The patch update each keywords for widgets.
And colon ":" character should be seperated from reference keyword.
It will remove doxygen warning messages from elm_index.h file.
Test Plan: N/A
Reviewers: cedric, raster, jpeg
Differential Revision: https://phab.enlightenment.org/D5387
Summary: Add omitted description to eldbus signal handler for doxygen warning
Test Plan: API Doxygen Revision
Reviewers: raster, cedric, jpeg, myoungwoon, Jaehyun_Cho
Differential Revision: https://phab.enlightenment.org/D5379
Summary:
There is a missing comment for Eet_Colorclass.
This patch append a piece of information.
Reviewers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D5377
Summary:
There are missing documentation comments for Ecore_Imf Input.
so that this patch add the information.
Reviewers: jpeg, cedric
Differential Revision: https://phab.enlightenment.org/D5376
Summary:
There is a requirement for putting text at right side for LTR and at left side for RTL.
It satisfies that reqirement easily.
It also add "start" keywork for "align" tag. "start" will be same with "auto".
Intuitionally, developer will try "align=start" if they once saw "align=end" in elsewhere.
On the other hand, it only add "END" as new enumeration value for efl interface.
@feature
Test Plan: N/A
Reviewers: herdsman, cedric, jpeg, raster
Reviewed By: raster
Subscribers: woohyun
Differential Revision: https://phab.enlightenment.org/D5342
Most of the time you need to retrieve the class from the string
anyway, so remove this relic of old Eolian and gain some small
performance benefits and extra convenience.
Subtly breaks API but everything should be updated.
Item prev/next/first/last.
If true, break, else, break.
EO_OBJ(x) is safe on NULL.
Add a simple macro to simplify inlist handling.
Overall simplify the code.
I have no idea why it was doing that, but that ends up eating all the
events, not propagating them up to the parent ... If someone has a idea
why it was like that, feel free to notify.