Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Android: Introduce ServoSurface #21234

Merged
merged 3 commits into from Aug 1, 2018
Merged
Changes from 1 commit
Commits
File filter...
Filter file types
Jump to…
Jump to file
Failed to load files.

Always

Just for now

Add make_current to libsimpleservo

  • Loading branch information
paulrouget committed Aug 1, 2018
commit 02983ef39a34cd8dfbc940fb00cb209fd9a1c6b2
@@ -39,6 +39,9 @@ pub trait HostTrait {
/// Will be called from the thread used for the init call.
/// Will be called when the GL buffer has been updated.
fn flush(&self);
/// Will be called before drawing.
/// Time to make the targetted GL context current.
fn make_current(&self);
/// Page starts loading.
/// "Reload button" should be disabled.
/// "Stop button" should be enabled.
@@ -353,6 +356,7 @@ impl WindowMethods for ServoCallbacks {
_height: Length<u32, DevicePixel>,
) -> bool {
debug!("WindowMethods::prepare_for_composite");
self.host_callbacks.make_current();
true
}

@@ -28,6 +28,7 @@ fn call<F>(f: F) where F: Fn(&mut ServoGlue) -> Result<(), &'static str> {
#[repr(C)]
pub struct CHostCallbacks {
pub flush: extern fn(),
pub make_current: extern fn(),
pub on_load_started: extern fn(),
pub on_load_ended: extern fn(),
pub on_title_changed: extern fn(title: *const c_char),
@@ -223,6 +224,11 @@ impl HostTrait for HostCallbacks {
(self.0.flush)();
}

fn make_current(&self) {
debug!("make_current");
(self.0.make_current)();
}

fn on_load_started(&self) {
debug!("on_load_ended");
(self.0.on_load_started)();
@@ -277,6 +277,13 @@ impl HostTrait for HostCallbacks {
.unwrap();
}

fn make_current(&self) {
debug!("make_current");
let env = self.jvm.get_env().unwrap();
env.call_method(self.callbacks.as_obj(), "makeCurrent", "()V", &[])
.unwrap();
}

fn on_load_started(&self) {
debug!("on_load_started");
let env = self.jvm.get_env().unwrap();
ProTip! Use n and p to navigate between commits in a pull request.
You can’t perform that action at this time.