mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-09-20 09:49:15 +03:00
WindowServer: New API for Scaled Blit
This commit is contained in:
parent
90d924a97c
commit
908d9458c7
Notes:
sideshowbarker
2024-07-19 13:43:14 +09:00
Author: https://github.com/alexispurslane Commit: https://github.com/SerenityOS/serenity/commit/908d9458c74 Pull-request: https://github.com/SerenityOS/serenity/pull/200 Reviewed-by: https://github.com/awesomekling
@ -1,5 +1,5 @@
|
||||
[Screen]
|
||||
Width=1080
|
||||
Width=1024
|
||||
Height=768
|
||||
|
||||
[Cursor]
|
||||
@ -36,4 +36,4 @@ MenuSelectionColor=132,53,26
|
||||
DoubleClickSpeed=250
|
||||
|
||||
[Background]
|
||||
Mode=center
|
||||
Mode=scaled
|
||||
|
@ -107,7 +107,7 @@ void WSCompositor::compose()
|
||||
float hscale = (float)m_wallpaper->size().width() / (float)ws.size().width();
|
||||
float vscale = (float)m_wallpaper->size().height() / (float)ws.size().height();
|
||||
|
||||
m_back_painter->blit_scaled(dirty_rect.location(), *m_wallpaper, dirty_rect, hscale, vscale);
|
||||
m_back_painter->blit_scaled(dirty_rect, *m_wallpaper, dirty_rect, hscale, vscale);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -204,9 +204,9 @@ void Painter::draw_bitmap(const Point& p, const GlyphBitmap& bitmap, Color color
|
||||
}
|
||||
}
|
||||
|
||||
void Painter::blit_scaled(const Point& position, const GraphicsBitmap& source, const Rect& src_rect, float hscale, float vscale)
|
||||
void Painter::blit_scaled(const Rect& dst_rect_raw, const GraphicsBitmap& source, const Rect& src_rect, float hscale, float vscale)
|
||||
{
|
||||
auto dst_rect = Rect(position, src_rect.size()).translated(translation());
|
||||
auto dst_rect = Rect(dst_rect_raw.location(), dst_rect_raw.size()).translated(translation());
|
||||
auto clipped_rect = dst_rect.intersected(clip_rect());
|
||||
if (clipped_rect.is_empty())
|
||||
return;
|
||||
|
@ -29,7 +29,7 @@ public:
|
||||
void blit_dimmed(const Point&, const GraphicsBitmap&, const Rect& src_rect);
|
||||
void blit_tiled(const Point&, const GraphicsBitmap&, const Rect& src_rect);
|
||||
void blit_offset(const Point&, const GraphicsBitmap&, const Rect& src_rect, const Point&);
|
||||
void blit_scaled(const Point&, const GraphicsBitmap&, const Rect&, float, float);
|
||||
void blit_scaled(const Rect&, const GraphicsBitmap&, const Rect&, float, float);
|
||||
void draw_text(const Rect&, const StringView&, const Font&, TextAlignment = TextAlignment::TopLeft, Color = Color::Black, TextElision = TextElision::None);
|
||||
void draw_text(const Rect&, const StringView&, TextAlignment = TextAlignment::TopLeft, Color = Color::Black, TextElision = TextElision::None);
|
||||
void draw_glyph(const Point&, char, Color);
|
||||
|
Loading…
Reference in New Issue
Block a user