ladybird/Libraries
Tom f266f0e880 LibGUI: Improve IconView performance with large selections
This implements the following optimizations:

* Rather than clearing a HashTable of selected items and re-populating
  it every time the selection rectangle changes, determine the delta
  by only examining the items that might be in the area where the
  selection may have changed compared to the previous area. Then
  only add/remove selection items as needed.

* When painting, only query and paint the items actually visible.
  Also, keep a local cache of item information such as calculated
  rectangles and selection state, so it doesn't have to be calculated
  over and over again.
2020-07-13 19:49:34 +02:00
..
LibAudio WavLoader: Search for DATA marker by reading single bytes 2020-06-18 23:13:48 +02:00
LibC Toolchain: Allow building using CMake on macOS 2020-07-13 08:46:44 +02:00
LibCore LibCore: Add register_signal and unregister_signal to EventLoop 2020-07-09 21:58:07 +02:00
LibCrypto LibCrypto: Add CTR cipher mode 2020-06-25 21:05:40 +02:00
LibDebug LibDebug: Add all Dwarf v5 attributes, tags, and form enum values 2020-06-03 08:12:50 +02:00
LibDesktop LibIPC+Services: Support URL as a native IPC type 2020-06-07 22:55:33 +02:00
LibELF Kernel+LibELF: Expose ELF Auxiliary Vector to Userspace 2020-07-07 10:38:54 +02:00
LibGemini AK: Make string-to-number conversion helpers return Optional 2020-06-12 21:28:55 +02:00
LibGfx LibGfx+JPGLoader: Print failure message for progressive JPEGs 2020-06-28 16:56:59 +02:00
LibGUI LibGUI: Improve IconView performance with large selections 2020-07-13 19:49:34 +02:00
LibHTTP AK: Make string-to-number conversion helpers return Optional 2020-06-12 21:28:55 +02:00
LibImageDecoderClient ImageDecoder: Add a new service for out-of-process image decoding :^) 2020-06-22 21:47:00 +02:00
LibIPC LibIPC+Services: Make ClientConnection take socket as NonnullRefPtr 2020-07-06 13:30:11 +02:00
LibJS LibJS: Add String Iterator tests 2020-07-13 15:07:29 +02:00
LibKeyboard Kernel: Move headers intended for userspace use into Kernel/API/ 2020-07-04 17:22:23 +02:00
LibLine LibLine: Add Ctrl-N/P as history next/previous shortcuts 2020-07-13 19:48:53 +02:00
LibM LibM: Add 'isnormal' 2020-07-12 01:19:48 +02:00
LibMarkdown LibMarkdown: Change internal MD API to return OwnPtrs 2020-05-30 00:32:12 +02:00
LibPCIDB Build: Switch to CMake :^) 2020-05-14 20:15:18 +02:00
LibProtocol ProtocolServer+LibProtocol: Propagate HTTP status codes to clients 2020-06-13 22:20:37 +02:00
LibPthread Kernel: Move headers intended for userspace use into Kernel/API/ 2020-07-04 17:22:23 +02:00
LibTextCodec LibTextCodec: Improve Latin-1 decoder so it decodes everything 2020-05-27 19:52:18 +02:00
LibThread Build: Switch to CMake :^) 2020-05-14 20:15:18 +02:00
LibTLS LibTLS: Simplify record padding logic and ASSERT more assumptions 2020-06-04 15:58:04 +02:00
LibUnwind LibUnwind: Create UnwindBase.h to capture the EH ABI in code 2020-05-14 08:50:10 +02:00
LibVT LibVT: Don't scroll to bottom when pressing the right shift key 2020-07-12 14:32:39 +02:00
LibWeb LibWeb: Check if layout node is still present after dispatch_event 2020-07-11 11:34:59 +02:00
LibX86 LibX86: ALWAYS_INLINE some Instruction members 2020-07-13 13:50:22 +02:00
CMakeLists.txt ImageDecoder: Add a new service for out-of-process image decoding :^) 2020-06-22 21:47:00 +02:00