platform/core/uifw/pepper.git
8 years agodesktop-shell: Bugfix in input event handler
Jaehoon Jeong [Tue, 25 Aug 2015 09:03:15 +0000 (18:03 +0900)]
desktop-shell: Bugfix in input event handler

    - Fix redundant list add and device add
    - Fix pointer setting bug in pointer_grab

Change-Id: I76d9e75c9fc305ec54f2c2edc08126dd9d2dc844

8 years agopepper: pepper_list_t refactoring and replace wl_list with pepper_list_t
Taekyun Kim [Tue, 25 Aug 2015 10:15:16 +0000 (19:15 +0900)]
pepper: pepper_list_t refactoring and replace wl_list with pepper_list_t

Removed unused functions so that pepper_list_t becomes much simpler.
Added macros which corresponds to those of wl_list.
Removed wl_list and replaced it with pepper_list_t except list for wl_resource

Change-Id: I7a061b085fadb888a66d8df68b50fd5a0b1d4cf9

8 years agodesktop-shell: Fix redundant list add and device add
Taekyun Kim [Tue, 25 Aug 2015 07:27:20 +0000 (16:27 +0900)]
desktop-shell: Fix redundant list add and device add

Change-Id: I36e72e3b878e302503d35d5a1eeafa55a5e32c82

8 years agopepper: Refactored pepper_list_t, pepper_container_of
Taekyun Kim [Tue, 25 Aug 2015 07:10:26 +0000 (16:10 +0900)]
pepper: Refactored pepper_list_t, pepper_container_of

Change-Id: I21807f807c8786adab896bcf4d72e5b202d3348b

8 years agopepper: Output backend interface refactoring
Taekyun Kim [Mon, 24 Aug 2015 10:58:56 +0000 (19:58 +0900)]
pepper: Output backend interface refactoring

wl_signal is no longer used, instead, backend calls output functions provided
from pepper-output-backend.h.

Change-Id: I049da322382dcd8b06c44422855fdff38ec01000

8 years agopepper: Better output mode handling
Taekyun Kim [Mon, 24 Aug 2015 09:00:54 +0000 (18:00 +0900)]
pepper: Better output mode handling

Change-Id: I89e5697e9b6adf9a2bb607bfbc9d3b6148e0833f

8 years agopepper: Error handling and some cleanups in compositor.c
Taekyun Kim [Mon, 24 Aug 2015 06:49:02 +0000 (15:49 +0900)]
pepper: Error handling and some cleanups in compositor.c

Change-Id: Iebd7e07ef4a579f2617a4cdcc8ee7dc4ed9ab7ec

8 years agodesktop-shell: Implement shell_surface.resize
Jaehoon Jeong [Mon, 24 Aug 2015 07:05:16 +0000 (16:05 +0900)]
desktop-shell: Implement shell_surface.resize

    - Implement wl_shell_surface.resize() and xdg_surface.resize()
    - Implement resize_grab

Change-Id: Ieeff13d8408d0ddca769ff88d53e3a77049998c3

8 years agodesktop-shell: Implement shell_surface.move
Jaehoon Jeong [Mon, 24 Aug 2015 06:46:02 +0000 (15:46 +0900)]
desktop-shell: Implement shell_surface.move

    - Implement wl_shell_surface.move(), xdg_surface.move()
    - Implement move_grab

Change-Id: I9b4040ae045b7a38092baa56f788470a6e81ca10

8 years agopepper: minor bugfix.
Junghoon [Mon, 24 Aug 2015 06:52:51 +0000 (15:52 +0900)]
pepper: minor bugfix.

Change-Id: Ideca2e426b17e1641dc6d175e9734d7576b40068

8 years agodesktop-shell: Implement defualt pointer grab
Jaehoon Jeong [Fri, 21 Aug 2015 13:20:41 +0000 (22:20 +0900)]
desktop-shell: Implement defualt pointer grab

Change-Id: I67354a57e1c90f42334cede8eb3e3d3b4eefe4c9

8 years agopepper: Add function prototypes that needed by shell_grab
Jaehoon Jeong [Fri, 21 Aug 2015 13:15:39 +0000 (22:15 +0900)]
pepper: Add function prototypes that needed by shell_grab

    - pepper_compositor_pick_view()
    - function prototypes for sending events of pepper_pointer
    - function prototypes for sending events of pepper_keyboard

Change-Id: I1e53ed6f183eb4a070b5fd7c68e8cebef297b042

