Commit Graph

115 Commits

Author SHA1 Message Date
Marcel Hollerbach ab4e4e17cb e_comp_wl: allow variants and options for keyboard settings
Also set options and variants to the rule names struct.
There is no need to use strdup here the values are just freed in the
end.
2016-03-24 20:54:03 +01:00
Chris Michael d49f60dd8a don't have to hook the ecore_evas resize callback here as that should
be handled by elm now

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-03-08 16:09:55 -05:00
Chris Michael 993f387433 don't define variables that we are not going to use
If our efl version is not >= 1.18, then the rotations and orient
variables here end up being unused. This patch just moves those
variables (and their usage) inside the 1.18 version check

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-03-01 10:22:21 -05:00
Chris Michael 04e108dbac correctly wrap 1.18 API function calls
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-02-04 11:19:56 -05:00
Chris Michael b88e8b7a4d wrap 1.18 drm rotation functions around #ifdefs
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-02-04 11:17:48 -05:00
Chris Michael 04ea946f3d Add support for configuring output rotations
When running under DRM, this patch adds support for getting the
supported rotations of an output, listing them in the Screen Setup
dialog, and adds the ability to set a rotation on a given screen

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-02-04 09:16:02 -05:00
Mike Blumenkrantz 542079d841 move all wayland extension implementations into e_comp_wl_extensions.c
e_comp_wl.c getting a bit hard to manage already, future extension additions
are going to make it a lot worse
2016-01-22 16:25:29 -05:00
JengHyun Kang bdb462e19f Set cached xkb context/keymap
Summary:
Set xkb context and keymap to Ecore_Drm.
         In enlightenment (used in wayland with drm backend), keymap is used only one.
         So for avoid unnecessary open keymap files, set cached context and keymap.
         But for this, enlightenment must compile keymap before init ecore_drm.
         So I changed booting sequence also.

Test Plan: Distinguish time between before and after during add a keyboard device.

Reviewers: raster, devilhorns, zmike

Subscribers: cedric, input.hacker, ohduna

Differential Revision: https://phab.enlightenment.org/D3504
2016-01-05 13:07:27 -05:00
Chris Michael 2cd6fcc3a9 enlightenment: Use 'fabs' to compute absolute value of floating point
types

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-10-14 10:38:14 -04:00
Mike Blumenkrantz 3f13b6889d replace existing usage of x/wl_comp_data with corresponding globals 2015-08-13 16:05:57 -04:00
Stefan Schmidt 5e5fcc4828 wl_drm: No need to init orient to 0 as it will never be read. 2015-08-07 15:55:49 +02:00
Mike Blumenkrantz 780bba76d2 add wl_drm dpms setting 2015-07-27 16:48:19 -04:00
Derek Foreman 41cb2fa161 screenshooting: Avoid void pointer arithmetic
Summary:
If we use unsigned char pointers instead of void pointers we actually
conform to the C standard.

This patch removes a reliance on a gcc extension and, as an added bonus,
also quiets a warning in the default build.

Reviewers: zmike

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2820
2015-07-15 18:09:15 -04:00
Mike Blumenkrantz 54c6d7094e remove unnecessary E_COMP_WL #defines
this is only required for aliasing E_Client->comp_data as wayland compositor data.
if comp_data is never dereferenced, it is not necessary to declare the compositor
type
2015-07-08 17:12:42 -04:00
Chris Michael 3088f2315c wl-drm: Add function to readback pixels for compositor screenshots
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-07-08 15:08:35 -04:00
Mike Blumenkrantz 31f6c5b446 feed mouse-in event to drm canvas on init
this is normally triggered by the engine/display server, but the drm
output is too powerful to be bothered by such trivial matters as
mouse events on startup
2015-07-07 14:33:14 -04:00
Derek Foreman 7f6f4b6966 wayland: Remove a lot of E_Comp_Data pointers
Summary: We should just use e_comp->wl_comp_data everywhere we can.

Reviewers: devilhorns, zmike

Reviewed By: zmike

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2507
2015-05-18 09:08:52 -04:00
Chris Michael 40b877f527 wl-drm: Don't enable/disable an output until after we have set the current mode
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-14 08:38:13 -04:00
Chris Michael fd2e05f715 drm randr: More work on getting RandR functional in E-Wl. This adds a
function to remove an output from e_comp_wl also.

NB: Not entirely complete yet

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-13 14:50:40 -04:00
jhyuni.kang c59595e964 Support wl_touch and send wl_touch events to client
Summary:
Currently enlightenment-wayland support pointer and keyboard events.(in input)
         So I added EVAS_CALLBACK_MULTI_* event handler and hanling functions for wl_touch interface.
         This code send wl_touch events to client like a pointer event.

