/*
Реализация спецификаций CLDC версии 1.1 (JSR-139), MIDP версии 2.1 (JSR-118)
и других спецификаций для функционирования компактных приложений на языке
Java (мидлетов) в среде программного обеспечения Малик Эмулятор.
Copyright © 2016–2017, 2019–2023 Малик Разработчик
Это свободная программа: вы можете перераспространять ее и/или изменять
ее на условиях Меньшей Стандартной общественной лицензии GNU в том виде,
в каком она была опубликована Фондом свободного программного обеспечения;
либо версии 3 лицензии, либо (по вашему выбору) любой более поздней версии.
Эта программа распространяется в надежде, что она будет полезной,
но БЕЗО ВСЯКИХ ГАРАНТИЙ; даже без неявной гарантии ТОВАРНОГО ВИДА
или ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННЫХ ЦЕЛЕЙ. Подробнее см. в Меньшей Стандартной
общественной лицензии GNU.
Вы должны были получить копию Меньшей Стандартной общественной лицензии GNU
вместе с этой программой. Если это не так, см.
<https://www.gnu.org/licenses/>.
*/
package javax.microedition.lcdui.game;
import javax.microedition.lcdui.*;
public abstract class Layer extends Object
{
boolean visibility;
int left;
int top;
int width;
int height;
final Object monitor;
Layer() {
this.visibility = true;
this.monitor = new Object();
}
public abstract void paint(Graphics render);
public void move(int deltaX, int deltaY) {
synchronized(monitor)
{
this.left += deltaX;
this.top += deltaY;
}
}
public void setVisible(boolean visibility) {
this.visibility = visibility;
}
public void setPosition(int left, int top) {
synchronized(monitor)
{
this.left = left;
this.top = top;
}
}
public final boolean isVisible() {
return visibility;
}
public final int getX() {
return left;
}
public final int getY() {
return top;
}
public final int getWidth() {
return width;
}
public final int getHeight() {
return height;
}
}