Skip to content
Snippets Groups Projects
Commit deea4d75 authored by Piotr Gawron's avatar Piotr Gawron
Browse files

Merge branch '478-problem-with-finding-font-size' into 'devel_12.1.x'

Resolve "`Problem with finding font size`"

See merge request !408
parents 55fda34d 7d6dfab0
No related branches found
No related tags found
2 merge requests!412changes from 12.1.0~beta.1 into master,!408Resolve "`Problem with finding font size`"
Pipeline #6443 passed
......@@ -144,6 +144,7 @@ public class ComplexConverter extends SpeciesConverter<Complex> {
public void drawText(final Complex complex, final Graphics2D graphics, final ConverterParams params) {
if (complex.getElements().size() > 0) {
if (isTransparent(complex, params)) {
super.drawText(complex, graphics, params);
return;
}
......@@ -157,8 +158,6 @@ public class ComplexConverter extends SpeciesConverter<Complex> {
int size = (int) FontFinder.findMaxFontSize(params.getScale() * fontSize, Font.SANS_SERIF, graphics, complex.getBorder(), text);
FontFinder.drawText(size, Font.SANS_SERIF, graphics, complex.getBorder(), text);
} catch (RectangleTooSmallException e) {
logger.warn("Problem with finding font size", e);
super.drawText(complex, graphics, params);
}
}
......
......@@ -5,7 +5,8 @@ import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;
@RunWith(Suite.class)
@SuiteClasses({ SpeciesConverterTest.class })
@SuiteClasses({ ComplexConverterTest.class, //
SpeciesConverterTest.class })
public class AllSpeciesConverterTests {
}
package lcsb.mapviewer.converter.graphics.bioEntity.element.species;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.geom.Point2D;
import java.awt.image.BufferedImage;
import org.apache.log4j.Logger;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.mockito.Mockito;
import lcsb.mapviewer.commands.ColorExtractor;
import lcsb.mapviewer.converter.graphics.ConverterParams;
import lcsb.mapviewer.model.map.species.Complex;
import lcsb.mapviewer.model.map.species.field.TranscriptionSite;
public class ComplexConverterTest {
Logger logger = Logger.getLogger(ComplexConverterTest.class);
ColorExtractor colorExtractor = new ColorExtractor(Color.RED, Color.GREEN, Color.BLUE);
@Before
public void setUp() throws Exception {
}
@After
public void tearDown() throws Exception {
}
@Test
public void testDrawText() throws Exception {
try {
int size = 200;
BufferedImage bi = new BufferedImage(size, size, BufferedImage.TYPE_INT_ARGB);
Graphics2D graphics = bi.createGraphics();
ComplexConverter rc = new ComplexConverter(colorExtractor);
Complex alias = createComplex();
rc.drawText(alias, graphics, new ConverterParams());
boolean onlyWhite = true;
for (int x = 0; x < size; x++) {
for (int y = 0; y < size; y++) {
if (bi.getRGB(x, y) != 0) {
onlyWhite = false;
}
}
}
assertFalse(onlyWhite);
} catch (Exception e) {
e.printStackTrace();
throw e;
}
}
@Test
public void testDrawTooBigText() throws Exception {
try {
int size = 200;
double scale = 100;
BufferedImage bi = new BufferedImage(size, size, BufferedImage.TYPE_INT_ARGB);
Graphics2D graphics = bi.createGraphics();
Color color = graphics.getColor();
graphics.scale(1.0 / scale, 1.0 / scale);
ComplexConverter rc = new ComplexConverter(colorExtractor);
Complex alias = createComplex();
rc.drawText(alias, graphics, new ConverterParams());
assertEquals(color, graphics.getColor());
} catch (Exception e) {
e.printStackTrace();
throw e;
}
}
private Complex createComplex() {
Complex protein = new Complex("id");
protein.setName("NAME_OF_THE_ELEMENT");
protein.setX(10);
protein.setY(20);
protein.setWidth(100);
protein.setHeight(80);
protein.setColor(Color.WHITE);
return protein;
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment