Don't print messages from share common, that way we have no way to
know where it happens, moreover the binshare values may lack trailing
'\0'.
Also makes no sense to share the log domain. With separate domains we
can be more selective in what we log/debug.
SVN revision: 67418
This is a simple to use generic hierarchical data access. It includes
properties, children, reference counting and notifications (callbacks).
It can be understood in the same lines as GObject or PyObject, but I
believe the best usage is just to provide data models, not generic
Object Oriented Programming in C.
It misses most of documentation, although the important bits are
there. Need help here :-/
SVN revision: 67405
they are not so expensive and will help detect bugs.
also, safety can be disabled at compile time... if performance is so
critical.
SVN revision: 67393
library files should ALWAYS include config.h, they should not include
Eina.h using "<Eina.h>" to avoid messing with system's version.
Last but definitely not least: include safety checks BEFORE your local
header, otherwise the macros EINA_ARG_NONNULL() will remove every
check for null pointers! eina_safety_checks.h redefines it to empty so
compiler does not optimize these things.
SVN revision: 67392
This optimization is significant for rendering to a large surface
because it'l save an extra copy overhead as well as an extra rendering pass.
To enable it, you can give EVAS_GL_OPTIONS_DIRECT hint in the surface
config options_bits. The following conditions have to be met in order
for evas to render directly into the Evas' window. If they are not met, the
engine will fallback to rendering to an FBO as it normally does.
conditions:
1.) All the GL calls have to be called using the pixel_get_callback function.
This is necessary for the evas object order to be maintained.
2.) Alpha must be disabled on the image ojbect that renders evas_gl.
3.) No rotation allowed.
One way to override above condition is to set EVAS_GL_DIRECT_OVERRIDE=1 but
there is no guarantee in its behavior.
Currently, this optimization is added for gl_x11 engine only.
SVN revision: 67388
Make the functions static as well to avoid gcc warnings like this:
warning: 'ALPHA_SSE3' is static but used in inline function 'sub4_alpha_sse3' which is not static
Signed-off-by: Stefan Schmidt <stefan@datenfreihafen.org>
SVN revision: 67355
eet_data_image_jpeg_rgb_decode() did not had a warning the alpha
version did, as the code is very similar and the return pointer was
not used, make it just like rgb and return an integer.
SVN revision: 67345
This removes the annoying:
make[2]: warning: jobserver unavailable: using -j1. Add `+' to parent make rule.
and with the package name I can upload it easily to somewhere else.
SVN revision: 67343
This really just filters them out. The solution is not complete, nor is
it the best one. But this fixes the bugs for the meanwhile.
SVN revision: 67327
This should probably become the new standard for coords as it doesn't
clash with the damn y1 posix function.
Thasks to Gustavo for the naming.
SVN revision: 67325
We only check the value of references if EVAS_CSERVE isn't defined, so
no need to define it or assign it if EVAS_CSERVE isn't defined.
SVN revision: 67304
NOTE: it is worth enabling it and see EINA_LOG_INFO displaying how much memory
we are wasting. Should help tune our memory allocator usage.
SVN revision: 67296
Long time ago, in
http://www.mail-archive.com/enlightenment-devel@lists.sourceforge.net/msg32795.html
mail thread and IRC,
I talked with about problem of asynchronous event API such as
ecore_imf_context_commit_event_add,
ecore_imf_context_preedit_changed_event_add, so on.
In short, The problem is that key event and text_set APIs are processed
immediately, but commit event and preedit changed event is processed
asynchronously because those APIs add each event to ecore event queue.
To fix these problems, I've decided to create synchronous event APIs such
as ecore_imf_context_event_callback_add, del and call.
For considering compatibility, sync and async event callback functions are
used in xim and scim immodule.
SVN revision: 67290
be 1.1 (or 1.5) for the last release. too late. THIS is why i'm sick
and tired of all the bloody separate libs that have to be versiioned
and build and released separately. :( too many places to go fix up per
release.
SVN revision: 67284
Hello e people, i modified some comments to get less doxygen
warnings/errors.
Signed-Off-By: Guillaume Friloux <guillaume.friloux@asp64.com>
SVN revision: 67270
found was causing compiler optimizations to, in some compielr versions
and optimization levels, to skip a func in the eva stest suites...
which is wrong. no more pure mumbo. gone entirely.
evas_textblock_string_escape_get() was the one.
SVN revision: 67266
cannot depend on the order in which the interfaces are given to us, so
we cannot create the data_device until we have both the input device
and the data_device_manager. Fix that.
Add more dnd code (not complete yet because frankly, the way Wayland
handles dnd & selection code is crappy, stupid, and difficult to
implement).
SVN revision: 67247
Global shadow warnings are annoying and thus will be ignored at the moment,
There are other issues as well though, for example, not using cpp_token_file.
I don't know if that's intended or not, so I won't just suppress the warning.
SVN revision: 67242
divide each new functions to two part
which create ecore evas and create socket for upper layer.
socket: new and listen
plug: new and connect
SVN revision: 67238
allows us to multiple a minimim size explicitly for min size calc so
we can do things like have content slide open/closed properly.
SVN revision: 67197
Subject: [E-devel] [PATCH] fix build error of ecore_imf_xim when using --disable-xim option
Date: Mon, 9 Jan 2012 19:53:17 +0900
Hello, EFL developers.
When building ecore with --disable-xim option, build error occurs.
This patch will solve this build error problem.
Would you please review and apply in svn?
SVN revision: 67191
Add more work on dnd code (incomplete still).
NB: We will need to add a method to request non-argb surfaces. For
now, all surfaces are argb.
SVN revision: 67180
After we have set the new surface for the evas engine. Reason being:
The shell_surface_listener_configure event handles resizing the
ecore_evas. If that gets called Before we have set the new engine
surface, then bad crashes can happen.
SVN revision: 67161
if the eng setup has a NULL surface, and if the RenderEngine has an
existing surface, that means we are hiding/closing the window, and
thus should free the existing RenderEngine Window.
SVN revision: 67160
efficient storage with named access, can specify compare, alloc, free
and other operations for even better management.
no changelog/news as this is under eina_value, all new for 1.2 release.
SVN revision: 67155
to ensure backward compatibility. Previously, the user
simply declared a Evas_GL_Config object but this can
cause problems if more config options are added. So,
we have Evas allocate the config object for the user
so it can handle addition in the future.
Also, added some safety code around _extensions_init
SVN revision: 67141
Add a check for valid connection in ecore_xcb_icccm.c
NB: For some reason, XCB does not like ecore's timestamp which is
being passed in. Since all the calls to ecore_x_window_focus_at_time
are being passed the current timestamp anyway, just use
XCB_CURRENT_TIME until I have more available 'free time' to dig deeper
into this.
SVN revision: 67136
old version of this w/ the 3 includes Should be working, but I've
tested it on 2 machines now, and it fails on both with those lines in
there, so I am removing them).
Make wayland_egl engine Actually work and draw stuff now (too many
code changes to list them all separately). See http://i.imgur.com/i2eBE.png.
SVN revision: 67128
Nice type that even supports configurable operations such as compare,
free, copy and to_string.
the usual is also supported: provide no ops (operations) and memory
will be left untouched.
nice feature to dump as string :-)
SVN revision: 67109
Similar to list and array, but takes string keys instead of position.
It can convert to string, I've added tests for it, but hash algorithm
changes may break the simple comparison I did... and I don't want to
parse the string to be more accurate.
SVN revision: 67103
Similar to array, but less efficient as uses list nodes. If possible
values are stored on list->data itself, otherwise they are allocated
and the pointer goes as list->data.
SVN revision: 67096
Should be more portable and work with C++.
NOTE: I still see an aliasing break in eina_value_pset, but wasn't
able to figure how to solve it.
SVN revision: 67065
eina value is a generic value storage, it's quite efficient to space
(16 bytes) and speed (inlines for basic types).
It's basically a structure describing how to manage memory
(Eina_Value_Type), with default implementation for char, short, int,
long, int64_t (and unsigned variants), float, double, stringshare and
string.
If a type 'value_size' is smaller than 8 bytes, it's stored
inline. Otherwise a value is allocated and managed.
Most of the methods are inline, with special handling for char, short,
int... Then no extra calls are made, allowing the compiler to optimize
them.
For array of a single type it is recommend to use Eina_Value_Array, as
it will efficiently store and access members (just a char if subtype
is EINA_VALUE_TYPE_CHAR, etc).
It can copy itself, compare itself. Including arrays.
It would be nice to have something that converts between EET and this.
SVN revision: 67035
events).
Add big fat NB wrt potential 'hack' (works around screen garbage on
resize).
Add evas damage rectangle on resize.
Do surface_damage before surface_attach.
Prevent compositor crash on resize by checking width/height <= 0.
Don't do a resize of the ecore_evas unless the event matches.
SVN revision: 67013
It is an inline array, that is, the members are actually in the
allocated buffer, as opposed to a pointer to its data.
It can be used to manage array of integers, floats or other structures
without fragmenting memory.
The lookups should be fast as memory is linear, then CPU prefetch can
kick in and bring data to cache before it's used.
SVN revision: 67003
Add variable to store what button was pressed (part of focus issue
fixes).
Fix focus handling (see comments about wayland pointer focus).
SVN revision: 66994
On macosx i386, that code fails because even though __VEC__ is defined,
the compiler doesn't understand the 'vector' keyword (that macro is
irrelevent here). So there was no way to make evas compile for ppc if
altivec was not supported by the compiler.
SVN revision: 66966
This is so that future scripts will still work with old libraries,
and lets us add the "host can provide Lua API" feature soon.
Also some more comments.
SVN revision: 66961
We must check for cflags/ldflags and evil/escape libs before looking
for headers (like sys/mman.h) because they could be provided by one
of those libs. We must also set CFLAGS/LDFLAGS/LIBS variables to the
EINA_CFLAGS/EINA_LDFLAGS/EINA_LIBS vars so they get picked up properly
SVN revision: 66954
NOTE: it's just a partial revert of previous patch by
raster. Without that, some text were flickering going
on and off for sometime. I didn't take the time to
understand why, but by forcing the recalc it permanently
solve the issue.
SVN revision: 66903
NOTE: I am still wondering what is the cost difference between
forcing a request to eet_open and calling stat. If someone has some
time to benchmark, feel free to do so and report on e-devel ml.
SVN revision: 66902
* This feature requires libOSMesa to be installed.
One caveat with OSMesa is that a surface config (ie. Depth Buffer and etc)
is associated with a context rather than a surface, which is the case
in EvasGL. So for now, when a user specifies a surface config, it gets
associated with the first context that the surface does a make current to.
For typical usage case, this shouldn't be a prolem. Will need to fix it
eventually.
SVN revision: 66896
It is possible that several process want to show same canvas.
For support this, I changed Ecore buffer canvas to server(socket)
If some application want to show this canvas,
it create plug image object.
SVN revision: 66892