mirror of
https://github.com/RGBCube/serenity
synced 2025-05-20 11:55:08 +00:00
GraphicsBitmap: create_wrapper() should take pitch as a parameter
We shouldn't assume that the pitch of some arbitrary bitmap memory that we're wrapping is going to be 16-byte aligned. Instead, just take the pitch as a parameter. Also update WindowServer to pass the pitch to the framebuffer bitmaps.
This commit is contained in:
parent
d11d847161
commit
7038935f74
4 changed files with 13 additions and 9 deletions
|
@ -24,9 +24,9 @@ GraphicsBitmap::GraphicsBitmap(Format format, const Size& size)
|
|||
m_needs_munmap = true;
|
||||
}
|
||||
|
||||
NonnullRefPtr<GraphicsBitmap> GraphicsBitmap::create_wrapper(Format format, const Size& size, RGBA32* data)
|
||||
NonnullRefPtr<GraphicsBitmap> GraphicsBitmap::create_wrapper(Format format, const Size& size, size_t pitch, RGBA32* data)
|
||||
{
|
||||
return adopt(*new GraphicsBitmap(format, size, data));
|
||||
return adopt(*new GraphicsBitmap(format, size, pitch, data));
|
||||
}
|
||||
|
||||
RefPtr<GraphicsBitmap> GraphicsBitmap::load_from_file(const StringView& path)
|
||||
|
@ -42,10 +42,10 @@ RefPtr<GraphicsBitmap> GraphicsBitmap::load_from_file(Format format, const Strin
|
|||
return adopt(*new GraphicsBitmap(format, size, move(mapped_file)));
|
||||
}
|
||||
|
||||
GraphicsBitmap::GraphicsBitmap(Format format, const Size& size, RGBA32* data)
|
||||
GraphicsBitmap::GraphicsBitmap(Format format, const Size& size, size_t pitch, RGBA32* data)
|
||||
: m_size(size)
|
||||
, m_data(data)
|
||||
, m_pitch(round_up_to_power_of_two(size.width() * sizeof(RGBA32), 16))
|
||||
, m_pitch(pitch)
|
||||
, m_format(format)
|
||||
{
|
||||
ASSERT(format != Format::Indexed8);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue