/** * Clears the layer. */ public void clear() { if (false == m_virgin) { if (LienzoGlobals.getInstance().getLayerClearMode() == LayerClearMode.CLEAR) { Context2D context = getContext(); if (null != context) { context.clearRect(0, 0, m_wide, m_high); } } else { setPixelSize(m_wide, m_high); } } else { m_virgin = false; } }
@Override public void setPixelSize(int wide, int high) { if (LienzoGlobals.getInstance().isCanvasSupported()) { super.setPixelSize(wide, high); CanvasElement element = getCanvasElement(); element.setHeight(high); element.setWidth(wide); element.getStyle().setPosition(Position.ABSOLUTE); element.getStyle().setDisplay(Display.INLINE_BLOCK); } }
/** * Sets this scene's size (width and height) in pixels. * * @param wide * @param high * @return this Scene */ public Scene setPixelSize(int wide, int high) { m_wide = wide; m_high = high; m_element.getStyle().setWidth(wide, Unit.PX); m_element.getStyle().setHeight(high, Unit.PX); FastArrayList<Layer> layers = getChildNodes(); if (null != layers) { int size = layers.length(); for (int i = 0; i < size; i++) { Layer layer = layers.get(i); if (null != layer) { layer.setPixelSize(wide, high); } } } return this; }
/** * Adds a {@link Layer} to the Scene. * A draw will be invoked after the layer is added. */ @Override public void add(Layer layer) { if ((null != layer) && (LienzoGlobals.getInstance().isCanvasSupported())) { CanvasElement element = layer.getCanvasElement(); layer.setPixelSize(m_wide, m_high); element.getStyle().setPosition(Position.ABSOLUTE); element.getStyle().setDisplay(Display.INLINE_BLOCK); getElement().appendChild(element); super.add(layer); layer.draw(); } }