cellsz = xsz > ysz ? ysz : xsz;
}
-void lview_mouse(int x, int y)
+static int bnstate[8];
+
+void lview_mbutton(int bn, int press, int x, int y)
{
float hsz = cellsz / 2.0f;
sel = pos_to_cell(x + hsz - vpx, vph - y + hsz - vpy, 0, 0);
+ bnstate[bn] = press;
+
+ if(press) {
+ if(!sel) return;
+ if(bn == 0) {
+ sel->type = CELL_WALK;
+ } else if(bn == 2) {
+ sel->type = CELL_SOLID;
+ }
+ }
+}
+
+void lview_mouse(int x, int y)
+{
+ float hsz = cellsz / 2.0f;
+ if(!(sel = pos_to_cell(x + hsz - vpx, vph - y + hsz - vpy, 0, 0))) {
+ return;
+ }
+
+ if(bnstate[0]) {
+ sel->type = CELL_WALK;
+ } else if(bnstate[2]) {
+ sel->type = CELL_SOLID;
+ }
}
#define LTHICK 0.5f
void pan_lview(float dx, float dy);
void zoom_lview(float dz);
+void lview_mbutton(int bn, int press, int x, int y);
void lview_mouse(int x, int y);
void draw_lview(void);
if(press) view_zoom -= 0.1;
}
+ lview_mbutton(bidx, press, x, y);
+
utk_mbutton_event(bidx, press, x / uiscale, y / uiscale);
glutPostRedisplay();
}