mirror of
https://github.com/servo/servo.git
synced 2025-08-03 12:40:06 +01:00
Instanciate and use the implemented webrender::ExternalImageHandler
This commit is contained in:
parent
e000c14eb2
commit
a9ad088e70
2 changed files with 12 additions and 5 deletions
|
@ -13,9 +13,11 @@ use euclid::Size2D;
|
|||
pub struct GLPlayerThreads(GLPlayerSender<GLPlayerMsg>);
|
||||
|
||||
impl GLPlayerThreads {
|
||||
pub fn new() -> GLPlayerThreads {
|
||||
pub fn new() -> (GLPlayerThreads, Box<dyn webrender::ExternalImageHandler>) {
|
||||
let channel = GLPlayerThread::start();
|
||||
GLPlayerThreads(channel)
|
||||
let external =
|
||||
GLPlayerExternalImageHandler::new(GLPlayerExternalImages::new(channel.clone()));
|
||||
(GLPlayerThreads(channel), Box::new(external))
|
||||
}
|
||||
|
||||
/// Gets the GLPlayerThread handle for each script pipeline.
|
||||
|
|
|
@ -309,8 +309,13 @@ where
|
|||
let gl_context = window.get_gl_context();
|
||||
let glplayer_threads = match gl_context {
|
||||
GlContext::Unknown => None,
|
||||
_ => Some(GLPlayerThreads::new()),
|
||||
_ => {
|
||||
let (glplayer_threads, image_handler) = GLPlayerThreads::new();
|
||||
webrender.set_external_image_handler(image_handler);
|
||||
Some(glplayer_threads)
|
||||
},
|
||||
};
|
||||
|
||||
let player_context = WindowGLContext {
|
||||
gl_context,
|
||||
native_display: window.get_native_display(),
|
||||
|
@ -697,7 +702,7 @@ fn create_constellation(
|
|||
|
||||
// Initialize WebGL Thread entry point.
|
||||
let webgl_threads = gl_factory.map(|factory| {
|
||||
let (webgl_threads, image_handler, output_handler) = WebGLThreads::new(
|
||||
let (webgl_threads, _image_handler, output_handler) = WebGLThreads::new(
|
||||
factory,
|
||||
window_gl,
|
||||
webrender_api_sender.clone(),
|
||||
|
@ -705,7 +710,7 @@ fn create_constellation(
|
|||
);
|
||||
|
||||
// Set webrender external image handler for WebGL textures
|
||||
webrender.set_external_image_handler(image_handler);
|
||||
//webrender.set_external_image_handler(image_handler);
|
||||
|
||||
// Set DOM to texture handler, if enabled.
|
||||
if let Some(output_handler) = output_handler {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue