org.eclipse.swt.graphics.GC.getTransform()方法的使用及代码示例

x33g5p2x  于2022-01-19 转载在 其他  
字(6.0k)|赞(0)|评价(0)|浏览(105)

本文整理了Java中org.eclipse.swt.graphics.GC.getTransform()方法的一些代码示例,展示了GC.getTransform()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。GC.getTransform()方法的具体详情如下:
包路径:org.eclipse.swt.graphics.GC
类名称:GC
方法名:getTransform

GC.getTransform介绍

[英]Sets the parameter to the transform that is currently being used by the receiver.
[中]将参数设置为接收器当前使用的变换。

代码示例

代码示例来源:origin: stefanhaustein/flowgrid

public Image getIcon(Icon id) {
  Image image = icons.get(id);
  if (image == null) {
    String vectorResName = "/icons/ic_" + id.name().toLowerCase() + (dark ? "_white_24dp.xml" : "_black_24dp.xml");
    InputStream is = getClass().getResourceAsStream(vectorResName);
    int expectedSize = Math.round(24 * pixelPerDp);
    AndroidVectorDrawable avd = AndroidVectorDrawable.read(display, is, pixelPerDp);
    image = new Image(display, expectedSize, expectedSize);
    GC gc = new GC(image);
    if (expectedSize != 24) {
      Transform transform = new Transform(display);
      gc.getTransform(transform);
      transform.scale(expectedSize/24f, expectedSize/24f);
      gc.setTransform(transform);
      transform.dispose();
    }
    avd.draw(gc);
    icons.put(id, image);
  }
  return image;
}

代码示例来源:origin: org.jfree/swtgraphics2d

/**
 * Returns the current transform.
 *
 * @return The current transform.
 */
@Override
public AffineTransform getTransform() {
  Transform swtTransform = new Transform(this.gc.getDevice());
  this.gc.getTransform(swtTransform);
  AffineTransform awtTransform = toAwtTransform(swtTransform);
  swtTransform.dispose();
  return awtTransform;
}

代码示例来源:origin: org.jfree/swtgraphics2d

/**
 * Applies a scale transform.
 *
 * @param scaleX  the scale factor along the x-axis.
 * @param scaleY  the scale factor along the y-axis.
 */
@Override
public void scale(double scaleX, double scaleY) {
  Transform swtTransform = new Transform(this.gc.getDevice());
  this.gc.getTransform(swtTransform);
  swtTransform.scale((float) scaleX, (float) scaleY);
  this.gc.setTransform(swtTransform);
  swtTransform.dispose();
}

代码示例来源:origin: org.jfree/swtgraphics2d

/**
 * Applies a translation.
 *
 * @param x  the translation along the x-axis.
 * @param y  the translation along the y-axis.
 */
@Override
public void translate(int x, int y) {
  Transform swtTransform = new Transform(this.gc.getDevice());
  this.gc.getTransform(swtTransform);
  swtTransform.translate(x, y);
  this.gc.setTransform(swtTransform);
  swtTransform.dispose();
}

代码示例来源:origin: org.jfree/swtgraphics2d

/**
 * Concatenates the specified transform to the existing transform.
 *
 * @param t  the transform.
 */
@Override
public void transform(AffineTransform t) {
  Transform swtTransform = new Transform(this.gc.getDevice());
  this.gc.getTransform(swtTransform);
  swtTransform.multiply(getSwtTransformFromPool(t));
  this.gc.setTransform(swtTransform);
  swtTransform.dispose();
}

代码示例来源:origin: org.xworker/xworker_swt

