rubypost 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
data/README CHANGED
@@ -1,12 +1,16 @@
1
- #RubyPost 0.0.1 README
1
+ #RubyPost 0.0.3 README
2
2
 
3
3
  Run
4
4
 
5
5
  rake
6
6
 
7
7
  to build the gem, then install the gem into your ruby installation.
8
- This is a very early version, it's likely to undergo some significant
9
- modifications. Currently working is the graphing part
8
+
9
+ This version of rubypost implements most of the basic metapost features. See the test files for usage examples.
10
+
11
+ Todo: This is an incomplete list, but it's some stuff that should be added.
12
+ - add curl, tension and dir options to paths
13
+ - add clipping for pictures
10
14
 
11
15
 
12
16
 
data/doc/created.rid CHANGED
@@ -1 +1 @@
1
- Sun, 27 Jan 2008 16:15:33 +1000
1
+ Mon, 11 Feb 2008 09:06:21 +1000
@@ -27,6 +27,7 @@
27
27
  <a href="classes/RubyPost/AutoGrid.html">RubyPost::AutoGrid</a><br />
28
28
  <a href="classes/RubyPost/BaseDrawCommand.html">RubyPost::BaseDrawCommand</a><br />
29
29
  <a href="classes/RubyPost/BaseGraphData.html">RubyPost::BaseGraphData</a><br />
30
+ <a href="classes/RubyPost/BaseLabel.html">RubyPost::BaseLabel</a><br />
30
31
  <a href="classes/RubyPost/Circle.html">RubyPost::Circle</a><br />
31
32
  <a href="classes/RubyPost/Color.html">RubyPost::Color</a><br />
32
33
  <a href="classes/RubyPost/Colour.html">RubyPost::Colour</a><br />
@@ -35,6 +36,7 @@
35
36
  <a href="classes/RubyPost/CustomOption.html">RubyPost::CustomOption</a><br />
36
37
  <a href="classes/RubyPost/Dashed.html">RubyPost::Dashed</a><br />
37
38
  <a href="classes/RubyPost/DblArrow.html">RubyPost::DblArrow</a><br />
39
+ <a href="classes/RubyPost/DotLabel.html">RubyPost::DotLabel</a><br />
38
40
  <a href="classes/RubyPost/DoubleArrow.html">RubyPost::DoubleArrow</a><br />
39
41
  <a href="classes/RubyPost/Draw.html">RubyPost::Draw</a><br />
40
42
  <a href="classes/RubyPost/Drawable.html">RubyPost::Drawable</a><br />
@@ -48,6 +50,7 @@
48
50
  <a href="classes/RubyPost/GraphLabel.html">RubyPost::GraphLabel</a><br />
49
51
  <a href="classes/RubyPost/GraphOption.html">RubyPost::GraphOption</a><br />
50
52
  <a href="classes/RubyPost/GraphTitle.html">RubyPost::GraphTitle</a><br />
53
+ <a href="classes/RubyPost/Label.html">RubyPost::Label</a><br />
51
54
  <a href="classes/RubyPost/Macros.html">RubyPost::Macros</a><br />
52
55
  <a href="classes/RubyPost/Object.html">RubyPost::Object</a><br />
53
56
  <a href="classes/RubyPost/Option.html">RubyPost::Option</a><br />
@@ -24,6 +24,7 @@
24
24
  <a href="files/lib/draw_rb.html">lib/draw.rb</a><br />
25
25
  <a href="files/lib/drawable_rb.html">lib/drawable.rb</a><br />
26
26
  <a href="files/lib/graph_rb.html">lib/graph.rb</a><br />
27
+ <a href="files/lib/label_rb.html">lib/label.rb</a><br />
27
28
  <a href="files/lib/objects_rb.html">lib/objects.rb</a><br />
28
29
  <a href="files/lib/options_rb.html">lib/options.rb</a><br />
29
30
  <a href="files/lib/redefine_float_to_s_for_metapost_rb.html">lib/redefine_float_to_s_for_metapost.rb</a><br />
@@ -20,122 +20,151 @@
20
20
  <div id="index">
21
21
  <h1 class="section-bar">Methods</h1>
22
22
  <div id="index-entries">
23
- <a href="classes/RubyPost/Pair.html#M000080">* (RubyPost::Pair)</a><br />
24
- <a href="classes/RubyPost/Pair.html#M000078">+ (RubyPost::Pair)</a><br />
25
- <a href="classes/RubyPost/Pair.html#M000079">- (RubyPost::Pair)</a><br />
26
- <a href="classes/RubyPost/Pair.html#M000081">/ (RubyPost::Pair)</a><br />
27
- <a href="classes/RubyPost/Pair.html#M000082">== (RubyPost::Pair)</a><br />
28
- <a href="classes/RubyPost/BaseGraphData.html#M000020">add_coords (RubyPost::BaseGraphData)</a><br />
29
- <a href="classes/RubyPost/Graph.html#M000067">add_data (RubyPost::Graph)</a><br />
30
- <a href="classes/RubyPost/Figure.html#M000074">add_drawable (RubyPost::Figure)</a><br />
31
- <a href="classes/RubyPost/Picture.html#M000032">add_drawable (RubyPost::Picture)</a><br />
32
- <a href="classes/RubyPost/File.html#M000108">add_figure (RubyPost::File)</a><br />
33
- <a href="classes/RubyPost/Graph.html#M000069">add_graph_option (RubyPost::Graph)</a><br />
34
- <a href="classes/RubyPost/BaseGraphData.html#M000018">add_grid (RubyPost::BaseGraphData)</a><br />
23
+ <a href="classes/RubyPost/Pair.html#M000108">* (RubyPost::Pair)</a><br />
24
+ <a href="classes/RubyPost/Pair.html#M000106">+ (RubyPost::Pair)</a><br />
25
+ <a href="classes/RubyPost/Pair.html#M000107">- (RubyPost::Pair)</a><br />
26
+ <a href="classes/RubyPost/Pair.html#M000109">/ (RubyPost::Pair)</a><br />
27
+ <a href="classes/RubyPost/Pair.html#M000110">== (RubyPost::Pair)</a><br />
28
+ <a href="classes/RubyPost/BaseGraphData.html#M000021">add_coords (RubyPost::BaseGraphData)</a><br />
29
+ <a href="classes/RubyPost/Graph.html#M000095">add_data (RubyPost::Graph)</a><br />
30
+ <a href="classes/RubyPost/Figure.html#M000102">add_drawable (RubyPost::Figure)</a><br />
31
+ <a href="classes/RubyPost/Picture.html#M000034">add_drawable (RubyPost::Picture)</a><br />
32
+ <a href="classes/RubyPost/File.html#M000136">add_figure (RubyPost::File)</a><br />
33
+ <a href="classes/RubyPost/Graph.html#M000097">add_graph_option (RubyPost::Graph)</a><br />
34
+ <a href="classes/RubyPost/BaseGraphData.html#M000019">add_grid (RubyPost::BaseGraphData)</a><br />
35
35
  <a href="classes/RubyPost/Macros.html#M000010">add_input (RubyPost::Macros)</a><br />
