ref: ce8ab2d2e6b034cf42a7320c3a8545d941079862
parent: a0578c7de4163344d936ea78191a836556495bba
author: sirjofri <sirjofri@sirjofri.de>
date: Fri Apr 4 15:26:48 EDT 2025
fixes graphical glitch
--- a/img.c
+++ b/img.c
@@ -9,6 +9,8 @@
extern int tilesize;
extern Point drawoffset;
+Image *green = nil;
+
ImageUpdated callbackfunc;
void
@@ -33,12 +35,16 @@
loaded = readimage(display, fd, 0);
close(fd);
+ r = rectaddpt(r, pos);
lockmapimage();
- draw(mapimage, rectaddpt(r, pos), loaded, nil, ZP);
+ draw(mapimage, r, loaded, nil, ZP);
if (debug) {
snprint(file, sizeof file, "%d / %d", b.x, b.y);
border(mapimage, rectaddpt(r, pos), 1, display->black, ZP);
string(mapimage, pos, display->black, ZP, font, file);
+ if (!green)
+ green = allocimage(display, Rect(0, 0, 1, 1), screen->chan, 1, DGreen);
+ border(mapimage, mapimage->r, 1, green, ZP);
}
unlockmapimage();
--- a/map.c
+++ b/map.c
@@ -244,8 +244,8 @@
r.min = ZP;
viewsize.x = Dx(nimage->slot.r);
viewsize.y = Dy(nimage->slot.r);
- r.max.x = (viewsize.x/tilesize + 2) * tilesize;
- r.max.y = (viewsize.y/tilesize + 2) * tilesize;
+ r.max.x = (viewsize.x/tilesize + 3) * tilesize;
+ r.max.y = (viewsize.y/tilesize + 3) * tilesize;
mapimagesize = r.max;
mapimage = allocimage(display, r, screen->chan, 0, DWhite);
@@ -308,7 +308,6 @@
{
double v;
double deg = gettiledeg();
- fprint(2, "deg: %f\n", deg);
if (x) *x = deg * m;
if (y) {
v = 1. - fabs(gpsloc.lat) / 90.;