@ActionParams(names="canvas,gc,shape")
public static void draw(Canvas canvas, GC gc, SimpleShape shape, ActionContext actionContext) {
  Control control = (Control) shape.getData(KEY);
  if(control != null && !control.isDisposed()) {
    int offset = shape.isSelected() ? 12 : 0;
    //System.out.println("ControlShape, selected=" + shape.isSelected());
    Point clientSize = new Point(shape.getWidth() - offset, shape.getHeight() -offset);
    control.setSize(clientSize);
    control.setLocation(shape.getX() + offset/2, shape.getY() + offset/2);
    
    //Point size = control.getSize();
    //System.out.println(bounds[0] + "," + bounds[1] + "," + bounds[2] + "," + bounds[3]);
    Transform oldTransform = new Transform(gc.getDevice());
    gc.getTransform(oldTransform);
    Transform transform = new Transform(gc.getDevice());
    transform.translate(shape.getX() + offset/2, shape.getY() + offset/2);
    //transform.scale(1f * shape.getWidth() / (clientSize.x), 1f * shape.getHeight() / (clientSize.y));
    
    //transform.multiply(oldTransform);
    gc.setTransform(transform);
    control.print(gc);
    gc.setTransform(oldTransform);
    transform.dispose();
    oldTransform.dispose();
  }    
}

代码示例来源:origin: org.xworker/xworker_swt

@ActionParams(names="canvas,gc,shape")
public static void draw(Canvas canvas, GC gc, SimpleShape shape, ActionContext actionContext) {
  Control control = (Control) shape.getData(KEY);
  if(control != null && !control.isDisposed()) {
    int offset = shape.isSelected() ? 12 : 0;
    //System.out.println("ControlShape, selected=" + shape.isSelected());
    Point clientSize = new Point(shape.getWidth() - offset, shape.getHeight() -offset);
    control.setSize(clientSize);
    control.setLocation(shape.getX() + offset/2, shape.getY() + offset/2);
    
    //Point size = control.getSize();
    //System.out.println(bounds[0] + "," + bounds[1] + "," + bounds[2] + "," + bounds[3]);
    Transform oldTransform = new Transform(gc.getDevice());
    gc.getTransform(oldTransform);
    Transform transform = new Transform(gc.getDevice());
    transform.translate(shape.getX() + offset/2, shape.getY() + offset/2);
    //transform.scale(1f * shape.getWidth() / (clientSize.x), 1f * shape.getHeight() / (clientSize.y));
    
    //transform.multiply(oldTransform);
    gc.setTransform(transform);
    control.print(gc);
    gc.setTransform(oldTransform);
    transform.dispose();
    oldTransform.dispose();
  }    
}

代码示例来源:origin: org.xworker/xworker_swt

@ActionParams(names="canvas,gc,shape")
public static void draw(Canvas canvas, GC gc, SimpleShape shape, ActionContext actionContext) {
  Thing thing = shape.getThing();
  Path path = (Path) shape.getData(PATH);        
  if(path != null && !path.isDisposed()) {
    float bounds[] = new float[4];
    path.getBounds(bounds);
    //System.out.println(bounds[0] + "," + bounds[1] + "," + bounds[2] + "," + bounds[3]);
    Transform oldTransform = new Transform(gc.getDevice());
    gc.getTransform(oldTransform);
    Transform transform = new Transform(gc.getDevice());
    transform.translate(shape.getX(), shape.getY());
    transform.scale(shape.getWidth() / (bounds[0] + bounds[2]), shape.getHeight() / (bounds[1] + bounds[3]));
    
    //transform.multiply(oldTransform);
    gc.setTransform(transform);
    if(thing.getBoolean("fill")) {
      gc.fillPath(path);
    }else {
      gc.drawPath(path);
    }
    
    gc.setTransform(oldTransform);
    transform.dispose();
    oldTransform.dispose();
  }
}

代码示例来源:origin: com.github.rinde/rinsim-example

} else {
 final Transform oldTransform = new Transform(gc.getDevice());
 gc.getTransform(oldTransform);

代码示例来源:origin: rinde/RinSim

} else {
 final Transform oldTransform = new Transform(gc.getDevice());
 gc.getTransform(oldTransform);

代码示例来源:origin: org.xworker/xworker_swt

gc.getTransform(oldTransform);					
transform.translate(getX(), getY());
float rotate = 0;

相关文章

GC类方法