Age | Commit message (Collapse) | Author |
|
This gets rid of the last little piece of LibGUI knowledge in Painter.
|
|
- Use this to implement the O_TRUNC open flag.
- Fix creat() to pass O_CREAT | O_TRUNC | O_WRONLY.
- Make sure we truncate wherever appropriate.
|
|
|
|
|
|
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. :^)
|
|
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.
|
|
It's just a simple nearest-neighbor scale with alpha blending but it gets
the job done.
|
|
|
|
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].
|
|
This also allows us to dodge processing alpha values in non-alpha PNGs
without a branch.
|
|
|
|
This is a 2x speedup on wallpaper loading.
|
|
Use ByteBuffer::wrap() to avoid copying buffers around a bit. This is about
a 10% speedup on loading a wallpaper-type PNG.
|
|
|
|
This is extremely unoptimized, but it does successfully load "folder32.png"
so it must be at least somewhat correct. :^)
|
|
|
|
Fix some GBoxLayout bugs to make the buttons in GInputBox line up better.
There are still some imperfections due to rounding errors.
|
|
|
|
This generates a string in the format "rgba(%d, %d, %d, %d)".
|
|
This prevents flicker and looks rather good. The main downside is that
resizing gets even more sluggish. That's the price we pay for now.
|
|
This way we don't have to cast whatever we're passing to copy()/wrap().
|
|
This way we don't have to juggle around with calls to Painter::set_font()
which simplifies a bunch of places.
|
|
|
|
Two little things to help tidy up a bit in WSWindowManager.
|
|
This will make some painting code a lot less confusing since there's no
need to manually undo translations, clips, etc.
|
|
This is a bit more comfortable than passing the shared buffer ID manually
everywhere and keeping track of size etc.
|
|
|
|
|
|
I'm eventually gonna want to replace this with something more clever,
like a automagically splicing vector or something, but for now, at least
we move away from immutable Strings.
|
|
The view now scrolls along with you as you move the cursor around.
|
|
..and do some minor tweaks to the font rendering code.
|
|
Katica is now the default system font, and it looks quite nice. :^)
I'm gonna need to refine the GTextBox movement stuff eventually,
but it works well-enough for basic editing now.
|
|
Also add a nice new font called Katica. It's not used anywhere yet but
I'm definitely itching to start using it. :^)
|
|
|
|
Finally fixed the weird flaky crashing when resizing Terminal windows.
It was because we were dispatching a signal to "current" from the scheduler.
Yet another thing I dislike about even having a "current" process while
we're in the scheduler. Not sure yet how to fix this.
Let the signal handler's kernel stack be a kmalloc() allocation for now.
Once we can do allocation of consecutive physical pages in the supervisor
memory region, we can use that for all types of kernel stacks.
|
|
|
|
|
|
It's nice to have a thin and a bold variant to complement each other.
|
|
I wanted to do a bitmap font with an odd number of columns for a while
and I finally got around to it. This really looks rather nice, so I'm
making it the default system font for now. :^)
|
|
|
|
|
|
|
|
I'm still feeling this out, but I am starting to like the general idea.
|
|
|
|
|
|
Also use some Clang attribute wizardry to get a warning for use-after-move.
|
|
|
|
Use this to implement incremental resizing for Terminal so that we only
ever resize to fit a perfect number of rows and columns.
This is very nice. :^)
|
|
This makes interactive resizing work a lot better, althought it's still not
perfect. There are still glitches and unpleasant flashes of zeroed memory.
|
|
The same action can be added to both a menu and a toolbar.
Use this to put a toolbar into FileManager. This is pretty neat. :^)
|