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 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) Objectcanvas(package private) Objectcontext(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 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(Object canvas, javajs.util.P3 ptTemp)ObjectcreateImage(Object name_path_bytes)can be ignored (return null) if platform cannot save imagesvoiddisposeGraphics(Object gOffscreen)voiddrawImage(Object context, Object canvas, int x, int y, int width, int height, boolean isDTI)int[]drawImageToBuffer(Object gOffscreen, Object imageOffscreen, Object canvas, int width, int height, int bgcolor)voidflushImage(Object imagePixelBuffer)intfontStringWidth(Font font, String text)booleanforceAsyncLoad(String filename)ObjectgetBufferedFileInputStream(String name)StringgetDateFormat(String isoType)intgetFontAscent(Object context)intgetFontDescent(Object context)ObjectgetFontMetrics(Font font, Object context)voidgetFullScreenDimensions(Object canvas, int[] widthHeight)ObjectgetGraphics(Object canvas)GenericImageDialoggetImageDialog(String title, Map<String,GenericImageDialog> imageMap)intgetImageHeight(Object canvas)intgetImageWidth(Object canvas)ObjectgetJsObjectInfo(Object[] jsObject, String method, Object[] args)StringgetLocalUrl(String fileName)GenericMenuInterfacegetMenuPopup(String menuStructure, char type)GenericMouseInterfacegetMouseManager(double privateKey, Object display)ObjectgetStaticGraphics(Object image, boolean backgroundTransparent)int[]getTextPixels(String text, Font font3d, Object context, Object image, int width, int height, int ascent)ObjectgetURLContents(URL url, byte[] outputBytes, String post, boolean asString)static ObjectgetURLContentsStatic(URL url, byte[] outputBytes, String post, boolean asString)In case this needs to be performed directly, without interfaceint[]grabPixels(Object canvas, int width, int height, int[] pixels, int startRow, int nRows)booleanhasFocus(Object canvas)booleanisHeadless()booleanisSingleThreaded()static JmolToJSmolInterfaceJmol()ObjectnewBufferedImage(Object image, int w, int h)GenericFileInterfacenewFile(String name)ObjectnewFont(String fontFace, boolean isBold, boolean isItalic, float fontSize)ObjectnewOffScreenImage(int w, int h)voidnotifyEndOfRendering()Stringprompt(String label, String data, String[] list, boolean asButtons)voidrenderScreenImage(Object context, Object size)legacy apps will use thisvoidrepaint(Object canvas)voidrequestFocusInWindow(Object canvas)voidsetCursor(int c, Object canvas)voidsetTransparentCursor(Object canvas)voidsetViewer(PlatformViewer vwr, Object canvas)booleanwaitForDisplay(Object echoNameAndPath, Object zipBytes)can be ignored (return false) if platform cannot save images
-
-
-
Field Detail
-
canvas
Object canvas
-
vwr
PlatformViewer vwr
-
context
Object context
-
-
Method Detail
-
setViewer
public void setViewer(PlatformViewer vwr, Object canvas)
- Specified by:
setViewerin interfaceGenericPlatform
-
isSingleThreaded
public boolean isSingleThreaded()
- Specified by:
isSingleThreadedin interfaceGenericPlatform
-
getJsObjectInfo
public Object getJsObjectInfo(Object[] jsObject, String method, Object[] args)
- Specified by:
getJsObjectInfoin interfaceGenericPlatform
-
isHeadless
public boolean isHeadless()
- Specified by:
isHeadlessin interfaceGenericPlatform
-
getMouseManager
public GenericMouseInterface getMouseManager(double privateKey, Object display)
- Specified by:
getMouseManagerin interfaceGenericPlatform
-
convertPointFromScreen
public void convertPointFromScreen(Object canvas, javajs.util.P3 ptTemp)
- Specified by:
convertPointFromScreenin interfaceGenericPlatform
-
getFullScreenDimensions
public void getFullScreenDimensions(Object canvas, int[] widthHeight)
- Specified by:
getFullScreenDimensionsin interfaceGenericPlatform
-
getMenuPopup
public GenericMenuInterface getMenuPopup(String menuStructure, char type)
- Specified by:
getMenuPopupin interfaceGenericPlatform
-
hasFocus
public boolean hasFocus(Object canvas)
- Specified by:
hasFocusin interfaceGenericPlatform
-
prompt
public String prompt(String label, String data, String[] list, boolean asButtons)
- Specified by:
promptin interfaceGenericPlatform
-
renderScreenImage
public void renderScreenImage(Object context, Object size)
legacy apps will use this- Specified by:
renderScreenImagein interfaceGenericPlatform- Parameters:
context-size-
-
drawImage
public void drawImage(Object context, Object canvas, int x, int y, int width, int height, boolean isDTI)
- Specified by:
drawImagein interfaceGenericPlatform
-
requestFocusInWindow
public void requestFocusInWindow(Object canvas)
- Specified by:
requestFocusInWindowin interfaceGenericPlatform
-
repaint
public void repaint(Object canvas)
- Specified by:
repaintin interfaceGenericPlatform
-
setTransparentCursor
public void setTransparentCursor(Object canvas)
- Specified by:
setTransparentCursorin interfaceGenericPlatform
-
setCursor
public void setCursor(int c, Object canvas)- Specified by:
setCursorin interfaceGenericPlatform
-
allocateRgbImage
public 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(Object gOffscreen)
- Specified by:
disposeGraphicsin interfaceGenericPlatform
-
grabPixels
public int[] grabPixels(Object canvas, int width, int height, int[] pixels, int startRow, int nRows)
- Specified by:
grabPixelsin interfaceGenericPlatform- Returns:
- pixels
-
drawImageToBuffer
public int[] drawImageToBuffer(Object gOffscreen, Object imageOffscreen, Object canvas, int width, int height, int bgcolor)
- Specified by:
drawImageToBufferin interfaceGenericPlatform
-
getTextPixels
public int[] getTextPixels(String text, Font font3d, Object context, Object image, int width, int height, int ascent)
- Specified by:
getTextPixelsin interfaceGenericPlatform
-
flushImage
public void flushImage(Object imagePixelBuffer)
- Specified by:
flushImagein interfaceGenericPlatform
-
getGraphics
public Object getGraphics(Object canvas)
- Specified by:
getGraphicsin interfaceGenericPlatform
-
getImageHeight
public int getImageHeight(Object canvas)
- Specified by:
getImageHeightin interfaceGenericPlatform
-
getImageWidth
public int getImageWidth(Object canvas)
- Specified by:
getImageWidthin interfaceGenericPlatform
-
getStaticGraphics
public Object getStaticGraphics(Object image, boolean backgroundTransparent)
- Specified by:
getStaticGraphicsin interfaceGenericPlatform
-
newBufferedImage
public Object newBufferedImage(Object image, int w, int h)
- Specified by:
newBufferedImagein interfaceGenericPlatform
-
newOffScreenImage
public Object newOffScreenImage(int w, int h)
- Specified by:
newOffScreenImagein interfaceGenericPlatform
-
waitForDisplay
public boolean waitForDisplay(Object echoNameAndPath, Object zipBytes) throws InterruptedException
Description 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:
InterruptedException
-
createImage
public Object createImage(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, String text)
- Specified by:
fontStringWidthin interfaceFontManager
-
getFontAscent
public int getFontAscent(Object context)
- Specified by:
getFontAscentin interfaceFontManager
-
getFontDescent
public int getFontDescent(Object context)
- Specified by:
getFontDescentin interfaceFontManager
-
getFontMetrics
public Object getFontMetrics(Font font, Object context)
- Specified by:
getFontMetricsin interfaceFontManager
-
newFont
public Object newFont(String fontFace, boolean isBold, boolean isItalic, float fontSize)
- Specified by:
newFontin interfaceFontManager
-
getDateFormat
public String getDateFormat(String isoType)
- Specified by:
getDateFormatin interfaceGenericPlatform
-
newFile
public GenericFileInterface newFile(String name)
- Specified by:
newFilein interfaceGenericPlatform
-
getBufferedFileInputStream
public Object getBufferedFileInputStream(String name)
- Specified by:
getBufferedFileInputStreamin interfaceGenericPlatform
-
getURLContents
public Object getURLContents(URL url, byte[] outputBytes, String post, boolean asString)
- Specified by:
getURLContentsin interfaceGenericPlatform- Returns:
- may be javajs.util.SB or byte[] or java.io.InputStream
-
getURLContentsStatic
public static Object getURLContentsStatic(URL url, byte[] outputBytes, 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 String getLocalUrl(String fileName)
- Specified by:
getLocalUrlin interfaceGenericPlatform
-
getImageDialog
public GenericImageDialog getImageDialog(String title, Map<String,GenericImageDialog> imageMap)
- Specified by:
getImageDialogin interfaceGenericPlatform
-
Jmol
public static JmolToJSmolInterface Jmol()
-
forceAsyncLoad
public boolean forceAsyncLoad(String filename)
- Specified by:
forceAsyncLoadin interfaceGenericPlatform
-
-