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 {
|
||||
webrender_surfman: WebrenderSurfman,
|
||||
servo: Servo<ServoWindowCallbacks>,
|
||||
batch_mode: bool,
|
||||
callbacks: Rc<ServoWindowCallbacks>,
|
||||
|
@ -285,7 +286,7 @@ pub fn init(
|
|||
density: init_opts.density,
|
||||
gl_context_pointer: init_opts.gl_context_pointer,
|
||||
native_display_pointer: init_opts.native_display_pointer,
|
||||
webrender_surfman,
|
||||
webrender_surfman: webrender_surfman.clone(),
|
||||
});
|
||||
|
||||
let embedder_callbacks = Box::new(ServoEmbedderCallbacks {
|
||||
|
@ -298,6 +299,7 @@ pub fn init(
|
|||
|
||||
SERVO.with(|s| {
|
||||
let mut servo_glue = ServoGlue {
|
||||
webrender_surfman,
|
||||
servo,
|
||||
batch_mode: false,
|
||||
callbacks: window_callbacks,
|
||||
|
@ -338,6 +340,12 @@ impl ServoGlue {
|
|||
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
|
||||
/// everytime wakeup is called or when embedder wants Servo
|
||||
/// to act on its pending events.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue