Warning: session_start(): open(/var/lib/php/sessions/sess_tgjupf0rq10k16jo50438m34ch, 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
sclass ImageSurfaceWithXMarkers extends ImageSurface {
new L markers;
Runnable onMarkersChanged;
*(BufferedImage img, Collection extends Number> _markers) {
super(img);
addAll(this.markers, allToFloat(_markers));
overlay = voidfunc(Graphics2D g) {
g.setColor(Color.red);
for (float x : markers) {
Pt p = pointToComponentCoordinates(x, 0);
g.drawLine(p.x, 0, p.x, getHeight()-1);
}
};
disableImageSurfaceSelector(this);
imageSurfaceOnMouseDrag(this, new VF1 {
Float marker;
void get(Pt p) {
if (p == null) ret with marker = null;
Pt pComponent = pointToComponentCoordinates(p.x, p.y);
if (pointFarOutsideOfComponent(ImageSurfaceWithXMarkers.this, pComponent) || pointOutsideOfImage(image, p)) {
if (marker != null) {
markers.remove(marker);
fireMarkersChanged();
_print("Markers: " + l(markers));
}
ret with marker = null;
}
if (marker == null)
marker = floatCloseTo(markers, p.x, 2/zoomX);
Float m = marker;
marker = (float) p.x;
if (m == null) {
markers.add(marker);
_print("Markers: " + l(markers));
} else
replaceElementOnce(markers, m, marker);
fireMarkersChanged();
}
});
}
void fireMarkersChanged {
repaint();
pcallF(onMarkersChanged);
}
}