Alexander Larsson
5bc8f8826f
broadway: Optionally support data: uris instead of blobs
...
This is nice when you want to make a "screenshot" by using save-as.
Its not going to perform as well though, so you have to enable it
by adding ?datauri to the url
2019-03-29 14:30:13 +01:00
Alexander Larsson
4e7eccbb49
broadway: Report some level of frame timings
...
This is not ideal because we report the time of a full roundtrip, rather
than the presentation time, but its better than nothing, and i'm not sure
how the browser time should be reconciled.
2019-03-29 14:30:13 +01:00
Alexander Larsson
27e47d5df6
broadway: Change events and ops enums to straight ints
2019-03-29 14:30:13 +01:00
Alexander Larsson
7002688398
broadway: More multi-display fixes
...
When doing idle flushing, do so per display rather than a global
and some find_display hack.
2019-03-29 14:30:13 +01:00
Alexander Larsson
54167ec3fa
broadway: Add warning for unexpected roundtrip delays
2019-03-29 14:30:13 +01:00
Alexander Larsson
a966fe1ed5
broadway: Keep track of surface owner and only send input to that client
2019-03-29 14:30:13 +01:00
Alexander Larsson
ab801fe782
broadway: Fix handling of input with multiple in-process GdkDisplays
...
We need each instance to only forward input to the right display.
This make the inspector work better.
2019-03-29 14:30:13 +01:00
Alexander Larsson
b58a366dc6
broadway: Support patching nodes for textures and transforms
2019-03-29 14:30:13 +01:00
Alexander Larsson
f30ba56323
broadway: Reintroduce smarter diffing
...
We now send very minimal diff operations.
2019-03-29 14:30:13 +01:00
Alexander Larsson
4dfe2e6e2f
broadway: Initial restructuring of node tree diffing
...
This goes back to a very naive diff, but that reuses nodes from
previous frames using the node id. This will be a bettter base
to start from.
2019-03-29 14:30:13 +01:00
Alexander Larsson
90c5a5ff6b
broadway: Update broadway_node_type_names
2019-03-29 14:30:13 +01:00
Alexander Larsson
6040a7370c
Broadway: Send configure notify on move/resize too
2019-03-29 14:30:13 +01:00
Alexander Larsson
c8d7b4a79a
broadway: Fix coordinates when drag move/resizeing
...
The x/y passed in are in the surface, not root coords.
2019-03-29 14:30:13 +01:00
Matthias Clasen
f89c93ea8e
Merge branch 'window-api-cleanup' into 'master'
...
GtkWindow api cleanup
See merge request GNOME/gtk!674
2019-03-28 00:14:51 +00:00
Matthias Clasen
8ef4e231ec
gdk: Stop implementing set_role
...
All but the X implementation of these were
empty anyway. And the X one is just setting
a property.
2019-03-27 17:29:17 -04:00
Alexander Larsson
9212727f53
broadway: Use css transforms
...
This allows generic transforms nodes to work.
2019-03-27 19:27:16 +01:00
Alexander Larsson
411dc7e138
broadway: Fix leftover dom modification not using display_commands
2019-03-27 14:21:28 +01:00
Matthias Clasen
21580309d3
Rename gdk_surface_get_device_position_double
...
Drop the _double suffix, now that the int version is gone.
2019-03-26 18:12:54 -04:00
Alexander Larsson
6fce18e1a1
broadway: Remove some spew
2019-03-26 17:09:41 +01:00
Alexander Larsson
cf4226586a
broadway: Load all textures before applying display ops, fixing flickers
2019-03-26 17:07:47 +01:00
Alexander Larsson
0481aa10e7
broadway: Use const use for constants in the js code
2019-03-26 17:07:47 +01:00
Alexander Larsson
edbaa0964f
broadway: Clean up stuff using const defines
2019-03-26 17:07:47 +01:00
Alexander Larsson
fbefec52a5
Broadway: Add id for nodes and reuse old ones
...
When sending render nodes from the client to the daemon we add an id,
and whenever we're about to re-send the entire tree node we instead
send the old id. We track all the nodes for the previous frame
of the surface this way.
Having the id on the daemon side will allow us do to much better deltas.
2019-03-26 17:07:47 +01:00
Alexander Larsson
87a13fe3d2
broadway: Prepare for splitting display ops out of command handling
2019-03-26 17:07:47 +01:00
Alexander Larsson
2f85443e37
broadway: Refcount textures
...
We want to delay some rendering, and to make that safe we need to correctly
refcount the use of blob uris for the textures so that we don't unref
it while something is scheduled to use it.
2019-03-26 17:07:47 +01:00
Alexander Larsson
3bbbe9f71b
broadway: Don't crash of drag-resizing when already active
...
This is what the X11 code does.
2019-03-26 17:07:47 +01:00
Alexander Larsson
890b759091
broadway: Send actual float32, not some hack
2019-03-26 17:07:47 +01:00
Alexander Larsson
d997903d29
broadway: Use DataView instead of hand-rolled int parsers
...
This is nicer in general, but also will let us do floats more sanely.
2019-03-26 17:07:47 +01:00
Alexander Larsson
b097f0a7d8
Broadway: Add node for debug nodes
...
This can be helpful when debugging broadway.
2019-03-26 17:07:47 +01:00
Alexander Larsson
1b5b1bfd0e
broadway: Don't fall back for translation transform nodes
...
These are trivial anyway
2019-03-26 17:07:47 +01:00
Matthias Clasen
3d37f08f38
Remove gdk_device_warp
...
This was only ever implemented on X11, and is
not something we want to encourage apps to do, ever.
2019-03-24 20:49:08 -04:00
Emmanuele Bassi
45361e19c3
Rename more GSources to use gtk
2019-02-06 10:37:24 +01:00
Mickael Istria
14010899b5
Issue #1633 - Ensure focus on click
...
This is necessary to give back focus to the Broadway elements when
content is embedded in an IFrame.
Signed-off-by: Mickael Istria <mistria@redhat.com>
2019-02-04 17:46:09 +01:00
Benjamin Otte
375fbd4e47
gdk: Remove key_event->string and key_event->length
...
They're unused.
2018-07-30 19:32:38 +02:00
Benjamin Otte
259be23ff2
broadway: Remove unused variable
2018-07-24 20:55:45 +02:00
Nirbheek Chauhan
5df4d27752
meson: libgdk-broadway.a depends on broadwayjs.h
...
Fixes https://gitlab.gnome.org/GNOME/gtk/issues/1218
Also fix another dependency error I found.
2018-07-23 20:15:44 +05:30
Matthias Clasen
e2fd33f78a
Revert "broadway: Stop using configure events"
...
This reverts commit 9c827cbff4
.
2018-07-15 20:23:45 -04:00
Matthias Clasen
228f813c43
dnd: Drop gdk_drag_drop
...
This is an inconsistently used private api, and just adds
a vfunc indirection for no other benefit.
2018-07-15 15:58:05 -04:00
Matthias Clasen
7ca6440f4d
gdk: Drop map events
...
We are really inconsistent about generating these,
and they are not actually used in GTK+. Instead,
add a boolean GdkSurface::mapped property.
2018-07-15 15:10:56 -04:00
Matthias Clasen
9c827cbff4
broadway: Stop using configure events
...
These no longer exist.
2018-07-15 14:01:59 -04:00
Matthias Clasen
f432c937cc
dnd: Drop gdk_drag_abort
...
This function is never called, so drop it, its vfunc,
and all the backend implementations.
2018-07-12 13:57:45 +02:00
Matthias Clasen
64f5afe608
dnd: Rename headers
...
Rename gdkdnd.h to gdkdrag.h, to go along with gdkdrop.h
This commit includes the necessary updates to the X11, Wayland
and Broadway backends. Other backends have to be updated separately.
2018-07-02 15:00:50 +02:00
Matthias Clasen
7733f646d6
gdk: Rename GdkDragContext to GdkDrag
...
This is to go along with the newly introduced GdkDrop.
This commit includes the necessary updates to the X11, Wayland
and Broadway backends. Other backends have to be updated separately.
2018-07-02 14:59:26 +02:00
Benjamin Otte
a1cee7fa65
surface: Kill event masks
...
In particular, this patch removes:
gdk_surface_get_events()
gdk_surface_set_events()
gdk_surface_get_device_events()
gdk_surface_set_device_events()
Event masks so far still exist for grabs.
2018-06-18 23:49:52 +02:00
Benjamin Otte
905765eed6
broadway: Remove unused variable
2018-06-18 23:49:52 +02:00
Benjamin Otte
316bd6a333
dnd: Add gdk_drop_finish()
...
and move the vfunc into GdkDrop.
2018-06-18 23:49:20 +02:00
Benjamin Otte
a05af1f0f3
dnd: Move the gdk_drag_status() function
...
It's now gdk_drop_status().
Also clarify the intended semantics.
2018-06-18 23:49:19 +02:00
Benjamin Otte
7e574fa98c
gdk: Get rid of gdk_event_free()
...
Events are objects, so use g_object_unref().
2018-05-29 21:53:44 +02:00
Benjamin Otte
8366ef71c0
dnd: Remove gdk_drop_reply()
...
It was only necessary for Motif DND, and we don't support that anymore.
2018-05-03 01:31:40 +02:00
Benjamin Otte
fb53568c04
gdk: Remove gdk_drag_grop_succeeded()
...
It's unused and most backends don't implement it.
2018-05-03 01:31:39 +02:00