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) Object
canvas
(package private) Object
context
(package private) PlatformViewer
vwr
-
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 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 writingvoid
convertPointFromScreen(Object canvas, javajs.util.P3 ptTemp)
Object
createImage(Object name_path_bytes)
can be ignored (return null) if platform cannot save imagesvoid
disposeGraphics(Object gOffscreen)
void
drawImage(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)
void
flushImage(Object imagePixelBuffer)
int
fontStringWidth(Font font, String text)
boolean
forceAsyncLoad(String filename)
Object
getBufferedFileInputStream(String name)
String
getDateFormat(String isoType)
int
getFontAscent(Object context)
int
getFontDescent(Object context)
Object
getFontMetrics(Font font, Object context)
void
getFullScreenDimensions(Object canvas, int[] widthHeight)
Object
getGraphics(Object canvas)
GenericImageDialog
getImageDialog(String title, Map<String,GenericImageDialog> imageMap)
int
getImageHeight(Object canvas)
int
getImageWidth(Object canvas)
Object
getJsObjectInfo(Object[] jsObject, String method, Object[] args)
String
getLocalUrl(String fileName)
GenericMenuInterface
getMenuPopup(String menuStructure, char type)
GenericMouseInterface
getMouseManager(double privateKey, Object display)
Object
getStaticGraphics(Object image, boolean backgroundTransparent)
int[]
getTextPixels(String text, Font font3d, Object context, Object image, int width, int height, int ascent)
Object
getURLContents(URL url, byte[] outputBytes, String post, boolean asString)
static Object
getURLContentsStatic(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)
boolean
hasFocus(Object canvas)
boolean
isHeadless()
boolean
isSingleThreaded()
static JmolToJSmolInterface
Jmol()
Object
newBufferedImage(Object image, int w, int h)
GenericFileInterface
newFile(String name)
Object
newFont(String fontFace, boolean isBold, boolean isItalic, float fontSize)
Object
newOffScreenImage(int w, int h)
void
notifyEndOfRendering()
String
prompt(String label, String data, String[] list, boolean asButtons)
void
renderScreenImage(Object context, Object size)
legacy apps will use thisvoid
repaint(Object canvas)
void
requestFocusInWindow(Object canvas)
void
setCursor(int c, Object canvas)
void
setTransparentCursor(Object canvas)
void
setViewer(PlatformViewer vwr, Object canvas)
boolean
waitForDisplay(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:
setViewer
in interfaceGenericPlatform
-
isSingleThreaded
public boolean isSingleThreaded()
- Specified by:
isSingleThreaded
in interfaceGenericPlatform
-
getJsObjectInfo
public Object getJsObjectInfo(Object[] jsObject, String method, Object[] args)
- Specified by:
getJsObjectInfo
in interfaceGenericPlatform
-
isHeadless
public boolean isHeadless()
- Specified by:
isHeadless
in interfaceGenericPlatform
-
getMouseManager
public GenericMouseInterface getMouseManager(double privateKey, Object display)
- Specified by:
getMouseManager
in interfaceGenericPlatform
-
convertPointFromScreen
public void convertPointFromScreen(Object canvas, javajs.util.P3 ptTemp)
- Specified by:
convertPointFromScreen
in interfaceGenericPlatform
-
getFullScreenDimensions
public void getFullScreenDimensions(Object canvas, int[] widthHeight)
- Specified by:
getFullScreenDimensions
in interfaceGenericPlatform
-
getMenuPopup
public GenericMenuInterface getMenuPopup(String menuStructure, char type)
- Specified by:
getMenuPopup
in interfaceGenericPlatform
-
hasFocus
public boolean hasFocus(Object canvas)
- Specified by:
hasFocus
in interfaceGenericPlatform
-
prompt
public String prompt(String label, String data, String[] list, boolean asButtons)
- Specified by:
prompt
in interfaceGenericPlatform
-
renderScreenImage
public void renderScreenImage(Object context, Object size)
legacy apps will use this- Specified by:
renderScreenImage
in interfaceGenericPlatform
- Parameters:
context
-size
-
-
drawImage
public void drawImage(Object context, Object canvas, int x, int y, int width, int height, boolean isDTI)
- Specified by:
drawImage
in interfaceGenericPlatform
-
requestFocusInWindow
public void requestFocusInWindow(Object canvas)
- Specified by:
requestFocusInWindow
in interfaceGenericPlatform
-
repaint
public void repaint(Object canvas)
- Specified by:
repaint
in interfaceGenericPlatform
-
setTransparentCursor
public void setTransparentCursor(Object canvas)
- Specified by:
setTransparentCursor
in interfaceGenericPlatform
-
setCursor
public void setCursor(int c, Object canvas)
- Specified by:
setCursor
in 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:
allocateRgbImage
in interfaceGenericPlatform
-
notifyEndOfRendering
public void notifyEndOfRendering()
- Specified by:
notifyEndOfRendering
in interfaceGenericPlatform
-
disposeGraphics
public void disposeGraphics(Object gOffscreen)
- Specified by:
disposeGraphics
in interfaceGenericPlatform
-
grabPixels
public int[] grabPixels(Object canvas, int width, int height, int[] pixels, int startRow, int nRows)
- Specified by:
grabPixels
in interfaceGenericPlatform
- Returns:
- pixels
-
drawImageToBuffer
public int[] drawImageToBuffer(Object gOffscreen, Object imageOffscreen, Object canvas, int width, int height, int bgcolor)
- Specified by:
drawImageToBuffer
in interfaceGenericPlatform
-
getTextPixels
public int[] getTextPixels(String text, Font font3d, Object context, Object image, int width, int height, int ascent)
- Specified by:
getTextPixels
in interfaceGenericPlatform
-
flushImage
public void flushImage(Object imagePixelBuffer)
- Specified by:
flushImage
in interfaceGenericPlatform
-
getGraphics
public Object getGraphics(Object canvas)
- Specified by:
getGraphics
in interfaceGenericPlatform
-
getImageHeight
public int getImageHeight(Object canvas)
- Specified by:
getImageHeight
in interfaceGenericPlatform
-
getImageWidth
public int getImageWidth(Object canvas)
- Specified by:
getImageWidth
in interfaceGenericPlatform
-
getStaticGraphics
public Object getStaticGraphics(Object image, boolean backgroundTransparent)
- Specified by:
getStaticGraphics
in interfaceGenericPlatform
-
newBufferedImage
public Object newBufferedImage(Object image, int w, int h)
- Specified by:
newBufferedImage
in interfaceGenericPlatform
-
newOffScreenImage
public Object newOffScreenImage(int w, int h)
- Specified by:
newOffScreenImage
in interfaceGenericPlatform
-
waitForDisplay
public boolean waitForDisplay(Object echoNameAndPath, Object zipBytes) throws InterruptedException
Description copied from interface:GenericPlatform
can be ignored (return false) if platform cannot save images- Specified by:
waitForDisplay
in interfaceGenericPlatform
- Returns:
- false only if this platform cannot save images
- Throws:
InterruptedException
-
createImage
public Object createImage(Object name_path_bytes)
Description copied from interface:GenericPlatform
can be ignored (return null) if platform cannot save images- Specified by:
createImage
in interfaceGenericPlatform
- Parameters:
name_path_bytes
-- Returns:
- image object or null if asynchronous
-
fontStringWidth
public int fontStringWidth(Font font, String text)
- Specified by:
fontStringWidth
in interfaceFontManager
-
getFontAscent
public int getFontAscent(Object context)
- Specified by:
getFontAscent
in interfaceFontManager
-
getFontDescent
public int getFontDescent(Object context)
- Specified by:
getFontDescent
in interfaceFontManager
-
getFontMetrics
public Object getFontMetrics(Font font, Object context)
- Specified by:
getFontMetrics
in interfaceFontManager
-
newFont
public Object newFont(String fontFace, boolean isBold, boolean isItalic, float fontSize)
- Specified by:
newFont
in interfaceFontManager
-
getDateFormat
public String getDateFormat(String isoType)
- Specified by:
getDateFormat
in interfaceGenericPlatform
-
newFile
public GenericFileInterface newFile(String name)
- Specified by:
newFile
in interfaceGenericPlatform
-
getBufferedFileInputStream
public Object getBufferedFileInputStream(String name)
- Specified by:
getBufferedFileInputStream
in interfaceGenericPlatform
-
getURLContents
public Object getURLContents(URL url, byte[] outputBytes, String post, boolean asString)
- Specified by:
getURLContents
in 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:
getLocalUrl
in interfaceGenericPlatform
-
getImageDialog
public GenericImageDialog getImageDialog(String title, Map<String,GenericImageDialog> imageMap)
- Specified by:
getImageDialog
in interfaceGenericPlatform
-
Jmol
public static JmolToJSmolInterface Jmol()
-
forceAsyncLoad
public boolean forceAsyncLoad(String filename)
- Specified by:
forceAsyncLoad
in interfaceGenericPlatform
-
-