Surface.sel
#!./Selene
Selene.UseDRMCairo()
card,err,msg = SelDCCard.Open()
if not card then
print("*E*", err,msg)
os.exit()
end
local srf = card:GetPrimarySurface()
local w,h = srf:GetSize() srf:Clear( 0,0,0 )
local ossrf = SelDCSurface.create( 100,100 ) ossrf:Clear( 0,0,0,0 )
math.randomseed( os.time() )
ossrf:SetColor( 1, 0.5, 0.5 )
ossrf:DrawArc( 50, 50, 30, 0, 2*math.pi )
ossrf:SetColor( 0, 0, 1 )
ossrf:DrawArc( 50, 50, 35, 0, math.pi/2 ) ossrf:SetColor( 0, 1, 0 )
ossrf:DrawArc( 50, 50, 40, math.pi/2, math.pi ) ossrf:SetColor( 0, 1, 1 )
ossrf:DrawArc( 50, 50, 45, math.pi, 3*math.pi/2 ) ossrf:SetColor( 1, 0, 0 )
ossrf:DrawArc( 50, 50, 50, 3*math.pi/2, 2*math.pi )
ossrf:FillArc( 50, 50, 15, 0, math.pi/2 )
ossrf:SetColor( 1, 1, 0, 0.5 )
ossrf:FillArc( 50, 50, 15, math.random()*2*math.pi, math.random()*2*math.pi )
for i = 1,15 do srf:Blit(ossrf, math.random(w), math.random(h))
end
ossrf:Release()
fch,err,msg = srf:Dump("/tmp","Surface")
if not fch then print("Can't dump", err,msg);
else
print("Dumped to", fch);
end
print "Hit 'enter' key to exit"
io.stdin:read'*l'
srf:Release()
card:Release()