Fix commit 3e8db298f70932ce7b2f5296d44b262a615ea87c the namepsace changed but
only a few files have been fixed for this. Many files did still not compile
with make examples. I fixed some more but stopped at the cxx files with the hope
that the original author would actually do this.
Efl - efl_model_base changed to use eina_promise
Eio - eio_model use efl_model_base with promise
Eldbus - elddbus models use promise now
Elementary - elm_view_list and elm_view_form use new models with promise
updated all related examples and tests
Summary:
enum Evas.Canvas3D.Shade_Mode are using for choose relevant shader source code.
So renaming have a sence.
Rename evas_canvas3d_shade_mode_set/get property to evas_canvas3d_shader_mode_set/get
Rename internal fields and functions
Reviewers: cedric, Hermet, raster
Subscribers: jpeg
Differential Revision: https://phab.enlightenment.org/D3882
Summary:
Added flip and orientation interface and used them in evas_image.
Removed efl_image_orientation_set API and used efl_orientation_set and efl_flip_set API.
In implementation part, converted enums back and forth in order to keep current implementation as it is.
Test Plan: src/examples/evas/evas-images5.c
Reviewers: singh.amitesh, raster, tasn, herdsman, woohyun, cedric, felipealmeida, jpeg
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D3844
It was broken after all the changes in Evas.Image.
Since buffer map/unmap is not fully completed (GL support is
still to do), I added a quick #ifdef to switch between EO and
Legacy APIs.
Thanks @jackdanielz for the report.
Summary:
Example using static LOD in evas.canvas3d
It should be applied after D3731
Reviewers: Hermet, raster, cedric
Subscribers: jpeg
Differential Revision: https://phab.enlightenment.org/D3732
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
This replaces standard Evas_Object_Image when it is used "normally",
ie. it's an image from a file or from a pixel buffer. All other APIs
(proxy, snapshot, 3d, gl, ...) are disabled on this object.
Also, reduce number of failing calls when the object is not a legacy
object, but a legacy function is called. This is because a lot of
image APIs are called internally using the legacy APIs, often in
order to reset the state of the image object (eg. set file to NULL,
etc...)
Mostly unused vars following the removal of eo_do_ret().
However, there are some cases where the migration script got some things
wrong, and I had to manually fix them.
I just ran my script (email to follow) to migrate all of the EFL
automatically. This commit is *only* the automatic conversion, so it can
be easily reverted and re-run.
The migration scripts breaks with some weird cases, here I manually
migrated some parts, and just removed the eo_do from others without
actually migrating (so I could deal with that later).
Summary: Made new models with no normal component to print
сorrect print message for testing not only by visual result.
Reviewers: cedric, raster, Hermet
Subscribers: jpeg, artem.popov
Differential Revision: https://phab.enlightenment.org/D3562
Summary:
As base64 API's are no longer part of eina, removing them. Will add
separate file for emile examples.
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D3552
Summary:
The example is to demonstrate the use of
eina_strbuf_manage_read_only_new_length API.
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: jpeg, cedric
Differential Revision: https://phab.enlightenment.org/D3421
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Before adding of new saver and loader for ply format we had a chance to set EVAS_CANVAS3D_SHADE_MODE_VERTEX_COLOR
for every mesh, now we save only existing atributes and there are a lot of meshes we have to set EVAS_CANVAS3D_SHADE_MODE_VERTEX_COLOR.
[FIX]
Reviewers: cedric, raster, Hermet
Subscribers: jpeg, artem.popov
Differential Revision: https://phab.enlightenment.org/D3412
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary: Enhance edje color class example
Test Plan: build using the comment message
Reviewers: raster, cedric, jpeg
Reviewed By: jpeg
Subscribers: seoz
Differential Revision: https://phab.enlightenment.org/D3508
This is a quick fix to make out-of-tree builds of the examples
work fine. Don't pass "." as teh resource dir root, instead
pass the path to the source files' folder.
Summary: This example is a testing example for comparison convex
hulls built by our algorithm and in Blender.
Reviewers: raster, Hermet, cedric, jpeg, perepelits.m
Subscribers: jpeg, artem.popov
Differential Revision: https://phab.enlightenment.org/D3336
Summary:
The socket API is different on Windows and on Linux.
This is the perfect example where we need to abstract the socket API in Eina :
1) to avoid all these includes specific to sockets
2) to avoid on Windows undefined behavior : close(socket); is undefined behavior if socket is indeed a socket
Reviewers: jpeg
Reviewed By: jpeg
Subscribers: cedric, jpeg
Projects: #efl
Differential Revision: https://phab.enlightenment.org/D3441
Summary:
Add new API eina_strftime API in eina_str
@feature
Test Plan: test case and example also updated
Reviewers: tasn, cedric
Reviewed By: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D3148
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Add eina_tmpstr_manage_new, eina_tmpstr_manage_new_length APIs, these APIs create new tmpstr but reuse the input string memory.
@feature
Test Plan: Test case and example updated
Reviewers: tasn, cedric
Reviewed By: cedric
Differential Revision: https://phab.enlightenment.org/D3178
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Checking if client is NULL before freeing is not of much use. If it is NULL, it would have crashed before when it was dereferenced in printf. So checking NULL before dereferencing.
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: cedric
Reviewed By: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D3151
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Checking if client is NULL before freeing is not of much use. If it is NULL, it would have crashed before when it was dereferenced in printf. So checking NULL before dereferencing.
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D3088
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Evas only handles pre multiplied colors. So use r,g,b values lesser than alpha to prevent error message.
Signed-off-by: Yeshwanth Reddivari <r.yeshwanth@samsung.com>
Reviewers: sachin.dev, singh.amitesh
Reviewed By: singh.amitesh
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D3073
Summary:
calloc is done 2times, so there is a memory leak. So fixing that.
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: cedric, stefan_schmidt
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D3032
Summary:
pd was dereferenced and then checked for NULL. If it was NULL, the program would crash much before. So fixed that.
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: cedric, stefan_schmidt
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D3031
Summary:
cd was dereferenced and then was checked for NULL. If cd is NULL, it would crash before itself. So checking for NULL before dereferencing cd.
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: cedric, stefan_schmidt
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D3009
Summary:
Relating to D3010. This patch is code cleanup. Have done dos2unix. After this will update D3010 bug.
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: cedric, stefan_schmidt
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D3025
Summary:
This fix need for synchronous rotation mesh and aabb of "sonic" in example "evas-3d-aabb.c".
@fix
Reviewers: Hermet, cedric
Reviewed By: cedric
Subscribers: sri.hebbar, cedric
Differential Revision: https://phab.enlightenment.org/D2779
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
The evas-3d-shooter-header.h is used by two binaries. One is using these image
path and the other not. Which means that we get a bunch of warnings thrown at
us during the compile of the binary which does not use them as unused variables.
Solve this by having them only in the place where they are actually used.
Summary:
Introducing a new feature for Evas Textblock. This allows the layout to
wrap around other evas objects.
The following API is added:
- obstacle_add
- obstacle_del
- obstacle_update
Evas objects can now serve as textblock obstacles, if positioned and
visible on the text area. The text will wrap around the obstacles
according to the wrapping mode set to it.
This also modifies the current wrapping code to handle obstacle wrap
points as well. The wrap index query function is modified so that
forward-scanning (specific cases) may be disabled when treating
obstacle wrap point.
RTL text is currently unsupported by this feature.
Consult added docs and example for usage.
@feature
Test Plan: Evas example and test in evas_suite are provided with this.
Reviewers: tasn
Subscribers: raster, JackDanielZ, cedric
Differential Revision: https://phab.enlightenment.org/D2405
Summary:
Ecore_Buffer is abstraction of graphic buffer.
it supports backend of shm, x11_dri2 and x11_dri3 for now,
and this library also provides method to share buffers between processes.
Ecore_Buffer_Provider and Ecore_Buffer_Consumer is for this, sharing buffer.
provider draws something in to Ecore_Buffer, and consumer receives and displays it.
the binary, bq_mgr is a connection maker for buffer provider and consumer.
it can be included Enlightenment as a deamon later.
@feature
Test Plan:
1. Configure with --enable-ecore-buffer and --enable-always-build-examples to build examples.
2. Run bq_mgr, it connects consumer and provider.
3. Run ecore_buffer_provider_example and ecore_buffer_consumer_example
Reviewers: lsj119, gwanglim, cedric, zmike, jpeg, raster, devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2197
This example just prints tag and it's attributes in xml file.
But this example intended for the scenario,
if the attributes have the "<" or" >" characters inside of the string.
Summary: Cube chaotic was rotated, because angle in structure of "SceneData" have random number.
Reviewers: cedric, Hermet
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2643
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Implementation to support .po files in edc for translation
Test Plan:
Test Code to test this implementation is done as part of efl/src/examples/edje/edje-text.c and efl/src/examples/edje/text.edc
edje_cc -md . text.edc && gcc -o edje-text edje-text.c `pkg-config --libs --cflags ecore-evas edje evas ecore eo`
./edje-text
1) Click On the text "Click here"
The language gets changed.
Reviewers: shilpasingh, cedric
Reviewed By: shilpasingh, cedric
Subscribers: cedric, rajeshps, govi, poornima.srinivasan
Differential Revision: https://phab.enlightenment.org/D2573
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Add a new property to edje_object.eo for setting the language on one Edje_Object.
Test Plan:
Test Code to test this implementation is done as part of efl/src/examples/edje/edje-text.c and efl/src/examples/edje/text.edc
edje_cc -md <dir path>/efl/src/examples/edje/ text.edc && gcc -o edje-text edje-text.c `pkg-config --libs --cflags ecore-evas edje evas ecore eo`
./edje-text
1) Click On the text "Click here"
The language gets changed as per the specific edje object.
2) Click on the text object at bottom. "Click here"
The system language gets changed and the below two edje objects language are changed globally.
Reviewers: cedric, shilpasingh
Subscribers: poornima.srinivasan, govi, rajeshps, cedric
Differential Revision: https://phab.enlightenment.org/D2559
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
This was not really useful and against the Eolian guidelines.
While I promised I won't break things until the 27th, I was ill
(still am), so I'm giving myself a 1 day pass. :P
From now on, constructors should return a value, usually the object
being worked on, or NULL (if the constructor failed). This can also
be used for implementing singletons, by just always returning the same
object from the constructor.
This is one of the final steps towards stabilizing Eo.
@feature
Summary:
Issue: Current embryo script do not provide any mechanism to set transition type in animation
Solution: A new API set_state_anim is added.
Signed-Off by: Kumar Navneet <k.navneet@samsung.com>
Signed-Off by: Shilpa Singh <shilpa.singh@samsung.com>
Test Plan: A test edc (embryo_set_state_anim.edc) is added to edje examples to test set_state_anim API.
Reviewers: shilpasingh, raster, cedric
Reviewed By: cedric
Subscribers: poornima.srinivasan, cedric
Differential Revision: https://phab.enlightenment.org/D2470
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Issue: Current embryo script do not provide any mechanism to set transition type in animation, by default supports only linear
e.g: set_tween_state API
Solution: To not break backward compatibility, a new API set_tween_state_anim is added in which we can even specify type of transition required.
Signed-Off by: Kumar Navneet <k.navneet@samsung.com>
Signed-Off by: Shilpa Singh <shilpa.singh@samsung.com>
Test Plan: A test edc (embryo_tween_anim.edc) is added to edje examples to test set_tween_state_anim API.
Reviewers: raster, cedric, shilpasingh, Hermet
Reviewed By: shilpasingh
Subscribers: poornima.srinivasan, SubodhKumar, rajeshps, cedric, govi
Differential Revision: https://phab.enlightenment.org/D2344
Summary: add ecore_evas_extn_socket_events_block_set/get
Test Plan: add mouse event callback, and check whether it could get event or not
Reviewers: raster, woohyun, jaehwan, Sergeant_Whitespace
Reviewed By: Sergeant_Whitespace
Subscribers: Sergeant_Whitespace, seoz, cedric
Differential Revision: https://phab.enlightenment.org/D2268
Summary:
Internationalisation of the static text specified as part of the edc is implemented.
Problem: Static text when specified in the edc, remains unchanged when the system language is changed.
Solution: Language support is provided even for the static strings in the edc.
Test Plan:
Test code to test this implementation is done as part of efl/src/examples/edje/edje-text.c and efl/src/examples/edje/text.edc
Compile the code with the below command
edje_cc -md <dir path>/efl/src/examples/edje/ text.edc && gcc -o edje-text edje-text.c `pkg-config --libs --cflags ecore-evas edje evas ecore`
./edje-text
1) change the language of the system using the command
export LANGUAGE=hi
./edje.text
Not the text Loading gets displayed in hindi language
2) change the language of the system using the command
export LANGUAGE=ta
./edje.text
Not the text Loading gets displayed in tamil language
3) change the language of the system using the command
export LANGUAGE=en
./edje.text
Not the text Loading gets displayed in english language
As the number of .mo files in the /edje folder can be increased, those many languages can be supported
Reviewers: cedric, shilpasingh
Reviewed By: shilpasingh
Subscribers: cedric, rajeshps, govi, poornima.srinivasan
Differential Revision: https://phab.enlightenment.org/D2336
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary: Refactoring of code and fix work of signals for normal rotation of cube.
Reviewers: cedric, raster, Hermet
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2392
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Bind flag atlas_enable.
Build adjusting matrix only in case getting texture unit with atlas.
Reviewers: Hermet, cedric
Reviewed By: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2473
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Without ecore_main_loop_quit the example won't end. So added that and as ecore_init is done in ecore_con_init removed that.
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2399
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Added optional constructor methods for C++ Eolian wrappers.
Changed the interface of wrappers' main constructors.
If there are optional constructor methods they should be passed as variadic
template argument at the end of the constructor.
To support variadic template arguments, the optional "parent" parameter is
now the first parameter and there is another constructor without the
"parent" parameter.
Checking for @optinal and @nullable attributes instead of @nonull.
Now @nonull is the default, and eina::optional is only used when @optional
or @nullable attribute is specified.
The names of constructor methods no longer have the class name prefixed.
Added unit tests for checking the binding of optional constructors.
Added new .eo file to be used in the test.
Changed the generated documentation of constructors.
Changed the efl::eo::inherit accordingly, to address these new features.
Now the constructor methods should be explicit called in the
efl::eo::inherit constructor, which will receive them via variadic
template arguments.
Added another constructor to efl::eo::inherit for passing the parent
object.
Updated some tests and examples to follow the new interface.
Removed some code that is no longer necessary.
Also, fix Eolian C++ support for constructing properties. fix
assertion when parsing constructing properties.
Now if a property is a constructing property eolian_cxx will generate a
constructor method that have the property name (without the "_set" suffix).
Summary:
Add pointer to target billboard node in Evas_3D_Node
Skip set flags change orientation for billboard node
Add method node_billboard_update to use it for change orientation during traverse
by nodes
Split API evas_3d_node_look_at_set to have possibility change orientation of node
without set flags
Reviewers: cedric, Hermet
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2245
Summary:
Added example for ftp upload. In the .gitignore only 2 files added which were missing. The differences it is showing is cos of reordering. I did ls and redirected the file to gitignore. So the files got reordered.
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: cedric
Reviewed By: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2223
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Reviewers: cedric, Hermet, raster
View and composition will be restored after refactoring of all primitives.
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2151
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
- little symbols in pathes
- new standard pathes for assets for big examples
- deleted the largest resources
- size of shooter folder less than 4 Mb now
Reviewers: cedric, Hermet, raster
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2131
Summary:
recived Error that object already deleted in the following files:
In evas-object-manipulation-eo.c: d.clipper and d.bg where created with
eo_add ( 1 ref ) but where unrefd twice: once explicity and once when
d.ee were deleted.
In ecore_indler_example: ctxt->idler were again explicity unrefd and
again unrefd by ecore_shutdown.
@fix
Reviewers: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2093
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Unneccessary resources are deleted.
In example of frustum used sweet_home.
In example of colorpick used sphere primitive.
Possibility to set precision of spheres deletes need in high quality mesh.
For spheres used textures of wood and rock, so for good work of colorpick https://phab.enlightenment.org/D2044 should be merged firstly.
Reviewers: cedric, raster, Hermet
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2081
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary: Models for mmap example are more than tan times smaller.
Test Plan: run evas-3d-mmap-set.c
Reviewers: cedric, raster, Hermet
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2073
Summary: This example is deprecated. We have another (pick) to show functionality of it.
Test Plan: Need merged D2044 to run pick example.
Reviewers: cedric, raster, Hermet
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2074
Summary:
Textures for evas-3d are standardized 256*256.
.tga for parallax occlusion aren't changed to save alpha channel.
-50Mb for efl without obvious lost of quality
Reviewers: cedric, Hermet, raster
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2032
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Fixed : errors (connected with eo and new resources path) in evas-object-manipulation-eo.c
Fixed : warning: format not a string literal and no format arguments [-Wformat-security]
FIxed : unused variables in evas-images3.c are deleted
Reviewers: raster, Hermet, cedric
Reviewed By: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2025
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary: Process of loading is standard now. TODOs which are added here will be done in one of the next commits soon.
Reviewers: cedric, Hermet, raster
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2013
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary: This commit makes folder of examples for evas more ordered.
Reviewers: raster, Hermet, cedric
Subscribers: artem.popov, cedric
Differential Revision: https://phab.enlightenment.org/D1985
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary: This example includes some previous developments to create 3d-world mechanics.
Reviewers: cedric, raster, Hermet
Subscribers: cedric, artem.popov
Differential Revision: https://phab.enlightenment.org/D1991
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Add class and type Evas_3D_Callback like wrapper under smart object
Incapsulate Evas_3D_Callback in Evas_3D_Object
Add virtual function register and unregister in Evas_3D_Object
Add function evas_3d_callback_call
Add callbacks clicked and collision for Evas_3D_Node
@feature
Reviewers: raster, Hermet, cedric
Reviewed By: cedric
Subscribers: artem.popov, cedric
Differential Revision: https://phab.enlightenment.org/D1914
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Some little example about how and when edje_edit functions can be applied.
In this example there is a box part with items in edj, and by using edje_edit
program actually changes edj file directly. (adding items,
changing layouts of box, changing params of items, etc).
It is pushed as a reference for people who would like to do there own
Edje editor. Normal application should not use that API.
Reviewers: Hermet, raster, seoz, cedric
Reviewed By: cedric
Subscribers: cedric, reutskiy.v.v
Differential Revision: https://phab.enlightenment.org/D1969
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
This commit fixed several bugs, and show what was be fixed.
Bugs:
- When designer save obj file in Blender, he/she can set flags (fig 1). Normals and UV coords flags was necessary for obj loader. Loader crushed when they are not set as true. It fixed by this commit.
- Another loaders set default values to data which aren't in loading file, so mesh need more memory for unused data. It fixed by this commit for obj and will be fixed for another formats in future.
- Saver saved incorrect data if normals or tex_coords was not set in mesh in evas. Now it fixed.
- Saver failed if it save mesh without material. It fixed and in this case material file is not created now.
- Also fixed some leaks and undefined behavior which valgrind shows.
Example:
- Example shows cases described above. Example use files saved with different flags for it.
Resources:
- man_mesh is replaced by several smaller file, to use them for showing new features and fixes. For example, similar to that models can be added when implement work with material for obj, work with different flags for obj loader/saver etc. (big count of man_meshes is to much memory).
- texture for home is flipped, because of bug with texture in efl to see if tex_coords is incorrect.
Test:
- test should be rewritten in future, because another formats still use default values for normals and tex_coords. And test can not pass for all types of obj file because of standardization for any format in him.
Test Plan: Test suit will be rewritten after correcting of other formats (they will set NULL to file when save an empty data (like mesh without normals))
Reviewers: Hermet, raster, cedric
Reviewed By: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1957
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
When the examples were compiled they used to through the below warning
$ gcc -o ecore_con_client_simple_example ecore_con_client_simple_example.c `pkg-config --libs --cflags ecore ecore-con eina`
ecore_con_client_simple_example.c:11:0: warning: "EINA_UNUSED" redefined
# define EINA_UNUSED
^
In file included from /usr/include/eina-1/Eina.h:215:0,
from /usr/include/ecore-1/Ecore.h:304,
from ecore_con_client_simple_example.c:5:
/usr/include/eina-1/eina/eina_types.h:112:0: note: this is the location of the previous definition
# define EINA_UNUSED __attribute__ ((__unused__))
^
So removed these defines as they are no longer required now.
Reviewers: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1919
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
It is not ready as a public API yet. It needs to run on GeoClue1
and GeoClue2 which will definitely bring API changes as some parts
are tied to mcuh to what GeoClue1 offers right now.
In convert.cc: Reading functions instead of implements to convert the
Eolian_Class. It avoids creation of methods that do not belong to the
class, in special it avoids calling the default constructor twice in the
generated code.
No longer generating one constructor in the C++ wrapper for each eolian
class constructor, since the correct behavior demands that all constructor
should be called. Now the wrappers have "constructor methods" that
must be called when creating a new object.
Updated test cases and examples to match the new interface. Some class
constructors and some test cases have to be removed since they were based
on the wrong assumption that constructors are mutually exclusive.
Created new generators for forwarding parameters and for looping over
the relevant parameters to the C++ wrapper executing a generic lambda.
Added a TODO comment regarding the call of constructor methods of all
base classes. Currently there is no base type with constructors, so this
situation should be discussed more.
Added a TODO comment regarding the way callback parameters are being
processed.
Summary:
While going through eina for understanding, wrote a program to understand
he differences between different eina inarray functions. Thought, this might
be useful for others too, so adding the same.
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1803
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
This patch set adds the necessary code to expose device axis state to applications. This was primarily written with graphics tablets in mind, which -- in addition to acting like a mouse -- also provide information about pen pressure, tilt, etc. Other devices could potentially benefit from this API as well: touchscreens, joysticks, knob controllers, "spaceballs", etc.
Whenever an update to the device state is recieved, an "Axis update" event is synthesized. This event contains the updated information, typically scaled and normalized to a particular logical range (e.g. zero to one for pressure, -pi to pi radians for angles, etc.). Information about the tool which generated the event is also stored so that applications can disambiguate events from multiple devices (or in the case of multitouch screens, individual fingers).
This API is only wired up for use with X11 at the moment. Support for other backends (e.g. Wayland) should be easy to add for those familiar them.
**Note**: The following is a list of changes from the "v2" patches originally sent to the mailinglist
//Define and implement new Ecore_Event_Axis_Update events//
* Harcode axis labels instead of including xserver-properties.h
* Use C89-style comments
* Use doxygen comments
* Update comment text to note axes with unbounded/undefined ranges/units
* Create "Ecore_Axis" and "Ecore_Axis_Label" typedefs
* Reference typedef'd instead of raw types
* Adjust how we count through valuators to support tilt/az
* Add support for tilt and azimuth
* Tweak memory management in case number of valuators differ
* Expand TWIST axis normalization to declared range
* Only normalize TWIST axis if resolution == 1 (wacom bug)
* Cache label atoms on first use to minimize round-trips
//Implement EVAS_CALLBACK_AXIS_UPDATE event and friends//
* Update to doxygen comments
* Update comment text to note axes with unbounded/undefined ranges/units
* Typedef 'Evas_Axis_Label', 'Evas_Axis'
* Move typedef for 'Evas_Event_Axis_Update'
* Reference typedef'd instead of raw types
//Wire the Ecore and Evas implementations of axis update events together//
* Expose ecore_event_evas_axis_update in Ecore_Input_Evas.h
* Move ecore_event_evas_axis_update to more logical position
//DEBUG: Add axis update logging to evas-multi-touch.c//
* Removed from patch set
//Make evas-multi-touch demo use new axis functionality//
* Have pressure adjust rectangle brightness instead of size
* Use more available axis data when rendering rectangle (azimuth, tilt, twist)
Test Plan: The evas-multi-touch demo was updated to support axis update events. A graphics tablet was then used to verify that the pressure, azimuth, tilt, and twist data was coming through correctly.
Reviewers: cedric, raster
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1514
Conflicts:
src/lib/ecore_input/Ecore_Input.h
Carsten Haitzler -
** fixed forward enum typedefs (make things unhappy)
** fixed conflict above
** fixed wrong param type for _evas_canvas_event_feed_axis_update()
** fixed @sinces to be 1.13
** fixed formatting/indeting
** fixed order of operation reliance in if's with ()'s to be clear
** fixed functions to be static that should have been
Summary:
.ply format is important for relation blender and EFl, because in blender exist only two mesh export API: bpy.ops.import_mesh.ply and bpy.ops.import_mesh.stl. One of them is necessary for .edc 3D generator. Which I writing now.
Sorry, it isn't like image loader. Refactoring of import/export will be soon.
Reviewers: Oleksander, artem.popov, Hermet, raster, cedric
Reviewed By: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1544
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary: The first version of .eet format is added. All changes due to discussion in D1307 are done.
Reviewers: artem.popov, se.osadchy, reutskiy.v.v, Hermet, raster, cedric, Oleksander
@feature
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1477
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary: The first version of .eet format is added.
Reviewers: Hermet, raster, cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1307
Summary: This example shows mechanism of 3d object rotation
Reviewers: cedric, Hermet, raster
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1114
Summary:
The generation of class prefixes was not taking into account the full
classname -- the namespace was not being prepended to it. Fixed that and
also re-organized the code a bit, removed some Wshadow warnings also.
This commit fixes 'make examples' and 'make check'.
Reviewers: tasn, cedric, q66
CC: felipealmeida, smohanty, cedric
Differential Revision: https://phab.enlightenment.org/D1100
Implemented namespaces
Added eolian_wrappers.hh with C++ code wrapping Eolain API
Changed eolian_cxx program options. Now they're eolian_gen's
Added functions to safe_str.hh (safe_lower, safe_upper, normalize_spaces, path_base)
Added a mocked version of type_lookup.hh in advance. The full
version will come as soon as complex-types are added.
Made apply again by Daniel Kolesa, original implementation by Savio Sena.
Summary:
There is param (of the map block in part's description) that allows user to
set a color for specified vertex/point of that part.
That param was undocumented so actually no one know that this param is exist and can be used in edj file.
Two main fixes:
- adding documentation for map.color param in edc reference.
- adding .edc source code example for seeing how map.color param works.
@fix
Reviewers: cedric, Hermet, raster, seoz
Reviewed By: cedric
CC: cedric, reutskiy.v.v
Differential Revision: https://phab.enlightenment.org/D1083
Summary: Just updating the .eo's to match the new syntax.
Reviewers: cedric, q66, tasn, JackDanielZ
Reviewed By: q66
CC: felipealmeida, smohanty, woohyun, cedric
Differential Revision: https://phab.enlightenment.org/D1067
Summary:
Add ecore_evas_cursor_unset function.
Use the new function in the ecore_evas_object_example.
@feature
Test Plan: ecore_evas_object_example
Reviewers: raster, cedric, seoz, Hermet
CC: cedric
Differential Revision: https://phab.enlightenment.org/D812
Summary:
Add API that checks OBB's points of node are inside frustum of camera.
Add example with frustum culling.
@feature
Reviewers: Hermet, cedric, raster
CC: cedric
Differential Revision: https://phab.enlightenment.org/D942
Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
Summary:
Support union, subtract, intersection, equal(comparison) between tilers.
@feature
Test Plan: Test with added test case(src/tests/eina/eina_test_tiler.c) and the example(src/examples/eina/eina_tiler_02.c)
Reviewers: gwanglim, devilhorns, raster, zmike, cedric
CC: cedric
Differential Revision: https://phab.enlightenment.org/D880
Summary:
Mainly from the examples but also from libunibreak and tests/eet.
I'm not sure if it's really worth to remove warnings from the examples
-- because it adds pedantic-ness to something supposed to be didatic,
but I leave for you guys to judge.
Reviewers: tasn, cedric
CC: felipealmeida, raster, smohanty, cedric
Differential Revision: https://phab.enlightenment.org/D896
Signed-off-by: Cedric Bail <cedric.bail@free.fr>
Summary:
Fix function with return type and not returning any value and
remove warnings about unused identifiers in examples for eina C++.
Reviewers: cedric, stefan, stefan_schmidt
CC: savio, cedric
Differential Revision: https://phab.enlightenment.org/D837
Signed-off-by: Cedric Bail <cedric.bail@free.fr>
Summary:
This patch fixes T1226 by adding a Makefile.examples to
examples/eolian_cxx. It also fixes a bug in bin/eolian_cxx: the
include paths were not being correctly generated for directories
outside EFL tree.
Reviewers: cedric, smohanty, stefan_schmidt, stefan
CC: uartie, wayland-efl, felipealmeida, raster, woohyun, cedric
Maniphest Tasks: T1226
Differential Revision: https://phab.enlightenment.org/D824
Signed-off-by: Cedric Bail <cedric.bail@free.fr>
since eo default ref count is 1 and increased by canvas parent again,
they should be unref() called if they wanna deleted automatically.
I wonder if evas unref the objects while it removes the objects from it's list,
then user don't need to call eo_unref() manually which may cause a mistake in usage.
Summary:
This patch adds 'eolian_cxx' -- a C++ bindings generator --
to the EFL tree. Eolian Cxx uses Eolian API to read .eo files and generate
.eo.hh. It relies/depends on Eo Cxx and Eina Cxx (both non-generated
bindings).
src/bin/eolian_cxx: The eolian_cxx program.
src/lib/eolian_cxx: A header-only library that implements the C++ code
generation that binds the .eo classes.
=Examples=
src/examples/eolian_cxx/eolian_cxx_simple_01.cc: The simplest example,
it just uses some "dummy" generated C++ classes.
src/examples/eolian_cxx/eolian_cxx_inherit_01.cc: Illustrates how
pure C++ classes inherit from .eo generated classes.
src/examples/evas/evas_cxx_rectangle.cc: More realistic example using
the generated bindings Evas Cxx. Still a bit shallow because we don't
have full fledged .eo descriptions yet, but will be improved.
=Important=
The generated code is not supported and not a stable API/ABI. It is
here to gather people interest and get review before we set things in
stone for release 1.11.
@feature
Reviewers: cedric, smohanty, raster, stefan_schmidt
CC: felipealmeida, JackDanielZ, cedric, stefan
Differential Revision: https://phab.enlightenment.org/D805
Signed-off-by: Cedric Bail <cedric.bail@free.fr>
First step to get the examples compiling output in a useful state.
With all the warning noise one would never see the important messages.
If you add new code please make sure its warning free.
Summary: The warning was "format not a string literal and no format arguments [-Wformat-security]".
Test Plan: gcc -o evas-box evas-box.c `pkg-config --libs --cflags evas ecore ecore-evas eina`
Reviewers: singh.amitesh, seoz, stefan_schmidt
CC: cedric, stefan_schmidt
Differential Revision: https://phab.enlightenment.org/D585
Signed-off-by: Cedric Bail <cedric.bail@free.fr>
The goal of this library is to make the life of C++ developers easier
when having to manipulate Eina datatype by providing a layer to abstract
those data type in C++. Check examples for now. Documentation will come
soon, but we are pushing that rather sooner to get feedback on those bindings.
As you will notice, this library is just composed of headers. There is no .so
and we do think it is better this way. Reducing ABI and API stability issue for
applications developers who are the primary target of this binding.
Also please note that you will need to have C++11 to use this binding.
Signed-off-by: Cedric Bail <cedric.bail@free.fr>
Being annoyed by different types of eina critical macros - CRI, CRIT,
CRITICAL -, I concluded to unify them to one. Discussed on IRC and
finally, CRI was chosen to meet the consistency with other macros -
ERR, WRN, INF, DBG - in terms of the number of characters.
If there is any missing bits, please let me know.
Some commits to port emotion to GStreamer 1.0 and implement some missing features,
clean up code a bit and fix some bugs on the way.
This works as good as the 0.10 code for me now with the emotion examples,
just the Samsung hardware specific code is commented out. This should be
ported by someone who has such hardware, and also in a clean way now that
GStreamer since 1.0 has features to handle all this properly.
There's still a lot of potential to clean things up and fix many bugs, and also
to implement zerocopy rendering. But those are for later if there's actual
interest in this at all.
Commits:
- Update configure checks and ecore example to GStreamer 1.0
- Initial port of emotion to GStreamer 1.0
- Samsung specific code commented out, should be ported by someone
with the hardware.
- Return GST_FLOW_FLUSHING when the sink is unlocked
- Remove unused GSignal from the sink
- Use GstVideoInfo to store the format details inside the sink
- Add support for pixel-aspect-ratio
- Store video format information in GstVideoInfo for the different video streams
- Use GstAudioInfo to store the audio format information
- Remove some unused defines
- Header cleanup
- Implement initial support for GstNavigation interface
- Implement setting of audio/video channel
Reviewers: cedric
CC: cedric
Differential Revision: https://phab.enlightenment.org/D387
Signed-off-by: Cedric BAIL <cedric.bail@samsung.com>
positional arguments must appear at the end of the description array
(after the last option) and should have a metavar set and not have
shortname or longname. Simple, elegant and fit :-)
There is a new function to parse the positional arguments,
ecore_getopt_parse_positional() because we may want to not try to
parse them in the case of a quit-option such as --help, --license,
--copyright, --version or some user-defined action. This avoids us
producing errors of missing positional arguments when printing help
and adds some flexibility as well.
This should make Tasn happy :-)
This makes the clipper colors correct and also gets rid of the
following error message spam:
ERR..._color_set() Evas only handles pre multiplied colors!
Fixes T557
Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
I added EET_DATA_DESCRIPTOR_ADD_MAPPING_BASIC because I need basic types in unions, and EET_DATA_DESCRIPTOR_ADD_MAPPING is only for structs.
I also modified the example with a float and a string.
Reviewers: cedric
Reviewed By: cedric
Differential Revision: https://phab.enlightenment.org/D313
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
input_attach, input_detach, format_set, and source_set now return an
Eina_Bool
Tests, examples and edje_multisense adapted
Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
Width and height should be swapped when the screen is rotated by 90 or
270 degrees.
Additionally, add a command to the ecore_evas_window_sizes_example which
returns the screen geometry.
Implement ecore_audio_input_speed_set() in playback example
Fix volume limit off-by-one check while I'm at it
Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
this one was quite a huge work, but hopefully it's correct.
NOTES:
* removed vlc generic module, it should go into a separate package.
* gstreamer is enabled by default (see --disable-gstreamer)
* xine is disabled by default (see --enable-gstreamer)
* generic is always built statically if supported
* gstreamer and xine can't be configured as static (just lacks command line options, build system supports it)
* v4l2 is enabled by default on linux if eeze is built (see --disable-v4l2)
* emotion_test moved to src/tests/emotion and depends on EFL_ENABLE_TESTS (--with-tests), but is still installed if enabled.
TODO (need your help!):
* fix warnings with gstreamer and xine engine
* call engine shutdown functions if building as static
* remove direct usage of PACKAGE_*_DIR and use eina_prefix
* add eina_prefix checkme file as evas and others
* add support for $EFL_RUN_IN_TREE
* create separate package for emotion_generic_modules
* check docs hierarchy (doxygen is segv'in here)
SVN revision: 82501
this is still in progress, mostly the multisense stuff is pending.
it seems that when we merge ecore_audio in edje the libremix and
similar are gone, at least from Edje, and will be in ecore_audio
itself (or pulseaudio).
Changes:
* __UNUSED__ to EINA_UNUSED
* binaries (epp, embryo_cc, edje_cc) now consider EFL_RUN_IN_TREE and
will assume the binaries are still not installed, running from
build tree location (needs more testing, maybe doesn't work with
srcdir != builddir, still doesn't solve cross compile builds)
SVN revision: 82139
it's useful to copy file from one place to another and this will be
used in eio' s implementation.
NOTE: did not use mmap here as mmap faults may be cumbersome to handle
(Eina_File itself does that, but in a nasty way) and the
implementation would be severely different as there is no Eina_File
from FD, and there is no way to inject custom memory/fd into the
Eina_File's fault handling. The performance would not be that
different anyways and the splice() is already in there for systems
with good performance (read: Linux).
SVN revision: 81942
Give it sound files (ogg, wav, not mp3) as parameter or
"tone:freq=<f>,duration=<dur_in_s>" to play a lovely sine wave
* '<' and '>' seek forward and backward
* '+' and '-' change the volume
* Space toggles pause
* Shows information for the song (remaining, %)
* (Un)loop a song with 'l'
* 'n' - Next song
* 'm' - Next song simultaneous to current
* Volume can be set from 0 - 150%
Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
SVN revision: 81001