-
beginUpdateRenderer()
-
Call this method before a series of rendered element updating job (for instance, call update method)
to avoid unnecessary redraw.
- Source:
-
canModifyGraphic(context) → {Bool}
-
Whether current renderer can modify elements drawn on context.
Parameters:
Name |
Type |
Description |
context |
Object
|
|
- Source:
Returns:
-
Type
-
Bool
-
clear(context) → {Bool}
-
Clear whole chemObj on context.
Parameters:
Name |
Type |
Description |
context |
Object
|
|
- Source:
Returns:
Whether the actual clear job is done.
-
Type
-
Bool
-
doClear(context) → {Bool}
-
Do actual job of clear.
This function should return true after actual work done. Otherwise false should be returned.
Parameters:
Name |
Type |
Description |
context |
Object
|
|
- Source:
Returns:
-
Type
-
Bool
-
doClearSelf(context) → {Bool}
-
Do actual job of clear self (without children). Descendants should override this method.
This function should return true after actual work done. Otherwise false should be returned.
Parameters:
Name |
Type |
Description |
context |
Object
|
|
- Source:
Returns:
-
Type
-
Bool
-
draw(context, baseCoord, options) → {Object}
-
Draw an instance of ChemObject to context.
The actual job is done in doDraw method. Descendants should override doDraw.
Parameters:
Name |
Type |
Description |
context |
Object
|
Context to be drawn, such as Canvas, SVG, VML and so on. |
baseCoord |
Hash
|
Base coord to draw this object, can be null to use coord of chemObj itself.
This coord is based on context. |
options |
Hash
|
Draw options, such as draw rectangle, draw style, zoom and so on.
Different renderer may requires different option params.
In options hash object, there may be one special array field: partialDrawObjs. If this field is set,
then only chem objects in this array will be actually drawn. |
- Source:
Returns:
Drawn element on context (such as SVG) or null on direct context (such as canvas).
-
Type
-
Object
-
endUpdateRenderer()
-
Call this method after a series of rendered element updateing job,
notify the renderer to redraw the context.
- Source:
-
estimateObjBox(context, options, allowCoordBorrow) → {Hash}
-
Estimate the bound box around current chemObj (in chem coord system).
Parameters:
Name |
Type |
Description |
context |
Object
|
|
options |
Object
|
|
allowCoordBorrow |
Bool
|
|
- Source:
Returns:
A 2D or 3D box, in chemObj's coord system.
-
Type
-
Hash
-
estimateRenderBox(context, baseCoord, options, allowCoordBorrow) → {Hash}
-
Estimate the bound box need to render current chemObj (in context coord system).
Note: this method should not be called outside draw(). Otherwise the result may be unreliable or even no result can be returned.
Parameters:
Name |
Type |
Description |
context |
Object
|
|
baseCoord |
Hash
|
Center coord in context to draw object. Can be null. |
options |
Object
|
|
allowCoordBorrow |
Bool
|
|
- Source:
Returns:
A 2D or 3D box, in context's coord system.
-
Type
-
Hash
-
getAutoBaseCoord(drawOptions) → {Hash}
-
Auto calculate draw context coord by coord of chem obj. When no baseCoord is provided in draw method,
this result may be used instead.
Parameters:
Name |
Type |
Description |
drawOptions |
Hash
|
|
- Source:
Returns:
-
Type
-
Hash
-
getCoordMode() → {Int}
-
Report coord mode of this renderer.
- Source:
Returns:
Value from Kekule.CoordMode.
-
Type
-
Int
-
getRenderCache() → {Hash}
-
Returns draw params (center coord, options, matrix...) on last draw process on context.
- Source:
Returns:
-
Type
-
Hash
-
getRendererType() → {Int}
-
Report the type (2D or 3D) of this renderer.
- Source:
Returns:
-
Type
-
Int
-
isChemObjRenderedBySelf(context, obj) → {boolean}
-
Indicate whether a chemObj (including childObj) is rendered by this renderer, or should be rendered by this renderer.
Descendants may override this method.
Parameters:
Name |
Type |
Description |
context |
Object
|
|
obj |
Object
|
|
- Source:
Returns:
-
Type
-
boolean
-
isChemObjRenderedDirectlyBySelf(context, obj) → {boolean}
-
Indicate whether a chemObj (including childObj) is rendered directly by this renderer (not by child renderers).
Descendants may override this method.
Parameters:
Name |
Type |
Description |
context |
Object
|
|
obj |
Object
|
|
- Source:
Returns:
-
Type
-
boolean
-
isRootRenderer()
-
Check if current renderer is the topmost one (without parent renderer, but maybe has parent painter).
- Source:
-
isUpdatingRenderer() → {Bool}
-
Check if beginUpdateRenderer is called and endUpdateRenderer is not called yet.
- Source:
Returns:
-
Type
-
Bool
-
redraw(context)
-
Redraw previous object on context with same draw options. Should not be called before draw.
Parameters:
Name |
Type |
Description |
context |
Object
|
|
- Source:
-
transformContextCoordToScreen(context, coord) → {Hash}
-
Transform a context based coord to screen based one (usually in pixel).
Parameters:
Name |
Type |
Description |
context |
Object
|
|
coord |
Hash
|
|
- Source:
Returns:
-
Type
-
Hash
-
transformCoordToContext(context, chemObj, coord) → {Hash}
-
Transform a chemObj based inner coord to context based one.
Parameters:
- Source:
Returns:
-
Type
-
Hash
-
-
Transform a context based coord to inner coord basd on chemObj coord system.
Parameters:
- Source:
Returns:
-
Type
-
Hash
-
update(context, updatedObjDetails, updateType) → {Bool}
-
Update a child object inside chemObj. Must be called after draw.
Parameters:
Name |
Type |
Description |
context |
Object
|
|
updatedObjDetails |
Variant
|
Object detail containing field {obj, propNames} or array of details. |
updateType |
Int
|
Value from Kekule.Render.ObjectUpdateType |
- Source:
Returns:
-
Type
-
Bool
-
updateEx(updateInfos) → {Bool}
-
Do a update job according to info provided by updateItems. Must be called after draw.
Parameters:
Name |
Type |
Description |
updateInfos |
Array
|
Each item has format: {context, items: [{updateType, updatedObjDetails: [{obj, propNames}]}]} |
- Source:
Returns:
-
Type
-
Bool