AT&T Home | AT&T Labs | Research
AT&T Labs, Inc. - Research

The Yoix® Scripting Language

Home | What's New | Grammar | Documentation | Download | License | YChart | YDAT | YWAIT | Byzgraf | FAQs
concatmatrix (Matrix mtx) typedict.Matrix
 
Multiplies this matrix and mtx and returns the result, which is not quite the same as concat because concatmatrix makes no changes to this matrix.
 
 Example:   The program,
import yoix.*.*;

Matrix digitmatrix;
Matrix hourmatrix;

hourmatrix.rotate(360/12);
digitmatrix.translate(72, 0).rotate(90);

JFrame f = {
    Color background = Color.black;

    Graphics graphics = {
        String font = "Lucida-bold-16";
    };

    paint(Rectangle rect) {
        Matrix mtx;
        String digit;
        int    n;

        graphics {
            gsave();
            rectclip(rect);
            setrgbcolor(0, 1, 0);
            translate(size.width - 144, size.height - 144);
            rotate(-60);
            mtx = currentmatrix();
            for (n = 1; n <= 12; n++) {
                digit = toString(n);
                concat(digitmatrix);
                moveto(-stringwidth(digit)/2, 0);
                show(digit);
                mtx = mtx.concatmatrix(hourmatrix);
                setmatrix(mtx);
            }
            grestore();
        }
    }
};

f.visible = TRUE;
defines a paint function in a frame that draws part of a clock face near the lower right corner of the frame. We used concatmatrix in one place, despite the fact that concat would have been better.
 
 Return:   Matrix
 
 See Also:   concat, currentmatrix, dividematrix, dtransform, Graphics, identmatrix, idtransform, initmatrix, invertmatrix, itransform, maptopixel, rotate, scale, setmatrix, shear, transform, translate

 

Yoix is a registered trademark of AT&T Inc.