Kristian Høgsberg
4c3dac9c66
clients: Remove superfluous #includes
...
In particular window.c and many clients were including glib.h without
using it and without the right cflags.
13 years ago
Kristian Høgsberg
80680c7b75
window.c: Just use float instead of GLfloat, remove GLES2.h include
13 years ago
Daniel Stone
b230a7ee58
Convert internal input co-ordinates to GLfloat
...
Change all client motion handlers to take GLfloat for co-ordinates,
rather than int32_t.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
13 years ago
Daniel Stone
5d66371743
Change button from int to uint32_t
...
Since you can't really have a negative button number.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
13 years ago
Daniel Stone
da5b93c8d7
Change key/button grab bindings to take unsigned state
...
'state' here meaning 'is it up or down?', obviously.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
13 years ago
Kristian Høgsberg
eae5de7609
Follow wayland change to serial numbers
13 years ago
Kristian Høgsberg
bcacef19b0
Add an option parser
...
On one hand, getopt (in particular the -o suboption syntax) sucks on the
server side, and on the client side we would like to avoid the glib
dependency. We can roll out own option parser and solve both problems
and save a few lines of code total.
13 years ago
Kristian Høgsberg
009ac0a965
window: Dont take width and height in window constructor
...
Always set this by scheduling an initial resize.
13 years ago
Kristian Høgsberg
8e054f76cc
flower: Dont allow resizing
13 years ago
Kristian Høgsberg
c25a1d73fc
flower: Redraw flower on middle click, pop up window menu on right click
13 years ago
Kristian Høgsberg
29af3ebce6
window: Make decorations just a widget
...
Woohoo, only took 25 commits of refactoring to get to this point.
13 years ago
Kristian Høgsberg
b67e94b170
window: Make resize and redraw handlers widget vfuncs
13 years ago
Kristian Høgsberg
5d12990dbe
window: Allocate and flush the window surface in window.c
...
No need to push this to the toolkit users.
13 years ago
Kristian Høgsberg
75bc667a70
window: Drop the window widget
...
It was just a temporary convenience for moving things over.
13 years ago
Kristian Høgsberg
a8a0db3497
window: Move button handler to widget
13 years ago
Kristian Høgsberg
87a57bbd73
window: Create a widget for the window, drop window motion handler
13 years ago
Pekka Paalanen
50719bce2a
Fix inconsistent #include style
...
Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
13 years ago
Kristian Høgsberg
3a69627f43
window: Stop using glib mainloop in toy toolkit
13 years ago
Kristian Høgsberg
9de79a92a6
window.c: Drop global handler argument
...
We can just register a global handler directly on the wl_display now.
13 years ago
Tim Wiederhake
b4b67344f0
Define global handler on display creation
...
Otherwise the initial announcement of interfaces gets lost.
14 years ago
Kristian Høgsberg
297c6313eb
Port window.c to use wayland-egl
14 years ago
Kristian Høgsberg
248c1b61ce
Add an orange pop-up menu to test the new map_transient request
14 years ago
Kristian Høgsberg
82da52b15b
Update surface.attach and change surface.map to surface.map_toplevel
...
The new map_toplevel() request no longer specifies a position and takes
the size from the attached buffer. The attach request now takes a
position relative to the top-left corner of the old buffer to let
clients specify the relative position of the new buffer.
14 years ago
Yuval Fledel
e9f5e36730
Make clients exit orderly when there is no connection
14 years ago
Kristian Høgsberg
012a007771
Add small client for testing shm surfaces
14 years ago
Kristian Høgsberg
9d69f8e796
Replace commit/ack/frame protocol with simpler sync and frame callbacks
14 years ago
Kristian Høgsberg
8ca1cc20a1
flower: Clear surface
14 years ago
Kristian Høgsberg
c8c3734ef9
Set window user data using separate function
15 years ago
Kristian Høgsberg
478d9265f9
Send device name at connect time
15 years ago
Kristian Høgsberg
7824d81e07
Consolidate more code in clients/window.c
15 years ago
Kristian Høgsberg
a85fe3cf45
Use cairo-gl in clients
15 years ago
Kristian Høgsberg
b2a432ef18
Move clients to subdirectory
15 years ago
Janusz Lewandowski
d923e9d93b
Replace cairo_drm_device_t with cairo_device_t
15 years ago
Kristian Høgsberg
2644910241
Update to track the cairo_drm_device_t rename
16 years ago
Kristian Høgsberg
57b751b0c3
Fix flower client.
24 years ago
Kristian Høgsberg
8012f32978
Drop libdrm CFLAGS where no longer necessary.
16 years ago
Kristian Høgsberg
0ac16f056d
Switch to cairo-drm, drop struct buffer hacks.
16 years ago
Kristian Høgsberg
3b94998f6a
Randomize flower offset again.
16 years ago
Kristian Høgsberg
94448c0ad7
Add listener interfaces for output and input_device objects.
16 years ago
Kristian Høgsberg
de31d5ca6f
Add preliminary visual support.
16 years ago
Kristian Høgsberg
d2412e2c2e
Redesign the compositor / server interface.
...
This lets the compositor directly provide the implementation of the RMI
objects for the surface object and a new compositor object. We avoid the
manual forwarding of requests into the compositor and the clumsy compositor
interface struct.
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
18fb78307b
Use struct buffer from cairo-util.c in flower.c.
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
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