org.eclipse.swt.graphics.Transform.<init>()方法的使用及代码示例

x33g5p2x  于2022-01-30 转载在 其他  
字(10.3k)|赞(0)|评价(0)|浏览(88)

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

Transform.<init>介绍

[英]Constructs a new identity Transform.

This operation requires the operating system's advanced graphics subsystem which may not be available on some platforms.
[中]构建一个新的身份转换。
此操作需要操作系统的高级图形子系统,该子系统在某些平台上可能不可用。

代码示例

代码示例来源:origin: pentaho/pentaho-kettle

public void setTransform( float translationX, float translationY, int shadowsize, float magnification ) {
 if ( transform != null ) { // dispose of previous to prevent leaking of handles
  transform.dispose();
 }
 transform = new Transform( gc.getDevice() );
 transform.translate( translationX + shadowsize * magnification, translationY + shadowsize * magnification );
 transform.scale( magnification, magnification );
 gc.setTransform( transform );
 currentMagnification = magnification;
}

代码示例来源:origin: pentaho/pentaho-kettle

public void setTransform( float translationX, float translationY, int shadowsize, float magnification ) {
 if ( transform != null ) { // dispose of previous to prevent leaking of handles
  transform.dispose();
 }
 transform = new Transform( gc.getDevice() );
 transform.translate( translationX + shadowsize * magnification, translationY + shadowsize * magnification );
 transform.scale( magnification, magnification );
 gc.setTransform( transform );
 currentMagnification = magnification;
}

代码示例来源:origin: pentaho/pentaho-kettle

@Override
 protected Image renderRotated( Device device, int width, int height, double angleRadians ) {
  Image result = new Image( device, width * 2, height * 2 );

  GC gc = new GC( result );

  int bw = bitmap.getBounds().width;
  int bh = bitmap.getBounds().height;
  Transform affineTransform = new Transform( device );
  affineTransform.translate( width, height );
  affineTransform.rotate( (float) Math.toDegrees( angleRadians ) );
  affineTransform.scale( (float) 1.0 * width / bw, (float) 1.0 * height / bh );
  gc.setTransform( affineTransform );

  gc.drawImage( bitmap, 0, 0, bw, bh, -bw / 2, -bh / 2, bw, bh );

  gc.dispose();

  return result;
 }
}

代码示例来源:origin: org.piccolo2d/piccolo2d-swt

/**
 * Constructor for SWTGraphics2D.
 * 
 * @param gc The Eclipse Graphics Context onto which all Graphics2D
 *            operations are delegating
 * @param device Device onto which ultimately all gc operations are drawn
 *            onto
 */
public SWTGraphics2D(final GC gc, final Device device) {
  this.gc = gc;
  this.device = device;
  swtTransform = new Transform(device);
  gc.setAntialias(SWT.ON);
}

代码示例来源:origin: com.google.code.maven-play-plugin.org.xhtmlrenderer/core-renderer

public void translate(double tx, double ty) {
  if (_transform == null) {
    _transform = new Transform(_gc.getDevice());
  }
  _transform.translate((int) tx, (int) ty);
  _gc.setTransform(_transform);
  if (_clippingArea != null) {
    AffineTransform t = new AffineTransform();
    t.translate(-tx, -ty);
    _clippingArea.transform(t);
  }
}

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

/**
 * Internal method to convert a AWT transform object into
 * a SWT transform resource. If a corresponding SWT transform
 * instance is already in the pool, it will be used
 * instead of creating a new one. This is used in
 * {@link #setTransform()} for instance.
 *
 * @param awtTransform The AWT transform to convert.
 * @return A SWT transform instance.
 */
private Transform getSwtTransformFromPool(AffineTransform awtTransform) {
  Transform t = (Transform) this.transformsPool.get(awtTransform);
  if (t == null) {
    t = new Transform(this.gc.getDevice());
    double[] matrix = new double[6];
    awtTransform.getMatrix(matrix);
    t.setElements((float) matrix[0], (float) matrix[1],
        (float) matrix[2], (float) matrix[3],
        (float) matrix[4], (float) matrix[5]);
    addToResourcePool(t);
    this.transformsPool.put(awtTransform, t);
  }
  return t;
}

代码示例来源: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: de.dentrassi.eclipse.neoscada.chart/org.eclipse.scada.chart.swt

@Override
public void drawText ( final String string, final int x, final int y, final Float rotate )
{
  final Transform t;
  if ( rotate != null )
  {
    t = new Transform ( this.gc.getDevice () );
    t.rotate ( rotate );
    this.gc.setTransform ( t );
  }
  else
  {
    t = null;
  }
  this.gc.drawText ( string, x, y, SWT.DRAW_DELIMITER | SWT.DRAW_TAB | SWT.DRAW_TRANSPARENT );
  if ( t != null )
  {
    this.gc.setTransform ( null );
    t.dispose ();
  }
}

代码示例来源:origin: org.eclipse.neoscada.chart/org.eclipse.scada.chart.swt

@Override
public void drawText ( final String string, final int x, final int y, final Float rotate )
{
  final Transform t;
  if ( rotate != null )
  {
    t = new Transform ( this.gc.getDevice () );
    t.rotate ( rotate );
    this.gc.setTransform ( t );
  }
  else
  {
    t = null;
  }
  this.gc.drawText ( string, x, y, SWT.DRAW_DELIMITER | SWT.DRAW_TAB | SWT.DRAW_TRANSPARENT );
  if ( t != null )
  {
    this.gc.setTransform ( null );
    t.dispose ();
  }
}

代码示例来源:origin: org.eclipse.platform/org.eclipse.swt.examples

Transform transform = new Transform(device);
transform.translate(ballCollection.prevx.get(ballCollection.prevx.size()
    - (i + 1)).floatValue(), ballCollection.prevy

代码示例来源: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: org.eclipse.platform/org.eclipse.swt.examples

Transform transform = new Transform(device);

代码示例来源:origin: org.eclipse.platform/org.eclipse.swt.examples

shell.addListener(SWT.Paint, event -> {
  GC gc = event.gc;
  Transform tr = new Transform(display);
  tr.translate(rect.width / 4, rect.height / 2);
  tr.rotate(-30);

代码示例来源:origin: org.eclipse.platform/org.eclipse.swt.examples

int n = petalSpinner.getSelection();
for (int i=0; i < n; i++) {
  transform = new Transform(device);
  transform.translate(width/2, height/2);
  transform.rotate(-(angle + 360/n * i));

相关文章