22 package com.realtime.crossfire.jxclient.gui.gui;
24 import org.jetbrains.annotations.NotNull;
65 public Expression(
final int constant,
final int widthFactor,
final int heightFactor,
final int prefWidthFactor,
final int prefHeightFactor) {
81 final int factor = negative ? -1 : 1;
82 constant = expression1.constant+expression2.constant*factor;
83 widthFactor = expression1.widthFactor+expression2.widthFactor*factor;
84 heightFactor = expression1.heightFactor+expression2.heightFactor*factor;
85 prefWidthFactor = expression1.prefWidthFactor+expression2.prefWidthFactor*factor;
86 prefHeightFactor = expression1.prefHeightFactor+expression2.prefHeightFactor*factor;
97 public int evaluate(
final int width,
final int height,
final int prefWidth,
final int prefHeight) {
106 if (widthFactor != 0 || heightFactor != 0) {
107 throw new IllegalStateException(
"widthFactor="+widthFactor+
", heightFactor="+heightFactor);
119 private static int applyFactor(
final int value,
final int factor) {
120 return (value*factor+1)/2;
Expression(final int constant, final int widthFactor, final int heightFactor, final int prefWidthFactor, final int prefHeightFactor)
Creates a new instance.
int evaluate(final int width, final int height, final int prefWidth, final int prefHeight)
Evaluates the expression into a constant.
final int prefWidthFactor
The preferred width dependent factor.
final int prefHeightFactor
The preferred height dependent factor.
static int applyFactor(final int value, final int factor)
Applies a factor to a value.
An expression yielding an integer value derived from a screen resolution.
Expression(@NotNull final Expression expression1, final boolean negative, @NotNull final Expression expression2)
Creates a new instance as the sum or difference of two expressions.
int evaluateConstant()
Evaluates the expression into a constant.
final int heightFactor
The screen height dependent factor.
final int constant
The constant term.
final int widthFactor
The screen width dependent factor.