mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 08:37:45 +00:00
LibGfx: Give GlyphBitmap its rows data as Bytes
Instead of giving it a raw pointer to the start of the font's rows data and an offset, give it the Bytes for its rows only.
This commit is contained in:
parent
a3b91378df
commit
f6c40abdb1
2 changed files with 7 additions and 7 deletions
|
@ -260,8 +260,9 @@ Glyph BitmapFont::glyph(u32 code_point) const
|
||||||
// character, fall back to painting '?' if necessary.
|
// character, fall back to painting '?' if necessary.
|
||||||
auto index = glyph_index(code_point).value_or('?');
|
auto index = glyph_index(code_point).value_or('?');
|
||||||
auto width = m_glyph_widths[index];
|
auto width = m_glyph_widths[index];
|
||||||
|
auto glyph_byte_count = m_glyph_height * GlyphBitmap::bytes_per_row();
|
||||||
return Glyph(
|
return Glyph(
|
||||||
GlyphBitmap(m_rows.data(), index * m_glyph_height, { width, m_glyph_height }),
|
GlyphBitmap(m_rows.slice(index * glyph_byte_count, glyph_byte_count), { width, m_glyph_height }),
|
||||||
0,
|
0,
|
||||||
width,
|
width,
|
||||||
m_glyph_height);
|
m_glyph_height);
|
||||||
|
@ -270,8 +271,9 @@ Glyph BitmapFont::glyph(u32 code_point) const
|
||||||
Glyph BitmapFont::raw_glyph(u32 code_point) const
|
Glyph BitmapFont::raw_glyph(u32 code_point) const
|
||||||
{
|
{
|
||||||
auto width = m_glyph_widths[code_point];
|
auto width = m_glyph_widths[code_point];
|
||||||
|
auto glyph_byte_count = m_glyph_height * GlyphBitmap::bytes_per_row();
|
||||||
return Glyph(
|
return Glyph(
|
||||||
GlyphBitmap(m_rows.data(), code_point * m_glyph_height, { width, m_glyph_height }),
|
GlyphBitmap(m_rows.slice(code_point * glyph_byte_count, glyph_byte_count), { width, m_glyph_height }),
|
||||||
0,
|
0,
|
||||||
width,
|
width,
|
||||||
m_glyph_height);
|
m_glyph_height);
|
||||||
|
|
|
@ -23,9 +23,8 @@ namespace Gfx {
|
||||||
class GlyphBitmap {
|
class GlyphBitmap {
|
||||||
public:
|
public:
|
||||||
GlyphBitmap() = default;
|
GlyphBitmap() = default;
|
||||||
GlyphBitmap(u8 const* rows, size_t start_index, IntSize size)
|
GlyphBitmap(Bytes rows, IntSize size)
|
||||||
: m_rows(rows)
|
: m_rows(rows)
|
||||||
, m_start_index(start_index)
|
|
||||||
, m_size(size)
|
, m_size(size)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -46,11 +45,10 @@ public:
|
||||||
private:
|
private:
|
||||||
AK::Bitmap bitmap(size_t y) const
|
AK::Bitmap bitmap(size_t y) const
|
||||||
{
|
{
|
||||||
return { const_cast<u8*>(m_rows) + bytes_per_row() * (m_start_index + y), bytes_per_row() * 8 };
|
return { const_cast<u8*>(m_rows.offset_pointer(bytes_per_row() * y)), bytes_per_row() * 8 };
|
||||||
}
|
}
|
||||||
|
|
||||||
u8 const* m_rows { nullptr };
|
Bytes m_rows;
|
||||||
size_t m_start_index { 0 };
|
|
||||||
IntSize m_size { 0, 0 };
|
IntSize m_size { 0, 0 };
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue