erroneous calls to engine_setup code if we check surface validity.
NB: Short Version: Don't reassign surface if we don't need to.
NB: Prior to this, during a call to ecore_evas_show we would always
Reset the evas engine data (which was basically triggering code to
tear down and reconstruct all the engine internals including the
buffers and the swapper). By checking surface validity first, we can
potentially avoid all that teardown and reconstruction Thus resulting
in faster "show" speed.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
NB: When trying to attach a buffer to a surface, there was a corner
case that could fail in that if we just had 'rects' but count was 0,
then the surface would not get damaged (essentially a call to
wl_surface_damage would get passed 0,0 as the size). This fixes that
problem in that if count is <= 0 now, then we'll damage the whole
surface.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
functions on it.
NB: Wayland (internal) functions typically do not do Any object
validity checking, so lets be proactive and do it here first.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
ecore_wl_globals_get before trying to use them.
After we have bound a text input manager, there is no need to keep
looping the globals, so break out.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
ecore_evas_object_cursor_set), assign the pointer properties to the
window structure so they can be applied on pointer_enter events.
NB: Phab T230
Signed-off-by: Chris Michael <cp.michael@samsung.com>
During a pointer_enter event, if the window was assigned a custom
cursor, respect it. By default we will still set left_arrow initially,
but if the window was assigned a custom cursor, use it.
NB: Fixes Phab T230
Signed-off-by: Chris Michael <cp.michael@samsung.com>
NB: This is used in a case where someone calls
ecore_evas_object_cursor_set on a specific window. The generic
pointer_enter code for a window initially sets the cursor to
left_arrow by default. When the above function is used, and a pointer
enter event occurs, the cursor assigned from the above function was
not being respected.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
due to code reuse and is not needed from the client side anyway).
Add function for setting "server mode" (this will allow us to avoid
any display_iterate calls which would block our compositor).
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Porting commit f10c108283d9b76708418ba172b9ff0b28a09cd6 to wayland
engine.
Added a feature to dump out a png image before calling SwapBuffers.
To turn on the feature, use the following env vars.
EVAS_GL_SWAP_BUFFER_DEBUG_DIR="dir_name" sets the name of the directory
that the files will be output to and enables the debug mode.
EVAS_GL_SWAP_BUFFER_DEBUG_ALWAYS=1 will enable the writing of the
files every frame. This in effect turns on the swap_buffer_debug
variable, which can be set on or off in gdb for debugging. This will
allow dumping of certain frames without having to dump out a ton of
files to track down one frame.
Added a feature to dump out a png image before calling SwapBuffers.
To turn on the feature, use the following env vars.
EVAS_GL_SWAP_BUFFER_DEBUG_DIR="dir_name" sets the name of the directory
that the files will be output to and enables the debug mode.
EVAS_GL_SWAP_BUFFER_DEBUG_ALWAYS=1 will enable the writing of the
files every frame. This in effect turns on the swap_buffer_debug
variable, which can be set on or off in gdb for debugging. This will
allow dumping of certain frames without having to dump out a ton of
files to track down one frame.
Share a byte with 2 matchs and use bitwise operations to read/write they states
is not much readable and easily could lead a issues.
Use a struct is much simpler and only will coast a half of byte per match.