package org.develnext.jphp.ext.image;

import org.develnext.jphp.ext.image.bind.BufferedImageMemoryOperation;
import org.develnext.jphp.ext.image.bind.ColorMemoryOperation;
import org.develnext.jphp.ext.image.bind.DrawOptionsMemoryOperation;
import org.develnext.jphp.ext.image.bind.FontMemoryOperation;
import org.develnext.jphp.ext.image.classes.PColor;
import org.develnext.jphp.ext.image.classes.PFont;
import org.develnext.jphp.ext.image.classes.PImage;
import org.develnext.jphp.ext.image.classes.PImageDraw;
import php.runtime.env.CompileScope;
import php.runtime.ext.support.Extension;
import php.runtime.memory.support.MemoryOperation;

public class GraphicExtension extends Extension {
    public static final String NS = "php\\graphic";

    @Override
    public Status getStatus() {
        return Status.EXPERIMENTAL;
    }

    @Override
    public void onRegister(CompileScope scope) {
        MemoryOperation.register(new ColorMemoryOperation());
        MemoryOperation.register(new DrawOptionsMemoryOperation());
        MemoryOperation.register(new FontMemoryOperation());
        MemoryOperation.register(new BufferedImageMemoryOperation());

        registerClass(scope, PImage.class);
        registerClass(scope, PImageDraw.class);
        registerClass(scope, PColor.class);
        registerClass(scope, PFont.class);
    }
}

@@ -814,20 +814,123 @@
 tus.
-EXPERIMENTAL
+BETA;%0A    %7D%0A%0A    @Override%0A    public String%5B%5D getPackageNames() %7B%0A        return new String%5B%5D %7B %22std%22, %22graphic%22 %7D
 ;%0A  

Improve graphic extension.