Diagonal resize cursor redone.
This commit is contained in:
parent
35f79eb834
commit
84b0762820
1 changed files with 96 additions and 64 deletions
160
dvx/dvxCursor.h
160
dvx/dvxCursor.h
|
|
@ -176,86 +176,118 @@ static const uint16_t cursorResizeVXor[16] = {
|
||||||
// Diagonal resize cursor NW-SE (top-left / bottom-right), 16x16
|
// Diagonal resize cursor NW-SE (top-left / bottom-right), 16x16
|
||||||
// ============================================================
|
// ============================================================
|
||||||
// Hot spot at center (7, 7)
|
// 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] = {
|
static const uint16_t cursorResizeDiagNWSEAnd[16] = {
|
||||||
0xFFFF, // row 0
|
0x01FF, // 0000000111111111 row 0 NW outline
|
||||||
0xFFFF, // row 1
|
0x01FF, // 0000000111111111 row 1
|
||||||
0xE0FF, // 1110000011111111 row 2 top-left arrow
|
0x01FF, // 0000000111111111 row 2
|
||||||
0xE0FF, // 1110000011111111 row 3
|
0x03FF, // 0000001111111111 row 3
|
||||||
0xE4FF, // 1110010011111111 row 4
|
0x01FF, // 0000000111111111 row 4
|
||||||
0xECFF, // 1110110011111111 row 5
|
0x00FF, // 0000000011111111 row 5
|
||||||
0xF4FF, // 1111010011111111 row 6
|
0x107F, // 0001000001111111 row 6 shaft
|
||||||
0xFCFF, // 1111110011111111 row 7
|
0xF83F, // 1111100000111111 row 7
|
||||||
0xFF3F, // 1111111100111111 row 8
|
0xFC1F, // 1111110000011111 row 8
|
||||||
0xFF2F, // 1111111100101111 row 9
|
0xFE08, // 1111111000001000 row 9
|
||||||
0xFF37, // 1111111100110111 row 10
|
0xFF00, // 1111111100000000 row 10 SE outline
|
||||||
0xFF27, // 1111111100100111 row 11
|
0xFF80, // 1111111110000000 row 11
|
||||||
0xFF07, // 1111111100000111 row 12
|
0xFFC0, // 1111111111000000 row 12
|
||||||
0xFF07, // 1111111100000111 row 13 bottom-right arrow
|
0xFF80, // 1111111110000000 row 13
|
||||||
0xFFFF, // row 14
|
0xFF80, // 1111111110000000 row 14
|
||||||
0xFFFF // row 15
|
0xFF80 // 1111111110000000 row 15
|
||||||
};
|
};
|
||||||
|
|
||||||
static const uint16_t cursorResizeDiagNWSEXor[16] = {
|
static const uint16_t cursorResizeDiagNWSEXor[16] = {
|
||||||
0x0000, // row 0
|
0x0000, // 0000000000000000 row 0
|
||||||
0x0000, // row 1
|
0x7C00, // 0111110000000000 row 1 XXXXX
|
||||||
0x1F00, // 0001111100000000 row 2
|
0x7800, // 0111100000000000 row 2 XXXX
|
||||||
0x0E00, // 0000111000000000 row 3
|
0x7000, // 0111000000000000 row 3 XXX
|
||||||
0x0E00, // 0000111000000000 row 4
|
0x6800, // 0110100000000000 row 4 XX.X
|
||||||
0x0700, // 0000011100000000 row 5
|
0x4400, // 0100010000000000 row 5 X...X
|
||||||
0x0B00, // 0000101100000000 row 6
|
0x0200, // 0000001000000000 row 6 X
|
||||||
0x0100, // 0000000100000000 row 7
|
0x0100, // 0000000100000000 row 7 X
|
||||||
0x0080, // 0000000010000000 row 8
|
0x0080, // 0000000010000000 row 8 X
|
||||||
0x00D0, // 0000000011010000 row 9
|
0x0040, // 0000000001000000 row 9 X
|
||||||
0x00E0, // 0000000011100000 row 10
|
0x0022, // 0000000000100010 row 10 X...X
|
||||||
0x0070, // 0000000001110000 row 11
|
0x0016, // 0000000000010110 row 11 X.XX
|
||||||
0x0070, // 0000000001110000 row 12
|
0x000E, // 0000000000001110 row 12 XXX
|
||||||
0x00F8, // 0000000011111000 row 13
|
0x001E, // 0000000000011110 row 13 XXXX
|
||||||
0x0000, // row 14
|
0x003E, // 0000000000111110 row 14 XXXXX
|
||||||
0x0000 // row 15
|
0x0000 // 0000000000000000 row 15
|
||||||
};
|
};
|
||||||
|
|
||||||
// ============================================================
|
// ============================================================
|
||||||
// Diagonal resize cursor NE-SW (top-right / bottom-left), 16x16
|
// Diagonal resize cursor NE-SW (top-right / bottom-left), 16x16
|
||||||
// ============================================================
|
// ============================================================
|
||||||
// Hot spot at center (7, 7)
|
// 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] = {
|
static const uint16_t cursorResizeDiagNESWAnd[16] = {
|
||||||
0xFFFF, // row 0
|
0xFF80, // 1111111110000000 row 0 NE outline
|
||||||
0xFFFF, // row 1
|
0xFF80, // 1111111110000000 row 1
|
||||||
0xFF07, // 1111111100000111 row 2 top-right arrow
|
0xFF80, // 1111111110000000 row 2
|
||||||
0xFF07, // 1111111100000111 row 3
|
0xFFC0, // 1111111111000000 row 3
|
||||||
0xFF27, // 1111111100100111 row 4
|
0xFF80, // 1111111110000000 row 4
|
||||||
0xFF37, // 1111111100110111 row 5
|
0xFF00, // 1111111100000000 row 5
|
||||||
0xFF2F, // 1111111100101111 row 6
|
0xFE08, // 1111111000001000 row 6 shaft
|
||||||
0xFF3F, // 1111111100111111 row 7
|
0xFC1F, // 1111110000011111 row 7
|
||||||
0xFCFF, // 1111110011111111 row 8
|
0xF83F, // 1111100000111111 row 8
|
||||||
0xF4FF, // 1111010011111111 row 9
|
0x107F, // 0001000001111111 row 9
|
||||||
0xECFF, // 1110110011111111 row 10
|
0x00FF, // 0000000011111111 row 10 SW outline
|
||||||
0xE4FF, // 1110010011111111 row 11
|
0x01FF, // 0000000111111111 row 11
|
||||||
0xE0FF, // 1110000011111111 row 12
|
0x03FF, // 0000001111111111 row 12
|
||||||
0xE0FF, // 1110000011111111 row 13 bottom-left arrow
|
0x01FF, // 0000000111111111 row 13
|
||||||
0xFFFF, // row 14
|
0x01FF, // 0000000111111111 row 14
|
||||||
0xFFFF // row 15
|
0x01FF // 0000000111111111 row 15
|
||||||
};
|
};
|
||||||
|
|
||||||
static const uint16_t cursorResizeDiagNESWXor[16] = {
|
static const uint16_t cursorResizeDiagNESWXor[16] = {
|
||||||
0x0000, // row 0
|
0x0000, // 0000000000000000 row 0
|
||||||
0x0000, // row 1
|
0x003E, // 0000000000111110 row 1 XXXXX
|
||||||
0x00F8, // 0000000011111000 row 2
|
0x001E, // 0000000000011110 row 2 XXXX
|
||||||
0x0070, // 0000000001110000 row 3
|
0x000E, // 0000000000001110 row 3 XXX
|
||||||
0x0070, // 0000000001110000 row 4
|
0x0016, // 0000000000010110 row 4 X.XX
|
||||||
0x00E0, // 0000000011100000 row 5
|
0x0022, // 0000000000100010 row 5 X...X
|
||||||
0x00D0, // 0000000011010000 row 6
|
0x0040, // 0000000001000000 row 6 X
|
||||||
0x0080, // 0000000010000000 row 7
|
0x0080, // 0000000010000000 row 7 X
|
||||||
0x0100, // 0000000100000000 row 8
|
0x0100, // 0000000100000000 row 8 X
|
||||||
0x0B00, // 0000101100000000 row 9
|
0x0200, // 0000001000000000 row 9 X
|
||||||
0x0700, // 0000011100000000 row 10
|
0x4400, // 0100010000000000 row 10 X...X
|
||||||
0x0E00, // 0000111000000000 row 11
|
0x6800, // 0110100000000000 row 11 XX.X
|
||||||
0x0E00, // 0000111000000000 row 12
|
0x7000, // 0111000000000000 row 12 XXX
|
||||||
0x1F00, // 0001111100000000 row 13
|
0x7800, // 0111100000000000 row 13 XXXX
|
||||||
0x0000, // row 14
|
0x7C00, // 0111110000000000 row 14 XXXXX
|
||||||
0x0000 // row 15
|
0x0000 // 0000000000000000 row 15
|
||||||
};
|
};
|
||||||
|
|
||||||
// ============================================================
|
// ============================================================
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue