summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Ui text: introduce this new text widgetdevs/herdsman/efl_canvas_text_stagingDaniel Hirt2016-06-1611-2/+6365
| | | | | | | | This composite object utilizes the Efl.Canvas.Text, Efl.Canvas.Text.Cursor and Efl.Ui.Interactive API to server as a proper replacement for the Elm Entry widget. @feature
* Ui text interactive: introduce this new object (rebase squash)Tom Hacohen2016-06-166-1/+1486
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | @feature Ui text: Add a new interactive version of Canvas.Text This object is internal and is essentially a Canvas.Text that accepts key and mouse input. It should be used by Ui.Text as the text layout/input driver. Ui text interactive: Add include guard to header. Ui internal text: Improve input handling support and add selection. Ui internal text: Add a lot of imf stuff. Add more text selection handling code. Add support for allowing selection. Efl.Ui.Text.Interactive: (reword) code format fix. Efl.Ui.Text.Interactive: Remove useless struct members. Add multiline toggle support and a constructor. Text interactive: Add support for legcay newline. Text interactive: Use the new cursor_equal function. Efl.Ui.Text.Interactive: (Rebase split) fixup cursor Efl.Ui.Interactive: (Rebase split) fixup line_jump_by usage Text interactive: Cleanup tab/return handling. Text interactive: Use cursor_equal more. Text interactive: Simplify and unify selection handling in key input. Text interactive: Fix user text change reporting. This is useful for implementing undo/redo. Text interactive: Add documentation to event. Efl text interactive: (Rebase reword) Add a new interface to be used later. Ui text interactive: Migrate one missing change_info call. Ui text interactive: Mark the correct type for the change event. Ui text interactive: (Edited) Move to elementary and add "selection,changed". This is useful for implementing selection handlers. We had to move it to elementary because we started referencing cursors. Ui internal: Emit an event for selection changed. Ui text interactive: Remove unused code. Ui text interactive: Remove more unused code. Ui text interactive: Remove more unused code. Ui text interactive: Rename improperly named function. Ui text interactive: Update code to the new canvas text api. Ui text interactive: provide access to the selection cursors. This is the new API for manipulation selection outside of the object. Just manipulate these cursors to manipulate the selection. Fix previous commit. Ui interactive: Clean up internal functions. Ui interactive: Fix abuse of selection in word deletion. Ui text interactive: Fix selection. Ui text interactive: Fix right key to move next. Ui text interactive: Fix selection using keyboard. Ui text interactive: Don't emit selection changed events twice. We now use the cursor changed event to track changes, so no need to manually emit events ourselves. Ui Text interactive: Remove selection,cleared signal, use changed instead. If the selection cursors are equal, there's no selection, if they are different, there is. Ui text interactive: remove redundant code. Ui text interactive: Don't emit selection changed events on init. Ui text interactive: Remove unused variable. Efl.Ui.Interactive: fixup char_coor usage Ui text interactive: Fix some fixmes. Ui text interactive: fix selection_cursors_get Ui text interactive: Skip key down events if marked ON_HOLD.
* Efl.Canvas.Text: continue porting api and fixup bugsDaniel Hirt2016-06-166-193/+328
| | | | | | | Also: This merges style user and normal style into a list with precedence. This allows for more flexibility while keeping the API clean. @feature
* Canvas text cursor: introduce this new objectTom Hacohen2016-06-168-757/+1102
| | | | | | | The text cursor is now an eo object. Consult the efl_canvas_text_cursor.eo file for the API. @feature
* Canvas text: introduce new text objectDaniel Hirt2016-06-1611-1451/+2815
| | | | | | | | | | | | | | | | | | | | | | The implementation depends on creating different code paths from the now-legacy behavior of text appending. The annotation system introduced in this commit replaces the current way of applying formats on text. Up until now it has been quite a hassle for the user to control the formats, as it required keeping track of the format positions with an opener and closer formats almost every time (with the exception of own-closing formats). The combination of Efl.Text API along with the Efl.Canvas.Text annotation API essentially replaces the capabilities of the old format. There is additional annotation API to allow more control, so be sure to check the documentation/.eo files and the wiki page of Efl.Canvas.Text. The style API now accepts actual strings of format style. There is not longer need to instantiate as style with style_new() followed later by style_free(). @feature
* ecore_evas_cocoa: better handling of resize callbackJean Guyomarc'h2016-06-051-11/+21
|
* evas-gl_cocoa: resize the gl context before resizing the windowJean Guyomarc'h2016-06-051-1/+1
| | | | | This order seems more right. It does not have a visible impact though...
* ecore_cocoa: fix main loop handlingJean Guyomarc'h2016-06-052-21/+36
| | | | | | | | | | | | | | | | | Pffff... another tricky one... -windowDidResize is actually also called when the window is not resize by the user, leading to multiple event posting, and of course the infamous call of ecore_main_loop_iterate() when it was not paused at all, leading to messy events handling... the most visible being the initial resizing of the window going rogue. We now ensure with -windowWillStartLiveResize and -windowDidEndLiveResize that we only send an event when the user requested it. Since the main loop is paused at this point, calling ecore_main_loop_iterate() becomes safe. Fixes T3648
* ecore_audio: remove useless eo data in core audioJean Guyomarc'h2016-06-052-13/+4
|
* Eina promise: Fix broken return value.Tom Hacohen2016-06-051-1/+1
| | | | | | I broke it in dc73f6644e0ed8fdbd2c6c8187591fb7eb8027c7. Excuse of the day: I'm not working from my usual spot and there's screen glare here that made me not see the *. Good excuse?
* Generic modules: Fix out of source build.Tom Hacohen2016-06-052-1/+13
| | | | | | | Autotools really really really sucks. Because of the above, we need to manually list both source dirs and build dirs, because some of the include files are in the source dirs and some are in the build dir (generated).
* Eina promise: Simplify code and remove shadow variable.Tom Hacohen2016-06-051-2/+1
| | | | | There was no need for the extra variable. This also fixes a shadow warning.
* Eo: remove strict class checking for composite objects.Tom Hacohen2016-06-052-7/+0
| | | | | | | | | | When compositing objects, we were checking that class_of(B) is in A's inheritance tree before allowing attaching B as a composite object of A. This is wrong and breaks a few cases, for example: B extends a class that is in A's inheritance tree or B implements an interface that is in A's inheritance tree. Thanks to Marcel for reporting.
* Enable evas loaders by default, if dependencies are foundDave Andreoli2016-06-041-13/+37
| | | | I really cannot see why we should require to use --enable-feature on those, they should be safe.
* Fix report for image loadersDave Andreoli2016-06-041-4/+4
| | | | In the final report we want to show if the loader is enabled, not if it's wanted
* Fix building of librsvg if requestedDave Andreoli2016-06-041-1/+1
| | | | This typo was preventing the svg loader to be built in every cases
* ecore_cocoa: fix broken scrollingJean Guyomarc'h2016-06-041-0/+4
| | | | | | | | | | Evas events recently changed, and involved the use of the 'multi' field within a mouse mouve event. It was used afterwards for mouse scrolling, but since it was never set by ecore_cocoa, scrolling went broken... Fixes T3789
* elementary: remove redundant codeJean Guyomarc'h2016-06-041-6/+0
| | | | | | | The same checks are performed later on. There is no use doing it twice. Only affects Cocoa windows.
* ecore_cocoa: fix window hiding logicJean Guyomarc'h2016-06-041-1/+1
|
* ecore_cocoa: remove extra whitespacesJean Guyomarc'h2016-06-041-1/+1
|
* edje: don't return a boolean when a pointer is expectedJean Guyomarc'h2016-06-041-1/+1
| | | | Fix a warning thrown by Apple-llvm.
* elm_config: force icons in preview to keep aspect ratioDave Andreoli2016-06-041-4/+3
| | | | #SizeHintsMess... I really cannot understand why aspect_fixed is not respected :(
* Configure: 2 small in-string quote changesDave Andreoli2016-06-041-2/+2
| | | | This should be harmless and just fix syntax hilighting is some editors (geany at least)
* eina: Fix magic check for eina_promise_owner_buffer_getFelipe Magno de Almeida2016-06-031-1/+1
|
* eina: Fix EINA_MAGIC and eina_promise_then NULL checkFelipe Magno de Almeida2016-06-031-2/+14
|
* ecore: add a test for detecting the double free problem.Cedric BAIL2016-06-031-0/+35
|
* ecore: properly handle double free case of timeout promise.Cedric BAIL2016-06-031-27/+38
| | | | | | | | | The bug came from the fact we need to handle the destruction of the main loop which destroy the underlying timer. The event handler that catch the destruction of the timer can not make the difference between eo_del call from the timeout code and eo_del from the main loop destruction. By removing the event handler, the double free is properly avoided.
* ecore: use EINA_ERROR_PROMISE_CANCEL instead of a custom Ecore one.Cedric BAIL2016-06-033-7/+1
|
* ecore: do not generate error while rescheduling the last timer.Cedric BAIL2016-06-031-1/+2
|
* eina: protect promise death during callbacks cancel.Cedric BAIL2016-06-031-0/+2
|
* ecore: Ecore_Cb is used by elm_box.eo.Cedric BAIL2016-06-031-0/+1
|
* ecore: Efl.Timer should be Efl.Loop.Timer for coherence.Cedric BAIL2016-06-038-124/+124
| | | | | | As we add more object in the main loop, they can't live in the top namespace as they make little sense there (Efl.Fd !). For coherence, everyone should in the loop namespace, so move timer there.
* ecore: remove Ecore_Animator Eo object.Cedric BAIL2016-06-038-174/+45
| | | | This is only a legacy API.
* eina: Remove Eina_Promise* parameter to callbacks to promises in examplesFelipe Magno de Almeida2016-06-035-15/+15
|
* eina: Add NULL checks and EINA_MAGIC checks to promisesFelipe Magno de Almeida2016-06-032-2/+70
| | | | | Add NULL checks and EINA_MAGIC checks that avoid crashing when it shouldn't.
* eina: Remove more Eina_Promise* parameter in promise callbackFelipe Magno de Almeida2016-06-033-10/+10
| | | | Remove not very useful parameter to eina_promise_then callbacks.
* wayland_shm: Fix more dmabuf failure corner casesDerek Foreman2016-06-031-20/+32
| | | | | With the exynos allocator a failure can happen during a resize, and the resize path wasn't properly falling back to wl_shm buffering.
* psd_loader: Fix bad assumption about signedness of charsDerek Foreman2016-06-031-2/+3
| | | | | Whether "char" is signed or unsigned is architecture dependent, so if we know we need a -1 in a char type we must declared it to be signed.
* ecore_anim: Fix bad assumption about signedness of charsDerek Foreman2016-06-031-2/+2
| | | | | Whether "char" is signed or unsigned is architecture dependent, so if we know we need a -1 in a char type we must declared it to be signed.
* eina: Remove Eina_Promise* parameter in promise callbackFelipe Magno de Almeida2016-06-0312-55/+40
| | | | Remove not very useful parameter to eina_promise_then callbacks.
* eolian-cxx: Fix C++ example compilationFelipe Magno de Almeida2016-06-031-13/+9
|
* eina: Fix examples using new Eina_Promise semanticsFelipe Magno de Almeida2016-06-035-39/+35
|
* eina: Remove unnecessary indirection to promisesFelipe Magno de Almeida2016-06-0321-220/+554
| | | | | | | | | | | | | Now when dealing with pointer types, we will not get pointer to pointer semantics in callbacks and eina_promise_owner_value_set for Eina_Promise. It will work as expected: Eina_Promise_Owner* promise = eina_promise_add(); void* p = malloc(sizeof(T)); eina_promise_owner_value_set(promise, p, &free);
* autotools: use DISTCLEAN rules to properly destroy files.Cedric BAIL2016-06-031-12/+16
|
* ector: variable in _SOURCES do not work.Cedric BAIL2016-06-032-13/+9
| | | | This fix the left over etc .deps during make distcheck.
* wayland_shm: Add exynos allocator for dmabufDerek Foreman2016-06-033-0/+383
| | | | | Allows clients on exynos hardware to allocate GEM buffer objects to back DMAbuf buffers.
* wayland_shm: Abstract out dmabuf managementDerek Foreman2016-06-031-46/+132
| | | | | Split out the intel specific stuff into an abstraction in preparation for adding exynos support.
* Eina: Fix eina_promise_all refcount ordering problemLarry Jr2016-06-031-1/+1
| | | | | | The call to eina_promise_then steals the first ref'count, so it is possible that the promise is freed after the eina_promise_then, so we need to eina_promise_ref before eina_promise_then.
* evas: Get pixels from rendered 3D sceneOleksandr Shcherbina2016-06-037-5/+146
| | | | | | | | | | | | | | | | | Summary: Implemented interface Efl.Gfx.Buffer functions bufer_map/unmap for Efl.Canvas3D.Scene. Added function e3d_drawable_texture_rendered_pixels_get to module evas_gl_3d to getting pixels from FBO. Added wrappers for functions e3d_drawable_texture_rendered_pixels_get and e3d_drawable_texture_id_get to have possibility call it through engine functions. Reviewers: cedric, Hermet, raster, jpeg Reviewed By: jpeg Subscribers: jpeg Differential Revision: https://phab.enlightenment.org/D3978
* evas: fix huge memory leak for non-async renderingJean Guyomarc'h2016-06-031-0/+2
| | | | | | | | | | | | | | | So... I had issues with evas-fb engine which was massively leaking, one image per frame. After investigating a bit with @cedric on IRC, the reference count of the cache entries was always 2 before the engine dropped. So, for each frame with an animation, we could never drop a cache entry, leading to a trumendous amount of memory leaking. Now for non-async rendering, we copy the behaviour of evas_render_pipe_wakeup() which is called in async-mode, and actually drops a reference in the cache entry. Fixes T3763