had to add eina_init() and shutdown and init refcounting and log
domain creating and add a macro.. so i can finally use it? eina being
included here actually was never needed... but since include was there
i could use it...
just saying - using eina_log is not convenient. it doesn't save time.
it's benefits are dubious (knowing what envv ar to set to what values
to get log output is black magic as u need to know specific log level
values and log domain names which u only find out by digging thru
code). my point -> if u want eina_log used more.. it needs to be AS
EASY as the printf. :)
SVN revision: 64937
Also fix up some warnings pointed out by Mike Blumenkrantz.
I'm using the "I committed this from my USA server to sneak it past the deadline" excuse. :-P
SVN revision: 64857
There was a possible segfault because we don't check if the current item
is a text item or a format item. I just removed the loop which triggered it
because it's not needed anyway, and now it works. Removing the loop also
let me remove some code that was only needed in the case of a loop.
SVN revision: 64816
Subject: [E-devel] [ecore_file] Check a return value of
ecore_con_url_get()
_ecore_file_download_curl() does not check return value of even if
ecore_con_url_get(), it can be failed.
I add a simple error checking.
Please review this patch.
SVN revision: 64795
Fix multiple storage bug.
* __forceinline is the equivalent of __always_inline__ on Windows. It has
'extern' as storage, so static must not be used with it
* use __always_inline__ and not always_inline as attribute value instead.
No need to add storage class with __always_inline__ too.
* static inline is fine
SVN revision: 64767
Subject: Re: review request : ecore x patch for X Gesture extention
Do you remember that I told you X gesture extension patch for ecore x ?
I’d like to put the attached patch to ecore_x in upstream.
This patch is just for initializing/receiving X gesture extension stuff.
Would you please put this in SVN ? : )
Thanks and regards,
Sung-Jin Park
SVN revision: 64732
From: Govindaraju S M <govi.sm@samsung.com>
Subject: edje multisense patch for sound sample, tone and haptic play
... This is the beginning of sound (and haptic) support in Edje - it
works, but only at certain basic sample playback levels. more will come.
SVN revision: 64731
Currently, when the part in edc move by transition, it moves from the
one of the states to another of the states even if it is ainimating.
We need it to move from current position, because the animation is not
natural and smooth. So I made the "CURRENT" option.
SVN revision: 64675
* src/lib/evil_util.h:
Add evil_utf16_to_utf8() function, display error messages
and fix a bit the documentation of the other conversion
functions.
SVN revision: 64636
Subject: Re: [E-devel] [PATCH] Fix the bug that user cannot input key
At this moment, space is processed in case of WM_KEYDOWN and WM_CHAR.
Therefore, 'space' key is processed twice, it makes bug.
In previous my patch, I changed keyname and string wrong.
I send the revised patch again.
(also applied to wince)
this is am improvement.. but its not all "right" yet. :(
SVN revision: 64597
Subject: [E-devel] Small patch with ecore_con_url.
When I tested with elementary map, there is too many logs on console.
It makes me difficult to distinguish normal logs that I want to debug.
:'-(
It's libcurl's internal log for representing progress bar like this.
-----
downloaded : 343 / 363
% Total % Received % Xferd Average Speed Time Time Time
Current
Dload Upload Total Spent
Left
Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:--
--:--:--
0
downloaded : 343 / 362
% Total % Received % Xferd Average Speed Time Time Time
Current
Dload Upload Total Spent
Left
Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:--
--:--:--
0
downloaded : 343 / 361
% Total % Received % Xferd Average Speed Time Time Time
Current
Dload Upload Total Spent
Left
Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:--
--:--:--
0
downloaded : 344 / 365
downloaded : 345 / 365
downloaded : 346 / 365
downloaded : 347 / 365
-----
So, I want to remove this log.
And I look around ecore_con_url's code.
Then I found solution for it.
SVN revision: 64596
Currently, when the part in edc move by transition, it moves from the
one of the states to another of the states even if it is ainimating.
We need it to move from current position, because the animation is not
natural and smooth. So I made the "CURRENT" option.
And I removed the unnecessary tab for indentation.
SVN revision: 64545
The reson why I add this is for communicate with X in async mode.
For example, If applications call elm_win_rotation_with_resize_set API
when they start run and rotation mode is set.
ecore size doesn't changed yet, so it make elm window size to 1
becaues elm window's resize function use ecore_evas_geometry_get API.
so I add new api help upperside get info related with recently request geometry
SVN revision: 64492
Subject: [E-devel] [E-Devel][Patch] Evas GL Color Format Enum change
(and ElmGLview changes accordingly)
I'm submitting a patch that changes the color format for Evas GL.
When I first wrote Evas_GL, I just had EVAS_GL_RGB_8 and EVAS_GL_RGBA_8 and etc
but it was misleading for some people. It was more of a filler since I couldn't decide on
a name. I'm finally changing it to make it more clear.
SVN revision: 64491
Nothing changes, only making the ecore fb engine to send keyboard and
mouse events using ecore_input_evas, instead of its own ecore events.
Patch for SiT.
SVN revision: 64447
There are two main reasons for disabling this now:
- it's not working, some problem with an assertion of ecore_lock is
making the program abort;
- it's wrong, mouse move events can only be filtered out if they are
received from an absolute axis device (touchscreen and so), not
relative ones, like mouse or touchpads.
Patch for SiT.
SVN revision: 64444
elm_entry_autocapital_type_set API is high level API to call ecore_imf_context_autocapital_type_set.
Application programmer can choose the type of autocapitalization such as
WORD, SENTENCE, ALLCHARACTER through this API.
elm_entry_input_panel_enabled_set API is for setting whether input panel
(virtual keyboard) should be appeared when entry has a focus or pressed.
It can be used by dialer or calculator application programmer because those
application prefer to use its keypad NOT virtual keyboard supported by system.
They want to use entry to show the cursor for providing the cursor handling
method but don't want to appear system keyboard.
SVN revision: 64423
Subject: [E-devel] [Patch] [Evas] Patch to provide information of
touched points
Hello,
I made a new patch to get information of current touched point instead
of Touch Event.
I added touch_points (Eina_List) to the Evas structure and it maintains touched points on the evas.
New touched point is added to the touch_points when we get Mouse_Down and Multi_Down,
touched point is updated when we get Mouse_Move and Mult_Move,
and touched point is removed when we get Mouse_Up and Multi_Up.
The each touch point has coordinate, id and state information as follows:
id - identifier. 0 for Mouse Event and device id for Multi Event. coordinate - (x, y) coordinate of point.
state - state of point. type is Evas_Touch_Point_State enum.
(EVAS_TOUCH_POINT_DOWN, EVAS_TOUCH_POINT_UP, EVAS_TOUCH_POINT_MOVE,
EVAS_TOUCH_POINT_STILL, EVAS_TOUCH_POINT_CANCEL)
There are 4 new APIs to get touch point's information as follows:
unsigned int evas_touch_point_list_count(Evas *e);
void evas_touch_point_list_nth_xy_get(Evas *e, unsigned int n, Evas_Coord *x, Evas_Coord *y);
int evas_touch_point_list_nth_id_get(Evas *e, unsigned int n);
Evas_Touch_Point_State evas_touch_point_list_nth_state_get(Evas *e, unsigned int n);
I added APIs to get each information instead of exposing whole
structure to make it easy to expand in the future as you mentioned in
the below e-mail :)
SVN revision: 64373
CC evas_cserve_tool.o
evas_cserve_main.c: In function ‘message’:
evas_cserve_main.c:993:14: warning: braces around scalar initializer
evas_cserve_main.c:993:14: warning: (near initialization for ‘lopt.degree’)
evas_cserve_main.c:993:14: warning: excess elements in scalar initializer
evas_cserve_main.c:993:14: warning: (near initialization for ‘lopt.degree’)
evas_cserve_main.c:993:14: warning: excess elements in scalar initializer
evas_cserve_main.c:993:14: warning: (near initialization for ‘lopt.degree’)
evas_cserve_main.c:993:14: warning: excess elements in scalar initializer
evas_cserve_main.c:993:14: warning: (near initialization for ‘lopt.degree’)
Signed-off-by: Mike McCormack <mikem@ring3k.org>
SVN revision: 64310
libpng 1.2.8 does not have the symbol png_set_expand_gray_1_2_4_to_8.
It seems that 1.2.10 has no problem, so we check for libpng >= 1.2.10
and we drop libpng 1.0.*
SVN revision: 64303
This was causing the fb engine to draw incorrectly when the virtual size
was different from the size (xres != xres_virtual). For example, it
happens an additional monitor is plugged into a notebook.
Patch for SiT.
SVN revision: 64259
Subject: [E-devel] [Patch] change rel1.to to default when using group
inherit
When using group inherit, if rel1.to is set in parent group, we cannot change the part name
of rel1.to to default (the default is that dont have the part name) in child group.
So I changed edje_cc_out.c. After patching, we can change rel1.to to
default by using "". (ex > rel1.to: "";)
SVN revision: 64171
Subject: [E-devel] [Patch] Add scale down decoding feature to evas png loader
I add scale down decoding feature to evas png loader. 5515X3986 size png image need 80~90M memory,
but scale down(scale num=2) option can reduce memory to 25~30M.
I use down sample method for scale down.
(there is more efficient algorithm for scale down, I'll add this to my
todo list)
SVN revision: 64170
Subject: Re: [E-devel] [Patch] Implement scale down decoding feature of bmp loader
I implement scale down decoding feature of bmp loader using down sample algorithm.
Desktop have low risk to go wrong memory problem during big image decoding,
but mobile device is different.
Raster said it is life (meet memory problem during big image decoding),
and it is enough to return decoding fail.
But I think it seems a bit harsh, because 2 or 3 bmp image (5000X5000 size: for example)
can cause application close because of memory lack.
SVN revision: 64163
Subject: [E-devel] [Patch] modify gl engine's animated function
related with cache entry
I modified the gl engine code related with animated images
This is very trivial. Evas image object passes images to the engine.
In the software engine, it is a cache entry , but in the GL engine, it is
an Evas_GL Image. So I modified the gl engine code to get the cache entry
from the gl image.
SVN revision: 64143
Subject: Re: [E-devel] [E-Devel][Review][Patch] Evas GL Extensions + a
bug fix
Here's an initial attempt at the GL extensions issue for Evas GL.
I have been in discussion with a few EFL developers regarding how we should
provide extensions. Essentially, there are two ways to go about doing this.
1. provide evas_gl_proc_address_get() function as it is done in other
glue layers
2. provide all the extension functions in the EVAS_GL_API struct.
#1 approach is how it's done in other glue layers and the driver implementor can
provide new extensions easily. It is however pretty annoying to get the
function prototypes right and use the function pointers and etc.
#2 approach provides all the extension functions in the struct so it's
definitely easier to use. Adding new extensions can be a pain as people may
have to wait for new version releases.
For now, we thought it was OK to just throw them in the struct as in
#2 and try it out. So, I've implemented this approach. As for the extensions,
I've basically included all the extensions in gl2ext.h as EvasGL currently
provides all the GLES 2.0 functions. In order to display the right
information, I had to override glGetString() with GL_EXTENSIONS as parameter to properly
display the supported extensions.
Also, I've added a few EGL extensions that have been
modified for EvasGL use. For example, eglCreateImage/eglDestroyImage has been
defined as folllows.
EvasGLImage (*evasglCreateImage) (int target, void* buffer, int*
attrib_list); void
(*evasglDestroyImage)
(EvasGLImage image);
const char *evas_gl_string_query() function was added to return a string of
supported EvasGL extensions. So essentially, a user can search this string to see
if the desired extension is supported. if it is, he can use the functions. He can
always check if the function pointers are NULL as well.
Take a look at the pach and let me know what you think.
______________
While I was adding the extension code, I've added a few fixes/ changes
to the EvasGL.
1. glDeletBuffers bug
- When I wad destroying evasgl context, I was deleting the context FBO with
glDeleteBuffers instead of glDeleteFramebuffers. This code in effect was
deleting BOs in other contexts and we had some funky behaviors as a
result. The
bug has been fixed.
2. make_current
- I've made some changes to the make current code and also added a resource
context to the engine data. the resource context is used for creating surface
texture/ fbos when surface/ context is created. Before, i was using evas'
context but thought it'd be a good idea to use a separate context.
SVN revision: 64139
Sorry mate, but they broke API without bumping version, that's why I
didn't do this myself. You should probably add your version of harfbuzz.
This reverts commit 64057.
SVN revision: 64134
"... I've created a resource context per thread using TLS. Since there is no
TLS support in Eina, I've added 4 APIs for that as well. Another patch has
been submitted but i'll just include it in here as well. ..."
SVN revision: 64120
You can't compile a gl_common .c file based on whether or not the SDL
header was included. The .c file will result in only one .o and since
the Evas_Engine_Sdl.h is not included by evas_gl_context.c itself, then
that ifdef will never be true.
gl_common should request a callback function pointer from the evas engine
for doing symbol resolution. This needs a refactor.
SVN revision: 64086
Rather than trying to avoid removing the list element that is
currently being processed, keep two lists and move elements
to the processed list before recalculating them.
Remove items from the list head only, and always append them
to the tail.
Use the fact that an item can be removed from a clist without
needing to know which list it is in.
Signed-off-by: Mike McCormack <mj.mccormack@samsung.com>
SVN revision: 64030
A clist is an inlist with the following features:
- allows removal of items without knowing which list they are in.
- Two pointers per list item & list head
Signed-off-by: Mike McCormack <mj.mccormack@samsung.com>
SVN revision: 64007
perfect" with 90 degree rotations. i really should have actually
special cased them, for for now i made the generic routine try and punt
out the right numbers.
SVN revision: 63986
Add a new ecore exe flag, ECORE_EXE_TERM_WITH_PARENT,
that will operate on child process,
sending a SIGTERM when parent process dies.
SVN revision: 63915
SVN revision: 63877
Reverted due to the following build failure:
eina_main.c:117:16: error: conflicting types for ‘_eina_tracking_lock’
../../src/include/eina_inline_lock_posix.x:83:29: note: previous declaration of ‘_eina_tracking_lock’ was here
make[3]: *** [libeina_la-eina_main.lo] Error 1
_eina_tracking_lock is used for implementation of Eina_Locks, so cannot be an Eina_Lock
Signed-off-by: Mike McCormack <mj.mccormack@samsung.com>
SVN revision: 63904
EWS is meant to run in FB or other systems without actual windows, but
as we test on X11 let's forbid to change the resolution.
One is still able to do it using ecore_evas_ews_setup().
SVN revision: 63860
The old version works because in every function in which
this macro is used ``l'' is the length and ``d'' is the
destination. This patch prevents future headaches when
those constraints no longer hold.
Patch by: Jim Kukunas <james.t.kukunas@linux.intel.com>
SVN revision: 63856
EWS is a new Ecor_Evas engine that builds on top of other engines. It
will create a backing store Ecore_Evas and ecore_evas_ews_new()
windows are created in it as images, but transparent to the outside
users (similar to buffer's ecore_evas_object_image_new()).
It provides a basic windowing system, with a known background object
that can be changed to your pleasure, and issue Ecore_Events to notify
of new windows and changes like movement, etc. Then you can write a
simple window manager based on it. (See example, Elementary will
contain one as well).
Backing store is determined by your best engine (as in
ecore_evas_new()) or specified with ecore_evas_ews_engine_set() or
environment variable $ECORE_EVAS_EWS (format:
engine-name❌y:w:h:options). The size can be set with
ecore_evas_ews_setup().
SVN revision: 63848
2011/9/30 Jaehwan Kim <jae.hwan.kim@samsung.com>:
>
> I found some bugs in edje_cc_handlers.c.
>
> One is about data.item. It is saved in hash list.
> When it is saved, I freed the memory of the key.
> But the memory is used. so I deleted the free(key).
>
> Second is it is possible in
st_collections_group_parts_part_description_state.
> So I changed the location of the conditional statement.
>
> Please apply this patch :)
>
> Jaehwan Kim.
SVN revision: 63822
NOTE: we need the help of the window manager to make this
really work. So for the moment, it half work. As soon as I
hack E17, the Xv fast path for Emotion will only work when
used with E17 and it will fallback to canvas inlined rendering
in other case.
SVN revision: 63802
Subject: [E-devel] [Patch] Evas touch event patch.
Nice to meet you.
I'm Eunmi Lee, developing mobile web browser and working on WebKit EFL port.
I need new type of event for touch, so I've made patch to add
EVAS_CALLBACK_TOUCH event to the evas.
I will explain history of this patch.
Currently, many web applications and sites use TouchEvent and they can
do everything(scrolling, zooming and so on) like native application
using TouchEvent.
So, I'm also want to provide TouchEvent for web in the WebKit EFL port,
but I got a problem during making TouchEvent because EFL's touch
event's structure (Mouse, Multi Event) is different from Web
TouchEvent's one.
Let me explain about Web TouchEvent firstly.
Web TouchEvent is consist of type and touch points list simply.
There are 3 kinds of type.
TouchStart: Happens every time a finger is placed on the screen.
TouchEnd: Happens every time a finger is removed from the screen.
TouchMove: Happens as a finger already placed on the screen is moved
across the screen.
for example, we can make (1 finger starts to touch), (2 fingers are
moving), (1 finger is released duirng 3 fingers are moving) and so on.
You can see the detailed information in the following url:
http://www.sitepen.com/blog/2008/07/10/touching-and-gesturing-on-the-iphone
However, EFL's touch event is consist of six kinds of type :
MOUSE_DOWN, MOUSE_UP, MOUSE_MOVE, MULTI_DOWN, MULTI_UP, MULTI_MOVE.
So, I have to make a converter to make web touch event from EFL's
touch event.
You can reference attatched image file : evas_touch_event.png.
To tell the truth, converting code is not a big one.
But, I want to reduce this additional job and make code simple.
In the WebKit QT port, they don't have to make converting code for
TouchEvent,
because they have QTouchEvent, it has type and touchPoints list and
they can be mapped to Web TouchEvent one by one.
I think iPhone and Android also have such kind of event.
That's all why I want to add new touch event type to the evas.
about my patch:
- EVAS_CALLBACK_TOUCH event is added
- touch_points Eina_List is added to the Evas structure to maintain
current touch lists.
- process MOUSE/MULTI UP, DOWN, MOVE to make TOUCH event.
It is my first time to modify eves codes and actually I don't know too
much about evas.
So, I will be grateful if you send any feedback and comments.
SVN revision: 63796
It seems that depending on the system, vlc can't use a NULL pointer to
the pixels where it should write its data.
So a small amount of memory should be allocated and passed to its
rendering callbacks (specifically, the lock callback) when the file is
being opened and decoded for the first time. Then this memory can be
freed, since the real rendering will happen on the shared memory area.
SVN revision: 63777
Info added includes: cursor position of the action, content related to the
action, and the action that happened (added/removed).
Also fixed tab insertion to delete the current selection.
SVN revision: 63773