Package org.jmol.awtjs2d
Class Platform
- java.lang.Object
-
- org.jmol.awtjs2d.Platform
-
- All Implemented Interfaces:
FontManager,GenericPlatform
- Direct Known Subclasses:
Platform
public class Platform extends java.lang.Object implements GenericPlatform
JavaScript 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
-
-
Field Summary
Fields Modifier and Type Field Description (package private) java.lang.Objectcanvas(package private) java.lang.Objectcontextprivate static JmolInChIinchi(package private) PlatformViewervwr-
Fields inherited from interface org.jmol.api.GenericPlatform
CURSOR_CROSSHAIR, CURSOR_DEFAULT, CURSOR_HAND, CURSOR_MOVE, CURSOR_WAIT, CURSOR_ZOOM
-
-
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 writingintconfirm(java.lang.String msg, java.lang.String msgNo)voidconvertPointFromScreen(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(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(Font font, java.lang.Object context)voidgetFullScreenDimensions(java.lang.Object canvas, int[] widthHeight)java.lang.ObjectgetGraphics(java.lang.Object canvas)GenericImageDialoggetImageDialog(java.lang.String title, java.util.Map<java.lang.String,GenericImageDialog> imageMap)intgetImageHeight(java.lang.Object canvas)intgetImageWidth(java.lang.Object canvas)JmolInChIgetInChI()java.lang.ObjectgetJsObjectInfo(java.lang.Object[] jsObject, java.lang.String method, java.lang.Object[] args)java.lang.StringgetLocalUrl(java.lang.String fileName)GenericMenuInterfacegetMenuPopup(java.lang.String menuStructure, char type)GenericMouseInterfacegetMouseManager(double privateKey, java.lang.Object display)java.lang.ObjectgetStaticGraphics(java.lang.Object image, boolean backgroundTransparent)int[]getTextPixels(java.lang.String text, 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)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(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
-
-
-
Field Detail
-
canvas
java.lang.Object canvas
-
vwr
PlatformViewer vwr
-
context
java.lang.Object context
-
inchi
private static JmolInChI inchi
-
-
Method Detail
-
setViewer
public void setViewer(PlatformViewer vwr, java.lang.Object canvas)
- Specified by:
setViewerin interfaceGenericPlatform
-
isSingleThreaded
public boolean isSingleThreaded()
- Specified by:
isSingleThreadedin interfaceGenericPlatform
-
getJsObjectInfo
public java.lang.Object getJsObjectInfo(java.lang.Object[] jsObject, java.lang.String method, java.lang.Object[] args)- Specified by:
getJsObjectInfoin interfaceGenericPlatform
-
isHeadless
public boolean isHeadless()
- Specified by:
isHeadlessin interfaceGenericPlatform
-
getMouseManager
public GenericMouseInterface getMouseManager(double privateKey, java.lang.Object display)
- Specified by:
getMouseManagerin interfaceGenericPlatform
-
convertPointFromScreen
public void convertPointFromScreen(java.lang.Object canvas, javajs.util.P3 ptTemp)- Specified by:
convertPointFromScreenin interfaceGenericPlatform
-
getFullScreenDimensions
public void getFullScreenDimensions(java.lang.Object canvas, int[] widthHeight)- Specified by:
getFullScreenDimensionsin interfaceGenericPlatform
-
getMenuPopup
public GenericMenuInterface getMenuPopup(java.lang.String menuStructure, char type)
- Specified by:
getMenuPopupin interfaceGenericPlatform
-
hasFocus
public boolean hasFocus(java.lang.Object canvas)
- Specified by:
hasFocusin interfaceGenericPlatform
-
prompt
public java.lang.String prompt(java.lang.String label, java.lang.String data, java.lang.String[] list, boolean asButtons)- Specified by:
promptin interfaceGenericPlatform
-
renderScreenImage
public void renderScreenImage(java.lang.Object context, java.lang.Object size)legacy apps will use this- Specified by:
renderScreenImagein interfaceGenericPlatform- 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 interfaceGenericPlatform
-
requestFocusInWindow
public void requestFocusInWindow(java.lang.Object canvas)
- Specified by:
requestFocusInWindowin interfaceGenericPlatform
-
repaint
public void repaint(java.lang.Object canvas)
- Specified by:
repaintin interfaceGenericPlatform
-
setTransparentCursor
public void setTransparentCursor(java.lang.Object canvas)
- Specified by:
setTransparentCursorin interfaceGenericPlatform
-
setCursor
public void setCursor(int c, java.lang.Object canvas)- Specified by:
setCursorin interfaceGenericPlatform
-
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 interfaceGenericPlatform
-
notifyEndOfRendering
public void notifyEndOfRendering()
- Specified by:
notifyEndOfRenderingin interfaceGenericPlatform
-
disposeGraphics
public void disposeGraphics(java.lang.Object gOffscreen)
- Specified by:
disposeGraphicsin interfaceGenericPlatform
-
grabPixels
public int[] grabPixels(java.lang.Object canvas, int width, int height, int[] pixels, int startRow, int nRows)- Specified by:
grabPixelsin interfaceGenericPlatform- 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 interfaceGenericPlatform
-
getTextPixels
public int[] getTextPixels(java.lang.String text, Font font3d, java.lang.Object context, java.lang.Object image, int width, int height, int ascent)- Specified by:
getTextPixelsin interfaceGenericPlatform
-
flushImage
public void flushImage(java.lang.Object imagePixelBuffer)
- Specified by:
flushImagein interfaceGenericPlatform
-
getGraphics
public java.lang.Object getGraphics(java.lang.Object canvas)
- Specified by:
getGraphicsin interfaceGenericPlatform
-
getImageHeight
public int getImageHeight(java.lang.Object canvas)
- Specified by:
getImageHeightin interfaceGenericPlatform
-
getImageWidth
public int getImageWidth(java.lang.Object canvas)
- Specified by:
getImageWidthin interfaceGenericPlatform
-
getStaticGraphics
public java.lang.Object getStaticGraphics(java.lang.Object image, boolean backgroundTransparent)- Specified by:
getStaticGraphicsin interfaceGenericPlatform
-
newBufferedImage
public java.lang.Object newBufferedImage(java.lang.Object image, int w, int h)- Specified by:
newBufferedImagein interfaceGenericPlatform
-
newOffScreenImage
public java.lang.Object newOffScreenImage(int w, int h)- Specified by:
newOffScreenImagein interfaceGenericPlatform
-
waitForDisplay
public boolean waitForDisplay(java.lang.Object echoNameAndPath, java.lang.Object zipBytes) throws java.lang.InterruptedExceptionDescription copied from interface:GenericPlatformcan be ignored (return false) if platform cannot save images- Specified by:
waitForDisplayin interfaceGenericPlatform- 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:GenericPlatformcan be ignored (return null) if platform cannot save images- Specified by:
createImagein interfaceGenericPlatform- Parameters:
name_path_bytes-- Returns:
- image object or null if asynchronous
-
fontStringWidth
public int fontStringWidth(Font font, java.lang.String text)
- Specified by:
fontStringWidthin interfaceFontManager
-
getFontAscent
public int getFontAscent(java.lang.Object context)
- Specified by:
getFontAscentin interfaceFontManager
-
getFontDescent
public int getFontDescent(java.lang.Object context)
- Specified by:
getFontDescentin interfaceFontManager
-
getFontMetrics
public java.lang.Object getFontMetrics(Font font, java.lang.Object context)
- Specified by:
getFontMetricsin interfaceFontManager
-
newFont
public java.lang.Object newFont(java.lang.String fontFace, boolean isBold, boolean isItalic, float fontSize)- Specified by:
newFontin interfaceFontManager
-
getDateFormat
public java.lang.String getDateFormat(java.lang.String isoType)
- Specified by:
getDateFormatin interfaceGenericPlatform
-
newFile
public GenericFileInterface newFile(java.lang.String name)
- Specified by:
newFilein interfaceGenericPlatform
-
getBufferedFileInputStream
public java.lang.Object getBufferedFileInputStream(java.lang.String name)
- Specified by:
getBufferedFileInputStreamin interfaceGenericPlatform
-
getURLContents
public java.lang.Object getURLContents(java.net.URL url, byte[] outputBytes, java.lang.String post, boolean asString)- Specified by:
getURLContentsin interfaceGenericPlatform- 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 interfaceGenericPlatform
-
getImageDialog
public GenericImageDialog getImageDialog(java.lang.String title, java.util.Map<java.lang.String,GenericImageDialog> imageMap)
- Specified by:
getImageDialogin interfaceGenericPlatform
-
Jmol
public static JmolToJSmolInterface Jmol()
-
forceAsyncLoad
public boolean forceAsyncLoad(java.lang.String filename)
- Specified by:
forceAsyncLoadin interfaceGenericPlatform
-
getInChI
public JmolInChI getInChI()
- Specified by:
getInChIin interfaceGenericPlatform
-
confirm
public int confirm(java.lang.String msg, java.lang.String msgNo)- Specified by:
confirmin interfaceGenericPlatform
-
-