Commit Graph

1308 Commits

Author SHA1 Message Date
Jean-Philippe Andre 29de62cd13 Evas: Fix no_render flag when in a map
no_render objects would still show up in a map surface
because of a different logic.
2015-07-15 17:51:18 +09:00
Daniel Hirt 74ad947ded Evas textblock: Clear unused paragraphs
This fixes a scenario in which paragraphs in the current layout still
store visual lines from the previous layout. This is possible if the
text uses an ellipsis format, allowing the layout work to stop at a
certain paragraph. This inconsistency affects some query functions that
consider lines which may be irrelevant in the current layout.

Test Case: see added test case to evas_suite.

@fix
2015-07-14 16:04:40 +03:00
Tom Hacohen d7a921788f Evas canvas3d: Fix reference to class in .eo file.
We should reference classes directly, not use 'Eo'.
2015-07-09 13:41:57 +01:00
Daniel Kolesa 18502b8429 efl: fix doc references across the tree to validate right 2015-07-08 15:13:26 +01:00
Tom Hacohen c1bd86b21f Evas line: Migrate Eolian file to use the Eolian types. 2015-07-07 13:55:14 +01:00
Tom Hacohen 824967457a Evas line: Remove obviously wrong default values. 2015-07-07 13:55:14 +01:00
Carsten Haitzler ec6ddf59e2 evas - image core - fix unloading of images to work again
i think this has been disabled for a while. image unloading is broken
- esp with gl enigne as due to async move it was effectively disabled.

this re-enables it. unloading is deferred with a managed list of things
needing unloading and then when any async sw renders are not busy any
more - do the unload then in the mainloop of all pending/flagged
images to unload

@fix
2015-07-07 21:38:21 +09:00
Jean-Philippe Andre 45cef3e0a5 Evas.Image: Fix legacy EAPI name
Thanks @kuuko for the report. Sorry for the breakage of Python apps.
2015-07-06 14:24:05 +09:00
Daniel Zaoui 2216ed6c85 Interfaces: fix event name
zoom,change is the name used in efl and elementary, not zoom,changed

@fix
2015-07-03 10:38:01 +03:00
Jean-Philippe Andre 225b33451b Evas.Image: Simplify logic (trivial change) 2015-07-02 15:47:25 +09:00
Jean-Philippe Andre 32dc8f092c Evas.Image: Deprecate some functions and remove from Eo
This patch deprecates the following functions:
- evas_object_image_data_convert
- evas_object_image_pixels_import
- evas_object_image_reload

I could not find any place where they are used.

The old documentation is kept in the header, but not as a doxygen
anymore.
2015-07-02 14:32:07 +09:00
Jean-Philippe Andre b5c9350805 Evas: Replace image_map_surface_free by common image_free
Those two functions were doing exactly the same thing[1], which
is free an image, so this commit only attempts to simplify the code
a little bit.

[1] Actually image_map_surface_free() might even not have worked
properly with cserve2 sw (calling unload instead of close).
2015-07-02 12:05:50 +09:00
Jean-Philippe Andre fd4e133cc1 Evas: Implement image_data_get for FBO images 2015-07-02 11:58:50 +09:00
Daniel Hirt e8afd5241c Evas Textblock: Add obstacle objects feature
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
2015-07-01 16:24:31 +01:00
Jean-Philippe Andre f4f808f25d Evas image: Remove useless piece of code
Not only is it useless, it is very likely to make the function call
fail (data_get is quite likely to fail with GL).
2015-07-01 20:46:34 +09:00
Jean-Philippe Andre 161822418a Evas: Make Evas.Image.save() work with all images
This includes proxies, 3d scenes and normal images.
There is still a problem as the GL engine returns NULL on
data_get.

This kinda goes against the EO API declaration as
eo_obj is used as a mutable argument, but internal data was
already modified before this patch.

TODO: Draw maps, filters, etc... in a dedicated surface to save
      them as they truly are (ie. filtered images).
2015-07-01 20:45:04 +09:00
Jean-Philippe Andre 7ea52e1bd8 Evas filters: Force filter redraw if object changed
Somehow I broke this when introducing the eo mixin.
This is what broke @cedric's work on the snapshot widget!

TODO: Verify that the contents changed, and not just X,Y.
2015-06-30 11:47:11 +09:00
Mike Blumenkrantz 508da27bb1 Revert "evas: add keysym member to key event structs"
This reverts commit b7c89d2325.

this was audited and found to be impractical due to portability concerns
2015-06-29 13:18:01 -04:00
Daniel Hirt 8202044890 Evas textblock: Fix it->x value during layout
This updates it->x when visiting each item in the line layout code,
as it was always 0, even when it was used during item rollback.
Fortunately, in the above case a 0 value was actually expected, so
this does not actually affect current behavior.

This fix is mainly for consistency and future development.
2015-06-29 16:50:32 +03:00
Daniel Hirt 0de8ebbb3a Evas textblock: Fix infinite loop case
This fixes a case with wrapping, where the text has a mixture of 'none'
and 'word' wrapping modes, and the layout function decides to
roll-back a few items.
The test case is added to the evas_suite.
This might not be a common case, or even a case we had defined a proper
behavior to, but since it causes an infinite loop, it needs to be fixed.

