rubypost 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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