diff options
| author | Pietro Gagliardi <[email protected]> | 2014-12-16 11:38:04 -0500 |
|---|---|---|
| committer | Pietro Gagliardi <[email protected]> | 2014-12-16 11:38:04 -0500 |
| commit | 152f446ce8dabc6c33f4c87367f73c8c9226494d (patch) | |
| tree | eb288d257967b5c6225d8df1de87e2a17faa8b04 | |
| parent | 25e51003609d1f472ed0c7d8858ed32c16166169 (diff) | |
Revert "Attempted to fix broken coordinate calculations for out-of-cell clicks..."
That didn't do it; will need to use a debugger.
This reverts commit 25e51003609d1f472ed0c7d8858ed32c16166169.
| -rw-r--r-- | wintable/new/coord.h | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/wintable/new/coord.h b/wintable/new/coord.h index 592b141..d42ab67 100644 --- a/wintable/new/coord.h +++ b/wintable/new/coord.h @@ -38,7 +38,6 @@ static struct rowcol clientCoordToRowColumn(struct table *t, POINT pt) RECT r; struct rowcol rc; intptr_t i; - intptr_t row, column; // initial values for the PtInRect() check rc.row = -1; @@ -52,15 +51,12 @@ static struct rowcol clientCoordToRowColumn(struct table *t, POINT pt) // the row is easy pt.y -= t->headerHeight; - row = (pt.y / rowht(t)) + t->vscrollpos; - if (row > t->count - 1) - // after the last row; don't select anything - return rc; + rc.row = (pt.y / rowht(t)) + t->vscrollpos; // the column... not so much // we scroll p.x, then subtract column widths until we cross the left edge of the control pt.x += t->hscrollpos; - column = 0; + rc.column = 0; for (i = 0; i < t->nColumns; i++) { pt.x -= columnWidth(t, i); // use <, not <=, here: @@ -71,14 +67,10 @@ static struct rowcol clientCoordToRowColumn(struct table *t, POINT pt) // pt.x == 100 (first pixel of col 1) -> p.x - 100 == 0 >= 0 -> next column if (pt.x < r.left) break; - column++; + rc.column++; } - if (column > t->nColumns - 1) - // to the right of all columns; select nothing - return rc; + // TODO what happens if the break was never taken? - rc.row = row; - rc.column = column; return rc; } |