8 years agodesktop-shell: Add shell_pointer_grab
Jaehoon Jeong [Fri, 21 Aug 2015 04:12:42 +0000 (13:12 +0900)]
desktop-shell: Add shell_pointer_grab

    - Add initial version of poiner_grab
    - Add dummy default pointer grab

Change-Id: Id42388ec4c5fece3f23ba6dcbf35528e613c968c

8 years agopepper: bugfix in pepper_seat_add_input_device
Jaehoon Jeong [Fri, 21 Aug 2015 04:01:55 +0000 (13:01 +0900)]
pepper: bugfix in pepper_seat_add_input_device

    - bugfix

Change-Id: I573bb0386b986defe048a3e74dcb91a732f3993a

8 years agopepper: Add pointer functions and feed some events
Jaehoon Jeong [Fri, 21 Aug 2015 03:58:00 +0000 (12:58 +0900)]
pepper: Add pointer functions and feed some events

    - Add pepper_pointer_get/set_position()
    - Feed PEPPER_EVENT_COMPOSITOR_SEAT_ADD/PEPPER_EVENT_POINTER_MOTION

Change-Id: I492a91d4c7ec743290176b2df69183f4ead0f057

8 years agodrm: change to create specified renderer only
Junghoon [Fri, 21 Aug 2015 04:39:22 +0000 (13:39 +0900)]
drm: change to create specified renderer only

Change-Id: I39164cd2a2c0095cd497356989a2c4f3169c1536

8 years agox11: feed keyboard event
Jaehoon Jeong [Tue, 18 Aug 2015 12:51:04 +0000 (21:51 +0900)]
x11: feed keyboard event

    - Use xkbcommon, xkbcommon-x11 libs for translate keycode to keysym
    - TODO: Handle additional modifiers

Change-Id: I90ff5411e42ae662013d270a346e3a2e2fc1d570

8 years agox11: sample: export pepper_x11_input_create()
Jaehoon Jeong [Tue, 18 Aug 2015 12:38:17 +0000 (21:38 +0900)]
x11: sample: export pepper_x11_input_create()

    - rename pepper_x11_seat_create() to pepper_x11_input_create()
      like as pepper_libinput style

Change-Id: I5e9c4b8aed151b638670162810ce90565c78b6d9

8 years agox11: feed pointer events
Jaehoon Jeong [Tue, 18 Aug 2015 12:29:12 +0000 (21:29 +0900)]
x11: feed pointer events

 - TODO: axis up/down, keyboard events

Change-Id: I2eb64e994aab6c7bbbfed938e70e1b72fd08d805

8 years agodesktop-shell: Handle PEPPER_EVENT_SEAT_{DEVICES}_ADD events
Jaehoon Jeong [Wed, 19 Aug 2015 05:47:01 +0000 (14:47 +0900)]
desktop-shell: Handle PEPPER_EVENT_SEAT_{DEVICES}_ADD events

    - Handle pepper_seat's logical device add/remove event
    - Add dummy event_handler

Change-Id: I60d2934fa6f8eb8884bc5ff3c9e124292f13ec16

8 years agodesktop-shell: Handle input_device_add event
Jaehoon Jeong [Wed, 19 Aug 2015 05:33:38 +0000 (14:33 +0900)]
desktop-shell: Handle input_device_add event

Change-Id: I1216c226019fb98bfb80bade07a9d15272d02e85

8 years agopepper: Expose seat/input functions as APIs
Jaehoon Jeong [Wed, 19 Aug 2015 05:12:57 +0000 (14:12 +0900)]
pepper: Expose seat/input functions as APIs

    - pepper_input_device_get_property()
    - pepper_seat_get_name()

Change-Id: I2af7b5f928873dc0a77362375fcd59322668a186

8 years agodrm: overlay implentation
Junghoon [Tue, 18 Aug 2015 04:54:18 +0000 (13:54 +0900)]
drm: overlay implentation

    - create, assign & set planes
    - handle vblank

Change-Id: Icc97bd87f8445bea1cc9966cbf5a6b67141c7b2d

8 years agorender: set renderer of surface state
Yuyeon Oh [Thu, 13 Aug 2015 10:46:58 +0000 (19:46 +0900)]
render: set renderer of surface state

Change-Id: Id1441f7eaa8f433f35bb02a3892bca784815ee4d

8 years agopepper: Add PEPPER_TRACE macro for debugging purpose
Taekyun Kim [Thu, 13 Aug 2015 05:04:19 +0000 (14:04 +0900)]
pepper: Add PEPPER_TRACE macro for debugging purpose

