X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.modeling%2Fscl%2FSimantics%2FScenegraph.scl;h=3d1170682a606f0db33b8cdbad6cc8575c3fb3f7;hp=5e0e830752c5a3869655a6c3101b4311e4c182cf;hb=ec70c03d4ce3f68b71de5eeadce3d008620c5521;hpb=de8cf4f7d7035bdc8d07ef0b03253ef44485d29c diff --git a/bundles/org.simantics.modeling/scl/Simantics/Scenegraph.scl b/bundles/org.simantics.modeling/scl/Simantics/Scenegraph.scl index 5e0e83075..3d1170682 100644 --- a/bundles/org.simantics.modeling/scl/Simantics/Scenegraph.scl +++ b/bundles/org.simantics.modeling/scl/Simantics/Scenegraph.scl @@ -44,9 +44,17 @@ importJava "org.simantics.modeling.SCLScenegraph" where @JavaName getNodeTransform getTransform :: ICanvasContext -> String -> String - getICanvasSceneGraphProvider :: Model -> Resource -> String -> ICanvasSceneGraphProvider + getBackgroundColor :: ICanvasContext -> Maybe [Integer] - disposeSceneGraphProvider :: ICanvasSceneGraphProvider -> () + @Deprecated + getICanvasSceneGraphProvider :: Model -> Resource -> String -> ICanvasSceneGraphProvider + + @Deprecated + disposeSceneGraphProvider :: ICanvasSceneGraphProvider -> () + + doWithICanvasSceneGraphProvider :: Resource -> (ICanvasSceneGraphProvider -> a) -> a + + doWithCanvasContext :: Resource -> (ICanvasContext -> a) -> a editNodeText :: ICanvasContext -> String -> String -> String -> String @@ -54,6 +62,10 @@ importJava "org.simantics.modeling.SCLScenegraph" where renderSVG :: ICanvasContext -> String + "Render an SVG with known width and height in pixels: `renderScaledSVG context width height`" + @JavaName renderSVG + renderScaledSVG :: ICanvasContext -> Double -> Double -> String + getSceneGraphProvider :: Diagram -> ICanvasSceneGraphProvider getSceneGraphProvider diagram = do diagramName = syncRead(\() -> getSafeName diagram) @@ -95,3 +107,35 @@ getNodeCount diagram = do provider = getICanvasSceneGraphProvider model composite diagramRVI context = getCanvasContext provider getCount context + +importJava "org.simantics.scenegraph.g2d.G2DNodeModification" where + data G2DNodeModification + @JavaName "" + createG2DNodeModification :: [SVGNodeAssignment] -> [TransformationAssignment] -> G2DNodeModification + @JavaName "" + createG2DNodeModification3 :: [SVGNodeAssignment] -> [TargetedSVGNodeAssignment] -> [TransformationAssignment] -> G2DNodeModification + +importJava "org.simantics.scenegraph.g2d.nodes.SVGNodeAssignment" where + data SVGNodeAssignment + @JavaName "" + createSVGNodeAssignment :: String -> String -> String -> SVGNodeAssignment + +importJava "org.simantics.scenegraph.g2d.nodes.TargetedSVGNodeAssignment" where + data TargetedSVGNodeAssignment + @JavaName "" + createTargetedSVGNodeAssignment :: a -> String -> String -> String -> TargetedSVGNodeAssignment + +importJava "org.simantics.scenegraph.g2d.nodes.TransformationAssignment" where + data TransformationAssignment + @JavaName "" + createTransformationAssignment :: a -> AffineTransform -> TransformationAssignment + +importJava "java.awt.geom.AffineTransform" where + data AffineTransform + @JavaName "" + createAffineTransform :: Double -> Double -> Double -> Double -> Double -> Double -> AffineTransform + +importJava "org.simantics.scenegraph.g2d.AffineTransformFunctions" where + transform :: AffineTransform -> (Double,Double) -> (Double,Double) + inverseTransform :: AffineTransform -> (Double,Double) -> (Double,Double) + \ No newline at end of file