36
- <a href="classes/RubyPost/BaseDrawCommand.html#M000050">add_option (RubyPost::BaseDrawCommand)</a><br />
37
- <a href="classes/RubyPost/Path.html#M000092">add_pair (RubyPost::Path)</a><br />
38
- <a href="classes/RubyPost/PicturePrecompiler.html#M000045">add_picture (RubyPost::PicturePrecompiler)</a><br />
39
- <a href="classes/RubyPost/BaseGraphData.html#M000016">add_post_command (RubyPost::BaseGraphData)</a><br />
40
- <a href="classes/RubyPost/BaseGraphData.html#M000015">add_pre_command (RubyPost::BaseGraphData)</a><br />
41
- <a href="classes/RubyPost/BaseGraphData.html#M000019">add_range (RubyPost::BaseGraphData)</a><br />
36
+ <a href="classes/RubyPost/BaseGraphData.html#M000022">add_label (RubyPost::BaseGraphData)</a><br />
37
+ <a href="classes/RubyPost/BaseLabel.html#M000044">add_option (RubyPost::BaseLabel)</a><br />
38
+ <a href="classes/RubyPost/BaseDrawCommand.html#M000078">add_option (RubyPost::BaseDrawCommand)</a><br />
39
+ <a href="classes/RubyPost/Path.html#M000120">add_pair (RubyPost::Path)</a><br />
40
+ <a href="classes/RubyPost/PicturePrecompiler.html#M000073">add_picture (RubyPost::PicturePrecompiler)</a><br />
41
+ <a href="classes/RubyPost/BaseGraphData.html#M000017">add_post_command (RubyPost::BaseGraphData)</a><br />
42
+ <a href="classes/RubyPost/BaseGraphData.html#M000016">add_pre_command (RubyPost::BaseGraphData)</a><br />
43
+ <a href="classes/RubyPost/BaseGraphData.html#M000020">add_range (RubyPost::BaseGraphData)</a><br />
44
+ <a href="classes/RubyPost/BaseLabel.html#M000054">bot (RubyPost::BaseLabel)</a><br />
45
+ <a href="classes/RubyPost/BaseLabel.html#M000053">bottom (RubyPost::BaseLabel)</a><br />
46
+ <a href="classes/RubyPost/BaseLabel.html#M000062">bottom_left (RubyPost::BaseLabel)</a><br />
47
+ <a href="classes/RubyPost/BaseLabel.html#M000066">bottom_right (RubyPost::BaseLabel)</a><br />
42
48
  <a href="classes/Numeric.html#M000005">bp (Numeric)</a><br />
43
- <a href="classes/RubyPost/Path.html#M000093">center (RubyPost::Path)</a><br />
44
- <a href="classes/RubyPost/Path.html#M000098">clone (RubyPost::Path)</a><br />
49
+ <a href="classes/RubyPost/Path.html#M000121">center (RubyPost::Path)</a><br />
50
+ <a href="classes/RubyPost/Path.html#M000126">clone (RubyPost::Path)</a><br />
45
51
  <a href="classes/Numeric.html#M000003">cm (Numeric)</a><br />
