… | |
… | |
702 | */ |
702 | */ |
703 | #define dLocal(type,name) type const name = this->name |
703 | #define dLocal(type,name) type const name = this->name |
704 | #define dDisp Display *disp = this->display->display |
704 | #define dDisp Display *disp = this->display->display |
705 | |
705 | |
706 | // for speed reasons, we assume that all latin1 characters |
706 | // for speed reasons, we assume that all latin1 characters |
707 | // are single-width (the first unicdoe combining character |
707 | // are single-width (the first unicode combining character |
708 | // is actually 0x300, but ascii is what matters most). |
708 | // is actually 0x300, but ascii is what matters most). |
709 | #define WCWIDTH(c) ((c) < 0x100 ? 1 : wcwidth (c)) |
709 | #define WCWIDTH(c) ((c) & ~0xff ? wcwidth (c) : 1) |
710 | |
710 | |
711 | /* convert pixel dimensions to row/column values. Everything as int32_t */ |
711 | /* convert pixel dimensions to row/column values. Everything as int32_t */ |
712 | #define Pixel2Col(x) Pixel2Width((int32_t)(x)) |
712 | #define Pixel2Col(x) Pixel2Width((int32_t)(x)) |
713 | #define Pixel2Row(y) Pixel2Height((int32_t)(y)) |
713 | #define Pixel2Row(y) Pixel2Height((int32_t)(y)) |
714 | #define Pixel2Width(x) ((int32_t)(x) / (int32_t)fwidth) |
714 | #define Pixel2Width(x) ((int32_t)(x) / (int32_t)fwidth) |