49 lines
		
	
	
		
			725 B
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			725 B
		
	
	
	
		
			Lua
		
	
	
	
	
	
| -- Symbol name
 | |
| local names =
 | |
| {
 | |
| 	en = "Lamp",
 | |
| 	cs = "Světelný zdroj",
 | |
| 	sk = "Svetelný zdroj",
 | |
| 	pl = "Źródło światła",
 | |
| 	de = "Lampe"
 | |
| }
 | |
| 
 | |
| -- Render area in base units (X1, Y1, X2, Y2)
 | |
| local area = {-2, -1, 2, 1}
 | |
| 
 | |
| -- Terminal points
 | |
| local terminals = {{-2, 0}, {2, 0}}
 | |
| 
 | |
| -- Rendering
 | |
| local render = function (cr)
 | |
| 	-- The circle
 | |
| 	cr:save ()
 | |
| 
 | |
| 	cr:arc (0, 0, 1, 0, 2 * math.pi)
 | |
| 	cr:stroke_preserve ()
 | |
| 	cr:clip ()
 | |
| 
 | |
| 	cr:move_to (-1, -1)
 | |
| 	cr:line_to (1, 1)
 | |
| 
 | |
| 	cr:move_to (1, -1)
 | |
| 	cr:line_to (-1, 1)
 | |
| 
 | |
| 	cr:stroke ()
 | |
| 	cr:restore ()
 | |
| 
 | |
| 	-- The terminals
 | |
| 	cr:move_to (-2, 0)
 | |
| 	cr:line_to (-1, 0)
 | |
| 
 | |
| 	cr:move_to (1, 0)
 | |
| 	cr:line_to (2, 0)
 | |
| 
 | |
| 	cr:stroke ()
 | |
| end
 | |
| 
 | |
| -- Register the symbol
 | |
| logdiag.register ("Lamp", names, area, terminals, render)
 | |
| 
 | |
| 
 |