]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.modeling/scl/Simantics/Scenegraph.scl
Merge "Reading background color of a ICanvasContext with SCL"
[simantics/platform.git] / bundles / org.simantics.modeling / scl / Simantics / Scenegraph.scl
index 5e0e830752c5a3869655a6c3101b4311e4c182cf..3d1170682a606f0db33b8cdbad6cc8575c3fb3f7 100644 (file)
@@ -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 -> <Proc> ICanvasSceneGraphProvider
+    
+    @Deprecated
+    disposeSceneGraphProvider :: ICanvasSceneGraphProvider -> <Proc> ()
+    
+    doWithICanvasSceneGraphProvider :: Resource -> (ICanvasSceneGraphProvider -> <e> a) -> <Proc, Exception> a
+    
+    doWithCanvasContext :: Resource -> (ICanvasContext -> <e> a) -> <Proc, Exception> a
     
     editNodeText :: ICanvasContext -> String -> String -> String -> <Proc> String
     
@@ -54,6 +62,10 @@ importJava "org.simantics.modeling.SCLScenegraph" where
     
     renderSVG :: ICanvasContext -> <Proc> String
 
+    "Render an SVG with known width and height in pixels: `renderScaledSVG context width height`"
+    @JavaName renderSVG
+    renderScaledSVG :: ICanvasContext -> Double -> Double -> <Proc> String
+
 getSceneGraphProvider :: Diagram -> <Proc> 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 "<init>"
+    createG2DNodeModification :: [SVGNodeAssignment] -> [TransformationAssignment] -> G2DNodeModification 
+    @JavaName "<init>"
+    createG2DNodeModification3 :: [SVGNodeAssignment] -> [TargetedSVGNodeAssignment] -> [TransformationAssignment] -> G2DNodeModification 
+    
+importJava "org.simantics.scenegraph.g2d.nodes.SVGNodeAssignment" where
+    data SVGNodeAssignment
+    @JavaName "<init>"
+    createSVGNodeAssignment :: String -> String -> String -> SVGNodeAssignment 
+    
+importJava "org.simantics.scenegraph.g2d.nodes.TargetedSVGNodeAssignment" where
+    data TargetedSVGNodeAssignment
+    @JavaName "<init>"
+    createTargetedSVGNodeAssignment :: a -> String -> String -> String -> TargetedSVGNodeAssignment 
+
+importJava "org.simantics.scenegraph.g2d.nodes.TransformationAssignment" where
+    data TransformationAssignment
+    @JavaName "<init>"
+    createTransformationAssignment :: a -> AffineTransform -> TransformationAssignment
+    
+importJava "java.awt.geom.AffineTransform" where
+    data AffineTransform
+    @JavaName "<init>"
+    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