Change-Id: Ie43a4a777c060116732b8958b6677a82cb6b5b96

8 years agocommon: Cleanup log & assert macro
Taekyun Kim [Thu, 13 Aug 2015 05:00:35 +0000 (14:00 +0900)]
common: Cleanup log & assert macro

Change-Id: If2dbd6ecbf1b23feffa34f0397ea5b2c962658fa

8 years agocommon: Fix all warnings
Taekyun Kim [Thu, 13 Aug 2015 04:34:12 +0000 (13:34 +0900)]
common: Fix all warnings

Change-Id: Ieaa50fe2b0f5a89b7678b621b727219a0ab0481c

8 years agobuild: Add strict warning flags
Taekyun Kim [Thu, 13 Aug 2015 03:55:27 +0000 (12:55 +0900)]
build: Add strict warning flags

Change-Id: I5304720d2a593919ce46b33ecbf43d6ec75d457e

8 years agopepper: Remove unused codes
Taekyun Kim [Thu, 13 Aug 2015 02:15:35 +0000 (11:15 +0900)]
pepper: Remove unused codes

Change-Id: I4c4fcc4552ea3c68cf55cf4233564c1e0796b4a5

8 years agopepper: Fix bug on object event code
Taekyun Kim [Thu, 13 Aug 2015 02:08:51 +0000 (11:08 +0900)]
pepper: Fix bug on object event code

Change-Id: I082386b7f02cfcfe310d8dfa69d2f611353a82bd

8 years agopepper: Per-object event id allocation
Taekyun Kim [Wed, 12 Aug 2015 09:42:43 +0000 (18:42 +0900)]
pepper: Per-object event id allocation

Change-Id: I84c861ba9f1c66d30a9c46aaf7e6bf2917de06c4

8 years agopepper: Clip surface damage region within surface extents
Taekyun Kim [Wed, 12 Aug 2015 09:45:23 +0000 (18:45 +0900)]
pepper: Clip surface damage region within surface extents

Change-Id: Ib26eaa48ff46ff455047c4fb8ba6187d268ba310

8 years agopepper: Make pepper_event_listener_t an opaque pointer type
Taekyun Kim [Wed, 12 Aug 2015 04:52:10 +0000 (13:52 +0900)]
pepper: Make pepper_event_listener_t an opaque pointer type

Exposing structure through an API header file might be dangerous.

Change-Id: If2dde1657820b3a9feb2bbe065f1b86e3360da11

8 years agopepper: Adding pepper_input_device_t to pepper_seat_t
Taekyun Kim [Mon, 10 Aug 2015 09:52:49 +0000 (18:52 +0900)]
pepper: Adding pepper_input_device_t to pepper_seat_t

An input device represents a physical input device, while objects like
pointer/keyboard/touch of a seat is logical ones. Logical input objects listen
to the events from physical devices and translate them into logical events.
(i.e. coordinate transform)

1. A seat has a single logical pointer/keyboard/touch.

2. Adding a device into multiple seats is allowed.

3. Users can associate input device with seat based on properties of them.
    i.e. seat name, output name

Change-Id: Id1555df66fc64aacf70276923b127549db5cda04

8 years agopepper: Add pepper_object_init() for internal use
Taekyun Kim [Mon, 10 Aug 2015 09:30:40 +0000 (18:30 +0900)]
pepper: Add pepper_object_init() for internal use

Change-Id: Icca954d44305e7a037567f6c3cb71d5c095e78a8

8 years agofbdev: Fix typo error on output name
Taekyun Kim [Mon, 10 Aug 2015 09:26:12 +0000 (18:26 +0900)]
fbdev: Fix typo error on output name

Change-Id: I87eb00b11f29cb55c3b7014a1b696daed92cc62b

8 years agopepper: Expose pepper_map_t structure and Add pepper_map_init()
Taekyun Kim [Mon, 10 Aug 2015 09:15:19 +0000 (18:15 +0900)]
pepper: Expose pepper_map_t structure and Add pepper_map_init()

Change-Id: I3b0d19f1739aea1f30363cfbb000e15bebfc182c

8 years agopepper: Event id for listening all events with a single event listener
Taekyun Kim [Mon, 10 Aug 2015 07:53:23 +0000 (16:53 +0900)]
pepper: Event id for listening all events with a single event listener

Change-Id: I2829f587d01d1a3da9d0f31d2bec0c57aaf46169

8 years agopepper: Add output name property
Taekyun Kim [Mon, 10 Aug 2015 07:25:11 +0000 (16:25 +0900)]
pepper: Add output name property