46
- <a href="classes/RubyPost/BaseDrawCommand.html#M000054">color (RubyPost::BaseDrawCommand)</a><br />
47
- <a href="classes/RubyPost/BaseDrawCommand.html#M000053">colour (RubyPost::BaseDrawCommand)</a><br />
48
- <a href="classes/RubyPost/DoubleArrow.html#M000037">compile (RubyPost::DoubleArrow)</a><br />
49
- <a href="classes/RubyPost/Fill.html#M000072">compile (RubyPost::Fill)</a><br />
50
- <a href="classes/RubyPost/Graph.html#M000071">compile (RubyPost::Graph)</a><br />
51
- <a href="classes/RubyPost/XLabel.html#M000115">compile (RubyPost::XLabel)</a><br />
52
- <a href="classes/RubyPost/Scale.html#M000101">compile (RubyPost::Scale)</a><br />
53
- <a href="classes/RubyPost/Figure.html#M000075">compile (RubyPost::Figure)</a><br />
54
- <a href="classes/RubyPost/Coords.html#M000030">compile (RubyPost::Coords)</a><br />
55
- <a href="classes/RubyPost/GraphTitle.html#M000114">compile (RubyPost::GraphTitle)</a><br />
56
- <a href="classes/RubyPost/Picture.html#M000034">compile (RubyPost::Picture)</a><br />
57
- <a href="classes/RubyPost/Circle.html#M000090">compile (RubyPost::Circle)</a><br />
58
- <a href="classes/RubyPost/GraphData.html#M000036">compile (RubyPost::GraphData)</a><br />
59
- <a href="classes/RubyPost/Colour.html#M000024">compile (RubyPost::Colour)</a><br />
60
- <a href="classes/RubyPost/YLabel.html#M000088">compile (RubyPost::YLabel)</a><br />
61
- <a href="classes/RubyPost/Pen.html#M000039">compile (RubyPost::Pen)</a><br />
62
- <a href="classes/RubyPost/Object.html#M000087">compile (RubyPost::Object)</a><br />
63
- <a href="classes/RubyPost/AutoGrid.html#M000041">compile (RubyPost::AutoGrid)</a><br />
64
- <a href="classes/RubyPost/Rotate.html#M000086">compile (RubyPost::Rotate)</a><br />
65
- <a href="classes/RubyPost/GraphFile.html#M000043">compile (RubyPost::GraphFile)</a><br />
66
- <a href="classes/RubyPost/Dashed.html#M000106">compile (RubyPost::Dashed)</a><br />
67
- <a href="classes/RubyPost/Pair.html#M000077">compile (RubyPost::Pair)</a><br />
68
- <a href="classes/RubyPost/PicturePrecompiler.html#M000046">compile (RubyPost::PicturePrecompiler)</a><br />
69
- <a href="classes/RubyPost/Draw.html#M000083">compile (RubyPost::Draw)</a><br />
70
- <a href="classes/RubyPost/CustomDrawable.html#M000048">compile (RubyPost::CustomDrawable)</a><br />
71
- <a href="classes/RubyPost/Translate.html#M000065">compile (RubyPost::Translate)</a><br />
72
- <a href="classes/RubyPost/Plot.html#M000060">compile (RubyPost::Plot)</a><br />
73
- <a href="classes/RubyPost/File.html#M000111">compile (RubyPost::File)</a><br />
74
- <a href="classes/RubyPost/CustomOption.html#M000063">compile (RubyPost::CustomOption)</a><br />
75
- <a href="classes/RubyPost/Range.html#M000013">compile (RubyPost::Range)</a><br />
52
+ <a href="classes/RubyPost/BaseDrawCommand.html#M000082">color (RubyPost::BaseDrawCommand)</a><br />
53
+ <a href="classes/RubyPost/BaseLabel.html#M000049">color (RubyPost::BaseLabel)</a><br />
54
+ <a href="classes/RubyPost/BaseLabel.html#M000048">colour (RubyPost::BaseLabel)</a><br />
55
+ <a href="classes/RubyPost/BaseDrawCommand.html#M000081">colour (RubyPost::BaseDrawCommand)</a><br />
56
+ <a href="classes/RubyPost/Graph.html#M000099">compile (RubyPost::Graph)</a><br />
57
+ <a href="classes/RubyPost/Coords.html#M000032">compile (RubyPost::Coords)</a><br />
58
+ <a href="classes/RubyPost/Picture.html#M000036">compile (RubyPost::Picture)</a><br />
59
+ <a href="classes/RubyPost/Label.html#M000037">compile (RubyPost::Label)</a><br />
60
+ <a href="classes/RubyPost/Rotate.html#M000114">compile (RubyPost::Rotate)</a><br />
61
+ <a href="classes/RubyPost/GraphData.html#M000039">compile (RubyPost::GraphData)</a><br />
62
+ <a href="classes/RubyPost/DoubleArrow.html#M000040">compile (RubyPost::DoubleArrow)</a><br />
63
+ <a href="classes/RubyPost/Object.html#M000115">compile (RubyPost::Object)</a><br />
64
+ <a href="classes/RubyPost/Pen.html#M000042">compile (RubyPost::Pen)</a><br />
65
+ <a href="classes/RubyPost/YLabel.html#M000116">compile (RubyPost::YLabel)</a><br />
66
+ <a href="classes/RubyPost/Circle.html#M000118">compile (RubyPost::Circle)</a><br />
67
+ <a href="classes/RubyPost/Colour.html#M000026">compile (RubyPost::Colour)</a><br />
68
+ <a href="classes/RubyPost/Pair.html#M000105">compile (RubyPost::Pair)</a><br />
69
+ <a href="classes/RubyPost/Figure.html#M000103">compile (RubyPost::Figure)</a><br />
70
+ <a href="classes/RubyPost/Path.html#M000125">compile (RubyPost::Path)</a><br />
71
+ <a href="classes/RubyPost/Arrow.html#M000127">compile (RubyPost::Arrow)</a><br />
72
+ <a href="classes/RubyPost/Scale.html#M000129">compile (RubyPost::Scale)</a><br />
73
+ <a href="classes/RubyPost/Fill.html#M000100">compile (RubyPost::Fill)</a><br />
74
+ <a href="classes/RubyPost/Draw.html#M000111">compile (RubyPost::Draw)</a><br />
75
+ <a href="classes/RubyPost/Range.html#M000014">compile (RubyPost::Range)</a><br />
76
+ <a href="classes/RubyPost/Dashed.html#M000134">compile (RubyPost::Dashed)</a><br />
77
+ <a href="classes/RubyPost/DotLabel.html#M000012">compile (RubyPost::DotLabel)</a><br />
76
78
  <a href="classes/RubyPost/Macros.html#M000011">compile (RubyPost::Macros)</a><br />
77
- <a href="classes/Numeric.html#M000006">compile (Numeric)</a><br />
79
+ <a href="classes/RubyPost/Translate.html#M000093">compile (RubyPost::Translate)</a><br />
80
+ <a href="classes/RubyPost/CustomOption.html#M000091">compile (RubyPost::CustomOption)</a><br />
81
+ <a href="classes/RubyPost/Plot.html#M000088">compile (RubyPost::Plot)</a><br />
82
+ <a href="classes/RubyPost/YLabelRight.html#M000086">compile (RubyPost::YLabelRight)</a><br />
83
+ <a href="classes/RubyPost/File.html#M000139">compile (RubyPost::File)</a><br />
78
84
  <a href="classes/String.html#M000007">compile (String)</a><br />