@fix
2015-06-29 16:43:49 +03:00
jiin.moon 739eb4bd0d evas: opaque value does not change even if image data be changed
Summary:
opaque value keeps previous image's value
when image data be changed by file_set/mmap_set api

@fix

Test Plan:
1) Make a evas rectangle object has color
2) Make a evas image object with jpg file.
3) Replace image data with png file by evas_object_image_file_set.

Reviewers: Hermet, cedric, jypark

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-06-29 14:56:23 +02:00
Tom Hacohen b360084d0d Evas textblock: Fix issue with line_coord_set and y before the first line.
Let's assume we have a textblock with one paragraph at y = 3 and h = 50
At the moment, passing 60 (after the paragraph) to line_coord_set picks
the last line, however passing 0, just fails. This fixes that.

Thanks to Vladyslav Shevchenko for reporting it in D2574.

@fix
2015-06-26 15:21:59 +01:00
Daniel Kolesa efc91df01a evas_canvas3d_material: convert docs 2015-06-26 14:35:39 +01:00
Daniel Kolesa b067b02b23 evas_line: convert docs 2015-06-26 14:00:36 +01:00
Daniel Kolesa c709f1dca2 eolian/generator: constify all prototypes for @const functions
Otherwise there would be conflicts in certain circumstances.

This also requires adding const on many existing functions,
and similar work is necessary in Elementary.

@fix
2015-06-25 12:18:43 +01:00
Jean-Philippe Andre c86a5edc9f Evas filters: Add @protected tag where applicable
The Evas.Filter interface is basically just an internal thing.
2015-06-25 14:36:09 +09:00
Jean-Philippe Andre d15308efef Evas filters: Add explicit exec flag in data_set
This flag should be set iif the string passed is to be executed
rather than assigned. This is used to pass complex arguments
as data, like tables (eg. color class).
2015-06-25 14:36:09 +09:00
Jean-Philippe Andre f4825006b0 Evas filters: Remove overrides of methods from Evas.Filter
Welp that was stupid to add them in the first place...
2015-06-25 14:36:09 +09:00
Jean-Philippe Andre 15afea293f Edje & evas filters: Properly pass data from EDC to Lua
Also fix a few issues
2015-06-25 14:36:09 +09:00
Jean-Philippe Andre 0e8f890dfb Edje & evas filters: Add extra data from EDC to Lua program
This also supports color classes (really rough implementation for
now, but the API should remain stable).

@feature
2015-06-25 14:36:09 +09:00
Jean-Philippe Andre 84e3dd5c34 Evas filters: Add name to the filters
Deep down internally there was already a name, but no API could
really set it properly.
Here Edje will set the name of the filter based on the part name
or the data item name if relevant.
2015-06-25 14:36:09 +09:00
Jean-Philippe Andre 29402b2ce9 Evas filters: Complete support for image filtering
Reusing the new EO mixin, complete the support for image
filtering. This now adds support for edje state inside
the image filter.
2015-06-25 14:36:09 +09:00
Jean-Philippe Andre 64fd278c62 Evas filters: EO-ify the filters API
This creates the new interface
 Efl.Gfx.Filter

And the implementation is a mixin (evas_filter_mixin.c):
 Evas.Filter

All the filter rendering code has now been moved to this
new file. TODO: Merge image filtering.
2015-06-25 14:36:09 +09:00
Jean-Philippe Andre d00378edcf Edje/evas filters: Add filter.source support
This should preserve ABI stability with earlier versions of
edje_cc while still providing more advanced control over
proxy bindings for evas filters from EDC.

Also fix proxy binding for filters.

@feature
2015-06-25 14:36:09 +09:00
Jean-Philippe Andre 93797e3b0d Evas filters: Create specific log domain
This will improve the debug output of evas and specifically
allow setting "evas_filter" log level to a higher or lower
value depending on what you are debugging :)
2015-06-25 14:36:08 +09:00
Jean-Philippe Andre 225c0f937a Evas filters: Pass edje state name & value to the filters
From Edje, pass the current state info (name and value) as well
as the next state and the transition position when applicable.
2015-06-25 14:36:08 +09:00
Jean-Philippe Andre 1b2819f2cb Evas filters: Implement __index for Lua buffer objects 2015-06-25 14:36:08 +09:00
Jean-Philippe Andre ffea07a049 Evas filters: Pass text colors to the parser
This does not implement the full feature yet (Lua variable
is not set). This commit also brings various fixes.
2015-06-25 14:36:08 +09:00
Jean-Philippe Andre d148c0f0d2 Evas filters: Fix runtime, allow state change on the fly
Now we're ready to implement runtime changes to the filters'
state (color classes, edje state, etc...), as the Lua function
will be run whenver required.
2015-06-25 14:36:08 +09:00
Jean-Philippe Andre 2faaef966e Evas filters: Add internal function _program_run
This will allow changing the state of the filter and re-run it
without re-creating the Lua_State object. This is to handle size,
color, animation state and scale changes (amongst other things).
2015-06-25 14:36:08 +09:00
Jean-Philippe Andre 8c47364846 Evas render: Fix rendering of objects with no_render
Well yeah, those objects should still be rendered in their
proxy or mask surface :)
2015-06-25 14:36:08 +09:00
Carsten Haitzler 7bb2871102 more evas render 2 work - should not affect normal behavior or code
paths unless turned on at runtime
2015-06-24 19:27:42 +09:00
Oleksandr Shcherbina c25900428d evas canvas3d: Correct Eolian namespace
Summary: Proceed fixing T2479

