Matthias Clasen
bee74e8243
broadway: No more screen
...
This gets rid of the GdkBroadwayScreen object and all
remnants of GdkScreen in the broadway backend.
2017-11-01 19:44:28 -04:00
Benjamin Otte
047cf67cb2
broadway: Fix fallout from screen changes
2017-11-01 16:03:16 +01:00
Matthias Clasen
5cb5bdf1bc
Add gdk_display_get_toplevel_windows
...
This is replacing the corresponding GdkScreen api, which
is going away. To implement this, we need to add a
get_root_window vfunc to GdkDisplay.
2017-10-31 20:29:48 -04:00
Matthias Clasen
729aeef6ab
broadway: Implement the GdkDisplay get_setting vfunc
...
This is just a trivial implementation.
2017-10-30 16:43:13 -04:00
Benjamin Otte
2a27b7ecc6
API: Remove gdk_window_process_all_updates()
...
It's completely unused since we have a frame clock.
2016-11-23 19:10:34 +01:00
Benjamin Otte
d249e77bcb
API: screen: Remove gdk_screen_is_composited()
...
Switch code to use gdk_display_is_composited() instead.
The new code also doesn't use a vfunc to query the property but rather
requires the backend to call set_composited()/set_rgba() to change the
value.
2016-10-29 04:49:47 +02:00
Matthias Clasen
e041345fcb
Remove the last uses of GDK_DISPLAY_OBJECT
...
This is an obsolete macro.
2016-10-25 16:01:50 -04:00
Benjamin Otte
89f2e17f91
API: Remove gdk_window_set_composited()
...
And the related call gdk_display_supports_composite().
2016-10-16 18:17:21 +02:00
Matthias Clasen
044109c8c7
broadway: Port to new monitor api
2016-04-27 23:18:16 -04:00
Paolo Borelli
4a6f8a065a
gdk: remove the display->list_devices vfunc
...
gdk_display_list_devices is deprecated and all the backends
implement the same fallback by delegating to the device manager
and caching the list (caching it is needed since the method does
not transfer ownership of the container).
The compat code can be shared among all backends and we can
initialize the list lazily only in the case someone calls the
deprecated method.
https://bugzilla.gnome.org/show_bug.cgi?id=762891
2016-02-29 21:53:58 +01:00
Paolo Borelli
38ad57948c
gdk: remove the core_pointer field from GdkDisplay
...
It is not used anymore, so no need to set it
https://bugzilla.gnome.org/show_bug.cgi?id=762820
2016-02-29 14:15:04 +01:00
Paolo Borelli
539b1083de
broadway: get the core pointer from the device manager
...
https://bugzilla.gnome.org/show_bug.cgi?id=762820
2016-02-29 14:15:04 +01:00
Carlos Garnacho
598dedfe36
broadway: Add a few ignore deprecations statements around GdkDeviceManager
...
There's places where we still need to deal with floating devices, which are
unseen by seats. Ignore deprecations and keep using GdkDeviceManager until
we can forget about floating devices.
2015-12-16 19:47:06 +01:00
Jasper St. Pierre
887b7356c3
gdkdisplay: Provide a default event_data_copy / event_data_free
...
Every single implementation but Quartz is a no-op for this, so just
provide it once rather than in every backend.
2014-10-27 22:13:23 -07:00
Matthias Clasen
24b8499833
Broadway: Fix various compiler warnings
...
Mostly missing declarations and unused functions.
2014-09-05 19:39:05 -04:00
Benjamin Otte
32a420b7d6
broadway: Print a useful error message
...
.. instead of the generic "failed to open display".
2014-03-05 21:03:36 +01:00
Alexander Larsson
4226f97d54
broadway: Support ipad on-screen keyboard
...
We add a custom im module for broadway that calls some broadway
specific APIs to show/hide the keyboard on focus in/out. We then forward this
to the browser, and on the ipad we focus an input field to activate
the keyboard.
2013-11-13 12:23:06 +01:00
Alexander Larsson
82acc05cba
broadway: Add initial touch event support
...
This seems to get something going on an ipad, but some events seem
to get swallowed. For instance, window dragging doesn't work.
2013-11-12 16:11:15 +01:00
Alexander Larsson
b2113b7384
gdk: Add gdk_cursor_new_from_surface
...
We need this to be able to handle scaled cursor images.
We implement the new _from_pixbuf by converting to a surface and
assuming the scale was 1.
2013-08-07 13:34:10 +02:00
Chun-wei Fan
2268e9d6c9
Broadway: Allow Compilation on Windows/MSVC
...
-Don't include unistd.h unconditionally as it's not available in Visual
Studio, but include io.h where necessary.
-Avoid C99isms, and use _chsize_s in place of ftruncate when unistd.h is
not available (as in the case of Visual Studio)
2013-07-01 14:51:03 +02:00
Tarnyko
e2da2259ad
broadway: Support TCP displays
2013-06-13 19:12:46 +02:00
Tarnyko
050702494b
broadway: Remove unused includes
2013-06-13 18:09:32 +02:00
Benjamin Otte
f345051d36
displaymanager: Emit display-opened directly
...
Instead of letting every backend do it manually.
2013-04-19 16:18:25 -04:00
Benjamin Otte
7ef508ff4a
displaymanager: Handle list of displays in base class
...
This moves the add/remove_display() functions from the subclasses to
GdkDisplay and GdkDisplayManager. It also gets rid of the list_displays
vfunc.
2013-04-15 15:43:26 +02:00
Benjamin Otte
a6b29d73d7
gdkdisplay: Remove get_screen() and get_n_screens() vfuncs
2013-04-02 11:45:44 +02:00
Alexander Larsson
3558e655b4
broadway: Proper handling of http port and display nr
2012-12-27 22:56:04 +01:00
Alexander Larsson
fc96ef51d7
broadway: Initial version of separate broadway server
...
This kinda works but is very rudimentary
2012-12-27 22:56:03 +01:00
Alexander Larsson
0a808bea54
broadway: Separate out the server parts
...
This (shouldn't) change any behaviour, but it moves the
webserver parts to a separate file, making the broadway display file
smaller and preparing for later separating out the server to its own
process.
2012-12-20 00:00:16 +01:00
Aleksander Morgado
a61b359498
GdkBroadwayDisplay: include proper port number in error trace
2012-12-05 11:23:35 +01:00
Aleksander Morgado
4dabc8ba84
GdkBroadwayDisplay: initialize GError before using it
2012-12-05 11:23:28 +01:00
Alexander Larsson
db374a0a87
broadway: Use binary websockets if available
2012-10-01 14:58:57 +02:00
Alexander Larsson
96e7ff73dd
broadway: Detect binary websockets support
2012-10-01 14:58:56 +02:00
Javier Jardón
9d0febc9a6
Change FSF Address
2012-02-27 17:06:11 +00:00
Michael Meeks
0481fbf7ce
broadway: terminate v7 input to avoid parsing uninit memory.
2012-01-31 10:39:01 +00:00
Matthias Clasen
585a6652d5
Use G_SOURCE_CONTINUE/REMOVE
...
Now that GLib provides these macros, we should use them
to make the code more readable.
2012-01-30 19:12:27 -05:00
Alexander Larsson
fa6ad2ca04
broadway: Properly handle masked websocket messages
...
Thanks to Rafal Luzynski for pointing this out.
https://bugzilla.gnome.org/show_bug.cgi?id=656521
2012-01-25 11:47:16 +01:00
Javier Jardón
24360a8076
gdk/*: Use g_list_free_full convenience function
2012-01-05 04:22:42 +01:00
C. Scott Ananian
981efc90b4
Fix uninitialized digest_len field, causing WebSocket handshake to g_assert.
...
g_checksum_get_digest checks to ensure that the passed digest_len is long
enough to hold the digest, before setting it to the actual length of the
digest returned. Digest_len is uninitialized in the code, so if you're
lucky it will be larger than 20 and everything will work fine. If you're
unlucky, g_checksum_get_digest will return either -1 or some number less
than 20, and the g_assert(digest_len==20) will fail.
2011-11-14 09:55:19 +01:00
Michael Meeks
14a17873de
broadway: Initial support fro V7+ websockets
...
Allows more modern browsers eg. firefox 5+ to use gtk/broadway
Auto-detects protocol version, and can switch between them at
as you connect a different browser.
This works to some extent, but seems to hang sometimes, for
instance the "button box" test in testgtk never shows up.
2011-11-10 10:12:28 +01:00
Javier Jardón
7c688cb8a6
gdk: Use const instead G_CONST_RETURN
2011-06-10 13:07:54 +01:00
Alexander Larsson
0abd5e2767
[broadway] Stream data over websocket
...
The zlib compressed xmlhttprequest thing was a nice hack, but it doesn't
really work in production. Its not portable, doesn't have enought API
(missing notification for closed sockets) and having to synchronize
between two different connections in a reliable way is a pain.
So, we're going everything over the websocket. This is a pure switch,
but after this we want to modify the protocol to work better over
the uncompressed utf8 transport of websockets.
2011-04-18 20:51:53 +02:00
Alexander Larsson
887743728f
[broadway] Handle keyboard modifiers in state
2011-04-14 21:36:42 +02:00
Alexander Larsson
d6beabbff2
[broadway] Make the toplevel mode a url parameter
2011-04-10 20:16:13 +02:00
Alexander Larsson
cad40b24e2
[broadway] Remove unused hashtables
2011-04-07 20:20:51 +02:00
Alexander Larsson
095ccf9c11
[broadway] Serialize event times
...
Event times come from the browser and may change weirdly when we reconnect
with another browser, so we normalize these to be strictly increasing
and with a 5 second gap for each reconnect.
2011-04-07 19:12:51 +02:00
Alexander Larsson
dd07f534f4
[broadway] Handle screen size
...
Without this menu placement doesn't work right
2011-04-07 15:10:39 +02:00
Alexander Larsson
8c20b476df
[broadway] Track and report last and future state
...
This fixes the drawing area demo in gtk-demo
2011-04-07 14:36:30 +02:00
Alexander Larsson
43aac66458
[broadway] Fix all unnecessary warnings
2011-04-07 10:03:17 +02:00
Alexander Larsson
3b1fe05e78
[broadway] Wire up the delete event
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
e1dcd6735e
[broadway] Remove unused query pointer message
2011-04-07 10:03:16 +02:00
Alexander Larsson
a0048d5e70
[broadway] Add _gdk_broadway_display_consume_all_input
...
This parses and queues all currently availible input data non-blockingly.
Useful to ensure the latest up-to-date future info.
2011-04-07 10:03:16 +02:00
Alexander Larsson
fdc2059edb
[broadway] Track future pointer events locations during parsing
...
We want this info so that we can avoid roundtrips and still get
a somewhat better querying for pointer locations.
2011-04-07 10:03:16 +02:00
Alexander Larsson
1fa952fb04
[broadway] Add helper for processing input at idle
2011-04-07 10:03:16 +02:00
Alexander Larsson
e113cf26fb
[broadway] Keep track of current real cursor window (sans grabs)
...
We need this to be able to do a non-roundtripping get-window.
2011-04-07 10:03:16 +02:00
Alexander Larsson
ee1657d88e
[broadway] Break out _gdk_broadway_display_read_all_input_nonblocking
...
This is useful in other places, like when we want to iterate over
all messages recieved so far.
2011-04-07 10:03:16 +02:00
Alexander Larsson
d664e78c94
[broadway] Make pointer grabs not roundtrip
...
Since we're really only initializing grabs (except for implicit
grabs at least) from the client side we might as well do all the grab
time checks on the client side to avoid unnecassary roundtrips.
2011-04-07 10:03:16 +02:00
Alexander Larsson
8aad17592e
[broadway] Parse broadway input messages earlier
...
We now parse the broadway messages as soon as they are read from the wire.
This will let us sanely do lookahead in the message queue later.
2011-04-07 10:03:15 +02:00
Alexander Larsson
084003953d
broadway: Make broadway port configurable with BROADWAY_DISPLAY
2011-03-14 15:58:55 +01:00
Alexander Larsson
95b19bca33
broadway: Implement pointer grabs
2011-03-14 11:52:46 +01:00
Alexander Larsson
614eb3b3d7
broadway: Add _gdk_broadway_display_block_for_input
2011-03-11 14:45:13 +01:00
Alexander Larsson
e08396450d
broadway: Break out websockets parsing and message processing
...
We need this to be able to correctly handle the recieve buffer
during message processing. Without the split we would be
recursing over the use of it.
2011-03-11 14:41:03 +01:00
Alexander Larsson
7c12e5f27e
broadway: Implement gdk_display_flush
2011-03-11 14:37:39 +01:00
Alexander Larsson
0fa32e98a4
broadway: Change input handling to use polling rather than async reads
...
We do this because we need to be able to switch to using sync reads
when we're doing a roundtripping call, and that is too complex
with the async code.
2011-03-10 21:22:19 +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
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
190f533258
[broadway] Remove unnecessary backend-specific function
...
These were just blindly copied from the X backend
2010-12-04 22:59:04 +01:00
Alexander Larsson
0b6265b76a
[broadway] Only allow one input session
2010-11-25 22:09:33 +01:00
Alexander Larsson
a4fc901c07
[broadway] Handle errors in input nicer
...
Also, fix a leak
2010-11-25 22:09:33 +01:00
Alexander Larsson
e7169f75e6
Move send_error up
2010-11-25 22:09:33 +01:00
Alexander Larsson
1b3efb3599
Save current input request
2010-11-25 22:09:33 +01:00
Alexander Larsson
ccab600fb4
Move event generation to gdkeventsource.c
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
fcce2986ce
[broadway] Keep track of the GSocketConnection for the output
2010-11-25 22:09:32 +01:00
Alexander Larsson
f407b4a5f5
Rename BroadwayClient to BroadwayOutput
2010-11-25 22:09:32 +01:00
Alexander Larsson
93fec05183
[broadway] Track last mouse position
2010-11-25 22:09:30 +01:00
Alexander Larsson
6fe849d4f1
[broadway] Send and use canvas ids in events
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
cdd274a55c
[broadway] Missed a place to use event time
2010-11-25 22:09:30 +01:00
Alexander Larsson
65d4edbd5b
[broadway] Send event timestamps from client
2010-11-25 22:09:30 +01:00
Alexander Larsson
2e8f21cb1b
[broadway] Allow loading client.html as "/" only
2010-11-25 22:09:30 +01:00
Alexander Larsson
163a278d13
Fix button numbers in events (starts with 1, not 0)
2010-11-25 22:09:30 +01:00
Alexander Larsson
884527a958
[broadway] Initial work on mouse events
2010-11-25 22:09:30 +01:00
Alexander Larsson
852b317b4f
Initial sketch of websockets support
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
8a0429b42d
Flesh out http server to handle client.html and broadway.js
2010-11-25 22:09:29 +01:00
Alexander Larsson
ded9bc698b
Add initial http server
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
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
c456e98880
Remove X use from broadway backend
2010-11-25 22:09:28 +01:00
Alexander Larsson
a54e556ad8
Remove event translators
2010-11-25 22:09:28 +01:00
Alexander Larsson
5b480e1b0d
[broadway] Copy X backend to broadway
2010-11-25 22:09:19 +01:00