JEuclid Core Source Code Files

JEuclid Source Code Files are provided the JEuclid GitHub Website.

You can browse JEuclid Source Code files below:

✍: FYIcenter

net/sourceforge/jeuclid/layout/TextObject.java

/*
 * Copyright 2002 - 2007 JEuclid, http://jeuclid.sf.net
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/* $Id$ */

package net.sourceforge.jeuclid.layout;

import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.font.TextLayout;
import java.awt.geom.AffineTransform;

/**
 * @version $Revision$
 */
public class TextObject implements GraphicsObject {

    private final TextLayout layout;

    private final Color color;

    private final float xoffset;

    private final float yoffset;

    private final AffineTransform trans;

    /**
     * Default Constructor.
     * 
     * @param textLayout
     *            Text Layout.
     * @param xo
     *            X-Offset
     * @param textColor
     *            text color.
     */
    public TextObject(final TextLayout textLayout, final float xo,
            final Color textColor) {
        assert textLayout != null;
        this.layout = textLayout;
        this.color = textColor;
        this.xoffset = xo;
        this.yoffset = 0.0f;
        this.trans = null;
    }

    /**
     * Constructor for more complex texts (operators).
     * 
     * @param textLayout
     *            Text Layout.
     * @param textColor
     *            text color.
     * @param xo
     *            X-Offset for drawing.
     * @param yo
     *            Y-Offset for drawing.
     * @param transform
     *            Transformation to apply before drawing.
     */
    public TextObject(final TextLayout textLayout, final float xo,
            final float yo, final AffineTransform transform,
            final Color textColor) {
        assert textLayout != null;
        this.layout = textLayout;
        this.color = textColor;
        this.xoffset = xo;
        this.yoffset = yo;
        this.trans = transform;
    }

    /** {@inheritDoc} */
    public void paint(final float x, final float y, final Graphics2D g) {
        g.setColor(this.color);
        final AffineTransform oldTrans = g.getTransform();
        g.translate(x + this.xoffset, y + this.yoffset);
        if (this.trans != null) {
            g.transform(this.trans);
        }
        this.layout.draw(g, 0, 0);
        g.setTransform(oldTrans);
    }
}

net/sourceforge/jeuclid/layout/TextObject.java

 

Or download all of them as a single archive file:

File name: jeuclid-core-3.1.14-fyi.zip
File size: 325716 bytes
Release date: 2019-02-24
Download 

 

Using JEuclid 3.1.9 on macOS

Download and Install jeuclid-core-3.1.14.jar

Download and Install JEuclid

⇑⇑ FAQ for JEuclid for MathML

2025-08-15, ≈53🔥, 0💬