use of limelight.styles.Style in project limelight by slagyr.
the class PropPanelLayout method snapToSize.
public void snapToSize(PropPanel panel) {
if (// can happen if removed from tree
panel.getParent() == null)
return;
Box maxArea = panel.getParent().getChildConsumableBounds();
Style style = panel.getStyle();
if (style.getCompiledWidth() instanceof AutoDimensionValue && style.getCompiledHeight() instanceof GreedyDimensionValue)
throw new LimelightException("A greedy height is not allowed with auto width.");
int newWidth = style.getCompiledWidth().calculateDimension(maxArea.width, style.getCompiledMinWidth(), style.getCompiledMaxWidth(), panel.greediness.width);
int newHeight = style.getCompiledHeight().calculateDimension(maxArea.height, style.getCompiledMinHeight(), style.getCompiledMaxHeight(), panel.greediness.height);
// TODO MDM - Hacky Hack!!!! More thought needs to go into the way layouts are down and how greedy fits into it all
// if(topLevel && style.getCompiledWidth() instanceof GreedyDimensionValue && panel.getWidth() > newWidth)
// newWidth = panel.getWidth();
// if(topLevel && style.getCompiledHeight() instanceof GreedyDimensionValue && panel.getHeight() > newHeight)
// newHeight = panel.getHeight();
panel.setSize(newWidth, newHeight);
panel.resetPendingSizeChange();
}
use of limelight.styles.Style in project limelight by slagyr.
the class PropPanelLayout method collapseAutoDimensions.
private void collapseAutoDimensions(PropPanel panel, Dimension consumedDimensions) {
Style style = panel.getStyle();
int width = style.getCompiledWidth().collapseExcess(panel.getWidth(), consumedDimensions.width + horizontalInsets(panel), style.getCompiledMinWidth(), style.getCompiledMaxWidth());
int height = style.getCompiledHeight().collapseExcess(panel.getHeight(), consumedDimensions.height + verticalInsets(panel), style.getCompiledMinHeight(), style.getCompiledMaxHeight());
panel.setSize(width, height);
}
use of limelight.styles.Style in project limelight by slagyr.
the class ImagePanelLayout method handleAutoDimensions.
private void handleAutoDimensions(ImagePanel panel, Dimension size) {
Style style = panel.getStyle();
boolean autoWidth = style.getCompiledWidth() instanceof AutoDimensionValue;
boolean autoHeight = style.getCompiledHeight() instanceof AutoDimensionValue;
if (autoWidth && autoHeight) {
size.width = (int) (panel.getRotatedWidth() + 0.5);
size.height = (int) (panel.getRotatedHeight() + 0.5);
} else if (autoWidth) {
double ratio = size.height / panel.getRotatedHeight();
size.width = (int) (panel.getRotatedWidth() * ratio + 0.5);
} else if (autoHeight) {
double ratio = size.width / panel.getRotatedWidth();
size.height = (int) (panel.getRotatedHeight() * ratio + 0.5);
}
}
use of limelight.styles.Style in project limelight by slagyr.
the class PaintJob method applyAlphaCompositeFor.
public void applyAlphaCompositeFor(Panel panel, Graphics2D graphics) {
Style style = panel.getStyle();
double alphaPercentage = style.getCompiledTransparency().getPercentage();
if (alphaPercentage > 0) {
float alpha = (float) (1.0f - (alphaPercentage / 100.0f));
Composite alphaComposite = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, alpha);
graphics.setComposite(alphaComposite);
}
}
use of limelight.styles.Style in project limelight by slagyr.
the class TextPanelTest method observerAddedForLineStyling.
@Test
public void observerAddedForLineStyling() throws Exception {
panel.setText("some text", parent);
panel.buildLines();
Style style = panel.getTextChunks().get(0).getStyle();
assertEquals(true, style.hasObserver(panel));
}
Aggregations