Kristian Høgsberg
a7700c8ff1
Handle per-device keyboard focus.
16 years ago
Kristian Høgsberg
c492b482d0
Make multi-pointer work.
...
This also add command line parsing as a way to specify the input
device files to use.
16 years ago
Kristian Høgsberg
d6531261de
Add option parsing using GOption.
16 years ago
Kristian Høgsberg
997e71eb1e
Use the screen size for sizing the background.
16 years ago
Kristian Høgsberg
29573bc569
Implement passive grabs on button clicks.
16 years ago
Kristian Høgsberg
5ee1a60f1a
Rewrite input event delivery path.
...
Instead of having the input driver push the events into the core server,
only to have the server call back out to the compositor hooks, the driver now
just calls the compositor directly. The input drivers are always dependent on
the type of compositor anyway so there was no point in passing the events
through the server. Now the server is only involved when it's time to actually
send the events to the clients.
16 years ago
Kristian Høgsberg
7fdff04cdc
Only send key events to toplevel surface.
16 years ago
Kristian Høgsberg
5a75c90d01
Feed button events through compositor.
...
This also generalizes the code to send events to a surface a bit.
16 years ago
Kristian Høgsberg
715a081cf4
Feed motion events through compositor.
...
This lets us pass events only to the window that we're mousing over
and we can now transform input events back to the window coordinate space.
16 years ago
Kristian Høgsberg
201a904889
Drop surface iterator API, just track surfaces in the compositor.
16 years ago
Kristian Høgsberg
eac149ad06
Pass button clicks through to compositor.
...
This lets us handle raising windows, which is useful.
16 years ago
Kristian Høgsberg
98fed0fb84
Use bilinear filtering.
16 years ago
Kristian Høgsberg
73f4e760a2
Fix wl_method for screenshooter.
16 years ago
Kristian Høgsberg
9f88b185a0
Don't forget to initialize overlay position.
16 years ago
Kristian Høgsberg
dc0f355f0a
Fix API to always include socket name length.
16 years ago
Kristian Høgsberg
841883b43c
Fail if we can't create the compositor.
16 years ago
Kristian Høgsberg
122912c69b
Make the wayland server a library used by the compositors.
16 years ago
Kristian Høgsberg
ffd710e653
Put Wayland under the MIT license.
16 years ago
Kristian Høgsberg
4a29890da7
Generalize event loop a bit and pull in the timerfd stuff.
16 years ago
Kristian Høgsberg
fbdbbdc153
Finally implement the commit/ack/frame protocol and improve repaint loop.
...
This implements the commit/ack/frame protocol that let clients batch up
a series of requests and then commit them atomically using the commit request.
The commit requests generats two following events: the acknowledge event,
which lets the client know that the server has received the request and
which frame the rendering has been scheduled for. At this point the client
can start rendering the next frame or free up temporary buffers. Then when
the compositor finally makes the newly composited frame visible on screen
the server sends a frame event, which contains the number of the frame that
was presented and the time when it happened.
The window and flower clients have been updated to use these two events in
their main loops and everything now updates per frame. The EGL compositor
repaint loop has been tweaked to delay the compositing of the screen to
10ms after last swapbuffer completed so as to allow processing as many
requests as possible before blocking on the next vertical retrace.
16 years ago
Kristian Høgsberg
44f36e3585
Make ack event signal that the requests have been composited.
16 years ago
Kristian Høgsberg
73c305851d
Make overlay animation actually stop.
16 years ago
Kristian Høgsberg
961a04cef0
Correct pointer hotspot location.
16 years ago
Kristian Høgsberg
ffb7406eaa
Add different type of overlay animation.
16 years ago
Kristian Høgsberg
5c1e6ecab4
Tweak overlay animation a bit.
16 years ago
Kristian Høgsberg
443853cbda
Pick a config instead of hard coding one.
16 years ago
Kristian Høgsberg
bf9541ffa3
Allocate and set mode in egl-compositor.
...
Pass the front buffer name to eglCreateSurfaceForName to create the
fullscreen EGLSurface.
16 years ago
Kristian Høgsberg
9af92b380c
Animate overlay on/off.
16 years ago
Kristian Høgsberg
cddc0ad502
Add keyboard input, move input device creation to compositor.
16 years ago
Kristian Høgsberg
1e4b86af1a
Expose screenshooting as an interface, drop SIGUSR hack.
...
This pulls in a bit of extra infrastructure for discovering adertised objects on the
client side.
16 years ago
Kristian Høgsberg
548798266e
Add an overlay type window in the compositor.
16 years ago
Kristian Høgsberg
aa5b5bed73
Load and draw background in compositor.
16 years ago
Kristian Høgsberg
4c9f2c9b1a
Move pointer drawing into compositor.
16 years ago
Kristian Høgsberg
29590034f4
Remove redundant glFlush().
16 years ago
Kristian Høgsberg
8d7ca6be21
Add quick screenshot hack.
16 years ago
Kristian Høgsberg
e4feb56316
Make window prettier again.
16 years ago
Kristian Høgsberg
b7a01928be
Add prototypes warnings, use -fvisibility.
16 years ago
Kristian Høgsberg
78231c8dd0
Implement surface copy request, use it for egl gears.
16 years ago
Kristian Høgsberg
7f77bd8fbe
Add copy and damage surface requests.
16 years ago
Kristian Høgsberg
5503bf82c4
dlopen the compositor, add a glx compositor.
16 years ago
Kristian Høgsberg
56f3c71f8c
Add a FIXME for when we have a working fbconfig chooser.
16 years ago
Kristian Høgsberg
2d9cd1ee51
Use eglBindTexImage instead of copying texture data.
16 years ago
Kristian Høgsberg
3f59e82c20
Use GL_ONE for the source in glBendFunc instead of pre-unmultiplying.
...
Eventually we need to allow both pre-multiplied alpha and not, but for now default to premultiplied.
16 years ago
Kristian Høgsberg
6b5e7626f5
Move background drawing to a client.
16 years ago
Kristian Høgsberg
5a27f3e6a7
Add a new client that draws a pointer.
16 years ago
Kristian Høgsberg
c508d93be2
Update for eagle changes.
16 years ago
Kristian Høgsberg
48a33baec7
Use triangle strips for drawing surfaces.
16 years ago
Kristian Høgsberg
a234e70268
Make test client a little more interesting.
16 years ago
Kristian Høgsberg
ef7a9ca8c9
Run compositor fullscreen, repaint when surfaces come and go.
16 years ago
Kristian Høgsberg
5ebb317383
Recomposite screen in idle handler.
16 years ago