From e3112d1a846869ce38dcd96867f470bcf4700958 Mon Sep 17 00:00:00 2001 From: Patrick Walton Date: Tue, 4 Jun 2019 14:55:26 -0700 Subject: [PATCH] Add `PFCanvasFontContextClone()` --- c/include/pathfinder/pathfinder.h | 1 + c/src/lib.rs | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/c/include/pathfinder/pathfinder.h b/c/include/pathfinder/pathfinder.h index d82ec435..8962e782 100644 --- a/c/include/pathfinder/pathfinder.h +++ b/c/include/pathfinder/pathfinder.h @@ -116,6 +116,7 @@ PFCanvasRef PFCanvasCreate(PFCanvasFontContextRef font_context, const PFVector2F void PFCanvasDestroy(PFCanvasRef canvas); PFCanvasFontContextRef PFCanvasFontContextCreate(); void PFCanvasFontContextDestroy(PFCanvasFontContextRef font_context); +PFCanvasFontContextRef PFCanvasFontContextClone(PFCanvasFontContextRef font_context); PFSceneRef PFCanvasCreateScene(PFCanvasRef canvas); void PFCanvasFillRect(PFCanvasRef canvas, const PFRectF *rect); void PFCanvasStrokeRect(PFCanvasRef canvas, const PFRectF *rect); diff --git a/c/src/lib.rs b/c/src/lib.rs index a27dbd20..96c49493 100644 --- a/c/src/lib.rs +++ b/c/src/lib.rs @@ -131,6 +131,12 @@ pub unsafe extern "C" fn PFCanvasFontContextDestroy(font_context: PFCanvasFontCo drop(Box::from_raw(font_context)) } +#[no_mangle] +pub unsafe extern "C" fn PFCanvasFontContextClone(font_context: PFCanvasFontContextRef) + -> PFCanvasFontContextRef { + Box::into_raw(Box::new((*font_context).clone())) +} + /// Consumes the canvas. #[no_mangle] pub unsafe extern "C" fn PFCanvasCreateScene(canvas: PFCanvasRef) -> PFSceneRef {