Search in sources :

Example 1 with ArrayImgWriter

use of func.lib.ArrayImgWriter in project mkgmap by openstreetmap.

the class TypTextReaderTest method testZeroColourBug.

@Test
public void testZeroColourBug() {
    String s = "[_point]\n" + "Type=0x01e\n" + "SubType=0x00\n" + "String1=0x04,island\n" + "DayXpm=\"5 5 1 1\"   Colormode=32\n" + "\"!      c #000000\"  canalalpha=15\n" + "\"!!!!!\"\n" + "\"!!!!!\"\n" + "\"!!!!!\"\n" + "\"!!!!!\"\n" + "\"!!!!!\"\n" + "[end]";
    tr = makeTyp(s);
    TypData data = tr.getData();
    TypPoint point = data.getPoints().get(0);
    ArrayImgWriter w = new ArrayImgWriter();
    point.write(w, data.getEncoder());
    byte[] out = w.getBytes();
    assertEquals("width", 5, out[1]);
    assertEquals("height", 5, out[2]);
    assertEquals("number of colours", 1, out[3]);
}
Also used : TypData(uk.me.parabola.imgfmt.app.typ.TypData) TypPoint(uk.me.parabola.imgfmt.app.typ.TypPoint) ArrayImgWriter(func.lib.ArrayImgWriter) Test(org.junit.Test)

Example 2 with ArrayImgWriter

use of func.lib.ArrayImgWriter in project mkgmap by openstreetmap.

the class TypTextReaderTest method testStacking.

@Test
public void testStacking() {
    tr = makeTyp("[_drawOrder]\n" + "Type=0x3,1\n" + "Type=0x2,2\n" + "Type=0x1,4\n" + "Type=0x4,2\n" + "Type=0x10402,2\n" + "Type=0x10405,2\n" + "[End]\n");
    ShapeStacking stacking = tr.getData().getStacking();
    ArrayImgWriter out = new ArrayImgWriter();
    stacking.write(out);
    byte[] buf = out.getBytes();
    assertEquals(3, buf[0]);
    assertEquals(0, buf[ORDER_SIZE]);
    assertEquals(2, buf[2 * ORDER_SIZE]);
    assertEquals(4, buf[3 * ORDER_SIZE]);
    assertEquals(0, buf[3 * ORDER_SIZE + 1]);
    assertEquals(4, buf[4 * ORDER_SIZE]);
    assertEquals((1 << 2) + (1 << 5), buf[4 * ORDER_SIZE + 1]);
}
Also used : ShapeStacking(uk.me.parabola.imgfmt.app.typ.ShapeStacking) ArrayImgWriter(func.lib.ArrayImgWriter) Test(org.junit.Test)

Example 3 with ArrayImgWriter

use of func.lib.ArrayImgWriter in project mkgmap by openstreetmap.

the class TypTextReaderTest method testLineTwoColours.

@Test
public void testLineTwoColours() {
    TypTextReader tr = makeTyp("[_line]\n" + "Type=0x00\n" + "UseOrientation=Y\n" + "LineWidth=2\n" + "BorderWidth=1\n" + "Xpm=\"0 0 2 0\"\n" + "\"1 c #DDDDDD\"\n" + "\"2 c #999999\"\n" + "String1=0x04,Road\n" + "String2=0x01,Route non-définie\n" + "String3=0x03,Weg\n" + "ExtendedLabels=Y\n" + "FontStyle=SmallFont\n" + "CustomColor=No\n" + "[end]");
    TypData data = tr.getData();
    TypLine line = data.getLines().get(0);
    ImgFileWriter w = new ArrayImgWriter();
    line.write(w, data.getEncoder());
}
Also used : TypData(uk.me.parabola.imgfmt.app.typ.TypData) TypLine(uk.me.parabola.imgfmt.app.typ.TypLine) ArrayImgWriter(func.lib.ArrayImgWriter) ImgFileWriter(uk.me.parabola.imgfmt.app.ImgFileWriter) Test(org.junit.Test)

Example 4 with ArrayImgWriter

use of func.lib.ArrayImgWriter in project mkgmap by openstreetmap.

the class TypTextReaderTest method testPointWithAlpha.

