summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-12-30LibGUI: Tweak FontPicker layoutAndreas Kling
Make everything a bit smaller and hide the horizontal scrollbars in the list views since we don't really need them.
2020-12-30LibGFX: Move default_xxx_font() methods from Font to FontDatabaseStephan Unverwerth
When we have an abstract font class it makes no sense to keep these methods in the Font class.
2020-12-30LibTTF: Cache rasterized glyphs within TTF::ScaledFontStephan Unverwerth
2020-12-30LibTTF: Use ReadonlyBytes where possible to avoid copiesStephan Unverwerth
2020-12-30LibTTF: Do not assert on glyphs with broken line coordinatesStephan Unverwerth
Until we figure out what causes this problem or we can fixup the coordinates we should simply not render this line.
2020-12-30LibTTF: Use ByteBuffer::copy() since wrap() was removedStephan Unverwerth
2020-12-30LibTTF: Use AffineTransform::multiply() instead of * operatorStephan Unverwerth
2020-12-30LibTTF: Fix code after rebaseStephan Unverwerth
2020-12-30LibTTF: Address code-style comments, gracefully handle load failures.Srimanta Barua
2020-12-30LibTTF: Split up Font.h into smaller internal header files.Srimanta Barua
2020-12-30LibTTF: Initial work on parsing and rasterizing composite glyphs.Srimanta Barua
This doesn't handle every case yet.
2020-12-30LibTTF: Reorganized TTF parsing code into LibTTFSrimanta Barua
2020-12-30LibGfx: Address awesomekling's comments on API and codestyleSrimanta Barua
2020-12-30LibGfx: Cut down on magic constants in the TTF parser.Srimanta Barua
2020-12-30LibGfx: Update Painter's bezier curve drawing algorithm.Srimanta Barua
The new algorithm is an iterative one with an arbitrary threshold for splitting curves. It splits curves evenly. This should theoretically be less accurate than the existing recursive approach, but seems to give subjectively better results in practice.
2020-12-30LibGfx: Finally render simple TTF outlines.Srimanta Barua
2020-12-30LibGfx: Rasterize simple TTF glyphs.Srimanta Barua
2020-12-30LibGfx: Load glyph definition from "glyf" table for TTF fonts.Srimanta Barua
CFF fonts don't have "glyf" or "loca", so this code will need to be extended to handle them.
2020-12-30LibGfx: Get glyph ID for codepoint, from the CMAP table.Srimanta Barua
2020-12-30LibGfx: Started working on TTF font parser.Srimanta Barua
I'm planning to make this a minimal-allocation TTF parser. This will speed up start-up time for applications, but have some overhead for rasterizing glyphs. Which should be okay, since rasterized glyph bitmaps should be cached anyway. This commit just adds the loading of the HEAD table.
2020-12-30TextEditor: Switch to using GUI::FontPicker for picking editor font :^)Andreas Kling
2020-12-30LibGUI: Make FontPicker correctly select the current font when openedAndreas Kling
2020-12-30Terminal: Switch to using GUI::FontPicker for choosing terminal fontAndreas Kling
2020-12-30LibGUI: Allow GUI::FilePicker to show only fixed-width fontsAndreas Kling
This is useful when you really only want something monospaced. :^)
2020-12-30LibGUI: Add a GUI::FontPicker dialog class :^)Andreas Kling
This allows you to pick & choose a font by selecting the family, weight and size you want. It shows you a nice preview sentence and everything.
2020-12-30LibGUI: Add widget registration for GUI::ListViewAndreas Kling
2020-12-30AK+ProtocolServer: Properly close download stream fd'sAnotherTest
This makes the issue of running out of openable pipes in the ProtocolServer process much less likely (but still possible).
2020-12-30LibIPC: Add an on_destruction hook to IPC::MessageAnotherTest
Any cleanup of resources needed (up until the message is sent) can be done here. Currently, the only such resource is an IPC::File.
2020-12-30LibWeb: Re-enable favicons after forgotten if-0AnotherTest
2020-12-30AK+Format: Remove TypeErasedFormatParams& from format function.asynts
2020-12-30Kernel: Prevent sign bit extension when creating a PDPTELuke
When doing the cast to u64 on the page directory physical address, the sign bit was being extended. This only beomes an issue when crossing the 2 GiB boundary. At >= 2 GiB, the physical address has the sign bit set. For example, 0x80000000. This set all the reserved bits in the PDPTE, causing a GPF when loading the PDPT pointer into CR3. The reserved bits are presumably there to stop you writing out a physical address that the CPU physically cannot handle, as the size of the reserved bits is determined by the physical address width of the CPU. This fixes this by casting to FlatPtr instead. I believe the sign extension only happens when casting to a bigger type. I'm also using FlatPtr because it's a pointer we're writing into the PDPTE. sizeof(FlatPtr) will always be the same size as sizeof(void*). This also now asserts that the physical address in the PDPTE is within the max physical address the CPU supports. This is better than getting a GPF, because CPU::handle_crash tries to do the same operation that caused the GPF in the first place. That would cause an infinite loop of GPFs until the stack was exhausted, causing a triple fault. As far as I know and tested, I believe we can now use the full 32-bit physical range without crashing. Fixes #4584. See that issue for the full debugging story.
2020-12-30Docs: Update WSL notes with some workarounds for known issuesPeter Nelson
2020-12-30Toolchain: Fix incorrect use of ENV{SERENITY_ARCH} in CMakeToolchain.txtLinus Groh
This was setting CMAKE_C_COMPILER and CMAKE_CXX_COMPILER to "ENV{SERENITY_ARCH}-pc-serenity-...", causing some ports to not build properly.
2020-12-30CrashReporter: Show assertion message in backtrace, if anyLinus Groh
2020-12-30LibC: Set "assertion" coredump metadata in __assertion_failed()Linus Groh
2020-12-30Kernel: Embed a Metadata notes entry in coredumpsLinus Groh
2020-12-30Kernel: Add sys$set_coredump_metadata() syscallLinus Groh
This can be used by applications to store information (key/value pairs) likely useful for debugging, which will then be embedded in the coredump.
2020-12-30LibELF+LibCoreDump: Add a Metadata notes entryLinus Groh
This is a new NotesEntry type which will allow applications to embed arbitrary metadata in crashdumps (stored as a JSON string). It will be used to store an assertion message, for example.
2020-12-30LibGUI: Make SpinBox up/down buttons look right when disabledAndreas Kling
2020-12-30WidgetGallery: Tweak UI layout for "Modals" tabAndreas Kling
2020-12-30LibGUI: Make disabled scrollbars have more disabled looking iconsAndreas Kling
Draw a threed drop highlight under the arrows on disabled scrollbars. This makes it more visible that they are disabled.
2020-12-30Terminal: Fix bell mode in Terminal SettingsMorc - Richard Gráčik
2020-12-30WebContent: Pledge "recvfd" :^)Andreas Kling
This is needed so we can receive file descriptors from ProtocolServer. Fixes #4660.
2020-12-30LibGUI: Make GUI::ScrollBar inherit from AbstractSliderAndreas Kling
2020-12-30LibGUI: Rename AbstractSlider::on_value_changed => on_changeAndreas Kling
This matches other similar hook names.
2020-12-30LibGUI: Add page_step setting to AbstractSlider and use it in SliderAndreas Kling
This makes clicking on the track of a GUI::Slider actually move the knob more than 1 value unit (assuming page_step > 1)
2020-12-30LibGUI: Add GUI::AbstractSlider and move generic parts of Slider thereAndreas Kling
This will allow us to share some code between Slider and ScrollBar.
2020-12-30CrashReporter: Show PID from coredumpLinus Groh
2020-12-30CrashReporter: Read executable path from coredump process infoLinus Groh
We no longer have to look at the backtrace and guess the executable, it's now embedded in the coredump's ProcessInfo notes entry directly. Fixes #4645.
2020-12-30Kernel: Embed a ProcessInfo notes entry in coredumpsLinus Groh