summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-03-24WindowServer: Reduce debug spam.Andreas Kling
2019-03-24LibGUI+FileManager: Add a GIcon class to support multi-size icons.Andreas Kling
A GIcon can contain any number of bitmaps internally, and will give you the best fitting icon when you call bitmap_for_size().
2019-03-24QuickShow: Fill the window with white if the opened image has alpha.Andreas Kling
2019-03-24FileManager: Add a very naive thumbnail generation thread.Andreas Kling
This is pretty rickety since we don't have any synchronization primitives.
2019-03-24Kernel: Don't hang the system on unrecoverable page fault.Andreas Kling
I needed this while debugging threads and now they basically work pretty well so we can remove this. :^)
2019-03-24Kernel: Make block() and yield() automatically call Scheduler::yield().Andreas Kling
This exposed some places we were accidentally doing a double yield().
2019-03-24Kernel: Fix broken destruction order for Process/Thread.Andreas Kling
2019-03-24AK: Uh, okay, it seems like we need those 64-bit division helpers after all.Andreas Kling
2019-03-24AK: Don't compile the 64-bit division helpers in userland builds.Andreas Kling
2019-03-24LibC: Add ftruncate() stub.Andreas Kling
2019-03-24SharedGraphics: Oops, I was compiling puff() in SLOW mode for testing.Andreas Kling
2019-03-23Kernel: Add a Thread::all_threads() helper.Andreas Kling
2019-03-23Kernel+LibC: Add a simple create_thread() syscall.Andreas Kling
It takes two parameters, a function pointer for the entry function, and a void* argument to be passed to that function on the new thread.
2019-03-23IRCClient: Exit the main loop when closing the app window.Andreas Kling
2019-03-23Kernel: Set the colonel task to low priority.Andreas Kling
This gives it a smaller time slice, improving responsiveness.
2019-03-23Kernel: Don't add the colonel process' main thread to g_threads.Andreas Kling
This was causing the colonel to get scheduled when he wasn't needed.
2019-03-23Kernel: Introduce threads, and refactor everything in support of it.Andreas Kling
The scheduler now operates on threads, rather than on processes. Each process has a main thread, and can have any number of additional threads. The process exits when the main thread exits. This patch doesn't actually spawn any additional threads, it merely does all the plumbing needed to make it possible. :^)
2019-03-23Base: Import some 32x32 icons.Andreas Kling
2019-03-23FileManager: Add basic thumbnailing of PNG images.Andreas Kling
These use nearest neighbor and are computed synchronously on directory load so it's neither fast nor very beautiful. These issues both need work on other parts of the system to fix.
2019-03-23GItemView: Implement up/down/left/right keyboard navigation.Andreas Kling
2019-03-23FileManager: Make sure the status bar callback is hooked up.Andreas Kling
2019-03-23LibGUI: Add a GItemView class.Andreas Kling
This is a GAbstractView subclass that implements a icon-based view onto a GModel. It still need a bunch of work, but it's in basic usable shape.
2019-03-23LibGUI: Add GAbstractView base class for GTableView.Andreas Kling
This is in preparation for adding a new view class.
2019-03-23LibGUI: Rename GTableModel => GModel.Andreas Kling
2019-03-22FileManager: Add a default icon for image files.Andreas Kling
2019-03-22FileManager: Open PNG files with QuickShow when activated.Andreas Kling
2019-03-22LibGUI: Add a setting to make GLabel stretch its icon.Andreas Kling
Use this in QuickShow to allow arbitrarily scaling the opened image.
2019-03-22SharedGraphics: Add Painter::draw_scaled_bitmap().Andreas Kling
It's just a simple nearest-neighbor scale with alpha blending but it gets the job done.
2019-03-22LibGUI: Remove unnecessary timer in GProgressBar.Andreas Kling
2019-03-22LibGUI: Add a GProgressBar widget.Andreas Kling
2019-03-22AK: Allow printing a literal '%' character with the printf family.Andreas Kling
2019-03-22Use the PNG loader for all images, and get rid of the .rgb files.Andreas Kling
2019-03-21AK: Fix busted __udivmoddi4() implementation.Andreas Kling
2019-03-21WindowServer: Remove some old commented-out code.Andreas Kling
2019-03-21PNGLoader: Reduce unfiltering branchiness even more.Andreas Kling
Use a dummy scanline for y=0 filled with all zeroes to avoid having to check y on every iteration before grabbing color data from scanline[y - 1].
2019-03-21PNGLoader: Templatize the unfiltering functions to reduce branchiness.Andreas Kling
This also allows us to dodge processing alpha values in non-alpha PNGs without a branch.
2019-03-21PNGLoader: Reorganize the unfiltering code to make it easier to work with.Andreas Kling
2019-03-21WindowServer: Support PNG wallpapers.Andreas Kling
Fix up /bin/pape so it tells the WindowServer which wallpaper file to use.
2019-03-21PNGLoader: Allocate enough space for the compressed data buffer up front.Andreas Kling
This is a 2x speedup on wallpaper loading.
2019-03-21PNGLoader: Remove a bunch of unnecessary data copying.Andreas Kling
Use ByteBuffer::wrap() to avoid copying buffers around a bit. This is about a 10% speedup on loading a wallpaper-type PNG.
2019-03-21Use 64-bit integers inside Stopwatch to enable longer timings.Andreas Kling
2019-03-21Userland: Turn off double buffering in QuickShow.Andreas Kling
Since this program is primarily used to display potentially huge but still static images, let's not put extra strain on the system by double buffering.
2019-03-21LibC: Add PAGE_SIZE to limits.hAndreas Kling
2019-03-21LibC: malloc() should use mmap() directly for allocations >= PAGE_SIZE.Andreas Kling
This is a solid speedup on PNG loading, and basically everything else. Once again I find a way to defer writing a better allocator for now. :^)
2019-03-21PNGLoader: Support for color type 2 (RGB triplets) and multiple IDAT chunks.Andreas Kling
2019-03-21SharedGraphics: Implement a simple PNG decoder.Andreas Kling
This is extremely unoptimized, but it does successfully load "folder32.png" so it must be at least somewhat correct. :^)
2019-03-20TextEditor: The delete key should work even when there's no selection.Andreas Kling
2019-03-20FileManager: Add ability to create new directories.Andreas Kling
2019-03-20FileManager: Add a "Location:" label.Andreas Kling
2019-03-20Kernel+LibC: Don't crash upon traversal of large directories.Andreas Kling