@Test
public void testPointWithAlpha() {
    TestUtils.registerFile("hello");
    TypTextReader tr = makeTyp("[_point]\n" + "Type=0x12\n" + "SubType=0x01\n" + ";23E6\n" + ";size: 45\n" + "String1=0x4,Mini round\n" + "String2=0x1,Mini rond-point\n" + "ExtendedLabels=N\n" + "DayXpm=\"9 9 10 1\"\n" + "\"$  c none\"\n" + "\"%  c #808080\"  alpha=14\n" + "\"&  c #808080\"\n" + "\"'  c #808080\"  alpha=15\n" + "\"(  c #808080\"  alpha=8\n" + "\")  c #F0F7FF\"\n" + "\"*  c #808080\"  alpha=4\n" + "\"+  c #808080\"  alpha=11\n" + "\",  c #808080\"  alpha=12\n" + "\"-  c #808080\"  alpha=13\n" + "\"$%&&&&&'$\"\n" + "\"(&&&)&&&*\"\n" + "\"&&)))))&&\"\n" + "\"&&)&&&)&&\"\n" + "\"&))&)&))&\"\n" + "\"&&)&&&)&&\"\n" + "\"&&)))))&&\"\n" + "\"+&&&)&&&,\"\n" + "\"$-&&&&&-$\"\n" + "[end]");
    TypData data = tr.getData();
    TypPoint point = data.getPoints().get(0);
    ArrayImgWriter w = new ArrayImgWriter();
    point.write(w, data.getEncoder());
    System.out.println("size " + w.getSize());
    try (OutputStream os = new FileOutputStream("hello")) {
        os.write(w.getBytes());
    } catch (IOException e) {
        e.printStackTrace();
    }
    assertEquals(115, w.getBytes().length);
}
Also used : TypData(uk.me.parabola.imgfmt.app.typ.TypData) OutputStream(java.io.OutputStream) FileOutputStream(java.io.FileOutputStream) FileOutputStream(java.io.FileOutputStream) TypPoint(uk.me.parabola.imgfmt.app.typ.TypPoint) ArrayImgWriter(func.lib.ArrayImgWriter) IOException(java.io.IOException) Test(org.junit.Test)

Example 5 with ArrayImgWriter

use of func.lib.ArrayImgWriter in project mkgmap by openstreetmap.

the class TypTextReaderTest method testPolygonWithBitmap.

@Test
public void testPolygonWithBitmap() {
    tr = makeTyp("[_polygon]\n" + "Xpm=\"32 32 4 1\"\n" + "\"! c #FFCC99\"\n" + "\"  c none\"\n" + "\"3 c #000000\"\n" + "\"4 c none\"\n" + "\"!     !!!     !!!     !!!     !!\"\n" + "\"     !!!     !!!     !!!     !!!\"\n" + "\"    !!!     !!!     !!!     !!! \"\n" + "\"   !!!     !!!     !!!     !!!  \"\n" + "\"  !!!     !!!     !!!     !!!   \"\n" + "\" !!!     !!!     !!!     !!!    \"\n" + "\"!!!     !!!     !!!     !!!     \"\n" + "\"!!      !!      !!      !!      \"\n" + "\"!     !!!     !!!     !!!     !!\"\n" + "\"     !!!     !!!     !!!     !!!\"\n" + "\"    !!!     !!!     !!!     !!! \"\n" + "\"   !!!     !!!     !!!     !!!  \"\n" + "\"  !!!     !!!     !!!     !!!   \"\n" + "\" !!!     !!!     !!!     !!!    \"\n" + "\"!!!     !!!     !!!     !!!     \"\n" + "\"!!      !!      !!      !!      \"\n" + "\"!     !!!     !!!     !!!     !!\"\n" + "\"     !!!     !!!     !!!     !!!\"\n" + "\"    !!!     !!!     !!!     !!! \"\n" + "\"   !!!     !!!     !!!     !!!  \"\n" + "\"  !!!     !!!     !!!     !!!   \"\n" + "\" !!!     !!!     !!!     !!!    \"\n" + "\"!!!     !!!     !!!     !!!     \"\n" + "\"!!      !!      !!      !!      \"\n" + "\"!     !!!     !!!     !!!     !!\"\n" + "\"     !!!     !!!     !!!     !!!\"\n" + "\"    !!!     !!!     !!!     !!! \"\n" + "\"   !!!     !!!     !!!     !!!  \"\n" + "\"  !!!     !!!     !!!     !!!   \"\n" + "\" !!!     !!!     !!!     !!!    \"\n" + "\"!!!     !!!     !!!     !!!     \"\n" + "\"!!      !!      !!      !!      \"\n" + "[End]\n");
    TypData data = tr.getData();
    List<TypPolygon> polygons = data.getPolygons();
    TypPolygon p = polygons.get(0);
    ArrayImgWriter out = new ArrayImgWriter();
    p.write(out, data.getEncoder());
    byte[] bytes = out.getBytes();
    assertEquals(135, bytes.length);
}
Also used : TypPolygon(uk.me.parabola.imgfmt.app.typ.TypPolygon) TypData(uk.me.parabola.imgfmt.app.typ.TypData) ArrayImgWriter(func.lib.ArrayImgWriter) Test(org.junit.Test)

Aggregations

ArrayImgWriter (func.lib.ArrayImgWriter)5 Test (org.junit.Test)5 TypData (uk.me.parabola.imgfmt.app.typ.TypData)4 TypPoint (uk.me.parabola.imgfmt.app.typ.TypPoint)2 FileOutputStream (java.io.FileOutputStream)1 IOException (java.io.IOException)1 OutputStream (java.io.OutputStream)1 ImgFileWriter (uk.me.parabola.imgfmt.app.ImgFileWriter)1 ShapeStacking (uk.me.parabola.imgfmt.app.typ.ShapeStacking)1 TypLine (uk.me.parabola.imgfmt.app.typ.TypLine)1 TypPolygon (uk.me.parabola.imgfmt.app.typ.TypPolygon)1