Commit Graph

53 Commits

Author SHA1 Message Date
Alexander Larsson
ddcbd8234b [broadway] When resyncing, first create all windows then set attributes
Some attributes (like transient parent) depende on other windows being
there, so we create all first.
2011-04-12 11:12:39 +02:00
Alexander Larsson
7b3b4a6ad9 [broadway] Correctly track remote visible state
GDK_WINDOW_IS_MAPPED is not false for withdrawn windows, so we need
to track real visibility ourselves.
2011-04-11 12:09:43 +02:00
Alexander Larsson
ace1c4c284 [broadway] Set transient-for before showing window
When syncing windows, make sure we set transient-for before showing
the window to avoid it being visible with the wrong transient-for
(i.e. possibly on the wrong browser window).
2011-04-11 12:09:43 +02:00
Alexander Larsson
fe79bbd618 [broadway] Position non-popup windows ourselves
We ignore the initial positions for non-popup windows, instead we
place the windows ourselves (or in the useToplevel mode by the WM).
2011-04-10 20:16:13 +02:00
Alexander Larsson
d12a9a5e99 [broadway] Add gdk_broadway_display_get_last_seen_time 2011-04-07 20:18:13 +02:00
Alexander Larsson
43aac66458 [broadway] Fix all unnecessary warnings 2011-04-07 10:03:17 +02:00
Alexander Larsson
adc05ae6b7 [broadway] Add configure event for browser-side geometry changes
Atm this only works for the useToplevelWindows case, but we can add
a browser wm to make use of it inside the browser too.
2011-04-07 10:03:17 +02:00
Alexander Larsson
199cd1548f [broadway] Track window type in browser 2011-04-07 10:03:17 +02:00
Alexander Larsson
9c5c4223e3 [broadway] Track transient_for 2011-04-07 10:03:17 +02:00
Cosimo Cecchi
69b9794d9e broadway: fix a build warning 2011-03-16 10:48:24 -04:00
Alexander Larsson
e3a2176a1f broadway: double buffer window updates
Ensure that we're writing all the updates for a single rendering op
in one go without callbacks inbetween. That way some rendering will
be delayed, but the user will never see partial renderings.
2011-03-15 09:50:07 +01:00
Alexander Larsson
58c234e7d0 broadway: Don't crash if output is NULL 2011-03-15 08:50:18 +01:00
Alexander Larsson
7d2ff79ddf broadway: Fix some window coordinate reporting issues 2011-03-14 11:28:57 +01:00
Alexander Larsson
cf6bf44184 broadway: Remove debug code and fix whitespace issues 2011-03-14 11:21:37 +01:00
Alexander Larsson
7c12e5f27e broadway: Implement gdk_display_flush 2011-03-11 14:37:39 +01:00
Alexander Larsson
71aa55d291 broadway: Call device vfunc to get device state
We want only one place where we get device state.
2011-03-11 08:26:37 +01:00
Alexander Larsson
d4e2414d4a broadway: Add serial tracking and roundtripping 2011-03-10 14:58:47 +01:00
Alexander Larsson
d8f061ad42 [broadway] Update to new GDK backend APIs 2011-02-11 15:59:50 +01:00
Alexander Larsson
cbc324d846 [broadway] Prefix internal functions with broadway 2011-01-20 13:40:34 +01:00
Alexander Larsson
07db0e38b0 [broadway] Make broadway build with new gdk-backend setup
Convert all global functions to vtable calls, etc.
2011-01-19 19:52:51 +01:00
Alexander Larsson
7dbbc54370 [broadway] Remove unneeded _gdk_window_impl_get_type call 2010-12-04 22:54:45 +01:00
Alexander Larsson
895922569e [broadway] Update to the new drawable-less APIs 2010-12-04 22:31:28 +01:00
Alexander Larsson
4004882b92 [broadway] Only change window positioning for toplevels not e.g. menus 2010-11-25 22:09:33 +01:00
Alexander Larsson
c1a35afa5f [broadway] Don't have mouse_in_toplevel point to hidden or destroyed window 2010-11-25 22:09:33 +01:00
Alexander Larsson
7667ad456b [broadway] Avoid crash if mask is NULL 2010-11-25 22:09:33 +01:00
Alexander Larsson
b23fd41449 [broadway] Fix warning 2010-11-25 22:09:33 +01:00
Alexander Larsson
0539303dfc Handle output errors correctly 2010-11-25 22:09:33 +01:00
Alexander Larsson
ce5cccf0ab [broadway] Fix typo in assignment 2010-11-25 22:09:33 +01:00
Alexander Larsson
f407b4a5f5 Rename BroadwayClient to BroadwayOutput 2010-11-25 22:09:32 +01:00
Alexander Larsson
1bc7bc5542 [broadway] Initialize masks to zero everywhere to avoid valgrind warnings 2010-11-25 22:09:32 +01:00
Alexander Larsson
77907fec79 Move global window list to per-display 2010-11-25 22:09:32 +01:00
Alexander Larsson
08a180a699 [broadway] Hack up window placement for demo 2010-11-25 22:09:32 +01:00
Alexander Larsson
b82ed84709 [broadway] Implement window resize 2010-11-25 22:09:32 +01:00
Alexander Larsson
bed0ccba9d [broadway] Handle window moves 2010-11-25 22:09:32 +01:00
Alexander Larsson
ec4a6c4a5f [broadway] Implement _gdk_windowing_window_at_device_position 2010-11-25 22:09:31 +01:00
Alexander Larsson
5a49bfe96a Fix some type warnings 2010-11-25 22:09:30 +01:00
Alexander Larsson
e6c340519c [broadway] Send diffs as bilevel rgba instead of true diff
The true diff only works if the destination keeps perfect 32bit
canvas data, which is not always true. So, instead we send only
changed pixels, masking the others to 0 via alpha 0.
2010-11-25 22:09:30 +01:00
Alexander Larsson
d211d78eef [broadway] Track window<->id mapping 2010-11-25 22:09:30 +01:00
Alexander Larsson
2ee6dbd998 Remove unneeded copy of region 2010-11-25 22:09:30 +01:00
Alexander Larsson
ee6b07bf15 [broadway] remove some spew 2010-11-25 22:09:29 +01:00
Alexander Larsson
95df67f47b [broadway] don't sync the root window 2010-11-25 22:09:29 +01:00
Alexander Larsson
f11a7d2fde Don't put output on stdin, instead do it on http connection 2010-11-25 22:09:29 +01:00
Alexander Larsson
6651eab293 [broadway] Initial hookup of broadway client 2010-11-25 22:09:29 +01:00
Alexander Larsson
db288f3233 [broadway] Ensure gdk_ref_cairo_surface object can be destroyed
If we return a direct ref that is not possible, since we own a ref to it.
This is problematic as the gdkwindow.c code uses destruction to track
outstanding surfaces.

