统一 Image 和 Sprite 语义到目前的 Image/Sprite 结构体而非之前的类定义
This commit is contained in:
@@ -78,11 +78,12 @@ namespace
|
||||
Core::DrawContext ctx(2, 1);
|
||||
ctx.clear_color(RenderData::Color(0, 0, 255, 255));
|
||||
|
||||
RenderData::Image sprite(
|
||||
RenderData::Image image(
|
||||
sprite_pixels,
|
||||
2,
|
||||
1,
|
||||
RenderData::PixelFormat::RGBA5551);
|
||||
RenderData::Sprite sprite(&image, 0, 0, image.width, image.height);
|
||||
ctx.draw_sprite(0, 0, sprite);
|
||||
|
||||
CaptureDisplay display;
|
||||
@@ -95,6 +96,29 @@ namespace
|
||||
assert(pixels[1] == 0x07E0u);
|
||||
}
|
||||
|
||||
void TestDrawSpriteUsesAtlasSubrect()
|
||||
{
|
||||
const uint16_t atlas_pixels[] = {
|
||||
0xF801u,
|
||||
0x07C1u
|
||||
};
|
||||
|
||||
RenderData::Image atlas(
|
||||
atlas_pixels,
|
||||
2,
|
||||
1,
|
||||
RenderData::PixelFormat::RGBA5551);
|
||||
RenderData::Sprite sprite(&atlas, 1, 0, 1, 1);
|
||||
|
||||
Core::DrawContext ctx(1, 1);
|
||||
ctx.clear_color(RenderData::Color::Blue());
|
||||
ctx.draw_sprite(0, 0, sprite);
|
||||
|
||||
CaptureDisplay display;
|
||||
const Core::FramePixel* pixels = PresentPixels(ctx, display);
|
||||
assert(pixels[0] == 0x07E0u);
|
||||
}
|
||||
|
||||
void TestSpriteAssetLoaderRoundTripsRgba5551()
|
||||
{
|
||||
const std::string path = "render_pipeline_test.sprite";
|
||||
@@ -216,6 +240,7 @@ int main()
|
||||
TestFrameBufferStoresRgb565();
|
||||
TestImageDefaultsToRgba5551AndReturnsRawPixels();
|
||||
TestDrawSpriteUsesOneBitAlpha();
|
||||
TestDrawSpriteUsesAtlasSubrect();
|
||||
TestSpriteAssetLoaderRoundTripsRgba5551();
|
||||
TestDrawTextUsesBitMaskAndColor();
|
||||
TestDrawTextColorChangesPerCallAndBackgroundFill();
|
||||
|
||||
Reference in New Issue
Block a user