feat: primitive styling
This commit is contained in:
@@ -103,27 +103,29 @@ func TestGGDrawerResetClipClearsClip(t *testing.T) {
|
||||
require.True(t, pixelHasAlpha(dc.Image(), 15, 16))
|
||||
}
|
||||
|
||||
func TestGGDrawerClearRect_ClearsPixels(t *testing.T) {
|
||||
func TestGGDrawerClearRectTo_FillsBackground(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
dc := gg.NewContext(10, 10)
|
||||
dr := &GGDrawer{DC: dc}
|
||||
|
||||
// Draw something everywhere.
|
||||
// Draw something to ensure we overwrite non-background.
|
||||
dr.SetFillColor(color.RGBA{R: 255, A: 255})
|
||||
dr.ClipRect(0, 0, 10, 10)
|
||||
dr.AddCircle(5, 5, 5)
|
||||
dr.Fill()
|
||||
dr.ResetClip()
|
||||
|
||||
// Clear a 2x2 rect at (1,1)
|
||||
dr.ClearRect(1, 1, 2, 2)
|
||||
bg := color.RGBA{A: 255} // black
|
||||
dr.ClearRectTo(1, 1, 2, 2, bg)
|
||||
|
||||
img := dc.Image()
|
||||
_, _, _, a := img.At(1, 1).RGBA()
|
||||
require.Equal(t, uint32(0), a)
|
||||
r, g, b, a := img.At(1, 1).RGBA()
|
||||
|
||||
// Pixel outside should remain non-zero alpha.
|
||||
require.Equal(t, uint32(0), r)
|
||||
require.Equal(t, uint32(0), g)
|
||||
require.Equal(t, uint32(0), b)
|
||||
require.Equal(t, uint32(0xffff), a)
|
||||
|
||||
// Pixel outside cleared rect should still have non-zero alpha.
|
||||
_, _, _, a2 := img.At(5, 5).RGBA()
|
||||
require.NotEqual(t, uint32(0), a2)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user