mirror of
https://github.com/flynx/ImageGrid.git
synced 2025-10-28 09:50:09 +00:00
89 lines
3.7 KiB
Plaintext
Executable File
89 lines
3.7 KiB
Plaintext
Executable File
|
|
General Structure
|
|
|
|
|
|
|
|
| | | |
|
|
| +----------------------------------+ | loading buffer
|
|
| +----------------------------------+ | (rows loading or unloading while scrolling)
|
|
| | | |
|
|
| | row | |
|
|
| | | |
|
|
| +----------------------------------+ |
|
|
| -+
|
|
| -+
|
|
| +----------------------------------+ | scroll buffer
|
|
| | | | (loaded rows)
|
|
| | row | |
|
|
| | | |
|
|
| +----------------------------------+ |
|
|
| +----------------------------------+ |
|
|
| | | |
|
|
| | row | |
|
|
| | | |
|
|
| +----------------------------------+ |
|
|
| -+
|
|
| +-visible-area-------------------------+
|
|
| | |
|
|
| | +----------------------------------+ |
|
|
| | | +========+ +--------+ +--------+ | |
|
|
| | | | ref | | | | | | |
|
|
| | | +========+ +--------+ +--------+ | |
|
|
| | +----------------------------------+ |
|
|
| | +----------------------------------+ |
|
|
| | | +--------+ +--------+ +--------+ | |
|
|
| | | | block | | | | | | |
|
|
| | | +--------+ +--------+ +--------+ | |
|
|
| | +----------------------------------+ |
|
|
| | +----------------------------------+ |
|
|
| | | | |
|
|
| | | row | |
|
|
| | | | |
|
|
| | +----------------------------------+ |
|
|
| | |
|
|
| +--------------------------------------+
|
|
| -+
|
|
| +----------------------------------+ | scroll buffer
|
|
| | | | (loaded rows)
|
|
| | row | |
|
|
| | | |
|
|
| +----------------------------------+ |
|
|
| +----------------------------------+ |
|
|
| | | |
|
|
| | row | |
|
|
| | | |
|
|
| +----------------------------------+ |
|
|
| -+
|
|
| -+
|
|
| +----------------------------------+ | loading buffer
|
|
| | | | (rows loading or unloading while scrolling)
|
|
| | row | |
|
|
| | | |
|
|
| +----------------------------------+ |
|
|
| +----------------------------------+ |
|
|
| | | |
|
|
|
|
|
|
|
|
elements
|
|
view / visible area
|
|
scroll buffer
|
|
loading/unloading buffer
|
|
operation/actions
|
|
scroll
|
|
resize
|
|
filter
|
|
positioning
|
|
reference block
|
|
| a block top-left of the visible area.
|
|
|
|
|
| this block must remain in the same position during any operations
|
|
| with the content of grid. including:
|
|
| - resizing
|
|
| - filtering
|
|
|
|
|
| there is only one exception: arity of the grid -- the top-most row
|
|
| must always be full. thus moving the reference left of right, but
|
|
| never up or down.
|
|
|
|
.
|
|
| vim:set spell ts=4 sw=4 :
|