Change-Id: Idec732b0ee1e62b53e11f0d687475b65c09b071f

8 years agopepper: Add an API for finding a list node containing the given item
Taekyun Kim [Thu, 6 Aug 2015 07:01:43 +0000 (16:01 +0900)]
pepper: Add an API for finding a list node containing the given item

Change-Id: I80bcbbb5fb171d85d0f07315454ce3860eeeb0f1

8 years agopepper: Add an API for getting input device capabilities
Taekyun Kim [Thu, 6 Aug 2015 06:55:36 +0000 (15:55 +0900)]
pepper: Add an API for getting input device capabilities

Change-Id: I7ca8cf9068436b260d24a2a331f74f30ef3b9b4e

8 years agopepper: apply some object event feeding
Junghoon [Thu, 6 Aug 2015 04:43:17 +0000 (13:43 +0900)]
pepper: apply some object event feeding

    - device add/remove event
    - pointer/keyboard/touch event in libinput

Change-Id: I218868dc0c2bbb2670f0b081ac6f29af573694f6

8 years agopepper: Use for_each_safe when calling event listener callbacks
Taekyun Kim [Thu, 6 Aug 2015 04:34:00 +0000 (13:34 +0900)]
pepper: Use for_each_safe when calling event listener callbacks

Change-Id: Ie3859c73b4b4a72188e2a63bcfcf91423a242352

8 years agopepper: Fix event listener to work correctly
Taekyun Kim [Wed, 5 Aug 2015 10:18:49 +0000 (19:18 +0900)]
pepper: Fix event listener to work correctly

Change-Id: Ied618c2ddbdf059c8140da84826b327c4c92a5d6

8 years agopepper: Add missing initialization of event listener list
Taekyun Kim [Wed, 5 Aug 2015 09:56:00 +0000 (18:56 +0900)]
pepper: Add missing initialization of event listener list

Change-Id: Iaaeda5e450f11f0b7b355213783f42ee116d4343

8 years agopepper: Emit events for surface, buffer & view
Taekyun Kim [Wed, 5 Aug 2015 09:01:47 +0000 (18:01 +0900)]
pepper: Emit events for surface, buffer & view

Change-Id: I2f4225175db89a82f368a54fac79022d16ffd2eb

8 years agopepper: Emit output related events.
Taekyun Kim [Wed, 5 Aug 2015 08:55:54 +0000 (17:55 +0900)]
pepper: Emit output related events.

Change-Id: I4c272f5829937be4182f30b5ace4390333c7b021

8 years agopepper: Destroy base object last just before free the memory
Taekyun Kim [Wed, 5 Aug 2015 08:49:33 +0000 (17:49 +0900)]
pepper: Destroy base object last just before free the memory

Object destroy signal should be emitted after the object is totally destroyed.

Change-Id: I2ce4bfbadc1a8106003c3c57b5ce0e54fe21b9c1

8 years agopepper: Replace object destroy listener with new event listener
Taekyun Kim [Wed, 5 Aug 2015 08:41:27 +0000 (17:41 +0900)]
pepper: Replace object destroy listener with new event listener

Change-Id: Ib384300eee4c9be4876a2cda014fc7322129dfe6

8 years agopepper: Expose event listener structure and some cleanups
Taekyun Kim [Wed, 5 Aug 2015 08:02:03 +0000 (17:02 +0900)]
pepper: Expose event listener structure and some cleanups

Event listeners might be frequently inserted/removed. Allocating memory for
each operation might be expensive. Exposing the structure can save such memory
allocations.

* Usage
    pepper_event_listener_init(&listener);
    listener.data = &my_data;
    listener.callback = foo;
    pepper_event_listener_insert(&listener, object, id, priority);

    ...

    pepper_event_listener_remove(&listener);

Change-Id: I1868eae03c0943ee641cade3ace54440ac3f963b

8 years agopepper: Expose object event feed function as an API
Taekyun Kim [Wed, 5 Aug 2015 05:33:24 +0000 (14:33 +0900)]
pepper: Expose object event feed function as an API

Change-Id: I6bd505bb4db3c72e2345aedb9d79c6cca78b6ee1

8 years agopepper: Remove old event implementation
Taekyun Kim [Wed, 5 Aug 2015 04:59:23 +0000 (13:59 +0900)]
pepper: Remove old event implementation

Change-Id: I3d7b2b177e46d5a6c4374d38adc09a6f966fa2d6

