diff --git a/dvx/dvxCursor.h b/dvx/dvxCursor.h index ccd49de..83ff298 100644 --- a/dvx/dvxCursor.h +++ b/dvx/dvxCursor.h @@ -176,86 +176,118 @@ static const uint16_t cursorResizeVXor[16] = { // Diagonal resize cursor NW-SE (top-left / bottom-right), 16x16 // ============================================================ // Hot spot at center (7, 7) +// +// True 45-degree diagonal with filled triangular arrowheads: +// +// .XXXXX.......... NW arrowhead (right-angle triangle) +// .XXXX........... +// .XXX............ +// .XX.X........... +// .X...X.......... +// ......X......... diagonal shaft (one pixel per row) +// .......X........ +// ........X....... +// .........X...... +// ..........X...X. +// ...........X.XX. +// ............XXX. +// ...........XXXX. +// ..........XXXXX. SE arrowhead (mirror of NW) static const uint16_t cursorResizeDiagNWSEAnd[16] = { - 0xFFFF, // row 0 - 0xFFFF, // row 1 - 0xE0FF, // 1110000011111111 row 2 top-left arrow - 0xE0FF, // 1110000011111111 row 3 - 0xE4FF, // 1110010011111111 row 4 - 0xECFF, // 1110110011111111 row 5 - 0xF4FF, // 1111010011111111 row 6 - 0xFCFF, // 1111110011111111 row 7 - 0xFF3F, // 1111111100111111 row 8 - 0xFF2F, // 1111111100101111 row 9 - 0xFF37, // 1111111100110111 row 10 - 0xFF27, // 1111111100100111 row 11 - 0xFF07, // 1111111100000111 row 12 - 0xFF07, // 1111111100000111 row 13 bottom-right arrow - 0xFFFF, // row 14 - 0xFFFF // row 15 + 0x01FF, // 0000000111111111 row 0 NW outline + 0x01FF, // 0000000111111111 row 1 + 0x01FF, // 0000000111111111 row 2 + 0x03FF, // 0000001111111111 row 3 + 0x01FF, // 0000000111111111 row 4 + 0x00FF, // 0000000011111111 row 5 + 0x107F, // 0001000001111111 row 6 shaft + 0xF83F, // 1111100000111111 row 7 + 0xFC1F, // 1111110000011111 row 8 + 0xFE08, // 1111111000001000 row 9 + 0xFF00, // 1111111100000000 row 10 SE outline + 0xFF80, // 1111111110000000 row 11 + 0xFFC0, // 1111111111000000 row 12 + 0xFF80, // 1111111110000000 row 13 + 0xFF80, // 1111111110000000 row 14 + 0xFF80 // 1111111110000000 row 15 }; static const uint16_t cursorResizeDiagNWSEXor[16] = { - 0x0000, // row 0 - 0x0000, // row 1 - 0x1F00, // 0001111100000000 row 2 - 0x0E00, // 0000111000000000 row 3 - 0x0E00, // 0000111000000000 row 4 - 0x0700, // 0000011100000000 row 5 - 0x0B00, // 0000101100000000 row 6 - 0x0100, // 0000000100000000 row 7 - 0x0080, // 0000000010000000 row 8 - 0x00D0, // 0000000011010000 row 9 - 0x00E0, // 0000000011100000 row 10 - 0x0070, // 0000000001110000 row 11 - 0x0070, // 0000000001110000 row 12 - 0x00F8, // 0000000011111000 row 13 - 0x0000, // row 14 - 0x0000 // row 15 + 0x0000, // 0000000000000000 row 0 + 0x7C00, // 0111110000000000 row 1 XXXXX + 0x7800, // 0111100000000000 row 2 XXXX + 0x7000, // 0111000000000000 row 3 XXX + 0x6800, // 0110100000000000 row 4 XX.X + 0x4400, // 0100010000000000 row 5 X...X + 0x0200, // 0000001000000000 row 6 X + 0x0100, // 0000000100000000 row 7 X + 0x0080, // 0000000010000000 row 8 X + 0x0040, // 0000000001000000 row 9 X + 0x0022, // 0000000000100010 row 10 X...X + 0x0016, // 0000000000010110 row 11 X.XX + 0x000E, // 0000000000001110 row 12 XXX + 0x001E, // 0000000000011110 row 13 XXXX + 0x003E, // 0000000000111110 row 14 XXXXX + 0x0000 // 0000000000000000 row 15 }; // ============================================================ // Diagonal resize cursor NE-SW (top-right / bottom-left), 16x16 // ============================================================ // Hot spot at center (7, 7) +// +// ..........XXXXX. NE arrowhead +// ...........XXXX. +// ............XXX. +// ...........X.XX. +// ..........X...X. +// .........X...... diagonal shaft +// ........X....... +// .......X........ +// ......X......... +// .X...X.......... +// .XX.X........... +// .XXX............ +// .XXXX........... +// .XXXXX.......... SW arrowhead static const uint16_t cursorResizeDiagNESWAnd[16] = { - 0xFFFF, // row 0 - 0xFFFF, // row 1 - 0xFF07, // 1111111100000111 row 2 top-right arrow - 0xFF07, // 1111111100000111 row 3 - 0xFF27, // 1111111100100111 row 4 - 0xFF37, // 1111111100110111 row 5 - 0xFF2F, // 1111111100101111 row 6 - 0xFF3F, // 1111111100111111 row 7 - 0xFCFF, // 1111110011111111 row 8 - 0xF4FF, // 1111010011111111 row 9 - 0xECFF, // 1110110011111111 row 10 - 0xE4FF, // 1110010011111111 row 11 - 0xE0FF, // 1110000011111111 row 12 - 0xE0FF, // 1110000011111111 row 13 bottom-left arrow - 0xFFFF, // row 14 - 0xFFFF // row 15 + 0xFF80, // 1111111110000000 row 0 NE outline + 0xFF80, // 1111111110000000 row 1 + 0xFF80, // 1111111110000000 row 2 + 0xFFC0, // 1111111111000000 row 3 + 0xFF80, // 1111111110000000 row 4 + 0xFF00, // 1111111100000000 row 5 + 0xFE08, // 1111111000001000 row 6 shaft + 0xFC1F, // 1111110000011111 row 7 + 0xF83F, // 1111100000111111 row 8 + 0x107F, // 0001000001111111 row 9 + 0x00FF, // 0000000011111111 row 10 SW outline + 0x01FF, // 0000000111111111 row 11 + 0x03FF, // 0000001111111111 row 12 + 0x01FF, // 0000000111111111 row 13 + 0x01FF, // 0000000111111111 row 14 + 0x01FF // 0000000111111111 row 15 }; static const uint16_t cursorResizeDiagNESWXor[16] = { - 0x0000, // row 0 - 0x0000, // row 1 - 0x00F8, // 0000000011111000 row 2 - 0x0070, // 0000000001110000 row 3 - 0x0070, // 0000000001110000 row 4 - 0x00E0, // 0000000011100000 row 5 - 0x00D0, // 0000000011010000 row 6 - 0x0080, // 0000000010000000 row 7 - 0x0100, // 0000000100000000 row 8 - 0x0B00, // 0000101100000000 row 9 - 0x0700, // 0000011100000000 row 10 - 0x0E00, // 0000111000000000 row 11 - 0x0E00, // 0000111000000000 row 12 - 0x1F00, // 0001111100000000 row 13 - 0x0000, // row 14 - 0x0000 // row 15 + 0x0000, // 0000000000000000 row 0 + 0x003E, // 0000000000111110 row 1 XXXXX + 0x001E, // 0000000000011110 row 2 XXXX + 0x000E, // 0000000000001110 row 3 XXX + 0x0016, // 0000000000010110 row 4 X.XX + 0x0022, // 0000000000100010 row 5 X...X + 0x0040, // 0000000001000000 row 6 X + 0x0080, // 0000000010000000 row 7 X + 0x0100, // 0000000100000000 row 8 X + 0x0200, // 0000001000000000 row 9 X + 0x4400, // 0100010000000000 row 10 X...X + 0x6800, // 0110100000000000 row 11 XX.X + 0x7000, // 0111000000000000 row 12 XXX + 0x7800, // 0111100000000000 row 13 XXXX + 0x7C00, // 0111110000000000 row 14 XXXXX + 0x0000 // 0000000000000000 row 15 }; // ============================================================