Kristian Høgsberg
6e83d58153
Add keyboard input to terminal.
16 years ago
Kristian Høgsberg
0c4457f0c2
Refactor window logic into reusable parts, add a new terminal application.
...
The gears code is moved into a new file gearc.c and the window decoration
and management code stays in window.c. A new application 'terminal' is the
second user of the windowing code, but doesn't do anything useful yet.
16 years ago
Kristian Høgsberg
dc0f355f0a
Fix API to always include socket name length.
16 years ago
Kristian Høgsberg
e2ce43a9be
Fix namespace convention for glib source.
16 years ago
Kristian Høgsberg
ffd710e653
Put Wayland under the MIT license.
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
4097923a64
Add commit request + ack event to wayland core.
...
Use in window.c to manage life cycle of buffer correctly.
16 years ago
Kristian Høgsberg
e9d550bdd4
Optimize blur further, resize gears with window.
16 years ago
Kristian Høgsberg
873302649a
Optimize blur a bit more.
16 years ago
Kristian Høgsberg
8c304f6d9a
A couple more theme tweaks.
16 years ago
Kristian Høgsberg
6e635f3472
Get corner radius right for inner bevel.
16 years ago
Kristian Høgsberg
10bdd298b8
Optimize window blur calculation.
16 years ago
Kristian Høgsberg
2f2cfae227
Factor out common cairo code, add blur function.
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
1cbaa6abac
Use glib main loop for all clients.
16 years ago
Kristian Høgsberg
fb59084fbf
Add glib main loop integration, use it in flower client.
16 years ago
Kristian Høgsberg
7f77bd8fbe
Add copy and damage surface requests.
16 years ago
Kristian Høgsberg
b8bf19b7a9
Clear depth buffer, but only depth buffer for gears.
16 years ago
Kristian Høgsberg
8a9cda8cfb
Add the gears from glxgears.
16 years ago
Kristian Høgsberg
35370f8073
Redraw window in idle handler.
16 years ago
Kristian Høgsberg
ca1d1f65d0
Make window client a little more interesting.
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
61017b190a
Add a window client, first implementation of surface resizing.
16 years ago
Kristian Høgsberg
2a20d83fdb
Always poll on display fd so we only read when there's data.
16 years ago
Kristian Høgsberg
6b5e7626f5
Move background drawing to a client.
16 years ago
Kristian Høgsberg
1b2f4390f5
Unpremultiply cairo surface data.
16 years ago
Kristian Høgsberg
5a27f3e6a7
Add a new client that draws a pointer.
16 years ago
Kristian Høgsberg
e120a4b1ee
Rename client, prepare Makefile for more clients.
16 years ago
Kristian Høgsberg
d311e8a061
Make clients graphics use lighter random colors.
16 years ago
Kristian Høgsberg
a234e70268
Make test client a little more interesting.
16 years ago
Kristian Høgsberg
5ebb317383
Recomposite screen in idle handler.
16 years ago
Kristian Høgsberg
f921289954
Handle multiple clients better.
16 years ago
Kristian Høgsberg
16eb675399
Add an EGL compositor. Still pretty lame.
16 years ago
Kristian Høgsberg
427524aedf
Use new connection object in client code too.
16 years ago
Kristian Høgsberg
05eff51e41
Add surface.map request.
16 years ago
Kristian Høgsberg
a67a71a7cf
Bunch of new stuff: simple compositor, cairo+gem use in client, events.
16 years ago
Kristian Høgsberg
97f1ebe8d5
Initial commit.
...
This has the basic event loop, and a first cut of the libffi dispatcher.
16 years ago