8 years agopepper: Basic object event implementation
Taekyun Kim [Wed, 5 Aug 2015 04:31:47 +0000 (13:31 +0900)]
pepper: Basic object event implementation

1. Events are identified by 32bit unsigned integer ID.

2. Each object has its own built-in event IDs.

3. Build-in events for generic object are common to all pepper objects.

4. Higher priority listeners are called earlier.

Change-Id: Iad5e16a5a297f5a17d5f8b6b5ed15972bfd18d52

9 years agox11: bugfix in event handling
Jaehoon Jeong [Tue, 28 Jul 2015 10:43:14 +0000 (19:43 +0900)]
x11: bugfix in event handling

    - modify to always consume events, even if not using x-input-backend

Change-Id: I109cc73df771c3a190b7d6644f60f5389e7964fe

9 years agox11: samples: remove warnings
Jaehoon Jeong [Tue, 28 Jul 2015 05:30:08 +0000 (14:30 +0900)]
x11: samples: remove warnings

Change-Id: I6b773ec85655f14487b2185486d67380fd72e58e

9 years agopepper: remove some warnings
Junghoon [Tue, 28 Jul 2015 04:55:02 +0000 (13:55 +0900)]
pepper: remove some warnings

Change-Id: Iec3ba250f2d3d5b1154286305cd6ec90ecb09383

9 years agodrm: fbdev: separate libinput creation code from drm & fbdev backends
Junghoon [Tue, 28 Jul 2015 04:37:12 +0000 (13:37 +0900)]
drm: fbdev: separate libinput creation code from drm & fbdev backends

Change-Id: Ib3b4fc3b26ccaedd1e86e8ab52c6d72290e03e4e

9 years agodesktop-shell: remove warnings
Jaehoon Jeong [Tue, 28 Jul 2015 05:01:07 +0000 (14:01 +0900)]
desktop-shell: remove warnings

Change-Id: Ice633c42c993cb51a79f0c1aa50e25f03a07e3a9

9 years agopepper: add missing initialization of regions
Jaehoon Jeong [Tue, 28 Jul 2015 04:28:40 +0000 (13:28 +0900)]
pepper: add missing initialization of regions

Change-Id: I70612efd112b52cec447a9e4006a7ac0f5f1c351

9 years agofbdev: emit frame_signal
Junghoon [Tue, 28 Jul 2015 04:19:06 +0000 (13:19 +0900)]
fbdev: emit frame_signal

Change-Id: Ic00131a61a5cc14b2171fdcf125c2b9ef154e49e

9 years agopepper: libinput: wayland: x11: input refactoring
Junghoon [Mon, 27 Jul 2015 07:44:01 +0000 (16:44 +0900)]
pepper: libinput: wayland: x11: input refactoring

    - remove input backend interface
        - add input device managing code

Change-Id: I4df5d300439a4fff108198e6208c193253a36521

9 years agobuild: add each devel packages
Yuyeon Oh [Mon, 27 Jul 2015 05:45:05 +0000 (14:45 +0900)]
build: add each devel packages

Change-Id: I7e33feaea126b19d0eb492a14eb754e5484865ae

9 years agodesktop-shell: implement xdg_shell, fullscreen, maximized
Jaehoon Jeong [Wed, 22 Jul 2015 11:44:40 +0000 (20:44 +0900)]
desktop-shell: implement xdg_shell, fullscreen, maximized

    - Add init_xdg_shell() in pepper_desktop_shell_init()
    - Implement fullscreen, maximized related types
    - Handle client_destroy in shell_client

Change-Id: Ibfa25b4b4cd871414721cf153393fd73b035fbfb

9 years agobuild: fix include path for GBS build
Yuyeon Oh [Mon, 27 Jul 2015 02:30:12 +0000 (11:30 +0900)]
build: fix include path for GBS build

Change-Id: Ied85cc418224e94acc967d100be192f81cc0415d

9 years agobuild: fix doctor build
Yuyeon Oh [Fri, 24 Jul 2015 04:43:15 +0000 (13:43 +0900)]
build: fix doctor build

Include pixman-1 library in doctor build

Change-Id: Ifad0e50a442e9bf47b699139ce05afc946a2cc53

9 years agobuild: fix wrong %postun
Yuyeon Oh [Wed, 22 Jul 2015 06:03:55 +0000 (15:03 +0900)]
build: fix wrong %postun

Change-Id: I2c7145e0d6a19b36f6df9a12ed6b6d3bfd3aa4b3

9 years agobuild: Add missing libinput dependency of fbdev backend
Taekyun Kim [Fri, 24 Jul 2015 01:59:31 +0000 (10:59 +0900)]
build: Add missing libinput dependency of fbdev backend

