⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 swtgraphics2d.java

📁 java图形利器
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
     * the y has to be modified with the ascent of the font.      *      * @see java.awt.Graphics#drawString(java.lang.String, int, int)     */    public void drawString(String text, int x, int y) {        float fm = gc.getFontMetrics().getAscent();        gc.drawString(text, x, (int) (y - fm), true);    }    /* (non-Javadoc)     * @see java.awt.Graphics2D#drawString(java.lang.String, float, float)     */    public void drawString(String text, float x, float y) {        float fm = gc.getFontMetrics().getAscent();        gc.drawString(text, (int) x, (int) ( y - fm ), true);    }    /* (non-Javadoc)     * @see java.awt.Graphics2D#drawString(     * java.text.AttributedCharacterIterator, int, int)     */    public void drawString(AttributedCharacterIterator iterator, int x, int y) {        // TODO Auto-generated method stub    }    /* (non-Javadoc)     * @see java.awt.Graphics2D#drawString(     * java.text.AttributedCharacterIterator, float, float)     */    public void drawString(AttributedCharacterIterator iterator, float x,             float y) {        // TODO Auto-generated method stub    }    /** fill an arbitrary shape on the swt graphic composite      * with the current stroke and paint.     * note that for consistency with the awt method, it is needed      * to switch temporarily the foreground and background colors.     * @see java.awt.Graphics2D#fill(java.awt.Shape)     */    public void fill(Shape shape) {        Path path = toSwtPath(shape);        switchColors();        this.gc.fillPath(path);        switchColors();        path.dispose();    }    /* (non-Javadoc)     * @see java.awt.Graphics2D#hit(java.awt.Rectangle, java.awt.Shape, boolean)     */    public boolean hit(Rectangle rect, Shape text, boolean onStroke) {        // TODO Auto-generated method stub        return false;    }    /* (non-Javadoc)     * @see java.awt.Graphics2D#getDeviceConfiguration()     */    public GraphicsConfiguration getDeviceConfiguration() {        // TODO Auto-generated method stub        return null;    }    /* (non-Javadoc)     * @see java.awt.Graphics2D#setComposite(java.awt.Composite)     */    public void setComposite(Composite comp) {        // TODO Auto-generated method stub    }    /**     * Set the paint associated with the swt graphic composite.     * @see java.awt.Graphics2D#setPaint(java.awt.Paint)     */    public void setPaint(Paint paint) {        if (paint instanceof Color) {            setColor((Color) paint);        }        else {            throw new RuntimeException("Can only handle 'Color' at present.");        }    }    /* (non-Javadoc)     * @see java.awt.Graphics2D#setStroke(java.awt.Stroke)     */    public void setStroke(Stroke stroke) {        if (stroke instanceof BasicStroke) {            BasicStroke bs = (BasicStroke) stroke;            // linewidth            gc.setLineWidth((int) bs.getLineWidth());            // line join            switch (bs.getLineJoin()) {                case BasicStroke.JOIN_BEVEL :                    gc.setLineJoin(SWT.JOIN_BEVEL);                    break;                case BasicStroke.JOIN_MITER :                    gc.setLineJoin(SWT.JOIN_MITER);                    break;                case BasicStroke.JOIN_ROUND :                    gc.setLineJoin(SWT.JOIN_ROUND);                    break;            }            // line cap            switch (bs.getEndCap()) {                case BasicStroke.CAP_BUTT :                    gc.setLineCap(SWT.CAP_FLAT);                    break;                case BasicStroke.CAP_ROUND :                    gc.setLineCap(SWT.CAP_ROUND);                    break;                case BasicStroke.CAP_SQUARE :                    gc.setLineCap(SWT.CAP_SQUARE);                    break;            }            // set the line style to solid by default            gc.setLineStyle(SWT.LINE_SOLID);            // apply dash style if any            float[] dashes = bs.getDashArray();            if (dashes != null) {                int[] swtDashes = new int[dashes.length];                for (int i = 0; i < swtDashes.length; i++) {                    swtDashes[i] = (int) dashes[i];                }                gc.setLineDash(swtDashes);            }        }        else {            throw new RuntimeException(                    "Can only handle 'Basic Stroke' at present.");        }    }    /* (non-Javadoc)     * @see java.awt.Graphics2D#setRenderingHint(java.awt.RenderingHints.Key,      * java.lang.Object)     */    public void setRenderingHint(Key hintKey, Object hintValue) {        // TODO Auto-generated method stub    }    /* (non-Javadoc)     * @see java.awt.Graphics2D#getRenderingHint(java.awt.RenderingHints.Key)     */    public Object getRenderingHint(Key hintKey) {        // TODO Auto-generated method stub        return null;    }    /* (non-Javadoc)     * @see java.awt.Graphics2D#setRenderingHints(java.util.Map)     */    public void setRenderingHints(Map hints) {        // TODO Auto-generated method stub    }    /* (non-Javadoc)     * @see java.awt.Graphics2D#addRenderingHints(java.util.Map)     */    public void addRenderingHints(Map hints) {        // TODO Auto-generated method stub    }    /* (non-Javadoc)     * @see java.awt.Graphics2D#getRenderingHints()     */    public RenderingHints getRenderingHints() {        // TODO Auto-generated method stub        return null;    }    /* (non-Javadoc)     * @see java.awt.Graphics2D#translate(int, int)     */    public void translate(int x, int y) {        Transform swtTransform = new Transform(gc.getDevice());         gc.getTransform(swtTransform);        swtTransform.translate(x, y);        gc.setTransform(swtTransform);        swtTransform.dispose();    }    /* (non-Javadoc)     * @see java.awt.Graphics2D#translate(double, double)     */    public void translate(double tx, double ty) {        translate((int) tx, (int) ty);    }    /* (non-Javadoc)     * @see java.awt.Graphics2D#rotate(double)     */    public void rotate(double theta) {        Transform swtTransform = new Transform(gc.getDevice());         gc.getTransform(swtTransform);        swtTransform.rotate( (float) (theta * 180 / Math.PI));        gc.setTransform(swtTransform);        swtTransform.dispose();    }    /* (non-Javadoc)     * @see java.awt.Graphics2D#rotate(double, double, double)     */    public void rotate(double theta, double x, double y) {        // TODO Auto-generated method stub    }    /* (non-Javadoc)     * @see java.awt.Graphics2D#scale(double, double)     */    public void scale(double scaleX, double scaleY) {        Transform swtTransform = new Transform(gc.getDevice());         gc.getTransform(swtTransform);        swtTransform.scale((float) scaleX, (float) scaleY);        gc.setTransform(swtTransform);        swtTransform.dispose();    }    /* (non-Javadoc)     * @see java.awt.Graphics2D#shear(double, double)     */    public void shear(double shearX, double shearY) {        Transform swtTransform = new Transform(gc.getDevice());         gc.getTransform(swtTransform);        Transform shear = new Transform(gc.getDevice(), 1f, (float) shearX,                 (float) shearY, 1f, 0, 0);        swtTransform.multiply(shear);        gc.setTransform(swtTransform);        swtTransform.dispose();    }    /* (non-Javadoc)     * @see java.awt.Graphics2D#transform(java.awt.geom.AffineTransform)     */    public void transform(AffineTransform Tx) {        Transform swtTransform = new Transform(gc.getDevice());         gc.getTransform(swtTransform);        Transform swtMatrix = toSwtTransform(Tx);        swtTransform.multiply(swtMatrix);        gc.setTransform(swtTransform);        swtMatrix.dispose();        swtTransform.dispose();    }    /* (non-Javadoc)     * @see java.awt.Graphics2D#setTransform(java.awt.geom.AffineTransform)     */    public void setTransform(AffineTransform Tx) {        gc.setTransform(toSwtTransform(Tx));    }    /* (non-Javadoc)     * @see java.awt.Graphics2D#getTransform()     */    public AffineTransform getTransform() {        Transform swtTransform = new Transform(gc.getDevice());         gc.getTransform(swtTransform);        AffineTransform awtTransform = toAwtTransform(swtTransform);        swtTransform.dispose();        return awtTransform;     }    /* (non-Javadoc)     * @see java.awt.Graphics2D#getPaint()     */    public Paint getPaint() {        return SWTUtils.toAwtColor(gc.getForeground());    }    /* (non-Javadoc)     * @see java.awt.Graphics2D#getComposite()     */    public Composite getComposite() {        // TODO Auto-generated method stub        return null;    }    /* (non-Javadoc)     * @see java.awt.Graphics2D#setBackground(java.awt.Color)     */    public void setBackground(Color color) {        gc.getBackground().dispose();        org.eclipse.swt.graphics.Color swtColor = SWTUtils.toSwtColor(gc.getDevice(), color);        gc.setBackground(swtColor);        swtColor.dispose();     }    /* (non-Javadoc)     * @see java.awt.Graphics2D#getBackground()     */    public Color getBackground() {        return SWTUtils.toAwtColor(gc.getBackground());    }    /* (non-Javadoc)     * @see java.awt.Graphics2D#getStroke()     */    public Stroke getStroke() {        return new BasicStroke(gc.getLineWidth(), gc.getLineCap(),                 gc.getLineJoin());    }    /* (non-Javadoc)     * @see java.awt.Graphics2D#clip(java.awt.Shape)     */    public void clip(Shape s) {        Path path = toSwtPath(s);        gc.setClipping(path);        path.dispose();    }    /* (non-Javadoc)     * @see java.awt.Graphics2D#getFontRenderContext()     */    public FontRenderContext getFontRenderContext() {        FontRenderContext fontRenderContext             = new FontRenderContext(new AffineTransform(), true, true);        return fontRenderContext;    }    /* (non-Javadoc)     * @see java.awt.Graphics2D#drawGlyphVector(java.awt.font.GlyphVector,      * float, float)     */    public void drawGlyphVector(GlyphVector g, float x, float y) {        // TODO Auto-generated method stub    }    /* (non-Javadoc)     * @see java.awt.Graphics#create()     */    public Graphics create() {

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -