-
Notifications
You must be signed in to change notification settings - Fork 0
/
basicpaintundermode.lua
60 lines (39 loc) · 1.3 KB
/
basicpaintundermode.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
--in this mode, we clean the back buffer,
-- and paint to it
-- display of paint mode also displays back buffer
-- on pen up back buffer is merged with normal cvs
--draws a line from last blit x last blit y to current coords
function basicPaintUnderBlitBrushLineRemember(x,y)
print("basic paint under blit line x,y "..x.." "..y)
love.graphics.setCanvas(backBufferCvs)
love.graphics.draw(mybrush,x,y)
love.graphics.setCanvas() -- without this black layer, wouhou
lastblitx=x
lastblity=y
dirtycvs=true
end
function commitBasicPaintUnder()
print('commitBasicPaintUnder()')
--blit cvs on top of backbuffercvs
love.graphics.setCanvas(backBufferCvs)
love.graphics.draw(cvs)
love.graphics.setCanvas()
--invert buffers
local tmp = cvs
cvs=backBufferCvs
backBufferCvs=tmp
--clear new backbuffercvs
love.graphics.setCanvas(backBufferCvs)
love.graphics.clear(1.,1.,1.,0.)
love.graphics.setCanvas()
end
function initBasicPaintUnderBlitMode()
--this flag is used to see if this paint mode is enabled
basicPaintUnderMode=true
love.graphics.setCanvas(backBufferCvs )
love.graphics.clear(1.,1.,1.,0.)
love.graphics.setCanvas()
blitBrushLineRemember=basicPaintUnderBlitBrushLineRemember
backBufferRender=true
penUpPaintModeCb=commitBasicPaintUnder
end