Change-Id: I0f0e4539b754367fdb1c91af796dc025ec4bc34f

9 years agobuild: Search internal include path and libs before external ones
Taekyun Kim [Wed, 22 Jul 2015 09:31:12 +0000 (18:31 +0900)]
build: Search internal include path and libs before external ones

Include dir is moved to ${includedir}/pepper ie. /usr/include/pepper.

Change-Id: If747f0785d1cf2f7f8e0a01ff0786aac689c7755

9 years agopepper: Added a function for querying object type
Taekyun Kim [Wed, 22 Jul 2015 05:36:26 +0000 (14:36 +0900)]
pepper: Added a function for querying object type

Change-Id: I209ce1b581d7ff7ce8670d215ab9732b48a72c70

9 years agobuild: add pepper.spec for GBS build
Yuyeon Oh [Mon, 20 Jul 2015 15:51:27 +0000 (00:51 +0900)]
build: add pepper.spec for GBS build

- Generate several RPM packages at once
- Change license to MIT temporarily because of build error

Change-Id: I828ec16155942192cb90979c16e4b2513b21e055

9 years agopepper: view damage processing and repaint scheduling
Taekyun Kim [Tue, 21 Jul 2015 12:16:38 +0000 (21:16 +0900)]
pepper: view damage processing and repaint scheduling

1. Schedule repaint on all outputs when a view is modified.

2. Each output update views in the compositor's view list.
   Updating the views will inflict damage on their belonging plane.

3. Each output gathers views visible on it.

4. Assign planes for the visible views.

5. Do repaint.

Change-Id: Ie3e05107a6b31908866eb90e4d4b3d37d5872fe8

9 years agogitignore: ignore generated files in procotol/
Jaehoon Jeong [Tue, 21 Jul 2015 05:58:15 +0000 (14:58 +0900)]
gitignore: ignore generated files in procotol/

Change-Id: I2723de4d501dda00e8c7b821f0c61d972ed79d75

9 years agobuild: add --disable-x11 option for tizen-wayland GBS build
Yuyeon Oh [Mon, 20 Jul 2015 14:36:01 +0000 (23:36 +0900)]
build: add --disable-x11 option for tizen-wayland GBS build

Change-Id: Ic2e7b792ab5049db066cccad18e1550cd48bb4c8

9 years agodesktop-shell: implement set_transient
Jaehoon Jeong [Tue, 21 Jul 2015 06:02:33 +0000 (15:02 +0900)]
desktop-shell: implement set_transient

Change-Id: I5f7b8fd3dfc18848a528a13be753fe30026e7a4f

9 years agobuild: Better dependency check between internal packages
Taekyun Kim [Mon, 20 Jul 2015 07:16:09 +0000 (16:16 +0900)]
build: Better dependency check between internal packages

Change-Id: I28236cd26f0a11b4e53005d8fb5e7f9c705e67dd

9 years agodesktop-shell: Implement popup
Jaehoon Jeong [Mon, 20 Jul 2015 06:32:46 +0000 (15:32 +0900)]
desktop-shell: Implement popup

    - wl_shell_surface.set_popup()
    - xdg_shell.get_xdg_popup()
    - TODO: add popup grab

Change-Id: Icfb8dd8d50405b8d57c734e4bb11dad28cf7353d

9 years agodoctor: Fix compiler warnings
Taekyun Kim [Mon, 20 Jul 2015 05:53:06 +0000 (14:53 +0900)]
doctor: Fix compiler warnings

Change-Id: I7945e1fe2af4068dcf5d3836acd17cc65dd406e8

9 years agobuild: Fix build failure and some clean up
Taekyun Kim [Mon, 20 Jul 2015 05:26:30 +0000 (14:26 +0900)]
build: Fix build failure and some clean up

Change-Id: I133468f4897703ee62b6a5717cf38902804fb65b

9 years agobuild: autoconf all source tree at once
Yuyeon Oh [Thu, 16 Jul 2015 09:43:22 +0000 (18:43 +0900)]
build: autoconf all source tree at once

Integrate all configure.ac files into one file in root directory.
You can't use sub directories' configure file any more.

TODO - enable or disable each sub module build separately
ex) --enable-pepper-core

Change-Id: I98c95563cc1fa2bcfbf9e4f902ac09a71505415d

9 years agobuild: refactor source tree
Yuyeon Oh [Thu, 16 Jul 2015 07:35:31 +0000 (16:35 +0900)]
build: refactor source tree

