Warning: session_start(): open(/var/lib/php/sessions/sess_1ajb05k0os5rh5oitig21qrm78, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
abstract sclass DynImageSurface extends DynModule {
transient ImageSurface imageSurface;
transient BufferedImage image;
transient S imageID;
visualize {
ret jscroll_center(imageSurface = imageSurface(image));
}
// hold image during reload (not during reboot yet)
O _getReloadData() { ret image; }
void _setReloadData(BufferedImage image) { this.image = image; }
// API
void setImage(MakesBufferedImage image) { imageID = null; setImage(image == null ? null : image.getBufferedImage()); }
void setImage(BufferedImage image) { this.image = image; imageID = null; if (imageSurface != null) imageSurface.setImage(image); }
void setImage(S imageID) {
if (sameSnippetID(this.imageID, imageID)) ret;
setImage(loadImage2(imageID));
this.imageID = imageID;
}
BufferedImage getImage() { ret image; }
bool hasImage() { ret image != null; }
void setZoom(double zoom) { if (imageSurface != null) imageSurface.setZoom(zoom); }
Rect getSelection() { ret imageSurface == null ? null : toRect(imageSurface.getSelection()); }
void setSelection(Rect r) { if (imageSurface != null) imageSurface.setSelection(toRectangle(r)); }
}