79
- <a href="classes/RubyPost/Arrow.html#M000099">compile (RubyPost::Arrow)</a><br />
80
- <a href="classes/RubyPost/YLabelRight.html#M000058">compile (RubyPost::YLabelRight)</a><br />
81
- <a href="classes/RubyPost/Path.html#M000097">compile (RubyPost::Path)</a><br />
82
- <a href="classes/RubyPost/Graph.html#M000070">compile_options (RubyPost::Graph)</a><br />
83
- <a href="classes/RubyPost/BaseDrawCommand.html#M000052">compile_options (RubyPost::BaseDrawCommand)</a><br />
84
- <a href="classes/RubyPost/BaseGraphData.html#M000021">compile_post_commands (RubyPost::BaseGraphData)</a><br />
85
- <a href="classes/RubyPost/BaseGraphData.html#M000017">compile_pre_commands (RubyPost::BaseGraphData)</a><br />
86
- <a href="classes/RubyPost/File.html#M000110">compile_to_file (RubyPost::File)</a><br />
87
- <a href="classes/RubyPost/File.html#M000109">compile_to_string (RubyPost::File)</a><br />
88
- <a href="classes/RubyPost/Path.html#M000096">curved (RubyPost::Path)</a><br />
89
- <a href="classes/RubyPost/Dashed.html#M000103">evenly (RubyPost::Dashed)</a><br />
85
+ <a href="classes/Numeric.html#M000006">compile (Numeric)</a><br />
86
+ <a href="classes/RubyPost/GraphTitle.html#M000142">compile (RubyPost::GraphTitle)</a><br />
87
+ <a href="classes/RubyPost/CustomDrawable.html#M000076">compile (RubyPost::CustomDrawable)</a><br />
88
+ <a href="classes/RubyPost/XLabel.html#M000143">compile (RubyPost::XLabel)</a><br />
89
+ <a href="classes/RubyPost/PicturePrecompiler.html#M000074">compile (RubyPost::PicturePrecompiler)</a><br />
90
+ <a href="classes/RubyPost/GraphFile.html#M000071">compile (RubyPost::GraphFile)</a><br />
91
+ <a href="classes/RubyPost/AutoGrid.html#M000069">compile (RubyPost::AutoGrid)</a><br />
92
+ <a href="classes/RubyPost/GraphLabel.html#M000145">compile (RubyPost::GraphLabel)</a><br />
93
+ <a href="classes/RubyPost/BaseDrawCommand.html#M000080">compile_options (RubyPost::BaseDrawCommand)</a><br />
94
+ <a href="classes/RubyPost/Graph.html#M000098">compile_options (RubyPost::Graph)</a><br />
95
+ <a href="classes/RubyPost/BaseLabel.html#M000047">compile_options (RubyPost::BaseLabel)</a><br />
96
+ <a href="classes/RubyPost/BaseGraphData.html#M000023">compile_post_commands (RubyPost::BaseGraphData)</a><br />
97
+ <a href="classes/RubyPost/BaseGraphData.html#M000018">compile_pre_commands (RubyPost::BaseGraphData)</a><br />
98
+ <a href="classes/RubyPost/File.html#M000138">compile_to_file (RubyPost::File)</a><br />
99
+ <a href="classes/RubyPost/File.html#M000137">compile_to_string (RubyPost::File)</a><br />
100
+ <a href="classes/RubyPost/Path.html#M000124">curved (RubyPost::Path)</a><br />
101
+ <a href="classes/RubyPost/Dashed.html#M000131">evenly (RubyPost::Dashed)</a><br />
90
102
  <a href="classes/Numeric.html#M000004">inch (Numeric)</a><br />
91
103
  <a href="classes/RubyPost.html#M000008">latex (RubyPost)</a><br />