We fix this by returning a subsurface.
2010-11-25 22:09:29 +01:00
Alexander Larsson
f02b7c9ed2 [broadway] Copy regions on last_surface during translations too
This will help make scrolling more efficient
2010-11-25 22:09:29 +01:00
Alexander Larsson
60cf2d53eb Track last_surface properly 2010-11-25 22:09:29 +01:00
Alexander Larsson
d707d057c2 [broadway] Rename X11 -> Broadway in all code
This just runs:
for i in *.[ch]; do
 sed -i s/DisplayX11/DisplayBroadway/g $i;
 sed -i s/PrivateX11/PrivateBroadway/g $i;
 sed -i s/ImplX11/ImplBroadway/g $i;
 sed -i s/KeymapX11/KeymapBroadway/g $i;
 sed -i s/ScreenX11/ScreenBroadway/g $i;
 sed -i s/GdkX11Monitor/GdkBroadwayMonitor/g $i;
 sed -i s/_X11/_BROADWAY/g $i;
 sed -i s/x11/broadway/g $i;
done
2010-11-25 22:09:29 +01:00
Alexander Larsson
ce6ae54607 [broadway] Send MAP/UNMAP events for impl windows 2010-11-25 22:09:29 +01:00
Alexander Larsson
2ecaeb149f [broadway] Implement window translation 2010-11-25 22:09:28 +01:00
Alexander Larsson
73f9c0cc00 [broadway] Track dirty windows 2010-11-25 22:09:28 +01:00