Package org.jmol.awtjs2d
Class Platform
- java.lang.Object
-
- org.jmol.awtjs2d.Platform
-
- All Implemented Interfaces:
javajs.api.FontManager,javajs.api.GenericPlatform
- Direct Known Subclasses:
Platform
public class Platform extends java.lang.Object implements javajs.api.GenericPlatformJavaScript 2D canvas version requires Ajax-based URL stream processing. Jmol "display" --> HTML5 "canvas" Jmol "image" --> HTML5 "canvas" (because we need width and height) Jmol "graphics" --> HTML5 "context(2d)" (one for display, one off-screen for fonts) Jmol "font" --> JmolFont Jmol "fontMetrics" --> HTML5 "context(2d)" (Not fully implemented)- Author:
- Bob Hanson
-
-
Constructor Summary
Constructors Constructor Description Platform()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.ObjectallocateRgbImage(int windowWidth, int windowHeight, int[] pBuffer, int windowSize, boolean backgroundTransparent, boolean isImageWrite)Create an "image" that is either a canvas with width/height/buf32 (from g3d.Platform32) or just an associative array with those (image writingvoidconvertPointFromScreen(java.lang.Object canvas, javajs.util.P3 ptTemp)java.lang.ObjectcreateImage(java.lang.Object name_path_bytes)can be ignored (return null) if platform cannot save imagesvoiddisposeGraphics(java.lang.Object gOffscreen)voiddrawImage(java.lang.Object context, java.lang.Object canvas, int x, int y, int width, int height, boolean isDTI)int[]drawImageToBuffer(java.lang.Object gOffscreen, java.lang.Object imageOffscreen, java.lang.Object canvas, int width, int height, int bgcolor)voidflushImage(java.lang.Object imagePixelBuffer)intfontStringWidth(javajs.awt.Font font, java.lang.String text)booleanforceAsyncLoad(java.lang.String filename)java.lang.ObjectgetBufferedFileInputStream(java.lang.String name)java.lang.StringgetDateFormat(java.lang.String isoType)intgetFontAscent(java.lang.Object context)intgetFontDescent(java.lang.Object context)java.lang.ObjectgetFontMetrics(javajs.awt.Font font, java.lang.Object context)voidgetFullScreenDimensions(java.lang.Object canvas, int[] widthHeight)java.lang.ObjectgetGraphics(java.lang.Object canvas)javajs.api.GenericImageDialoggetImageDialog(java.lang.String title, java.util.Map<java.lang.String,javajs.api.GenericImageDialog> imageMap)intgetImageHeight(java.lang.Object canvas)intgetImageWidth(java.lang.Object canvas)java.lang.ObjectgetJsObjectInfo(java.lang.Object[] jsObject, java.lang.String method, java.lang.Object[] args)java.lang.StringgetLocalUrl(java.lang.String fileName)javajs.api.GenericMenuInterfacegetMenuPopup(java.lang.String menuStructure, char type)javajs.api.GenericMouseInterfacegetMouseManager(double privateKey, java.lang.Object display)java.lang.ObjectgetStaticGraphics(java.lang.Object image, boolean backgroundTransparent)int[]getTextPixels(java.lang.String text, javajs.awt.Font font3d, java.lang.Object context, java.lang.Object image, int width, int height, int ascent)java.lang.ObjectgetURLContents(java.net.URL url, byte[] outputBytes, java.lang.String post, boolean asString)static java.lang.ObjectgetURLContentsStatic(java.net.URL url, byte[] outputBytes, java.lang.String post, boolean asString)In case this needs to be performed directly, without interfaceint[]grabPixels(java.lang.Object canvas, int width, int height, int[] pixels, int startRow, int nRows)booleanhasFocus(java.lang.Object canvas)booleanisHeadless()booleanisSingleThreaded()static JmolToJSmolInterfaceJmol()java.lang.ObjectnewBufferedImage(java.lang.Object image, int w, int h)javajs.api.GenericFileInterfacenewFile(java.lang.String name)java.lang.ObjectnewFont(java.lang.String fontFace, boolean isBold, boolean isItalic, float fontSize)java.lang.ObjectnewOffScreenImage(int w, int h)voidnotifyEndOfRendering()java.lang.Stringprompt(java.lang.String label, java.lang.String data, java.lang.String[] list, boolean asButtons)voidrenderScreenImage(java.lang.Object context, java.lang.Object size)legacy apps will use thisvoidrepaint(java.lang.Object canvas)voidrequestFocusInWindow(java.lang.Object canvas)voidsetCursor(int c, java.lang.Object canvas)voidsetTransparentCursor(java.lang.Object canvas)voidsetViewer(javajs.api.PlatformViewer vwr, java.lang.Object canvas)booleanwaitForDisplay(java.lang.Object echoNameAndPath, java.lang.Object zipBytes)can be ignored (return false) if platform cannot save images
-
-
-
Method Detail
-
setViewer
public void setViewer(javajs.api.PlatformViewer vwr, java.lang.Object canvas)- Specified by:
setViewerin interfacejavajs.api.GenericPlatform
-
isSingleThreaded
public boolean isSingleThreaded()
- Specified by:
isSingleThreadedin interfacejavajs.api.GenericPlatform
-
getJsObjectInfo
public java.lang.Object getJsObjectInfo(java.lang.Object[] jsObject, java.lang.String method, java.lang.Object[] args)- Specified by:
getJsObjectInfoin interfacejavajs.api.GenericPlatform
-
isHeadless
public boolean isHeadless()
- Specified by:
isHeadlessin interfacejavajs.api.GenericPlatform
-
getMouseManager
public javajs.api.GenericMouseInterface getMouseManager(double privateKey, java.lang.Object display)- Specified by:
getMouseManagerin interfacejavajs.api.GenericPlatform
-
convertPointFromScreen
public void convertPointFromScreen(java.lang.Object canvas, javajs.util.P3 ptTemp)- Specified by:
convertPointFromScreenin interfacejavajs.api.GenericPlatform
-
getFullScreenDimensions
public void getFullScreenDimensions(java.lang.Object canvas, int[] widthHeight)- Specified by:
getFullScreenDimensionsin interfacejavajs.api.GenericPlatform
-
getMenuPopup
public javajs.api.GenericMenuInterface getMenuPopup(java.lang.String menuStructure, char type)- Specified by:
getMenuPopupin interfacejavajs.api.GenericPlatform
-
hasFocus
public boolean hasFocus(java.lang.Object canvas)
- Specified by:
hasFocusin interfacejavajs.api.GenericPlatform
-
prompt
public java.lang.String prompt(java.lang.String label, java.lang.String data, java.lang.String[] list, boolean asButtons)- Specified by:
promptin interfacejavajs.api.GenericPlatform
-
renderScreenImage
public void renderScreenImage(java.lang.Object context, java.lang.Object size)legacy apps will use this- Specified by:
renderScreenImagein interfacejavajs.api.GenericPlatform- Parameters:
context-size-
-
drawImage
public void drawImage(java.lang.Object context, java.lang.Object canvas, int x, int y, int width, int height, boolean isDTI)- Specified by:
drawImagein interfacejavajs.api.GenericPlatform
-
requestFocusInWindow
public void requestFocusInWindow(java.lang.Object canvas)
- Specified by:
requestFocusInWindowin interfacejavajs.api.GenericPlatform
-
repaint
public void repaint(java.lang.Object canvas)
- Specified by:
repaintin interfacejavajs.api.GenericPlatform
-
setTransparentCursor
public void setTransparentCursor(java.lang.Object canvas)
- Specified by:
setTransparentCursorin interfacejavajs.api.GenericPlatform
-
setCursor
public void setCursor(int c, java.lang.Object canvas)- Specified by:
setCursorin interfacejavajs.api.GenericPlatform
-
allocateRgbImage
public java.lang.Object allocateRgbImage(int windowWidth, int windowHeight, int[] pBuffer, int windowSize, boolean backgroundTransparent, boolean isImageWrite)Create an "image" that is either a canvas with width/height/buf32 (from g3d.Platform32) or just an associative array with those (image writing- Specified by:
allocateRgbImagein interfacejavajs.api.GenericPlatform
-
notifyEndOfRendering
public void notifyEndOfRendering()
- Specified by:
notifyEndOfRenderingin interfacejavajs.api.GenericPlatform
-
disposeGraphics
public void disposeGraphics(java.lang.Object gOffscreen)
- Specified by:
disposeGraphicsin interfacejavajs.api.GenericPlatform
-
grabPixels
public int[] grabPixels(java.lang.Object canvas, int width, int height, int[] pixels, int startRow, int nRows)- Specified by:
grabPixelsin interfacejavajs.api.GenericPlatform- Returns:
- pixels
-
drawImageToBuffer
public int[] drawImageToBuffer(java.lang.Object gOffscreen, java.lang.Object imageOffscreen, java.lang.Object canvas, int width, int height, int bgcolor)- Specified by:
drawImageToBufferin interfacejavajs.api.GenericPlatform
-
getTextPixels
public int[] getTextPixels(java.lang.String text, javajs.awt.Font font3d, java.lang.Object context, java.lang.Object image, int width, int height, int ascent)- Specified by:
getTextPixelsin interfacejavajs.api.GenericPlatform
-
flushImage
public void flushImage(java.lang.Object imagePixelBuffer)
- Specified by:
flushImagein interfacejavajs.api.GenericPlatform
-
getGraphics
public java.lang.Object getGraphics(java.lang.Object canvas)
- Specified by:
getGraphicsin interfacejavajs.api.GenericPlatform
-
getImageHeight
public int getImageHeight(java.lang.Object canvas)
- Specified by:
getImageHeightin interfacejavajs.api.GenericPlatform
-
getImageWidth
public int getImageWidth(java.lang.Object canvas)
- Specified by:
getImageWidthin interfacejavajs.api.GenericPlatform
-
getStaticGraphics
public java.lang.Object getStaticGraphics(java.lang.Object image, boolean backgroundTransparent)- Specified by:
getStaticGraphicsin interfacejavajs.api.GenericPlatform
-
newBufferedImage
public java.lang.Object newBufferedImage(java.lang.Object image, int w, int h)- Specified by:
newBufferedImagein interfacejavajs.api.GenericPlatform
-
newOffScreenImage
public java.lang.Object newOffScreenImage(int w, int h)- Specified by:
newOffScreenImagein interfacejavajs.api.GenericPlatform
-
waitForDisplay
public boolean waitForDisplay(java.lang.Object echoNameAndPath, java.lang.Object zipBytes) throws java.lang.InterruptedExceptionDescription copied from interface:javajs.api.GenericPlatformcan be ignored (return false) if platform cannot save images- Specified by:
waitForDisplayin interfacejavajs.api.GenericPlatform- Returns:
- false only if this platform cannot save images
- Throws:
java.lang.InterruptedException
-
createImage
public java.lang.Object createImage(java.lang.Object name_path_bytes)
Description copied from interface:javajs.api.GenericPlatformcan be ignored (return null) if platform cannot save images- Specified by:
createImagein interfacejavajs.api.GenericPlatform- Parameters:
name_path_bytes-- Returns:
- image object or null if asynchronous
-
fontStringWidth
public int fontStringWidth(javajs.awt.Font font, java.lang.String text)- Specified by:
fontStringWidthin interfacejavajs.api.FontManager
-
getFontAscent
public int getFontAscent(java.lang.Object context)
- Specified by:
getFontAscentin interfacejavajs.api.FontManager
-
getFontDescent
public int getFontDescent(java.lang.Object context)
- Specified by:
getFontDescentin interfacejavajs.api.FontManager
-
getFontMetrics
public java.lang.Object getFontMetrics(javajs.awt.Font font, java.lang.Object context)- Specified by:
getFontMetricsin interfacejavajs.api.FontManager
-
newFont
public java.lang.Object newFont(java.lang.String fontFace, boolean isBold, boolean isItalic, float fontSize)- Specified by:
newFontin interfacejavajs.api.FontManager
-
getDateFormat
public java.lang.String getDateFormat(java.lang.String isoType)
- Specified by:
getDateFormatin interfacejavajs.api.GenericPlatform
-
newFile
public javajs.api.GenericFileInterface newFile(java.lang.String name)
- Specified by:
newFilein interfacejavajs.api.GenericPlatform
-
getBufferedFileInputStream
public java.lang.Object getBufferedFileInputStream(java.lang.String name)
- Specified by:
getBufferedFileInputStreamin interfacejavajs.api.GenericPlatform
-
getURLContents
public java.lang.Object getURLContents(java.net.URL url, byte[] outputBytes, java.lang.String post, boolean asString)- Specified by:
getURLContentsin interfacejavajs.api.GenericPlatform- Returns:
- may be javajs.util.SB or byte[] or java.io.InputStream
-
getURLContentsStatic
public static java.lang.Object getURLContentsStatic(java.net.URL url, byte[] outputBytes, java.lang.String post, boolean asString)In case this needs to be performed directly, without interface- Parameters:
url-outputBytes-post-asString-- Returns:
- String or byte[] or javajs.util.SB
-
getLocalUrl
public java.lang.String getLocalUrl(java.lang.String fileName)
- Specified by:
getLocalUrlin interfacejavajs.api.GenericPlatform
-
getImageDialog
public javajs.api.GenericImageDialog getImageDialog(java.lang.String title, java.util.Map<java.lang.String,javajs.api.GenericImageDialog> imageMap)- Specified by:
getImageDialogin interfacejavajs.api.GenericPlatform
-
Jmol
public static JmolToJSmolInterface Jmol()
-
forceAsyncLoad
public boolean forceAsyncLoad(java.lang.String filename)
- Specified by:
forceAsyncLoadin interfacejavajs.api.GenericPlatform
-
-