Reviewers: cedric, tasn

Subscribers: cedric, tasn

Maniphest Tasks: T2479

Differential Revision: https://phab.enlightenment.org/D2723
2015-06-19 10:39:58 +01:00
Chris Michael ac6a918644 evas-render2: Fix Coverity CID1306141: Dereference null return value
Summary: Coverity reports that eina_thread_queue_wait was returning
NULL and thus msg variable being used here causes dereferencing a null
pointer.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-18 10:24:40 -04:00
Oleksandr Shcherbina d409df1caa evas: change interface evas_3d to evas_canvas3d
Summary:
Regard to https://phab.enlightenment.org/T2479 it is need for right generation
Eolian files

Reviewers: cedric

Subscribers: cedric, tasn

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-06-17 17:52:17 +02:00
Cedric BAIL 9c36323c15 evas: properly handle cleanup case. 2015-06-16 17:23:04 +02:00
Jean-Philippe Andre 111e51a6ff Evas: Add "no-render" flag for proxy sources & clippers
Those objects should never be rendered on the canvas, even if they
are visible. On the other hand, they need to be rendered in mask or
proxy surfaces.

note: this patch includes some extra whitespaces changes :(

@feature
2015-06-15 16:59:41 +09:00
Ji-Youn Park 02faffe14b evas_event: evas_event_feed_mouse_cancel set EVAS_EVENT_FLAG_ON_HOLD
Evas_event_feed_mouse_cancel generates mouse up event if it meets situation witch mouse should be canceled.
but app also have to know this information. I add cancel information into evas up event generated by cancel function.
@fix
2015-06-12 23:10:07 +09:00
Subhransu Mohanty dc7611cd71 evas/vg : Fixed issue regarding geometry change of vg object. 2015-06-12 19:57:07 +09:00
Vaibhav Gupta a1545ec314 evas_smart: Add a check for zero size before malloc
Summary:
	Size may be zero while allocating interfaces private data,
	when NULL is passed in EVAS_SMART_SUBCLASS_IFACE_NEW for ifaces argument.

	If size is 0, then malloc() returns either NULL, or a unique pointer
	value that can later be successfully passed to free(). It is implementation
	dependent. This case would be likely to occur in case of smart classes with
	no interfaces.

@fix

Signed-off-by: Vaibhav Gupta <g.vaibhav1@samsung.com>

Reviewers: raster, Hermet, tasn, cedric

Subscribers: SanghyeonLee, sachin.dev, singh.amitesh, cedric

Differential Revision: https://phab.enlightenment.org/D2679
2015-06-12 09:47:13 +01:00
Daniel Kolesa 27237976ad eo: move all event doc comments to new syntax 2015-06-11 17:09:02 +01:00
Daniel Kolesa 786f848f67 evas,ecore_con: more struct/enum doc updates 2015-06-11 16:51:43 +01:00
Daniel Kolesa adbe4dcc06 edje,evas: convert type docs to new format 2015-06-11 16:14:37 +01:00
Tom Hacohen ec53cee9a6 Evas: Remove unused variables.
These were introduced in ed01a32c13.
2015-06-11 09:50:12 +01:00
Daniel Hirt ed01a32c13 evas: move evas_object_inject to super's ctor
Summary:
As we always call evas_object_inject in every Evas Object's ctcor,
it seems sensible to move this repeated bit of code to the super
(Evas.Object).

Test Plan: Expedite, Elementary_Test and pretty much everything

Reviewers: cedric, raster

Subscribers: JackDanielZ, cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-06-11 09:58:13 +02:00
Carsten Haitzler 4730afdba0 evas - eo canvas events - move viewport to last to match enums in legacy 2015-06-11 10:52:33 +09:00
Tom Hacohen 2605eb3c15 Evas: Fix abi break in Evas_Callback_Type
You are not allowed to insert elements into an enum, except for at the
end!!!

Spank spank spank.

Was introduced in: 86751fdbaf
2015-06-10 15:36:28 +01:00
Tom Hacohen d10f9733ac Evas canvas: Fix Eolian warnings (migrate types). 2015-06-10 15:32:29 +01:00
Chris Michael cd4bb6a84d evas: Remove unused variables
Summary: These variables are actually unused here, so remove them.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-09 09:08:47 -04:00
Carsten Haitzler 25983dcedd evas render2 work - begin to make rectangles deal with render 2 basic
infra
2015-06-09 17:34:39 +09:00
Stefan Schmidt b1709917c5 eavs_3d: Avoid enum check for < 0
Evas_3D_Mesh_Primitive is a enum starting from 0 so it never will be below 0.
Just as the compiler tells us. Remove unneeded check.
lib/evas/canvas/evas_3d_primitive.c:48:4: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits]
2015-06-08 17:09:38 +02:00
Avi Levin 24b786462a evas_clickable_interface: adding new event 2015-06-07 11:00:52 +03:00
Avi Levin 7d493fb420 evas: porting evas smart callbacks to eo 2015-06-07 11:00:52 +03:00
Tom Hacohen 20934fa03d Evas 3d texture: Fix some Eolian warnings. 2015-06-04 10:16:14 +01:00
Tom Hacohen 183541cc75 Evas image: Fix some Eolian warnings. 2015-06-04 10:16:14 +01:00
Tom Hacohen b9a3b06984 Evas canvas: Fix some Eolian warnings. 2015-06-04 10:16:14 +01:00
Cedric BAIL 408fc6237e evas: silence warning.
So I don't like this data being void and stride being in bytes, but changing it
for silencing a warning will be a massive change. I will put that on the major
cleanup that Evas_3D need to receive.
2015-06-03 18:17:23 +02:00
Ivan Furs a88aebe8cc evas: for aabb add interpolation frame when base frame is not found
Summary:
Old algorithm searched specified frame of the base frame and when it could not find the specified frame it ignored. So the bounding box was not synchronized with the object.
New algorithm always returns specified base frame or frame interpolation between the nearest base frames. That does synchronizes mesh object and his bounding box.

