@Override public void onWheel (Mouse.WheelEvent event, Mouse.Interaction iact) { float y = il.ty() + event.velocity; y = Math.max(0, Math.min(y, HEIGHT)); il.setTranslation(0, y); } });
@Override public void apply (int index, ImageLayer layer) { Frame f = _frames[index]; layer.setTile(_tile); layer.region = f.bounds; layer.setTranslation(f.offset.x, f.offset.y); }
@Override protected void layout (LayoutData ldata, float left, float top, float width, float height) { _ilayer.setSource(isSelected() ? _down : _up); _ilayer.setTranslation(left, top); }
@Override public void apply (int index, ImageLayer layer) { if (_tile != null) { layer.setTile(_tile); layer.setTranslation(0, 0); Rectangle r = layer.region; if (r == null) r = (layer.region = new Rectangle()); bounds(index, r); } }
protected void addToRow (ImageLayer layer) { game.rootLayer.add(layer.setTranslation(row.x + row.width, row.y)); row.width += layer.width() + 45; row.height = Math.max(row.height, layer.height()); if (row.width > game.graphics.viewSize.width() * .6f) newRow(); }
@Override public ImageLayer toLayer (ImageLayer target) { Canvas canvas = toCanvas(); target.setTile(canvas.toTexture()); target.setTranslation(style.effect.offsetX(), style.effect.offsetY()); return target; }
@Override public void onDrag(Pointer.Interaction iact) { Pointer.Event event = iact.event; Vector delta = new Vector(event.x(), event.y()).subtractLocal(_pstart); label.setTranslation(_lstart.x + delta.x, _lstart.y + delta.y); modify(event); motionLabel.set("pointer drag", describe(event, "")); }
@Override public void onDrag(Mouse.MotionEvent event, Mouse.Interaction iact) { Vector delta = new Vector(event.x(), event.y()).subtractLocal(_pstart); label.setTranslation(_lstart.x + delta.x, _lstart.y + delta.y); modify(event); motionLabel.set("mouse drag", describe(event, "")); } @Override public void onMotion (Mouse.MotionEvent event, Mouse.Interaction iact) {
@Override public void onMove(Touch.Interaction iact) { Touch.Event event = iact.event; Vector delta = new Vector(event.x(), event.y()).subtractLocal(_pstart); label.setTranslation(_lstart.x + delta.x, _lstart.y + delta.y); modify(event); motionLabel.set("touch move", describe(event, "")); }
@Override protected void layout (LayoutData ldata, float left, float top, float width, float height) { super.layout(ldata, left, top, width, height); // prepare the glyph if (width == 0 && height == 0) { _glyph.close(); return; } _glyph.prepare(root().iface.plat.graphics(), width, height); _glyph.layer().setTranslation(left, top); render(); }
@Override public void init () { float spacing = 5; float y = spacing, x = spacing, nextX = spacing; for (Mode mode : host.enumerateModes()) { ImageLayer button = game.ui.createButton(mode.toString(), () -> host.setMode(mode)); game.rootLayer.add(button); if (y + button.height() + spacing >= game.graphics.viewSize.height()) { x = nextX + spacing; y = spacing; } button.setTranslation(x, y); y += button.height() + spacing; nextX = Math.max(nextX, x + button.width()); } } }
end().close(); ImageLayer dotl = new ImageLayer(dot.texture); dotl.setTranslation(dotBox.x + (float)Math.random()*(dotBox.width-10), dotBox.y + (float)Math.random()*(dotBox.height-10)); dots.add(dotl); for (ImageLayer dot : dots) { if (Math.random() > 0.95) { dot.setTranslation(dotBox.x + (float)Math.random()*(dotBox.width-10), dotBox.y + (float)Math.random()*(dotBox.height-10));
@Override public void init () { // remove the background layer added by default game.rootLayer.disposeAll(); // add a grey square TextureSurface surf = game.createSurface(width, height); surf.begin().setFillColor(Color.rgb(200, 200, 200)).fillRect(0, 0, width, height).end().close(); ImageLayer square = new ImageLayer(surf.texture); game.rootLayer.add(square); conns.add(game.paint.connect(clock -> { float t = clock.tick / 1000f; IDimension vsize = game.plat.graphics().viewSize; square.setTranslation((FloatMath.cos(t) + 1) * (vsize.width() - width)/2, (FloatMath.sin(t) + 1) * (vsize.height() - height)/2); })); } }