This fixes the build for Windows. Thanks @vtorri for the report.
I'm not using "unsigned int" as uint was mostly used like DATA32,
ie. color data (one pixel color or a pixel buffer).
The original plan was to have two different surfaces for GL and SW,
but this is probably not going to happen anytime soon. So, move
the implementation back to lib/ector. This avoid a file duplication.
Rename a few things:
- draw helper -> efl_draw
- Ector_Rop -> Efl.Gfx.Render_Op
- ECTOR_ bla bla -> DRAW_ bla bla (base pixel ops)
- ector_memfill -> draw_memset32 (and invert arg order to match memset)
The main rasterizer file is now draw.h in static_libs/draw
This is a non functional change, simple code refactor.
Ector Surface now inherits from Ector Buffer, and the current
two renderers (SW and Cairo SW) use Ector.Software.Buffer
implementations for pixel surfaces.
Basic pixel handling is merged and will allow easy extension
(color conversion, etc...).
Buffer classes are Mixins to be fully implemented by the final
class, such as: Ector.Software.Buffer, Ector.Software.Surface
or Ector.Cairo.Surface.
This is a large ugly commit. Sorry.
The code is quite a mess right now.
all we need to do for image transformation such as rotation or flipping in gl
is to map the vertices of source image to destination in a changed order.
this commit not only enhances readability but also fixes bugs in rotation.
@fix
Summary:
Add uniform varialble uColorTexture. Generate sampler count for textcolorpick
and pass to renderer for bind additional texture unit to gl.
It can be used for different 3D effects - blur, wave distortion, heat haze, etc.
T2761
Reviewers: Hermet, raster, cedric
Reviewed By: cedric
Differential Revision: https://phab.enlightenment.org/D3372
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
In case there is connection between a server and some client,
show/hide does not work properly.
If there are clients need to show,
this patch make it hide operation will not work even if get the hide signal
@fix
Reviewers: jypark, Hermet, cedric
Subscribers: Hermet, cedric
Differential Revision: https://phab.enlightenment.org/D2962
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Move common part to a separated document.
Make code more readable using smaller functions. (from Task T2713)
Reviewers: cedric, raster, Hermet
Subscribers: artem.popov
Differential Revision: https://phab.enlightenment.org/D3373
- Ecore_Cocoa_Cursor enum which references system cursors;
- API to show/hide cursor: ecore_cocoa_window_cursor_show();
- API to set system cursor: ecore_cocoa_window_cursor_set();
- Ecore_Evas interface to get Ecore_Cocoa_Window from Ecore_Evas.
@feature
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
We have to use void in a function declaration if we want no function
parameters. Using just empty parenthesis means the function takes an
unspecified number of parameters.
We had it correct for most declarations and this series fixes it for
the rest.
We have to use void in a function declaration if we want no function
parameters. Using just empty parenthesis means the function takes an
unspecified number of parameters.
We had it correct for most declarations and this series fixes it for
the rest.
Summary:
The OpenGL functions assigns a value to the local variable. However,
in case of error it would take the uninitialized garbage value. So, the
correct solution would be to initialize it to 0.
Signed-off-by: Deepjyoti Dutta <deepjyoti.d@samsung.com>
Reviewers: Hermet, singh.amitesh, raster, jpeg
Reviewed By: jpeg
Subscribers: yashu21985, mvsovani, alok25, sachin.dev, cedric
Differential Revision: https://phab.enlightenment.org/D3375
Summary:
I thought its better to fail and return null if realloc fails than to
continue. So returning by closing all openend file.
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: cedric, illogict
Differential Revision: https://phab.enlightenment.org/D3232
Summary:
Use less memory by indexation vertices and not keeping more than one copy of it (from task T2713).
[Fix]
Reviewers: cedric, raster, Hermet
Subscribers: artem.popov
Differential Revision: https://phab.enlightenment.org/D3355
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
This rely on a faster code path to upload dynamic texture. Once we get support
for gbm, we should see significant performance improvement in speed, but this
first step is already a 5 times improvement (Ok, we get from really bad, to not
really useful...).
When gl window is created, XCreateColormap is called in eng_best_visual_get
but when gl window is freed, Colormap is not freed.
See original patch: D3342.
if a state change occurs on the ee, related callbacks must be run prior to
performing any resizes in order to ensure that the correct csd sizes are
calculated
@fix
ref T2841
This fixes an issue where ecore_drm was sending an initial mouse_move
event too early in the startup process. Instead, we will send the
event from Ecore_Evas after it has been registered with Ecore_Input.
This is done here to address and Fix T2854.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
This fixes an issue where maximizing a window would set improper xdg
surface window geometry. We receive window configure sizes based on
xdg surface window geometry, so we need to subtract framespace there
or else window size grows when maximizing/unmaximizing multiple times.
This also adjusts the call to xdg_surface_set_window_geometry to
account for framespace (Fixes T2842).
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
If we end up leaving evas_xlib_image_dri_native_set due to a failure
to allocate memory, we should free the previously allocated
Evas_DRI_Image so that we don't leak
NB: Fixes Coverity CID1339782
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
evas_xlib_image_dri_native_set should be returning a pointer to an
RGBA_Image on success, or NULL on failure. Returning EINA_FALSE here
leads to an expression which evaluates to zero being treated as a null
pointer constant
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>