mirror of
https://github.com/servo/servo.git
synced 2025-06-06 16:45:39 +00:00
Expose WebrenderSurfman interface to embedders.
This commit is contained in:
parent
cb2b2abdee
commit
d9484d5d06
1 changed files with 9 additions and 1 deletions
|
@ -161,6 +161,7 @@ pub trait HostTrait {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub struct ServoGlue {
|
pub struct ServoGlue {
|
||||||
|
webrender_surfman: WebrenderSurfman,
|
||||||
servo: Servo<ServoWindowCallbacks>,
|
servo: Servo<ServoWindowCallbacks>,
|
||||||
batch_mode: bool,
|
batch_mode: bool,
|
||||||
callbacks: Rc<ServoWindowCallbacks>,
|
callbacks: Rc<ServoWindowCallbacks>,
|
||||||
|
@ -285,7 +286,7 @@ pub fn init(
|
||||||
density: init_opts.density,
|
density: init_opts.density,
|
||||||
gl_context_pointer: init_opts.gl_context_pointer,
|
gl_context_pointer: init_opts.gl_context_pointer,
|
||||||
native_display_pointer: init_opts.native_display_pointer,
|
native_display_pointer: init_opts.native_display_pointer,
|
||||||
webrender_surfman,
|
webrender_surfman: webrender_surfman.clone(),
|
||||||
});
|
});
|
||||||
|
|
||||||
let embedder_callbacks = Box::new(ServoEmbedderCallbacks {
|
let embedder_callbacks = Box::new(ServoEmbedderCallbacks {
|
||||||
|
@ -298,6 +299,7 @@ pub fn init(
|
||||||
|
|
||||||
SERVO.with(|s| {
|
SERVO.with(|s| {
|
||||||
let mut servo_glue = ServoGlue {
|
let mut servo_glue = ServoGlue {
|
||||||
|
webrender_surfman,
|
||||||
servo,
|
servo,
|
||||||
batch_mode: false,
|
batch_mode: false,
|
||||||
callbacks: window_callbacks,
|
callbacks: window_callbacks,
|
||||||
|
@ -338,6 +340,12 @@ impl ServoGlue {
|
||||||
self.servo.deinit();
|
self.servo.deinit();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Returns the webrender surface management integration interface.
|
||||||
|
/// This provides the embedder access to the current front buffer.
|
||||||
|
pub fn surfman(&self) -> WebrenderSurfman {
|
||||||
|
self.webrender_surfman.clone()
|
||||||
|
}
|
||||||
|
|
||||||
/// This is the Servo heartbeat. This needs to be called
|
/// This is the Servo heartbeat. This needs to be called
|
||||||
/// everytime wakeup is called or when embedder wants Servo
|
/// everytime wakeup is called or when embedder wants Servo
|
||||||
/// to act on its pending events.
|
/// to act on its pending events.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue