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

[WIP] svg: support <circle> element #17681

Closed
wants to merge 10 commits into from

net: Add geometry api to image cache

Add api to create, update, delete geometry from ImageCache.
  • Loading branch information
stshine committed Sep 11, 2017
commit 8d19783d32b62f5a35532c9d9447c45bec8ce6f0
@@ -398,6 +398,10 @@ impl ImageCacheStore {
};
self.complete_load(msg.key, image);
}

fn webrender_api(&self) -> &webrender_api::RenderApi {
&self.webrender_api
}
}

pub struct ImageCacheImpl {
@@ -572,4 +576,19 @@ impl ImageCache for ImageCacheImpl {
fn set_webrender_image_key(&self, image: &mut Image) {
set_webrender_image_key(&self.store.lock().unwrap().webrender_api, image);
}

fn create_geometry_key(&self) -> webrender_api::GeometryKey {
let store = self.store.lock().unwrap();
store.webrender_api().generate_geometry_key()
}

fn update_geometry(&self,
geometry_key: webrender_api::GeometryKey,
data: webrender_api::Geometry) {
self.store.lock().unwrap().webrender_api().update_geometry(geometry_key, data);
}

fn delete_geometry(&self, key: webrender_api::GeometryKey) {
self.store.lock().unwrap().webrender_api().delete_geometry(key);
}
}
@@ -121,4 +121,10 @@ pub trait ImageCache: Sync + Send {

/// Ensure an image has a webrender key.
fn set_webrender_image_key(&self, image: &mut Image);

fn create_geometry_key(&self) -> webrender_api::GeometryKey;

fn update_geometry(&self, key: webrender_api::GeometryKey, data: webrender_api::Geometry);

fn delete_geometry(&self, key: webrender_api::GeometryKey);
}
ProTip! Use n and p to navigate between commits in a pull request.
You can’t perform that action at this time.