Age | Commit message (Collapse) | Author | |
---|---|---|---|
2020-12-30 | LibGUI: Tweak FontPicker layout | Andreas Kling | |
Make everything a bit smaller and hide the horizontal scrollbars in the list views since we don't really need them. | |||
2020-12-30 | LibGFX: Move default_xxx_font() methods from Font to FontDatabase | Stephan Unverwerth | |
When we have an abstract font class it makes no sense to keep these methods in the Font class. | |||
2020-12-30 | LibTTF: Cache rasterized glyphs within TTF::ScaledFont | Stephan Unverwerth | |
2020-12-30 | LibTTF: Use ReadonlyBytes where possible to avoid copies | Stephan Unverwerth | |
2020-12-30 | LibTTF: Do not assert on glyphs with broken line coordinates | Stephan Unverwerth | |
Until we figure out what causes this problem or we can fixup the coordinates we should simply not render this line. | |||
2020-12-30 | LibTTF: Use ByteBuffer::copy() since wrap() was removed | Stephan Unverwerth | |
2020-12-30 | LibTTF: Use AffineTransform::multiply() instead of * operator | Stephan Unverwerth | |
2020-12-30 | LibTTF: Fix code after rebase | Stephan Unverwerth | |
2020-12-30 | LibTTF: Address code-style comments, gracefully handle load failures. | Srimanta Barua | |
2020-12-30 | LibTTF: Split up Font.h into smaller internal header files. | Srimanta Barua | |
2020-12-30 | LibTTF: Initial work on parsing and rasterizing composite glyphs. | Srimanta Barua | |
This doesn't handle every case yet. | |||
2020-12-30 | LibTTF: Reorganized TTF parsing code into LibTTF | Srimanta Barua | |
2020-12-30 | LibGfx: Address awesomekling's comments on API and codestyle | Srimanta Barua | |
2020-12-30 | LibGfx: Cut down on magic constants in the TTF parser. | Srimanta Barua | |
2020-12-30 | LibGfx: 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-30 | LibGfx: Finally render simple TTF outlines. | Srimanta Barua | |
2020-12-30 | LibGfx: Rasterize simple TTF glyphs. | Srimanta Barua | |
2020-12-30 | LibGfx: 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-30 | LibGfx: Get glyph ID for codepoint, from the CMAP table. | Srimanta Barua | |
2020-12-30 | LibGfx: 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-30 | TextEditor: Switch to using GUI::FontPicker for picking editor font :^) | Andreas Kling | |
2020-12-30 | LibGUI: Make FontPicker correctly select the current font when opened | Andreas Kling | |
2020-12-30 | Terminal: Switch to using GUI::FontPicker for choosing terminal font | Andreas Kling | |
2020-12-30 | LibGUI: Allow GUI::FilePicker to show only fixed-width fonts | Andreas Kling | |
This is useful when you really only want something monospaced. :^) | |||
2020-12-30 | LibGUI: 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-30 | LibGUI: Add widget registration for GUI::ListView | Andreas Kling | |
2020-12-30 | AK+ProtocolServer: Properly close download stream fd's | AnotherTest | |
This makes the issue of running out of openable pipes in the ProtocolServer process much less likely (but still possible). | |||
2020-12-30 | LibIPC: Add an on_destruction hook to IPC::Message | AnotherTest | |
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-30 | LibWeb: Re-enable favicons after forgotten if-0 | AnotherTest | |
2020-12-30 | AK+Format: Remove TypeErasedFormatParams& from format function. | asynts | |
2020-12-30 | Kernel: Prevent sign bit extension when creating a PDPTE | Luke | |
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-30 | Docs: Update WSL notes with some workarounds for known issues | Peter Nelson | |
2020-12-30 | Toolchain: Fix incorrect use of ENV{SERENITY_ARCH} in CMakeToolchain.txt | Linus 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-30 | CrashReporter: Show assertion message in backtrace, if any | Linus Groh | |
2020-12-30 | LibC: Set "assertion" coredump metadata in __assertion_failed() | Linus Groh | |
2020-12-30 | Kernel: Embed a Metadata notes entry in coredumps | Linus Groh | |
2020-12-30 | Kernel: Add sys$set_coredump_metadata() syscall | Linus 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-30 | LibELF+LibCoreDump: Add a Metadata notes entry | Linus 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-30 | LibGUI: Make SpinBox up/down buttons look right when disabled | Andreas Kling | |
2020-12-30 | WidgetGallery: Tweak UI layout for "Modals" tab | Andreas Kling | |
2020-12-30 | LibGUI: Make disabled scrollbars have more disabled looking icons | Andreas Kling | |
Draw a threed drop highlight under the arrows on disabled scrollbars. This makes it more visible that they are disabled. | |||
2020-12-30 | Terminal: Fix bell mode in Terminal Settings | Morc - Richard Gráčik | |
2020-12-30 | WebContent: Pledge "recvfd" :^) | Andreas Kling | |
This is needed so we can receive file descriptors from ProtocolServer. Fixes #4660. | |||
2020-12-30 | LibGUI: Make GUI::ScrollBar inherit from AbstractSlider | Andreas Kling | |
2020-12-30 | LibGUI: Rename AbstractSlider::on_value_changed => on_change | Andreas Kling | |
This matches other similar hook names. | |||
2020-12-30 | LibGUI: Add page_step setting to AbstractSlider and use it in Slider | Andreas 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-30 | LibGUI: Add GUI::AbstractSlider and move generic parts of Slider there | Andreas Kling | |
This will allow us to share some code between Slider and ScrollBar. | |||
2020-12-30 | CrashReporter: Show PID from coredump | Linus Groh | |
2020-12-30 | CrashReporter: Read executable path from coredump process info | Linus 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-30 | Kernel: Embed a ProcessInfo notes entry in coredumps | Linus Groh | |