Reviewers: Hermet, cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-06-03 17:14:12 +02:00
Bogdan Devichev 8369dfd28f evas_3d: fix coverity scan CID 1302703 and CID 1302702
Reviewers: Hermet

Reviewed By: Hermet

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2613
2015-06-03 21:26:34 +09:00
Tom Hacohen 6190f3cb46 Edje object: Fix more Eolian warnings. 2015-06-03 11:30:41 +01:00
Dongyeon Kim 3e39bf3638 Evas GL: support surfaceless make current
Summary:
Evas GL now supports surfaceless make current, where
evas_gl_make_current can be called with sfc parameter NULL.
This closely resembles EGL_KHR_surfaceless_context extension,
where applications that only want to render to client API targets
can make current to NULL surface instead of creating a dummy egl surface.
@feature
2015-06-03 11:30:22 +09:00
Tom Hacohen 87e7d2f200 Eo types: Fix Eina.Rectangle's namespace. 2015-06-01 14:04:09 +01:00
Tom Hacohen 5e43550937 Evas table: Migrate types to .eo files. 2015-06-01 12:12:03 +01:00
Tom Hacohen 72488cb26b Evas box: Migrate (some) types to .eo files. 2015-06-01 11:47:37 +01:00
Tom Hacohen dd6bb93ba0 Evas textgrid: Migrate types to .eo files. 2015-06-01 11:33:59 +01:00
Tom Hacohen 37b130b934 Evas grid: Migrate types to .eo files. 2015-06-01 11:17:22 +01:00
Tom Hacohen 82f6dff7d7 Evas smart: Migrate types to .eo files. 2015-06-01 11:16:22 +01:00
Tom Hacohen 9eef6deea9 Evas polygon: Migrate types to .eo files. 2015-06-01 11:06:48 +01:00
Tom Hacohen 5a64c11bde Evas textblock: Migrate types to .eo. 2015-06-01 11:04:10 +01:00
Tom Hacohen b2370c4766 Evas text: Migrate types to .eo. 2015-06-01 11:04:10 +01:00
Tom Hacohen 49b2998bb4 Evas common interface: Add a workaround for Eolian issue.
This should be fixed properly once Eolian supports forward class
declarations.
2015-06-01 10:34:08 +01:00
Tom Hacohen 57e7af6673 Evas: Migrate more types to Eolian. 2015-06-01 10:34:08 +01:00
Tom Hacohen 79083ed3af Evas types: Fix inclusion of evas types from the right location.
My system was dirty and it was already installed in the right place.
Now it works as expected.

Reported on IRC by batden.
2015-05-29 16:42:34 +01:00
Cedric BAIL 0acf23857f eina: beginning of a generic quaternion API. 2015-05-29 17:20:29 +02:00
Tom Hacohen 8a6e542fef Evas map: Move opaque type definition to .eo. 2015-05-29 15:00:22 +01:00
Tom Hacohen edd361b420 Evas: Move evas aspect control to eolian and start using it. 2015-05-29 14:52:33 +01:00
Tom Hacohen 0574663780 Evas: Move evas coord to eolian and start using it. 2015-05-29 14:49:28 +01:00
Tom Hacohen 5aedcdb591 Evas object: Use correct type in .eo file.
When we want an Evas_Object in Eo files, we should use Evas.Object.
2015-05-29 11:39:03 +01:00
Tom Hacohen 52d998f475 Eo base: Remove the free_func parameter from key_data_set.
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
2015-05-28 17:47:59 +01:00
Mike Blumenkrantz 29cf9abfc6 evas: make image_size_get() return the actual image size
proxy/3d/etc images would previously return 0x0, breaking size calcs

@fix

