1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 02:27:35 +00:00
serenity/Userland/Libraries/LibGUI
Torben Thaysen b76d2450fa LibGUI: drawing spanned text no longer *horribly* inefficient
This makes drawing text with spans a lot faster.
The previous implentation went character by character and then
checked every span whether it contained the current character.

This implentation asumes that the spans are sorted and goes span by
span drawing all the characters contained at once.
Any spans that are out of order will be ignored!

Note: text wrapping is not (yet) supported
2021-03-01 09:16:07 +01:00
..
Wizards LibGUI: add a rudimentary framework for Wizards. 2021-02-27 07:31:55 +01:00
AboutDialog.cpp Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
AboutDialog.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
AbstractButton.cpp Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
AbstractButton.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
AbstractSlider.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
AbstractSlider.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
AbstractTableView.cpp Everywhere: Remove a bunch of redundant 'AK::' namespace prefixes 2021-02-26 16:59:56 +01:00
AbstractTableView.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
AbstractView.cpp LibGUI: Improve IconView rubberband performance 2021-02-25 18:04:06 +01:00
AbstractView.h LibGUI: Improve IconView rubberband performance 2021-02-25 18:04:06 +01:00
Action.cpp LibGUI: Use delegating constructors in GUI::Action 2021-02-20 13:25:04 +01:00
Action.h Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
ActionGroup.cpp Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
ActionGroup.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Application.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
Application.h WindowServer+LibGUI: Pass the system theme using Core::AnonymousBuffer 2021-01-16 17:20:53 +01:00
AutocompleteProvider.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
AutocompleteProvider.h LanguageServers/Cpp: Add type to Declarations 2021-02-27 16:37:35 +01:00
BoxLayout.cpp Everywhere: Remove unnecessary debug comments. 2021-01-25 09:47:36 +01:00
BoxLayout.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
BreadcrumbBar.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
BreadcrumbBar.h LibGUI: Allow setting a tooltip on BreadcrumbBar segments 2021-02-20 14:23:21 +01:00
Button.cpp Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Button.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Calendar.cpp Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Calendar.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
CheckBox.cpp Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
CheckBox.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Clipboard.cpp LibIPC: Stop sending client ID to clients 2021-02-01 11:32:00 +01:00
Clipboard.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
CMakeLists.txt LibGUI: Remove ControlBoxButton widget 2021-02-27 16:38:36 +01:00
ColorInput.cpp Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
ColorInput.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
ColorPicker.cpp Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
ColorPicker.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
ColumnsView.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
ColumnsView.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
ComboBox.cpp LibGUI: Remove ControlBoxButton widget 2021-02-27 16:38:36 +01:00
ComboBox.h LibGUI: Remove ControlBoxButton widget 2021-02-27 16:38:36 +01:00
Command.cpp Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Command.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Desktop.cpp Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Desktop.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Dialog.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
Dialog.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
DisplayLink.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
DisplayLink.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
DragOperation.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
DragOperation.h Libraries: Add missing headers 2021-01-22 21:49:54 +01:00
EditingEngine.cpp LibGUI: Remove redundant cursor update 2021-02-24 22:30:08 +01:00
EditingEngine.h Revert "TextEditor: Add vim status indicators to the statusbar" 2021-02-02 19:01:54 +01:00
EmojiInputDialog.cpp Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
EmojiInputDialog.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Event.cpp Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Event.h WindowServer+Taskbar: Send WM icon updates as Gfx::ShareableBitmap 2021-01-15 23:24:07 +01:00
FileIconProvider.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
FileIconProvider.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
FilePicker.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
FilePicker.h LibGUI: Remove GUI::FilePicker::file_exists() 2021-02-19 23:46:54 +01:00
FilePickerDialog.gml LibGUI: Port GUI::FilePicker to GML and improve the layout 2021-02-19 23:03:47 +01:00
FileSystemModel.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
FileSystemModel.h LibGUI: Use Core::FileWatcher in FileSystemModel 2021-02-11 13:13:32 +01:00
FilteringProxyModel.cpp Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
FilteringProxyModel.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
FocusSource.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
FontPicker.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
FontPicker.h Libraries: Add missing headers 2021-01-22 21:49:54 +01:00
FontPickerDialog.gml Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Forward.h LibGUI: Add ScrollableWidget to forwarding header 2021-02-16 19:58:43 +01:00
Frame.cpp Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Frame.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
GMLFormatter.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
GMLFormatter.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
GMLLexer.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
GMLLexer.h Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
GMLParser.cpp Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
GMLParser.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
GMLSyntaxHighlighter.cpp LibSyntax: Make rehighlight() take Gfx::Palette as by const-reference 2021-02-11 23:52:39 +01:00
GMLSyntaxHighlighter.h LibSyntax: Make rehighlight() take Gfx::Palette as by const-reference 2021-02-11 23:52:39 +01:00
GroupBox.cpp LibGUI: Ignore glyph dimensions when painting a titleless GroupBox 2021-02-22 09:21:30 +01:00
GroupBox.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
HeaderView.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
HeaderView.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Icon.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
Icon.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
IconView.cpp LibGUI: Improve IconView rubberband performance 2021-02-25 18:04:06 +01:00
IconView.h LibGUI: Improve IconView rubberband performance 2021-02-25 18:04:06 +01:00
ImageWidget.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
ImageWidget.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
INILexer.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
INILexer.h Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
INISyntaxHighlighter.cpp LibSyntax: Make rehighlight() take Gfx::Palette as by const-reference 2021-02-11 23:52:39 +01:00
INISyntaxHighlighter.h LibSyntax: Make rehighlight() take Gfx::Palette as by const-reference 2021-02-11 23:52:39 +01:00
InputBox.cpp Everywhere: Remove a bunch of redundant 'AK::' namespace prefixes 2021-02-26 16:59:56 +01:00
InputBox.h LibGUI: Set InputBox initial value to text_value string 2021-02-20 12:19:46 +01:00
ItemListModel.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
JsonArrayModel.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
JsonArrayModel.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Label.cpp Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Label.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Layout.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
Layout.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
LazyWidget.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
LazyWidget.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
LinkLabel.cpp LibGUI: Set correct open action for LinkLabel context menu 2021-02-26 13:50:00 +01:00
LinkLabel.h LibGUI: Show context menu when right-clicking a LinkLabel 2021-02-21 23:47:05 +01:00
ListView.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
ListView.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Margins.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Menu.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
Menu.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
MenuBar.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
MenuBar.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
MenuItem.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
MenuItem.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
MessageBox.cpp Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
MessageBox.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Model.cpp Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Model.h LibGUI: Make Model::data_matches() take Variant by const-reference 2021-02-16 20:08:32 +01:00
ModelEditingDelegate.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
ModelIndex.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
ModelIndex.h Libraries: Add missing headers 2021-01-22 21:49:54 +01:00
ModelRole.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
ModelSelection.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
ModelSelection.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
MultiView.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
MultiView.h Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
Notification.cpp LibIPC: Stop sending client ID to clients 2021-02-01 11:32:00 +01:00
Notification.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
OpacitySlider.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
OpacitySlider.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Painter.cpp Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Painter.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
ProcessChooser.cpp Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
ProcessChooser.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
ProgressBar.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
ProgressBar.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
RadioButton.cpp Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
RadioButton.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
RegularEditingEngine.cpp Revert "TextEditor: Add vim status indicators to the statusbar" 2021-02-02 19:01:54 +01:00
RegularEditingEngine.h Revert "TextEditor: Add vim status indicators to the statusbar" 2021-02-02 19:01:54 +01:00
ResizeCorner.cpp LibGUI+WindowServer: Don't use a WM IPC to initiate own window resize 2021-02-01 11:23:54 +01:00
ResizeCorner.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
RunningProcessesModel.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
RunningProcessesModel.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
ScrollableWidget.cpp LibGUI: Let ScrollableWidget handle the wheel events of its ScrollBars 2021-02-21 01:06:17 +01:00
ScrollableWidget.h LibGUI: Let ScrollableWidget handle the wheel events of its ScrollBars 2021-02-21 01:06:17 +01:00
ScrollBar.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
ScrollBar.h LibGUI: Let ScrollableWidget handle the wheel events of its ScrollBars 2021-02-21 01:06:17 +01:00
SeparatorWidget.cpp Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
SeparatorWidget.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Shortcut.cpp Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Shortcut.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Slider.cpp Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Slider.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
SortingProxyModel.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
SortingProxyModel.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
SpinBox.cpp LibGUI: Remove ControlBoxButton widget 2021-02-27 16:38:36 +01:00
SpinBox.h LibGUI: Remove ControlBoxButton widget 2021-02-27 16:38:36 +01:00
Splitter.cpp Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Splitter.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
StackWidget.cpp Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
StackWidget.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
StatusBar.cpp Revert "StatusBar: Allow GML files to set the number of labels to create" 2021-02-02 19:02:01 +01:00
StatusBar.h Revert "StatusBar: Allow GML files to set the number of labels to create" 2021-02-02 19:02:01 +01:00
TableView.cpp LibGUI: Account for the row and column headers when painting a TableView 2021-02-24 21:02:02 +01:00
TableView.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
TabWidget.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
TabWidget.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
TextBox.cpp Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
TextBox.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
TextDocument.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
TextDocument.h TextEditor+LibGUI: Add case matching and wrap around optionality 2021-02-22 09:21:30 +01:00
TextEditor.cpp LibGUI: drawing spanned text no longer *horribly* inefficient 2021-03-01 09:16:07 +01:00
TextEditor.h HackStudio: Support searching symbol declarations in the Locator 2021-02-27 16:37:35 +01:00
TextPosition.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
TextRange.h LibGUI: Make empty TextRange invalid 2021-02-27 07:58:09 +01:00
ToolBar.cpp Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
ToolBar.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
ToolBarContainer.cpp LibGUI: Paint all widgets as toolbars in ToolBarContainer 2021-02-25 19:23:12 +01:00
ToolBarContainer.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
TreeView.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
TreeView.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
UndoStack.cpp Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
UndoStack.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Variant.cpp Everywhere: Remove a bunch of redundant 'AK::' namespace prefixes 2021-02-26 16:59:56 +01:00
Variant.h Everywhere: Remove a bunch of redundant 'AK::' namespace prefixes 2021-02-26 16:59:56 +01:00
VimEditingEngine.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
VimEditingEngine.h Revert "TextEditor: Add vim status indicators to the statusbar" 2021-02-02 19:01:54 +01:00
Widget.cpp LibGUI: Constrain widgets to invalidating themselves only 2021-02-25 18:04:06 +01:00
Widget.h LibGUI: Open context menu on 'Menu' key down 2021-02-15 19:37:14 +01:00
Window.cpp LibGUI: Avoid needlessly copying vectors of rects 2021-02-25 18:04:06 +01:00
Window.h WindowServer: Allow changing frameless state after a window is created 2021-02-21 10:33:28 +01:00
WindowServerConnection.cpp Everywhere: Remove a bunch of redundant 'AK::' namespace prefixes 2021-02-26 16:59:56 +01:00
WindowServerConnection.h Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
WindowType.h WindowServer+LibGUI+LibGfx: Add WindowType::ToolWindow 2021-02-16 16:26:29 +01:00