before
/pepper/src
/$submodule/src
...

after
/src/pepper
/src/$submodule
...

Change-Id: If418af10a2d2f9f8018de1b4ec26211b772a4b49

9 years agodesktop-shell: Implement set_title, set_class, set_appid
Jaehoon Jeong [Wed, 8 Jul 2015 05:10:15 +0000 (14:10 +0900)]
desktop-shell: Implement set_title, set_class, set_appid

    - In wl_shell_surface.set_class(), the surface class identifies the general
      class of applications to which the surface belongs.
      So we can use it for xdg_surface's app_id as application identifier.

Change-Id: I31a4362d0da141cc06f971736c79aa7e680ff6ad

9 years agopepper: Output backends correctly consume damage region
Taekyun Kim [Thu, 16 Jul 2015 05:25:14 +0000 (14:25 +0900)]
pepper: Output backends correctly consume damage region

Change-Id: I2a7f4edfa01010e1db45efb243a543fe1b77626c

9 years agopepper: Send frame callback done after finishing repaint
Taekyun Kim [Wed, 15 Jul 2015 10:47:22 +0000 (19:47 +0900)]
pepper: Send frame callback done after finishing repaint

Change-Id: I9e0ce916c4e528b40f1fc20efaefe19f32939033

9 years agopepper: Separate header file for input backend devel
Taekyun Kim [Wed, 15 Jul 2015 10:19:50 +0000 (19:19 +0900)]
pepper: Separate header file for input backend devel

Change-Id: I60d42f508c0f89900fb6922741b634d10c4b0323

9 years agopepper: Better type names for pepper objects
Taekyun Kim [Wed, 15 Jul 2015 10:10:37 +0000 (19:10 +0900)]
pepper: Better type names for pepper objects

Type names are restored to original names. You should do manual type casting
when using object APIs instead.

Change-Id: I7f8d5796a53867d759fc3993c27b58da692143e2

9 years agopepper: pepper_plane_t and per-plane damage processing
Taekyun Kim [Wed, 15 Jul 2015 08:09:16 +0000 (17:09 +0900)]
pepper: pepper_plane_t and per-plane damage processing

Plane is a logical rendering surface maintaing its own damage region. A plane
belongs to an output and a view can be on a plane per output at a time.

<< Overall Data Relationship >>
* Compositor
    - output list
    - view list in sorted z-order

* Output
    - plane list

* Plane
    - plane entry list
    - damage region
    - clip region (obscured by other planes)

* View
    - Geometry (position, size, transform)
    - plane entries

<< Output Repaint Scheduling >>
* surface.commit() causes all outputs to be scheduled to do repaint.
* Repaint is scheduled on an output when one of its plane gets damaged.

<< Output Repaint Process >>
* Update geometry of all views in the compositor.
* Build a list of views that overlap with the output rectangle.
* Ask output backend to assign a plane of each view in the list.
* Build a list of plane entries for the views assigned to each plane.
* Accumulate damage for each plane.
* Call backend.repaint()

<< Damage Processing >>
* Geometry & Z-order change
    - Inflict damage instantly with current visible region of the view on each
      plane where the view belongs to.

    - Mark it as damaged. Damage accumulation function should add visible region
      of damaged views to the planes.

* Plane move
    - Inflict damage instantly on previous plane and mark it as damaged.

* Surface damage
    - Added while accumulating plane damage.

Change-Id: I7c4bd95f439f0cf0356bcbf2f060b09800ea4528

9 years agodesktop-shell: Implement set_toplevel
Jaehoon Jeong [Wed, 8 Jul 2015 05:01:43 +0000 (14:01 +0900)]
desktop-shell: Implement set_toplevel

    - In surface type setting api cases, server tracks client's request and
      actual mapping done in shell_surface_map_xxx() when surface.commmit()
      called

    - type setting scenario
        1. client send request for shell_surface.set_something()
        2. server track states
        3. server send configure event
        4. client post a new frame in reponse of the configure event with commit request
        5. server apply changed states

Change-Id: I0dc7d731ad05e407efb69a3ed571eada3acc7830

9 years agolibinput: change struct libinput_seat to struct li_seat
Junghoon [Wed, 8 Jul 2015 09:55:59 +0000 (18:55 +0900)]
libinput: change struct libinput_seat to struct li_seat

    - struct libinput_seat exists in libinput library
    - and change function prefix in the same way

Change-Id: I92758d08dbc61996bcce839c16ac69ced67a45fc

