Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagejava
themeRDark
titleTestLayout.java
package com.flashphoner.mixerlayout;

import com.flashphoner.sdk.media.IVideoMixerLayout;
import com.flashphoner.sdk.media.YUVFrame;
import java.awt.*;
import java.util.ArrayList;

public class TestLayout implements IVideoMixerLayout {

    private static final int PADDING = 54;

    @Override
    public Layout[] computeLayout(YUVFrame[] yuvFrames, String[] strings, int canvasWidth, int canvasHeight) {
        ArrayList<IVideoMixerLayout.Layout> layout = new ArrayList<>();

        for (int ccanvasCenter = 0;canvasHeight c < yuvFrames.length; c++) {
/ 2;
        int frameCenter = canvasCenter - (canvasHeight Point prevPoint = new Point();/ yuvFrames.length) / 2;

        int layoutWidth = canvasWidth / DimensionyuvFrames.length prevDimension- =PADDING;
 new Dimension(canvasWidth, canvasHeight       int layoutHeight = canvasHeight / yuvFrames.length;

        for (int c = 0; c < yuvFrames.length; c++) {
            Point prevPoint = new Point();
            Dimension prevDimension = new Dimension();
            if (layout.size() > 0) {
                prevPoint.setLocation(layout.get(c - 1).getPoint());
                prevDimension.setSize(layout.get(c - 1).getDimension());
            }
            Point currentPoint = new Point((int) (prevPoint.getX()+prevDimension.getWidth()+PADDING), 
                        + prevDimension.getWidth() + PADDING),
                    (int)(prevPoint.getY()+prevDimension.getHeight()));frameCenter);

            layout.add(new IVideoMixerLayout.Layout(currentPoint, new Dimension(canvasWidth/yuvFrames.lengthlayoutWidth, 
		                                            canvasHeight/yuvFrames.lengthlayoutHeight), yuvFrames[c]));
        }
        return layout.toArray(new IVideoMixerLayout.Layout[layout.size()]);
    }
}

...