Auto-resize canvas

This commit is contained in:
2026-01-05 16:57:56 +01:00
parent 057069e33e
commit f14201b5d1
4 changed files with 76 additions and 9 deletions

View File

@@ -0,0 +1,32 @@
package dev.kruhlmann.imgfloat.model;
public class CanvasEvent {
public enum Type {
CANVAS,
}
private Type type;
private String channel;
private CanvasSettingsRequest payload;
public static CanvasEvent updated(String channel, CanvasSettingsRequest payload) {
CanvasEvent event = new CanvasEvent();
event.type = Type.CANVAS;
event.channel = channel;
event.payload = payload;
return event;
}
public Type getType() {
return type;
}
public String getChannel() {
return channel;
}
public CanvasSettingsRequest getPayload() {
return payload;
}
}

View File

@@ -7,6 +7,7 @@ import dev.kruhlmann.imgfloat.model.Asset;
import dev.kruhlmann.imgfloat.model.AssetEvent;
import dev.kruhlmann.imgfloat.model.AssetPatch;
import dev.kruhlmann.imgfloat.model.AssetView;
import dev.kruhlmann.imgfloat.model.CanvasEvent;
import dev.kruhlmann.imgfloat.model.CanvasSettingsRequest;
import dev.kruhlmann.imgfloat.model.Channel;
import dev.kruhlmann.imgfloat.model.PlaybackRequest;
@@ -121,7 +122,9 @@ public class ChannelDirectoryService {
channel.setCanvasWidth(req.getWidth());
channel.setCanvasHeight(req.getHeight());
channelRepository.save(channel);
return new CanvasSettingsRequest(channel.getCanvasWidth(), channel.getCanvasHeight());
CanvasSettingsRequest response = new CanvasSettingsRequest(channel.getCanvasWidth(), channel.getCanvasHeight());
messagingTemplate.convertAndSend(topicFor(broadcaster), CanvasEvent.updated(broadcaster, response));
return response;
}
public Optional<AssetView> createAsset(String broadcaster, MultipartFile file) throws IOException {