@jpeg
2015-05-27 22:16:22 -04:00
Carsten Haitzler cc49c1702b evas - fix yuv support to no longer ignore 709 colorspace params
if yuou use 709 instead of 601 yuv (ycbcr) evas will just be wrong and
use 601. this fixes that and implements 709. it also fixes a scaling
bug for yuv in the gl engine. no one noticed but me, so i won't call
this a bug fix, and it can go into the next efl release - no need to
backport unless it actually bothers peolpe (which it seemingly doesn't)
2015-05-27 20:19:46 +09:00
Subodh Kumar 77e3ac7f82 Evas textblock: Add underline height support
Summary:
For showing text error like spell error thick underline is used hence added the underline height support.

@feature

Test Plan: test case added in evas textblock test.

Reviewers: raster, shilpasingh, tasn

Subscribers: govi, rajeshps, cedric

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

TAsn comment: I wonder if the format should be renamed to
underline_relheight instead of height. If you have any thoughts, please
let me know.
2015-05-27 11:18:19 +01:00
se.osadchy 684c51360f evas: fix color pick compatibility of Evas_3D with GLES.
Summary:
Use fourth component texture. Update mechanism generation pixels, scene renderer
to texture and geting color pixels from texture. Update shader for color pick.

Reviewers: Hermet, raster, cedric

Reviewed By: cedric

Subscribers: Oleksander, cedric

Differential Revision: https://phab.enlightenment.org/D2549
2015-05-27 00:31:07 +02:00
Bogdan Devichev 6dac83e643 evas: add API for creation Evas_3D node primitives.
Summary: Now mechanism of creation of primitives is similar to model loading.

Reviewers: Oleksander, Hermet, raster, cedric

Reviewed By: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-27 00:31:07 +02:00
Ivan Furs ab147386ad evas: fix errors when updating the bounding box of Evas_3d_Node.
Summary:
For calculation 'aabb' need  to know how mesh was transformed.
So for  primary data of mesh was calculate all transformation.

Reviewers: Hermet, cedric

Reviewed By: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-27 00:31:06 +02:00
Daniel Kolesa 9214fa3db9 eolian: disallow cyclic dependencies between .eo files
Eo files will now fail to compile if a cycle is detected.

This required some temporary changes in existing eo files
(we had 2 cycles) for which I added a FIXME (they do not
affect C generation).

@feature
2015-05-22 15:03:38 +01:00
MinJeong Kim 344f17a03d evas_object_textblock: fix dereference before null check
Summary:
Fix coverity CID 1270031 Dereference before null check
@fix

Reviewers: devilhorns, zmike, raster, tasn

Reviewed By: tasn

Subscribers: tasn, cedric

Differential Revision: https://phab.enlightenment.org/D2522
2015-05-21 08:48:56 +01:00
Mike Blumenkrantz b7c89d2325 evas: add keysym member to key event structs
@feature
2015-05-20 14:58:31 -04:00
Daniel Kolesa 378e161cd3 eolian: remove @const_get occurences in the EFL 2015-05-20 17:48:52 +01:00
Tom Hacohen 92fb2917cb Eo: Remove eo_error_set() and clean up finalizer()
This is another cleanup in perparation for the Eo stable release.
This is no longer needed thanks to the proper error reporting with
eo_constructor()'s new return value.

The finalizer change cleans it up a bit so it catches more cases/issues.
This also means that the finalizer cleans up the object in all cases,
and not only some.

@feature.
2015-05-20 16:25:38 +01:00
Tom Hacohen 6efbfe227a Eo: Add a return value to eo_constructor().
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
2015-05-20 13:03:24 +01:00
Daniel Kolesa 3df93cca7d eolian: Eina_Bool -> bool 2015-05-18 16:25:59 +01:00
Daniel Kolesa 058a9c9d88 eolian: new syntax for params/values/keys
Instead of "@in type name;" we now use "@in name: type;". This change
is done because of consistency with the rest of Eolian; pretty much
every other part of Eolian syntax uses the latter form.

This is a big breaking change in the .eo format, so please update your
.eo files accordingly and compile Elementary together with the EFL.

@feature
2015-05-18 16:14:31 +01:00
Amitesh Singh 86751fdbaf evas: New Evas Callback added when viewport is resized.
Summary: @feature

Reviewers: seoz, Hermet, cedric, raster

Subscribers: seoz, cedric, sachin.dev

Differential Revision: https://phab.enlightenment.org/D2526
2015-05-18 20:10:27 +09:00
ChunEon Park f3c78cd69e evas canvas: fix insane mouse move events on proxy source.
There is no need compare - transformed mouse pos and origin pos.
This compare just block the mouse move event trigger on source.

@fix
2015-05-16 00:34:28 +09:00
ChunEon Park 3c7188ec20 evas canvas: add exceptional handling in invalid input case.
@fix
2015-05-14 19:50:50 +09:00
Carsten Haitzler 8a101cd8f0 efl - add more evlog points
@feature
2015-05-14 17:35:22 +09:00
Carsten Haitzler f6a39ab571 evas grid smart - fix coord overflows when grid size and vsize are large
if your virtual size is fairly big AND your actual object size is also
big, you easily overflow a signed int for intermediate coordinate
calculations, resulting in seeing only a small fractin of your objects
correctly. this fixes that by expanding up to long longs internally to
allow for the added space needed for the multiplications

@fix
2015-05-13 22:25:09 +09:00
Daniel Kolesa 3dc27cb482 eolian: fix up remaining doc comments in the tree 2015-05-11 15:38:03 +01:00
Daniel Kolesa 8c51033d49 eolian: fix doc comments across the tree 2015-05-11 15:38:03 +01:00
Subhransu Mohanty d82c0ae1bf evas/canvas : Call correct engine function for setting clip color 2015-05-09 19:59:00 +09:00
ChunEon Park 1c063e85d2 evas vector: remove white trailings 2015-05-08 20:51:52 +09:00
Subhransu Mohanty 8f55ac7550 evas/canvas: Null check for base class data pointer. 2015-05-08 20:40:28 +09:00
ChunEon Park e08b942ffd evas vector: cancel the transformation when null is passed. 2015-05-08 20:38:56 +09:00
Daniel Kolesa ed0988a22d eolian: change all EFL .eo files to use new syntax for properties 2015-05-07 16:36:58 +01:00
Oleksandr Shcherbina d88ccf06a5 evas: use Evas_GL_image for generate texture unit for Evas_3D_Texture.
Summary:
Used engine function for load image/data and use texture unit through
Evas_GL_Image object
Used Evas_ColorSpace format instead Evas_3D_Color/Pixel format
Added transformation matrix for adjusting texture unit coordinates in shader
Added property in Evas_3D_Texture for mark possibility get texture without atlas
(see https://phab.enlightenment.org/conpherence/54/, I suppose it will done
after this patch)

Reviewers: Hermet, cedric

Reviewed By: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-07 09:53:09 +02:00
Jean-Philippe Andre 5209aaebdb Evas masking: Free mask surfaces during evas dump
On minimizing, free all mask surfaces. This could save a lot
of memory.

Also, write "proxy" COW only when there is a surface (the "proxy"
pointer itself is always valid and non-NULL).
2015-04-27 16:40:34 +09:00
Jaehwan Kim c3ae53bb9c evas_text: fix default return value.
@fix
2015-04-23 22:11:32 +09:00
Jean-Philippe Andre fb812c13b3 Evas render2: Fix clang warnings
More unused functions. Kept around for later debugging.
2015-04-21 20:11:01 +09:00
Tom Hacohen c7999fbf42 Evas 3d mesh: remove non-implemented functions from "implements".
They are not implemented, so they should not be marked as implemented.
Eo already properly handles functions that are not implemented, this is
completely unnecessary.
2015-04-20 15:00:40 +01:00
Jean-Philippe Andre 1dddbbd8f7 Evas: Remove callbacks in reverse order with callback_del
This function is deprecated, because del_full should be used instead.
Still, the documentation specifies in which order the callbacks should
be deleted.

Fixes T2077 (not really fixes according to the comment but fixes
according to the doc).
2015-04-20 16:41:12 +09:00
Subhransu Mohanty 451a15802a evas: update matrix calulation as the behaviour of eina_matrix api changed.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-04-17 10:52:28 +02:00
Sohyun Kim e48792a81e Evas textblock: remove freed item from the line list
@fix
2015-04-17 16:10:20 +09:00
Jean-Philippe Andre a871ac96a8 Evas masking: Skip GL fast path for border images
Right now the engines don't support mask tiles so we can't
just scale up an image on-the-fly when doing a masking operation.

Skip fast path and force render of border images into their own surface.
2015-04-17 09:33:37 +09:00
Jean-Philippe Andre 4227bae2b6 Evas render: Fix debug logs
Those are only printed out if REND_DBG is set to 1 in evas_private.h
--> Non functional change.
2015-04-17 09:26:49 +09:00
Oleksandr Shcherbina ee08fa9b1a evas: fix possible segfault in evas_3d_node_member_add/del.
Summary: @fix

Reviewers: Hermet, cedric

Reviewed By: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-04-16 19:21:44 +02:00
Jean-Philippe Andre 5e832dfa76 Evas GL: Disable direct rendering if there is a map
The engine itself (gl_generic) will detect whether the target
surface (canvas where to draw the gl stuff) is the window
backbuffer or not.
2015-04-14 21:19:13 +09:00
Jean-Philippe Andre 796a0d7d34 Evas GL: Fallback to indirect rendering if mul_col != 0xFFFFFFFF
@fix
2015-04-14 21:19:13 +09:00
Jean-Philippe Andre b0c6a32d68 Evas render: Fix double-clipping issue with maps
Situation:
 - Evas Object A has a clip C and a map M.

Problem:
 - Clip C will be applied once inside the map surface S and
   again when the surface S is drawn to the canvas.

Solution:
 - Track whether the current object is the mapped object
   or a child of the mapped object. In the first case,
   discard the clipper when rendering to the map surface.
   In the second case, the child's clipper is PROBABLY[*]
   inside the map, so it should be applied when rendering the
   map surface itself.

Note: This also applies to masks.

[*] This is clearly not the ultimate clipping fix.
2015-04-14 16:37:12 +09:00
Tom Hacohen 2da13de20a Evas object: verify the parent is valid and fail if not.
It seems like before the switch to Eo, all the object_*_add functions
had magic checks that only allowed non NULL Evas pointers to be passed.
Since we switched to Eo we apparently missed the early failure we used
to have, and we instead fail later. This patch should fix that.

Thanks to jaehwan for reporting.

@fix
2015-04-13 13:52:47 +01:00
Chris Michael 3eed18d231 evas-3d: Fix Resource leak from CID1271635
Summary: This fixes a reported resource leak (by coverity).
_pack_meshes_vertex_data allocates memory stored in 'vertices' however
vertices is never free'd unless count > 0

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-12 21:13:18 -04:00
Jaehwan Kim 0822485465 evas_object_box: add MAGIC_CHECK when it is added.
@fix
2015-04-10 19:37:59 +09:00
Jean-Philippe Andre 0a19a87c0e Evas image: Return proper path even with mmap
Since we're using a union (u.{f,file} we can't just
return u.file when the file was set as an mmap source.

@fix
2015-04-10 16:47:12 +09:00
Bogdan Devichev f8f118f058 evas-3d: T2226 (Evas Eet saver does out of range access) fixed.
Summary:
texcoord now is 2D vector

@fix

Reviewers: cedric, Hermet, raster

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2233
2015-04-06 14:13:30 +09:00
Oleksandr Shcherbina bc8dfbb1ef [evas/evas_3D] Billboard mechanism
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
2015-04-06 14:10:28 +09:00
Vincent Torri c8a9769665 Evas: remove warning while factorizing code 2015-04-05 11:30:56 +03:00
Subhransu Mohanty f4d325ee78 evas: fix memory leak in Efl.Vg.Base class. 2015-04-03 16:38:17 +02:00
Subhransu Mohanty 5c31036249 evas/canvas : bail out in case of empty or null dash.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-04-03 16:38:14 +02:00
Cedric BAIL 41a75f0b07 efl: follow Efl.VG naming by using bounds_get as an API name. 2015-04-03 16:38:08 +02:00
Cedric BAIL 990c088f6b evas: align naming with ector, use bounds. 2015-04-03 16:38:07 +02:00
Cedric BAIL 600e69d226 evas: implements efl_vg_bound_get in all Efl.VG object. 2015-04-03 16:38:04 +02:00
Cedric BAIL c1836b97ed evas: remove Efl.VG.Image for now as it was not implemented. 2015-04-03 16:38:00 +02:00
Cedric BAIL 2613d17844 evas: remove unused function, no need for untested code. 2015-04-03 16:37:59 +02:00
Cedric BAIL 0eeb19d688 evas: implement stack below and above get for Efl.VG object. 2015-04-03 16:37:58 +02:00
Cedric BAIL 1821aef0c6 evas: add forgotten static in some Efl_VG object. 2015-04-03 16:37:57 +02:00
Cedric BAIL 9e3cfef8d7 evas: add missing boung_get and above/below get. 2015-04-03 16:37:56 +02:00
Cedric BAIL 8288e0a880 evas: remove SVG loader code. 2015-04-03 16:34:27 +02:00
Cedric BAIL 013b18ea6a evas: removing the ability to load file in Evas_Object_VG for now.
Without events and animation it is not really useful and that can only be
done with a library on top of Ecore.
2015-04-03 16:34:26 +02:00
Subhransu Mohanty 1c093f3660 evas: fix EVAS_RENDERER_DEBUG_TIMING implementation for async rendering
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-04-03 16:34:15 +02:00
Subhransu Sekhar Mohanty e80a759139 evas: add legacy api for creating vg_shape and vg_container object.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-04-03 16:34:00 +02:00
Cedric BAIL 29aefe04ad evas: correctly handle redraw of changed tree of Evas_VG_Node. 2015-04-03 16:33:42 +02:00
Cedric BAIL de08a3bc04 ector: add reference point to define (0, 0) and don't repeat the same value everywhere. 2015-04-03 16:33:19 +02:00
Cedric BAIL 9f8c35002b efl: add Efl.Gfx.Shape.append_rect following SVG specification.
SVG rectangle can have rounded corner.
2015-04-03 16:31:53 +02:00
Cedric BAIL e99774946c ector: implementation of some common code in Ector.Renderer.Cairo.Base.
This require to make some class mixin instead of interface or abstract. So a lot
of class renaming is also necessary here.
2015-04-03 16:31:44 +02:00
Cedric BAIL cd1f09d359 evas: all color in evas are premultiplied, enforce with warning when not. 2015-04-03 16:31:39 +02:00
Subhransu Sekhar Mohanty 3dea7dbfaf evas: update and propagate Evas_VG_Base transformation. 2015-04-03 16:31:29 +02:00
Cedric BAIL 986704dfb4 evas: do not track change on root node. 2015-04-03 16:31:09 +02:00
Cedric BAIL ebfcfed59b evas: fix coding style. 2015-04-03 16:31:08 +02:00
Cedric BAIL ab1f6f7984 evas: set alpha to zero for Efl.VG.Shape.stroke_color. 2015-04-03 16:31:00 +02:00
Cedric BAIL eb2bd9a8d8 evas: move Evas.VG_* to Efl.VG.*
This also introduce legacy API for all of them.
2015-04-03 16:30:59 +02:00
Cedric BAIL dd1cae7329 evas: initial implementation of a dumb SVG parser.
This commit is experimental and may be rebased until usable.
2015-04-03 16:30:56 +02:00
Cedric BAIL 0a27241f61 evas: eo_data_scope_get will return random value in memory, need to always use eo_isa. 2015-04-03 16:30:54 +02:00
Cedric BAIL 6a90d24aab evas: Evas_VG_Root_Node parent will be NULL during destructor. 2015-04-03 16:30:53 +02:00
Cedric BAIL 457e550616 evas: implement render_pre due to our hack over Evas_VG_Container. 2015-04-03 16:30:53 +02:00
Cedric BAIL d6feb49c0c evas: don't duplicate entry in parent children list
eo_parent_set is always called, even in the constructor.
2015-04-03 16:30:52 +02:00
ChunEon Park 4e0b919a62 evas: ref/unref root node while it's being used by vg object.
This also remove dead code.
2015-04-03 16:30:49 +02:00
Cedric BAIL f2380b0920 evas: introduce begin and end operation on an Ector surface.
This is necessary for GL has you want to map once and run with it, but it
will also help the software backend to not remap the surface all the time !
2015-04-03 16:30:44 +02:00
Cedric BAIL 0f6328b04f efl: introduce EFL_GFX_CHANGED event and properly propagate up to Evas. 2015-04-03 16:30:42 +02:00
Subhransu Sekhar Mohanty 7ee3f8d952 evas: add documentation for Evas_Object_Vg class. 2015-04-03 16:30:38 +02:00
Cedric BAIL 32de8d9e5f efl: move Efl.Gfx.Gradient_* to Efl.Gfx.Gradient.* much nicer for bindings. 2015-04-03 16:30:35 +02:00
Cedric BAIL 1e18631554 evas: make Evas.VG_Shape use Efl.Gfx.Base.color_part for stroke. 2015-04-03 16:30:34 +02:00
Cedric BAIL d7f434986e evas: use Efl.Gfx.Base.color_part in Evas.VG_Node. 2015-04-03 16:30:33 +02:00
Cedric BAIL cd3f8db506 efl: provide Efl.Gfx.Base.color_part and implement it in top Evas_Object. 2015-04-03 16:30:32 +02:00
Cedric BAIL ac8d923090 efl: add path operation to Efl.Gfx.Shape. 2015-04-03 16:23:28 +02:00
Cedric BAIL 1fb52dbe71 evas: move Evas.VG to use Efl.Gfx.View. 2015-04-03 16:23:27 +02:00
Cedric BAIL a395f5ded5 efl: add Efl.Gfx.View and use it in Evas.Image. 2015-04-03 16:23:26 +02:00
Cedric BAIL 5f2527f791 evas: move Evas.VG to use Efl.Gfx.Fill. 2015-04-03 16:23:25 +02:00
Cedric BAIL 7ba7ed4a1c efl: add Efl.Gfx.Fill and migrate Evas.Image to it. 2015-04-03 16:23:24 +02:00
Cedric BAIL a38c037953 evas: make Evas.VG_Node inherit from Efl.Gfx.Stack. 2015-04-03 16:23:23 +02:00
Cedric BAIL 500fe6ef1b efl: add Efl.Gfx.Stack interface and update Evas_Object accordingly. 2015-04-03 16:23:22 +02:00
Cedric BAIL c1118e7282 evas: implement Efl.Gfx.Base in Evas.VG_Node. 2015-04-03 16:23:20 +02:00
Cedric BAIL 651436f410 efl: rename visibility to visible.
After discussion bindings and people in general prefer visible.

T2035
2015-04-03 16:23:19 +02:00
Cedric BAIL c08f8e26a6 efl: add Efl.Gfx.Base and fix inheritance for Evas_Object. 2015-04-03 16:23:17 +02:00
Cedric BAIL c000ee8099 efl: rename namespace Graphics to Gfx. 2015-04-03 16:23:16 +02:00
Cedric BAIL 2067e85d68 evas: use the new Efl_File mmap function correctly for Evas_VG API. 2015-04-03 16:23:14 +02:00
Cedric BAIL c2e75544e1 efl: move mmap API to be part of Efl_File class. 2015-04-03 16:23:13 +02:00
Cedric BAIL 28257ec8fe evas: fix warning due to forgotten return. 2015-04-03 16:23:12 +02:00
Cedric BAIL ba47b47eb2 efl: make path a property actually. 2015-04-03 16:23:10 +02:00
Cedric BAIL 091fd5f31d evas: handle setting sub VG object to NULL. 2015-04-03 16:23:09 +02:00
Cedric BAIL 4248bc2870 evas: actually return the right type and fix warnings. 2015-04-03 16:23:06 +02:00
Cedric BAIL 5aafae94f1 evas: actually we want the Ector_Renderer, not the Evas_VG_Node. 2015-04-03 16:23:04 +02:00
Cedric BAIL 502ac45916 evas: properly propagate Eina_Matrix from the VG scene graph to the Ector_Renderer. 2015-04-03 16:23:03 +02:00
Cedric BAIL 2cae706ab6 evas: start correctly implementing the render callback. 2015-04-03 16:23:00 +02:00
Cedric BAIL 6097178ec3 evas: start properly implementing render_pre for Evas_VG_Node. 2015-04-03 16:22:58 +02:00
Cedric BAIL 621d3b5660 evas: those function should have been static. 2015-04-03 16:22:57 +02:00
Cedric BAIL a00b6219fa evas: remove printf. 2015-04-03 16:22:56 +02:00
Cedric BAIL 6071e71e98 evas: cleanup parent handling of Evas_VG_Node. 2015-04-03 16:22:54 +02:00
Cedric BAIL f85f8135a0 evas: NULL is always needed as during destruction parent is set to NULL. 2015-04-03 16:22:53 +02:00
Cedric BAIL 09d7ffe520 evas: add fill and size definition for a VG scene graph. 2015-04-03 16:22:51 +02:00
Cedric BAIL 40e3240e6e evas: fix copy and paste mistake. 2015-04-03 16:22:50 +02:00