92
- <a href="classes/RubyPost/Coords.html#M000027">linearlinear (RubyPost::Coords)</a><br />
93
- <a href="classes/RubyPost/Coords.html#M000028">linearlog (RubyPost::Coords)</a><br />
94
- <a href="classes/RubyPost/Coords.html#M000029">loglinear (RubyPost::Coords)</a><br />
95
- <a href="classes/RubyPost/Coords.html#M000026">loglog (RubyPost::Coords)</a><br />
96
- <a href="classes/RubyPost/Figure.html#M000073">new (RubyPost::Figure)</a><br />
97
- <a href="classes/RubyPost/File.html#M000107">new (RubyPost::File)</a><br />
98
- <a href="classes/RubyPost/Pair.html#M000076">new (RubyPost::Pair)</a><br />
99
- <a href="classes/RubyPost/Graph.html#M000066">new (RubyPost::Graph)</a><br />
100
- <a href="classes/RubyPost/Translate.html#M000064">new (RubyPost::Translate)</a><br />
101
- <a href="classes/RubyPost/CustomOption.html#M000062">new (RubyPost::CustomOption)</a><br />
102
- <a href="classes/RubyPost/CustomOption.html#M000061">new (RubyPost::CustomOption)</a><br />
103
- <a href="classes/RubyPost/Plot.html#M000059">new (RubyPost::Plot)</a><br />
104
- <a href="classes/RubyPost/BaseDrawCommand.html#M000049">new (RubyPost::BaseDrawCommand)</a><br />
105
- <a href="classes/RubyPost/CustomDrawable.html#M000047">new (RubyPost::CustomDrawable)</a><br />
106
- <a href="classes/RubyPost/Rotate.html#M000084">new (RubyPost::Rotate)</a><br />
107
- <a href="classes/RubyPost/PicturePrecompiler.html#M000044">new (RubyPost::PicturePrecompiler)</a><br />
108
- <a href="classes/RubyPost/GraphFile.html#M000042">new (RubyPost::GraphFile)</a><br />
109
- <a href="classes/RubyPost/AutoGrid.html#M000040">new (RubyPost::AutoGrid)</a><br />
110
- <a href="classes/RubyPost/Pen.html#M000038">new (RubyPost::Pen)</a><br />
111
- <a href="classes/RubyPost/Circle.html#M000089">new (RubyPost::Circle)</a><br />
112
- <a href="classes/RubyPost/GraphData.html#M000035">new (RubyPost::GraphData)</a><br />
113
- <a href="classes/RubyPost/Path.html#M000091">new (RubyPost::Path)</a><br />
114
- <a href="classes/RubyPost/Picture.html#M000031">new (RubyPost::Picture)</a><br />
115
- <a href="classes/RubyPost/Coords.html#M000025">new (RubyPost::Coords)</a><br />
116
- <a href="classes/RubyPost/Colour.html#M000023">new (RubyPost::Colour)</a><br />
117
- <a href="classes/RubyPost/Dashed.html#M000102">new (RubyPost::Dashed)</a><br />
118
- <a href="classes/RubyPost/Square.html#M000022">new (RubyPost::Square)</a><br />
119
- <a href="classes/RubyPost/BaseGraphData.html#M000014">new (RubyPost::BaseGraphData)</a><br />
120
- <a href="classes/RubyPost/Range.html#M000012">new (RubyPost::Range)</a><br />
104
+ <a href="classes/RubyPost/BaseLabel.html#M000058">left (RubyPost::BaseLabel)</a><br />
105
+ <a href="classes/RubyPost/BaseLabel.html#M000059">lft (RubyPost::BaseLabel)</a><br />
106
+ <a href="classes/RubyPost/Coords.html#M000029">linearlinear (RubyPost::Coords)</a><br />
107
+ <a href="classes/RubyPost/Coords.html#M000030">linearlog (RubyPost::Coords)</a><br />
108
+ <a href="classes/RubyPost/BaseLabel.html#M000063">llft (RubyPost::BaseLabel)</a><br />
109
+ <a href="classes/RubyPost/Coords.html#M000031">loglinear (RubyPost::Coords)</a><br />
110
+ <a href="classes/RubyPost/Coords.html#M000028">loglog (RubyPost::Coords)</a><br />
111
+ <a href="classes/RubyPost/BaseLabel.html#M000067">lrt (RubyPost::BaseLabel)</a><br />
112
+ <a href="classes/RubyPost/Graph.html#M000094">new (RubyPost::Graph)</a><br />
113
+ <a href="classes/RubyPost/CustomOption.html#M000089">new (RubyPost::CustomOption)</a><br />
114
+ <a href="classes/RubyPost/Translate.html#M000092">new (RubyPost::Translate)</a><br />
115
+ <a href="classes/RubyPost/Plot.html#M000087">new (RubyPost::Plot)</a><br />
116
+ <a href="classes/RubyPost/CustomOption.html#M000090">new (RubyPost::CustomOption)</a><br />
117
+ <a href="classes/RubyPost/Dashed.html#M000130">new (RubyPost::Dashed)</a><br />
118
+ <a href="classes/RubyPost/BaseGraphData.html#M000015">new (RubyPost::BaseGraphData)</a><br />
119
+ <a href="classes/RubyPost/Scale.html#M000128">new (RubyPost::Scale)</a><br />
120
+ <a href="classes/RubyPost/Range.html#M000013">new (RubyPost::Range)</a><br />
121
+ <a href="classes/RubyPost/File.html#M000135">new (RubyPost::File)</a><br />
121
122
  <a href="classes/RubyPost/Macros.html#M000009">new (RubyPost::Macros)</a><br />