Test Plan:
In wayland + enlightenment environment, generate multi touch events.
           The enlightenment will be send wl_touch events to client.

Reviewers: raster, devilhorns, zmike

Reviewed By: devilhorns, zmike

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2482
2015-05-13 12:05:57 -04:00
Chris Michael 6d2c8c46da wl-drm: Start on making the RandR config dialog usable in drm
NB: 'Apply' does not function yet, needs another API or 2 in ecore_drm

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-07 15:44:50 -04:00
Chris Michael 0a94e8ba71 enlightenment: Make E build again with EFL from git
sed -i 's/EAPI/E_API/g'

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-07 15:13:10 -04:00
Mike Blumenkrantz a080769d5a remove rest of ecore-drm usage from wl-drm randr info grabbing
this was not an optimal solution since only connected outputs are
tracked/available to ecore-drm, so now the module uses libdrm for everything
2015-04-23 13:47:05 -04:00
Mike Blumenkrantz 2894bae445 add read-only randr iface for wl drm output module
mostly just reads stuff right out of libdrm for now. seems to display mostly as expected.
no applying yet, and only connected+active monitors will display since that's all ecore-drm
tracks for now

try using ecore-drm, they said. it'll be easier than using libdrm, they said.
2015-04-22 21:21:58 -04:00
Mike Blumenkrantz 1eb6bb20b3 move canvas init after wl init in output modules
ensure that randr screens have been created
2015-04-22 21:20:57 -04:00
Mike Blumenkrantz e64998b042 resize comp canvas on e_comp_canvas_init()
remove unnecessary call in wl drm output module
2015-04-22 21:20:57 -04:00
Mike Blumenkrantz e1181c4d03 create e_comp during e_comp_init, set comp_type automatically
this simplifies comp creation slightly
2015-04-22 21:18:53 -04:00
Chris Michael 57191576db wl-drm: We need to set the compositor pointer values After wl_comp_data has been created else we crash
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-22 10:42:33 -04:00
Chris Michael 37223908a6 Revert "wl-drm: Set initial compositor pointer values base on ecore_evas_pointer_position"
This reverts commit 16e9126302.

Reverting this due to crash
2015-04-22 10:41:13 -04:00
Chris Michael 16e9126302 wl-drm: Set initial compositor pointer values base on ecore_evas_pointer_position
This addresses the issue of initial compositor pointer values not
being proper. They are 0,0 on startup, however things like ecore_drm
will center the mouse on startup. The e_comp pointer values should
reflect this.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-22 09:41:23 -04:00
Chris Michael 51290c273c wl-drm: Use ecore_evas_new with an engine name rather than direct ecore_evas_drm_new calls
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-20 11:45:20 -04:00
Chris Michael 3ddad83f79 wl-drm: If we end up using software_drm, then override elm preferences (ala X compositor)
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-06 16:01:39 -04:00
Chris Michael ca6c46d0c8 wl-drm: Hook into ecore_evas_resize callback to update comp canvas
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-06 15:59:59 -04:00
Chris Michael 3b3a47f5ce wl-drm: Remove output event handler when we shutdown
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-06 15:57:55 -04:00
Chris Michael 8fc1c5583e wl-drm: Remove need for extra E_Comp variable
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-06 15:57:09 -04:00
Chris Michael 7855cbea0e wl-drm: Add more debugging during output hotplug events
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-03-21 16:30:36 -04:00
Mike Blumenkrantz 24887ddccc move comp fake layer init into canvas init for non-X compositors 2015-03-20 15:12:59 -04:00
Mike Blumenkrantz 9986311035 move E_Comp->root window setting into e_comp_wl_init() for wl compositors 2015-03-20 15:08:28 -04:00
Mike Blumenkrantz 58447e9508 completely remove E_Manager
the final step in flattening all the canvas/screen apis
2015-03-19 16:53:32 -04:00
Mike Blumenkrantz 0ddedd09a4 wl compile fixes 2015-03-13 20:09:54 -04:00
Mike Blumenkrantz 1736d1ecb9 e_client functions no longer require E_Comp param 2015-03-13 16:53:19 -04:00
Mike Blumenkrantz d00127c2f5 e_comp functions no longer require E_Comp param 2015-03-13 16:48:41 -04:00
Mike Blumenkrantz 1fe1c94245 comp canvas functions no longer require an E_Comp param 2015-03-13 16:07:08 -04:00
Mike Blumenkrantz 91edd1ce2f E_CLIENT_*FOREACH() macros no longer take a E_Comp param 2015-03-13 15:45:07 -04:00
Mike Blumenkrantz e1394afdff wl drm output module must set comp gl state more pedantically 2015-03-12 13:44:34 -04:00
Chris Michael d89681fa3c create wl_outputs when in wayland-only mode
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-02-24 13:27:56 -05:00
Derek Foreman 7aa0ff24c7 Provide wl_output events on hotplug
Summary:
Clients that have bound wl_output now receive wl_output events on hotplug

