Package com.sencha.gxt.chart.client.draw.sprite

Examples of com.sencha.gxt.chart.client.draw.sprite.Sprite


  public void setLabelConfig(SeriesLabelConfig<M> labelConfig) {
    if (this.labelConfig != labelConfig) {
      this.labelConfig = labelConfig;
      int size = labels.size();
      for (int i = 0; i < size; i++) {
        Sprite label = labels.remove(i);
        if(label != null) {
          label.remove();
        }
      }
    }
  }
View Full Code Here


    double width = this.depth - 2;
    double lineWidth;
    List<PathCommand> commands = new ArrayList<PathCommand>();
    List<PathCommand> oddCommands = new ArrayList<PathCommand>();
    List<PathCommand> evenCommands = new ArrayList<PathCommand>();
    Sprite styles;

    if ((gutters[1] != 0 && (position == Position.LEFT || position == Position.RIGHT))
        || (gutters[0] != 0 && (position == Position.TOP || position == Position.BOTTOM))) {
      i = 0;
    }
    if (gridOddConfig != null || gridEvenConfig != null) {
      i = 1;
    }

    for (; i < ln; i++) {
      PrecisePoint point = ticks.get(i);
      PrecisePoint prevPoint;
      if (i > 0) {
        prevPoint = ticks.get(i - 1);
      } else {
        prevPoint = new PrecisePoint();
      }
      if (gridOddConfig != null || gridEvenConfig != null) {
        styles = ((i % 2 != 0) ? gridOddConfig : gridEvenConfig);
        if (styles != null) {
          lineWidth = styles.getStrokeWidth() / 2;
        } else {
          lineWidth = 0;
        }
        commands = (i % 2 == 0 ? evenCommands : oddCommands);
        if (position == Position.LEFT) {
View Full Code Here

  /**
   * Creates a bar {@link Series}.
   */
  public BarSeries() {
    // setup shadow attributes
    Sprite config = new PathSprite();
    config.setStrokeWidth(6);
    config.setStrokeOpacity(0.05);
    config.setStroke(new RGB(200, 200, 200));
    config.setTranslation(1.2, 1.2);
    shadowAttributes.add(config);
    config = new PathSprite();
    config.setStrokeWidth(4);
    config.setStrokeOpacity(0.1);
    config.setStroke(new RGB(150, 150, 150));
    config.setTranslation(0.9, 0.9);
    shadowAttributes.add(config);
    config = new PathSprite();
    config.setStrokeWidth(2);
    config.setStrokeOpacity(0.15);
    config.setStroke(new RGB(100, 100, 100));
    config.setTranslation(0.6, 0.6);
    shadowAttributes.add(config);

    // initialize shadow groups
    if (shadowGroups.size() == 0) {
      for (int i = 0; i < shadowAttributes.size(); i++) {
View Full Code Here

      LabelPosition labelPosition = labelConfig.getLabelPosition();
      for (int j = 0; j < rects.size(); j++) {
        if (rects.get(j) == null) {
          continue;
        }
        final Sprite sprite;
        RectangleSprite bar = rects.get(j);
        if (labels.get(j) != null) {
          sprite = labels.get(j);
        } else {
          sprite = labelConfig.getSpriteConfig().copy();
          if (column) {
            sprite.setTranslation(bar.getX(), bar.getY() + bar.getHeight());
          } else {
            sprite.setTranslation(bar.getX(), bar.getY());
          }
          labels.put(j, sprite);
          chart.addSprite(sprite);
        }
        if (chart.isAnimated() && chart.isResizing()) {
          if (column) {
            sprite.setTranslation(bar.getX(), bar.getY() + bar.getHeight());
          } else {
            sprite.setTranslation(bar.getX(), bar.getY());
          }
        }
        setLabelText(sprite, j);
        sprite.redraw();
        PreciseRectangle box = sprite.getBBox();
        double x = 0;
        double y = 0;
        if (column) {
          x = bar.getX() + bar.getWidth() / 2.0;
          if (labelPosition == LabelPosition.START) {
            y = bar.getY() + bar.getHeight() - box.getHeight();
          } else if (labelPosition == LabelPosition.END) {
            if (bar.getHeight() > box.getHeight()) {
              y = bar.getY();
            } else {
              y = bar.getY() - box.getHeight();
            }
          } else if (labelPosition == LabelPosition.OUTSIDE) {
            y = bar.getY() - box.getHeight();
          }
        } else {
          y = bar.getY() + bar.getHeight() / 2.0 - box.getHeight() / 2.0;
          if (labelPosition == LabelPosition.START) {
            x = bar.getX();
          } else if (labelPosition == LabelPosition.END) {
            if (bar.getWidth() > box.getWidth()) {
              x = bar.getX() + bar.getWidth() - box.getWidth();
            } else {
              x = bar.getX() + bar.getWidth();
            }
          } else if (labelPosition == LabelPosition.OUTSIDE) {
            x = bar.getX() + bar.getWidth();
          }
        }
        if (labelConfig.isLabelContrast()) {
          final Sprite back = sprites.get(j);
          if (chart.isAnimated()) {
            Scheduler.get().scheduleDeferred(new ScheduledCommand() {
              @Override
              public void execute() {
                setLabelContrast(sprite, labelConfig, back);
View Full Code Here

    if (groupBarsLength == 0) {
      return;
    }
    // create shadows
    for (int shindex = 0; shindex < shadowGroups.size(); shindex++) {
      Sprite shadowBarAttr = shadowAttributes.get(shindex);
      SpriteList<Sprite> shadows = shadowGroups.get(shindex);
      final RectangleSprite shadowSprite;
      RectangleSprite rect = rects.get(i);
      if (i < shadows.size()) {
        shadowSprite = (RectangleSprite) shadows.get(i);
        shadowSprite.setHidden(false);
      } else {
        shadowSprite = new RectangleSprite();
        if (column) {
          shadowSprite.setX(rect.getX());
          shadowSprite.setY(rect.getY() + rect.getHeight());
          shadowSprite.setWidth(rect.getWidth());
          shadowSprite.setHeight(0);
        } else {
          shadowSprite.setX(rect.getX());
          shadowSprite.setY(rect.getY());
          shadowSprite.setWidth(0);
          shadowSprite.setHeight(rect.getHeight());
        }
        shadowSprite.setStrokeWidth(shadowBarAttr.getStrokeWidth());
        shadowSprite.setStrokeOpacity(shadowBarAttr.getStrokeOpacity());
        shadowSprite.setStroke(shadowBarAttr.getStroke());
        shadowSprite.setFill(Color.NONE);
        shadowSprite.setTranslation(new Translation(shadowBarAttr.getTranslation()));
        shadows.add(shadowSprite);
        chart.addSprite(shadowSprite);
      }
      if (chart.isAnimated() && chart.isResizing()) {
        if (column) {
View Full Code Here

   * Creates a line {@link Series}.
   */
  public LineSeries() {
    // setup shadow attributes
    shadowAttributes = new ArrayList<Sprite>();
    Sprite config = new PathSprite();
    config.setStrokeWidth(6);
    config.setStrokeOpacity(0.05);
    config.setStroke(RGB.BLACK);
    config.setTranslation(1, 1);
    shadowAttributes.add(config);
    config = new PathSprite();
    config.setStrokeWidth(4);
    config.setStrokeOpacity(0.1);
    config.setStroke(RGB.BLACK);
    config.setTranslation(1, 1);
    shadowAttributes.add(config);
    config = new PathSprite();
    config.setStrokeWidth(2);
    config.setStrokeOpacity(0.15);
    config.setStroke(RGB.BLACK);
    config.setTranslation(1, 1);
    shadowAttributes.add(config);

    // initialize shadow groups
    if (shadowGroups.size() == 0) {
      for (int i = 0; i < shadowAttributes.size(); i++) {
View Full Code Here

  @Override
  public void drawSeries() {
    List<PathCommand> fillCommands = new ArrayList<PathCommand>();
    boolean onbreak = false;
    double firstY = Double.NaN;
    Sprite marker;
    ListStore<M> store = chart.getCurrentStore();
    lineCommands.clear();
    gapPosition.clear();

    if (store == null || store.size() == 0) {
      return;
    }

    if (markerIndex > 0 && sprites.size() > 0) {
      for (int i = 0; i < markerIndex; i++) {
        marker = sprites.get(i);
        sprites.remove(i);
        sprites.add(marker);
        Sprite markerTemp = sprites.get(sprites.size() - 2);
        marker.setTranslation(new Translation(markerTemp.getTranslation()));
        marker.redraw();
      }
    }

    calculateBounds();

    double x = 0;
    double y = 0;
    boolean gap = false;
    for (int i = 0; i < store.size(); i++) {
      PrecisePoint point = coordinates.get(i);
      if (point != null) {
        x = point.getX();
        y = point.getY();
      } else {
        x = y = Double.NaN;
      }
      if (!Double.isNaN(x) && !Double.isNaN(y)) {
        if (onbreak) {
          onbreak = false;
        }
        if (lineCommands.size() > 0 && !gap) {
          lineCommands.add(new LineTo(x, y));
        } else {
          lineCommands.add(new MoveTo(x, y));
          gap = false;
        }
        gapPosition.put(String.valueOf(lineCommands.size() - 1), i);
      } else if (!gapless) {
        gap = true;
      }

      if (Double.isNaN(firstY) && !Double.isNaN(y)) {
        firstY = y;
      }
    }

    List<PathCommand> renderCommands;

    if (smooth && lineCommands.size() > 0) {
      PathSprite smooth = new PathSprite();
      smooth.setCommands(lineCommands);
      renderCommands = smooth.copy().toSmooth(segments).getCommands();
    } else {
      renderCommands = PathSprite.copyCommands(lineCommands);
    }

    // Correct path if we're animating timeAxis intervals
    if (markerIndex > 0 && previousCommands != null && previousCommands.size() > 1) {
      previousCommands.remove(1);
      line.setCommands(previousCommands);
      if (chart.hasShadows()) {
        for (int i = 0; i < lineShadows.size(); i++) {
          PathSprite shadow = lineShadows.get(i);
          shadow.setCommands(previousCommands);
        }
      }
    }

    List<PathCommand> dummyCommands = new ArrayList<PathCommand>();
    dummyCommands.add(new MoveTo(bbox.getX(), bbox.getY() + bbox.getHeight() / 2.0));
    for (int k = 1; k < lineCommands.size(); k++) {
      dummyCommands.add(new LineTo(bbox.getX() + bbox.getWidth() / k, bbox.getY() + bbox.getHeight() / 2.0));
    }

    // Only create a line if one doesn't exist.
    if (line == null) {
      line = new PathSprite();
      line.setStroke(stroke);
      chart.addSprite(line);
      line.setCommands(dummyCommands);

      if (chart.hasShadows()) {
        // create shadows
        for (int i = 0; i < shadowGroups.size(); i++) {
          PathSprite shadow = new PathSprite();
          Sprite shadowAttr = shadowAttributes.get(i);
          shadow.setStrokeWidth(shadowAttr.getStrokeWidth());
          shadow.setStrokeOpacity(shadowAttr.getStrokeOpacity());
          shadow.setStroke(shadowAttr.getStroke());
          shadow.setTranslation(new Translation(shadowAttr.getTranslation()));
          shadow.setFill(Color.NONE);
          shadow.setCommands(line.getCommands());
          chart.addSprite(shadow);
          lineShadows.add(shadow);
        }
View Full Code Here

    for (int j = lineCommands.size(); j < labels.size(); j++) {
      labels.get(j).setHidden(true);
    }
    if (labelConfig != null) {
      for (int i = 0; i < lineCommands.size(); i++) {
        final Sprite sprite;
        if (labels.get(i) != null) {
          sprite = labels.get(i);
          if (!hidden) {
            sprite.setHidden(false);
          }
        } else {
          sprite = labelConfig.getSpriteConfig().copy();
          labels.put(i, sprite);
          chart.addSprite(sprite);
        }
        setLabelText(sprite, i);
        sprite.redraw();
        if (labelConfig.isLabelContrast()) {
          final Sprite back = sprites.get(i);
          if (chart.isAnimated()) {
            Scheduler.get().scheduleDeferred(new ScheduledCommand() {
              @Override
              public void execute() {
                setLabelContrast(sprite, labelConfig, back);
View Full Code Here

    if (line != null) {
      line.setHidden(hide);
      line.redraw();
      if (chart.hasShadows()) {
        for (int i = 0; i < lineShadows.size(); i++) {
          Sprite shadow = lineShadows.get(i);
          shadow.setHidden(hide);
          shadow.redraw();
        }
      }
    }
    if (fillSprite != null) {
      fillSprite.setHidden(hide);
View Full Code Here

  /**
   * Creates a scatter {@link Series}.
   */
  public ScatterSeries() {
    // setup shadow attributes
    Sprite config = new PathSprite();
    config.setStrokeWidth(6);
    config.setStrokeOpacity(0.05);
    config.setStroke(RGB.BLACK);
    shadowAttributes.add(config);
    config = new PathSprite();
    config.setStrokeWidth(4);
    config.setStrokeOpacity(0.1);
    config.setStroke(RGB.BLACK);
    shadowAttributes.add(config);
    config = new PathSprite();
    config.setStrokeWidth(2);
    config.setStrokeOpacity(0.15);
    config.setStroke(RGB.BLACK);
    shadowAttributes.add(config);

    // initialize the shadow groups
    if (shadowGroups.size() == 0) {
      for (int i = 0; i < shadowAttributes.size(); i++) {
View Full Code Here

TOP

Related Classes of com.sencha.gxt.chart.client.draw.sprite.Sprite

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.