122
- <a href="classes/RubyPost/Scale.html#M000100">new (RubyPost::Scale)</a><br />
123
- <a href="classes/RubyPost/GraphLabel.html#M000116">new (RubyPost::GraphLabel)</a><br />
124
- <a href="classes/RubyPost/Picture.html#M000033">precompile (RubyPost::Picture)</a><br />
125
- <a href="classes/RubyPost/Rotate.html#M000085">radians= (RubyPost::Rotate)</a><br />
126
- <a href="classes/RubyPost/Path.html#M000094">reverse (RubyPost::Path)</a><br />
127
- <a href="classes/RubyPost/BaseDrawCommand.html#M000057">rotate (RubyPost::BaseDrawCommand)</a><br />
128
- <a href="classes/RubyPost/BaseDrawCommand.html#M000055">scale (RubyPost::BaseDrawCommand)</a><br />
129
- <a href="classes/RubyPost/BaseDrawCommand.html#M000051">set_drawable (RubyPost::BaseDrawCommand)</a><br />
130
- <a href="classes/RubyPost/Graph.html#M000068">set_size (RubyPost::Graph)</a><br />
131
- <a href="classes/RubyPost/Path.html#M000095">straight (RubyPost::Path)</a><br />
123
+ <a href="classes/RubyPost/Figure.html#M000101">new (RubyPost::Figure)</a><br />
124
+ <a href="classes/RubyPost/Square.html#M000024">new (RubyPost::Square)</a><br />
125
+ <a href="classes/RubyPost/BaseDrawCommand.html#M000077">new (RubyPost::BaseDrawCommand)</a><br />
126
+ <a href="classes/RubyPost/Pair.html#M000104">new (RubyPost::Pair)</a><br />
127
+ <a href="classes/RubyPost/GraphLabel.html#M000144">new (RubyPost::GraphLabel)</a><br />
128
+ <a href="classes/RubyPost/Colour.html#M000025">new (RubyPost::Colour)</a><br />
129
+ <a href="classes/RubyPost/BaseLabel.html#M000043">new (RubyPost::BaseLabel)</a><br />
130
+ <a href="classes/RubyPost/CustomDrawable.html#M000075">new (RubyPost::CustomDrawable)</a><br />
131
+ <a href="classes/RubyPost/GraphData.html#M000038">new (RubyPost::GraphData)</a><br />
132
+ <a href="classes/RubyPost/Coords.html#M000027">new (RubyPost::Coords)</a><br />
133
+ <a href="classes/RubyPost/Picture.html#M000033">new (RubyPost::Picture)</a><br />
134
+ <a href="classes/RubyPost/Rotate.html#M000112">new (RubyPost::Rotate)</a><br />
135
+ <a href="classes/RubyPost/Path.html#M000119">new (RubyPost::Path)</a><br />
136
+ <a href="classes/RubyPost/GraphFile.html#M000070">new (RubyPost::GraphFile)</a><br />
137
+ <a href="classes/RubyPost/AutoGrid.html#M000068">new (RubyPost::AutoGrid)</a><br />
138
+ <a href="classes/RubyPost/PicturePrecompiler.html#M000072">new (RubyPost::PicturePrecompiler)</a><br />
139
+ <a href="classes/RubyPost/Circle.html#M000117">new (RubyPost::Circle)</a><br />
140
+ <a href="classes/RubyPost/Pen.html#M000041">new (RubyPost::Pen)</a><br />
141
+ <a href="classes/RubyPost/Picture.html#M000035">precompile (RubyPost::Picture)</a><br />
142
+ <a href="classes/RubyPost/Rotate.html#M000113">radians= (RubyPost::Rotate)</a><br />
143
+ <a href="classes/RubyPost/Path.html#M000122">reverse (RubyPost::Path)</a><br />
144
+ <a href="classes/RubyPost/BaseLabel.html#M000056">right (RubyPost::BaseLabel)</a><br />
145
+ <a href="classes/RubyPost/BaseDrawCommand.html#M000085">rotate (RubyPost::BaseDrawCommand)</a><br />
146
+ <a href="classes/RubyPost/BaseLabel.html#M000052">rotate (RubyPost::BaseLabel)</a><br />
147
+ <a href="classes/RubyPost/BaseLabel.html#M000057">rt (RubyPost::BaseLabel)</a><br />
148
+ <a href="classes/RubyPost/BaseLabel.html#M000050">scale (RubyPost::BaseLabel)</a><br />
149
+ <a href="classes/RubyPost/BaseDrawCommand.html#M000083">scale (RubyPost::BaseDrawCommand)</a><br />
150
+ <a href="classes/RubyPost/BaseDrawCommand.html#M000079">set_drawable (RubyPost::BaseDrawCommand)</a><br />
151
+ <a href="classes/RubyPost/BaseLabel.html#M000046">set_position (RubyPost::BaseLabel)</a><br />
152
+ <a href="classes/RubyPost/Graph.html#M000096">set_size (RubyPost::Graph)</a><br />
153
+ <a href="classes/RubyPost/BaseLabel.html#M000045">set_text (RubyPost::BaseLabel)</a><br />
154
+ <a href="classes/RubyPost/Path.html#M000123">straight (RubyPost::Path)</a><br />
132
155
  <a href="classes/Float.html#M000002">to_s (Float)</a><br />
133
156
  <a href="classes/Float.html#M000001">to_s (Float)</a><br />
134
- <a href="classes/RubyPost/BaseDrawCommand.html#M000056">translate (RubyPost::BaseDrawCommand)</a><br />
135
- <a href="classes/RubyPost/Dashed.html#M000105">type (RubyPost::Dashed)</a><br />
136
- <a href="classes/RubyPost/File.html#M000112">view (RubyPost::File)</a><br />
137
- <a href="classes/RubyPost/File.html#M000113">view_dvi (RubyPost::File)</a><br />
138
- <a href="classes/RubyPost/Dashed.html#M000104">withdots (RubyPost::Dashed)</a><br />
157
+ <a href="classes/RubyPost/BaseLabel.html#M000055">top (RubyPost::BaseLabel)</a><br />
158
+ <a href="classes/RubyPost/BaseLabel.html#M000060">top_left (RubyPost::BaseLabel)</a><br />
159
+ <a href="classes/RubyPost/BaseLabel.html#M000064">top_right (RubyPost::BaseLabel)</a><br />
160
+ <a href="classes/RubyPost/BaseDrawCommand.html#M000084">translate (RubyPost::BaseDrawCommand)</a><br />
161
+ <a href="classes/RubyPost/BaseLabel.html#M000051">translate (RubyPost::BaseLabel)</a><br />
162
+ <a href="classes/RubyPost/Dashed.html#M000133">type (RubyPost::Dashed)</a><br />
163
+ <a href="classes/RubyPost/BaseLabel.html#M000061">ulft (RubyPost::BaseLabel)</a><br />
164
+ <a href="classes/RubyPost/BaseLabel.html#M000065">urt (RubyPost::BaseLabel)</a><br />
165
+ <a href="classes/RubyPost/File.html#M000140">view (RubyPost::File)</a><br />
166
+ <a href="classes/RubyPost/File.html#M000141">view_dvi (RubyPost::File)</a><br />
167
+ <a href="classes/RubyPost/Dashed.html#M000132">withdots (RubyPost::Dashed)</a><br />
139
168
  </div>
140
169
  </div>
141
170
  </body>
data/lib/draw.rb CHANGED
@@ -109,7 +109,4 @@ module RubyPost
109
109
  end
110
110
 
111
111
 
112
-
113
-
114
-
115
112
  end
data/lib/graph.rb CHANGED
@@ -90,6 +90,11 @@ module RubyPost
90
90
  def add_coords(coords)
91
91
  add_pre_command(coords)
92
92
  end
93
+
94
+ #add a label to this graph data
95
+ def add_label(coords)
96
+ add_post_command(coords)
97
+ end
93
98
 
94
99
  def compile_post_commands
95
100
  str = String.new
@@ -251,48 +256,55 @@ module RubyPost
251
256
  end
252
257
 
253
258
  #base class for graph labels
254
- class GraphLabel < GraphOption
255
-
256
- attr_writer :label
257
-
258
- def initialize(label=nil)
259
- @label = label
259
+ class GraphLabel < BaseLabel
260
+
261
+ def initialize(t=nil,p=0)
262
+ super(t,p)
263
+ self
260
264
  end