9 years agopepper: Output ID allocation.
Taekyun Kim [Wed, 8 Jul 2015 07:43:37 +0000 (16:43 +0900)]
pepper: Output ID allocation.

It is useful allocating an integer ID for an output. We allocate a bit in a
32-bits unsigned integer. In this way, we don't have to maintain a list of
outputs and checking whether an integer contains a certain output is much
easier.

Change-Id: I42a4b309b6b94b8a9ca20f4b6c526e23922b96a6

9 years agopepper: Renamed pepper_xxx_interface_t to pepper_xxx_backend_t
Taekyun Kim [Wed, 8 Jul 2015 06:06:35 +0000 (15:06 +0900)]
pepper: Renamed pepper_xxx_interface_t to pepper_xxx_backend_t

Functions that are used by pepper modules should be hidden from users so that
only those modules can call the functions. We need some structures to pass to
the modules for those functions. As "interface" is more natural name for that,
previous "interface" is now renamed to "backend".

Change-Id: I02d6ec5e13a98532a88746790df36248818cb185

9 years agodesktop-shell: Implement common ping-pong mechanism between wl_shell and xdg_shell
Jaehoon Jeong [Fri, 3 Jul 2015 06:07:11 +0000 (15:07 +0900)]
desktop-shell: Implement common ping-pong mechanism between wl_shell and xdg_shell

    - Move ping-pong's ownership to shell_client_t from shell_surface_t
      for support xdg_shell.pong()
    - Shell module may send ping to shell_surface_t,
      for check that surface can take focus.
    - fix typo

Change-Id: Iaeba2986991e1242d74039100052fc41a80fef8f

9 years agorender: fix pixman repaint()
Yuyeon Oh [Thu, 2 Jul 2015 09:47:27 +0000 (18:47 +0900)]
render: fix pixman repaint()

- Add NULL check
- Indent

Change-Id: Ieb4006cd804fc64a9d961e64e91776a1d676cfd2

9 years ago drm: bugfix: find crtc for output
Junghoon [Tue, 7 Jul 2015 07:19:58 +0000 (16:19 +0900)]
 drm: bugfix: find crtc for output

Change-Id: I65ecb0ab0ce4b2b8b3110091c46b45903c7b1895

9 years agorender: do GL extension setup once
Junghoon [Tue, 7 Jul 2015 07:15:38 +0000 (16:15 +0900)]
render: do GL extension setup once

Change-Id: I28d8a19b26b545504cde7a585f232b9be952dfa8

9 years agox11: bug fix
Jaehoon Jeong [Fri, 3 Jul 2015 07:51:32 +0000 (16:51 +0900)]
x11: bug fix

Change-Id: Ice9f5e34e250d7e4ef2e7535cc9ea6574d1ebf9e

9 years agodesktop-shell: Add dummy xdg-shell and update .gitignore
Jaehoon Jeong [Thu, 2 Jul 2015 07:08:14 +0000 (16:08 +0900)]
desktop-shell: Add dummy xdg-shell and update .gitignore

    - add xdg-shell.c
    - update Makefile.am
    - update .gitignore for protocol related files

Change-Id: Iaa485170cf6f3c55542082d8981ffd6f7a026bd6

9 years agodesktop-shell: Add desktop_shell_t and shell_client_t
Jaehoon Jeong [Thu, 2 Jul 2015 06:51:33 +0000 (15:51 +0900)]
desktop-shell: Add desktop_shell_t and shell_client_t

Change-Id: I48cbb13a3c9995d2a084017a07e3754fbe47a0d0

9 years agorender: bugfix: set context in pepper_gl_renderer_create_target()
Junghoon [Thu, 2 Jul 2015 09:58:51 +0000 (18:58 +0900)]
render: bugfix: set context in pepper_gl_renderer_create_target()

    - prevent (context == EGL_NO_CONTEXT) when calling eglMakeCurrent()

Change-Id: If81126e0bd4aa053f8305dd1c15b64d17b7b1843

9 years agorender: initial impl. of pixman repaint()
Yuyeon Oh [Tue, 23 Jun 2015 13:49:29 +0000 (22:49 +0900)]
render: initial impl. of pixman repaint()

Change-Id: I407c35b7df9448885eae25511737edb74b290510

9 years agopepper: Update view size when updating view geometry.
Taekyun Kim [Thu, 2 Jul 2015 09:24:57 +0000 (18:24 +0900)]
pepper: Update view size when updating view geometry.

Change-Id: I2dff6069f6d6e921d12f25793fcd585ed337a72d