NOTE: We don't handle removal yet

Reviewers: devilhorns, zmike

Reviewed By: devilhorns, zmike

Subscribers: cedric

Maniphest Tasks: T2131

Differential Revision: https://phab.enlightenment.org/D2008
2015-02-19 14:49:21 -05:00
Chris Michael f69dcf9181 call e_manager_new with the proper root window so that keybindings on
the desktop work

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-02-04 12:33:04 -05:00
Chris Michael 63dc694f56 wl_drm: Fix creation of the ecore_evas_gl_drm
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-15 13:29:43 -05:00
kabeer khan d1e90c3af7 wl_drm: create ecore_evas for drm gl backend
Summary: Signed-off-by: kabeer khan <kabeer.khan@samsung.com>

Reviewers: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1871
2015-01-15 13:27:52 -05:00
Chris Michael a8b4717fdf fix issue where wayland modules were always creating a new compositor
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-06 13:04:04 -05:00
Seunghun Lee c61efa7c55 wl_drm: Add event handler for session activation signal.
Summary:
Compositor need to change the compositing mode to offscreen or render state depend on session activation state.
this patch is for it.

Test Plan:
(1) Run enlightenment on X.
(2) Change another VT.
(3) Run enlightenment on wayland and drm.
(4) Change the VT to enlightenment which is ran (1).
enlightenment on wayland will not render during session deactivation state.

Reviewers: zmike, devilhorns

Reviewed By: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1816
2015-01-05 09:09:59 -05:00
Stefan Schmidt 5e4cdb9064 modules/wl_drm: Remove trailing whitespaces 2014-09-19 09:52:58 +02:00
Chris Michael 31045f715b bugfix: wl-drm: Fix hard-coded screen size of the ecore_evas
NB: This makes use of newly added ecore_evas_screen_geometry_get of
the ecore_evas_drm code in order to get the current screen size and
adjust the ecore_evas accordingly.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-09-04 10:05:59 -04:00
Mike Blumenkrantz 3b649534c9 Fix building Enlightenment for X11-only, Wayland-Only, and X11 with Wayland clients.
Signed-off-by: Chris Michael <cp.michael@samsung.com>

Additional authors: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:38 -04:00
Chris Michael 07b6052db1 wl_drm: Add short block to mark setup for drm egl rendering
When the new drm hw accel engine is ready, we can replace this little
bit of code and have hardware-accelerated drm.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:38 -04:00
Chris Michael eafb4ce000 use Eina_Bool for true/false values
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:37 -04:00
Chris Michael 79599394da update various files for compositor structure changes
- X compositor
  - shell module
  - drm module
  - x11 module
2014-08-26 10:10:35 -04:00
Chris Michael ff06207d9c make keymap match what drm uses by default
NB: this is all in the process of getting fixed...

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:35 -04:00
Chris Michael f031705442 update wl_x11 and wl_desktop_shell for new compositor
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:35 -04:00
Chris Michael 5c322c40c4 @bugfix: Set ecore_wayland into 'server mode' before we call init so
that it does not stall and we end up sitting forever.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-18 07:43:05 +00:00
Chris Michael 645cb48dd5 @bugfix: Check return of e_comp_wl_init and initialize ecore_wl library
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-18 07:43:05 +00:00
Chris Michael a32d74d1c7 @feature: Add new drm compositing module
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-18 07:43:04 +00:00
Christopher Michael 7ffbf6ef25 E (wl_drm): Update drm module for most recent wayland git. Use
wl_signal_add, remove timestamps where not used anymore, make use of
wayland 'serial'. Fix destroy_listeners for new wayland code.



SVN revision: 70446
2012-04-24 17:24:59 +00:00
Christopher Michael 648f558aa8 E17 (wayland): Add wayland drm compositing module.
Add wayland shell module.
Add wayland screenshot module.

NB: I am adding these modules but NOT adding the needed build
infrastructure just yet because people should not even 'play' with
this yet (still some buggers to iron out).



SVN revision: 69709
2012-03-29 01:43:17 +00:00