261
-
265
+
266
+ def compile
267
+ 'glabel.' + @place + '(' + @text.compile + ', ' + @position.compile + ') ' + compile_options + ";\n"
268
+ end
269
+
262
270
  end
263
271
 
264
272
  #place an x label on the graph
273
+ #overrides and position and place settings
265
274
  class XLabel < GraphLabel
266
275
 
267
276
  def compile
268
- 'glabel.bot(' + @label + ", OUT);\n"
277
+ 'glabel.bot(' + @text + ", OUT)" + compile_options + ";\n"
269
278
  end
270
279
 
271
280
  end
272
281
 
273
282
  #place an y label on the graph
283
+ #overrides and position and place settings
274
284
  class YLabel < GraphLabel
275
285
 
276
286
  def compile
277
- 'glabel.lft(' + @label + ", OUT);\n"
287
+ 'glabel.lft(' + @text + ", OUT)" + compile_options + ";\n"
278
288
  end
279
289
 
280
290
  end
281
291
 
282
292
  #place an y label on the right hand side of the graph
293
+ #overrides and position and place settings
283
294
  class YLabelRight < GraphLabel
284
295
 
285
296
  def compile
286
- 'glabel.rt(' + @label + ", OUT);\n"
297
+ 'glabel.rt(' + @text + ", OUT)" + compile_options + ";\n"
287
298
  end
288
299
 
289
300
  end
290
301
 
291
302
  #place a title on the top of the graph
303
+ #overrides and position and place settings
292
304
  class GraphTitle < GraphLabel
293
305
 
294
306
  def compile
295
- 'glabel.top(' + @label + ", OUT);\n"
307
+ 'glabel.top(' + @text + ", OUT)" + compile_options + ";\n"
296
308
  end
297
309
 
298
310
  end
data/lib/label.rb ADDED
@@ -0,0 +1,176 @@
1
+ module RubyPost
2
+
3
+
4
+ class BaseLabel < Object
5
+
6
+ attr_writer :text, :position
7
+
8
+ #You can set the text in the constructor.
9
+ #At the moment you must use etex/btex for the
10
+ #string to display correct. This can be achieve
11
+ #using latex("string").
12
+ def initialize(t=nil, p=nill)
13
+ @options = Array.new
14
+ @text = t
15
+ @position = p
16
+ top
17
+ self
18
+ end
19
+
20
+ def add_option(o)
21
+ @options.push(o)
22
+ self
23
+ end
24
+
25
+ #set the text for this label. You can also use BaseLabel.text=
26
+ def set_text(d)
27
+ @text = d
28
+ self
29
+ end
30
+
31
+ #set the text for this label. You can also use BaseLabel.position=
32
+ def set_position(d)
33
+ @position = d
34
+ self
35
+ end
36
+
37
+ #utility function to compile all the options
38
+ def compile_options
39
+ str = String.new
40
+ @options.each { |o| str = str + ' ' + o.compile }
41
+ return str
42
+ end
43
+
44
+ #macro for setting the colour of the draw command
45
+ def colour(r,g,b)
46
+ add_option(Colour.new(r,g,b))
47
+ self
48
+ end
49
+
50
+ #macro for setting the colour of the draw command.
51
+ #Spelt incorrectly.
52
+ def color(r,g,b)
53
+ colour(r,g,b)
54
+ end
55
+
56
+ #macro for scaling the draw command. This is the
57
+ #same as using add_option(Scale.new(s))
58
+ def scale(s)
59
+ add_option(Scale.new(s))
60
+ self
61
+ end
62
+
63
+ #macro for translating the draw command. This is the
64
+ #same as using add_option(Translate.new(x,y))
65
+ def translate(x,y)
66
+ add_option(Translate.new(Pair.new(x,y)))
67
+ self
68
+ end
69
+
70
+ #macro for rotating the draw command. This is the
71
+ #same as using add_option(Rotate.new(a))
72
+ def rotate(a)
73
+ add_option(Rotate.new(a))
74
+ self
75
+ end
76
+
77
+ #place the text bellow the position. Wraps the metapost
78
+ #bot command for labels
79
+ def bottom
80
+ @place = "bot"
81
+ self
82
+ end
83
+ def bot
84
+ bottom
85
+ end
86
+
87
+ #place the text above the position. Wraps the metapost
88
+ #bot command for labels
89
+ def top
90
+ @place = "top"
91
+ self
92
+ end
93
+
94
+ #place the text to the right of the position. Wraps the metapost
95
+ #bot command for labels
96
+ def right
97
+ @place = "rt"
98
+ self
99
+ end
100
+ def rt
101
+ right
102
+ end
103
+
104
+ #place the text to the left the position. Wraps the metapost
105
+ #bot command for labels
106
+ def left
107
+ @place = "lft"
108
+ self
109
+ end
110
+ def lft
111
+ left
112
+ end
113
+
114
+ #place the text to the upper left of the position. Wraps the metapost
115
+ #bot command for labels
116
+ def top_left
117
+ @place = "ulft"
118
+ self
119
+ end
120
+ def ulft
121
+ top_left
122
+ end
123
+
124
+ #place the text to the bottom left the position. Wraps the metapost
125
+ #bot command for labels
126
+ def bottom_left
127
+ @place = "llft"
128
+ self
129
+ end
130
+ def llft
131
+ bottom_left
132
+ end
133
+
134
+ #place the text to the upper right the position. Wraps the metapost
135
+ #bot command for labels
136
+ def top_right
137
+ @place = "urt"
138
+ self
139
+ end
140
+ def urt
141
+ top_right
142
+ end
143
+
144
+ #place the text to the bottom right the position. Wraps the metapost
145
+ #bot command for labels
146
+ def bottom_right
147
+ @place = "lrt"
148
+ self
149
+ end
150
+ def lrt
151
+ bottom_right
152
+ end
153
+
154
+ end
155
+
156
+
157
+ #Wraps the metapost label command
158
+ class Label < BaseLabel
159
+
160
+ def compile
161
+ 'label.' + @place + '(' + @text.compile + ', ' + @position.compile + ') ' + compile_options + ";\n"
162
+ end
163
+
164
+ end
165
+
166
+ #Wraps the metapost dotlabel command. Places a dot a the position of the text
167
+ #aswell as the text.
168
+ class DotLabel < BaseLabel
169
+
170
+ def compile
171
+ 'label.' + @place + '(' + @text.compile + ', ' + @position.compile + ') ' + compile_options + ";\n"
172
+ end
173
+
174
+ end
175
+
176
+ end
data/lib/rubypost.rb CHANGED
@@ -3,4 +3,5 @@ require 'objects'
3
3
  require 'drawable'
