Updating documentation and examples with new core namespaces
[shapes.git] / examples / doc / clip-text.shape
blob2df5cec9281ec6e46fd3210c29c467910a96bcb5
1 /** This file is part of Shapes.
2  **
3  ** Shapes is free software: you can redistribute it and/or modify
4  ** it under the terms of the GNU General Public License as published by
5  ** the Free Software Foundation, either version 3 of the License, or
6  ** any later version.
7  **
8  ** Shapes is distributed in the hope that it will be useful,
9  ** but WITHOUT ANY WARRANTY; without even the implied warranty of
10  ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11  ** GNU General Public License for more details.
12  **
13  ** You should have received a copy of the GNU General Public License
14  ** along with Shapes.  If not, see <http://www.gnu.org/licenses/>.
15  **
16  ** Copyright 2009, 2014 Henrik Tidefelt
17  **/
19 ##lookin ..Shapes
21 /** Color definitions borrowed from logo.shape. **/
22 shapes_gray: [gray 0.94]
23 shapes_yellow: [rgb 1 0.7 0]
24 shapes_blue: [rgb 0.3 0.6 1]
26 Text..@size:20mm
29   content: @stroking:shapes_yellow & @width:2bp
30            |
31            [[Data..range 2mm Text..@size-10mm 2mm].foldl
32             \ p e → p & [Graphics..stroke (1cm,e)--(6cm,e)]
33             null]
35   IO..•page << [Graphics..clip content
36                  @nonstroking:shapes_gray & @stroking:shapes_blue & Text..@rendering:[textmode] | ( Text..newText << [kern `Shapes´] )]
37            >> [shift (0cm,0*Text..@size)]
38   IO..•page << [Graphics..clip content
39                  @nonstroking:shapes_gray & @stroking:shapes_blue & Text..@rendering:[textmode fill:true] | ( Text..newText << [kern `Shapes´] )]
40            >> [shift (0cm,~1*Text..@size)]
41   IO..•page << [Graphics..clip content
42                  @nonstroking:shapes_gray & @stroking:shapes_blue & Text..@rendering:[textmode stroke:true] | ( Text..newText << [kern `Shapes´] )]
43            >> [shift (0cm,~2*Text..@size)]
44   IO..•page << [Graphics..clip content
45                  @nonstroking:shapes_gray & @stroking:shapes_blue & Text..@rendering:[textmode fill:true stroke:true] | ( Text..newText << [kern `Shapes´] )]
46            >> [shift (0cm,~3*Text..@size)]