4
4
  require 'draw'
5
5
  require 'options'
6
+ require 'label'
6
7
  require 'graph'
data/tests/test_graph.rb CHANGED
@@ -5,6 +5,7 @@ require '../lib/objects'
5
5
  require '../lib/drawable'
6
6
  require '../lib/draw'
7
7
  require '../lib/options'
8
+ require '../lib/label'
8
9
  require '../lib/graph'
9
10
 
10
11
  include RubyPost
@@ -28,6 +29,9 @@ gd = GraphData.new(x, y)
28
29
  gd.add_option(RubyPost::Colour.new(0.0,1.0,0.0))
29
30
  graph.add_data(gd)
30
31
 
32
+ gd.add_label(GraphLabel.new(latex("data label"), 5).right)
33
+
34
+ puts file.compile_to_string
31
35
  file.compile('testgraph')
32
36
 
33
37
  file.view
@@ -0,0 +1,32 @@
1
+ require '../lib/objects'
2
+ require '../lib/drawable'
3
+ require '../lib/draw'
4
+ require '../lib/options'
5
+ require '../lib/label'
6
+
7
+ include RubyPost
8
+
9
+
10
+ file = RubyPost::File.new('testlabel')
11
+
12
+ #draw a circle
13
+ fig1 = Figure.new
14
+ file.add_figure(fig1)
15
+
16
+ p = Pair.new(0,0)
17
+
18
+ fig1.add_drawable(Draw.new(p).scale(0.5.cm))
19
+
20
+ fig1.add_drawable(Label.new(latex("test label"), p))
21
+ fig1.add_drawable(Label.new(latex("test label bottom"), p).bottom)
22
+
23
+ p2 = Pair.new(0,-5.cm)
24
+ fig1.add_drawable(Draw.new(p2))
25
+
26
+ fig1.add_drawable(Label.new(latex("test right"), p2).right)
27
+ fig1.add_drawable(Label.new(latex("test left"), p2).left)
28
+
29
+ puts file.compile_to_string
30
+ file.compile
31
+ file.view
32
+
data/tests/test_path.rb CHANGED
@@ -36,7 +36,6 @@ fig3.add_drawable(DoubleArrow.new(path))
36
36
  #this is achieved by reversing the path
37
37
  fig4 = Figure.new
38
38
  file.add_figure(fig4)
39
- #see the ruby reference for clone symatics
40
39
  revpath = path.clone
41
40
  revpath.reverse
42
41
  fig4.add_drawable(Arrow.new(revpath))
@@ -59,7 +58,7 @@ draw_command.add_option(Colour.new(1.0,0.0,0.0))
59
58
  draw_command.set_drawable(path)
60
59
  fig6.add_drawable(draw_command)
61
60
 
62
- #draw the previous arrow again again and draw
61
+ #draw the previous arrow again and draw
63
62
  #another arrow but translate right by 5cm. <br>
64
63
  #Note the order of translation and rotation is important.
65
64
  #Also make the colour blue and use a square pen that is
@@ -18,7 +18,9 @@ file.add_figure(fig)
18
18
  pic.add_drawable(Draw.new(Square.new).scale(1.cm))
19
19
  pic.add_drawable(Draw.new(Circle.new).scale(1.cm))
20
20
 
21
- fig.add_drawable(Draw.new(pic).rotate(45).translate(0,-5.cm).colour(0,0,1))
21
+ #note that you have to be aware of the order in which
22
+ #you apply scale, rotation and translation!
23
+ fig.add_drawable(Draw.new(pic).scale(2).rotate(45).translate(0,-5.cm).colour(0,0,1))
22
24
 
23
25
  puts file.compile_to_string
24
26
  file.compile
metadata CHANGED
@@ -3,13 +3,13 @@ rubygems_version: 0.9.4
3
3
  specification_version: 1
4
4
  name: rubypost
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.0.2
7
- date: 2008-01-27 00:00:00 +10:00
6
+ version: 0.0.3
7
+ date: 2008-02-11 00:00:00 +10:00
8
8
  summary: Ruby wrapper for the MetaPost drawing language
9
9
  require_paths:
10
10
  - lib
11
11
  email: harprobey@gmail.com
12
- homepage:
12
+ homepage: http://rubyforge.org/projects/rubypost/
13
13
  rubyforge_project:
14
14
  description:
15
15
  autorequire: lib/rubypost
@@ -31,6 +31,7 @@ authors:
31
31
  files:
32
32
  - tests/test_circle.rb
33
33
  - tests/test_graph.rb
34
+ - tests/test_label.rb
34
35
  - tests/test_pair.rb
35
36
  - tests/test_path.rb
36
37
  - tests/test_picture.rb
@@ -38,6 +39,7 @@ files:
38
39
  - lib/draw.rb
39
40
  - lib/drawable.rb
40
41
  - lib/graph.rb
42
+ - lib/label.rb
41
43
  - lib/objects.rb
42
44
  - lib/options.rb
43
45
  - lib/redefine_float_to_s_for_metapost.rb