ruby-snarl 0.0.5

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.
@@ -0,0 +1,255 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>Module: Snarl::SnarlAPI</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="classHeader">
50
+ <table class="header-table">
51
+ <tr class="top-aligned-row">
52
+ <td><strong>Module</strong></td>
53
+ <td class="class-name-in-header">Snarl::SnarlAPI</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../files/lib/snarl_rb.html">
59
+ lib/snarl.rb
60
+ </a>
61
+ <br />
62
+ </td>
63
+ </tr>
64
+
65
+ </table>
66
+ </div>
67
+ <!-- banner header -->
68
+
69
+ <div id="bodyContent">
70
+
71
+
72
+
73
+ <div id="contextContent">
74
+
75
+ <div id="description">
76
+ <p>
77
+ This is the lowlevel API implemenation using DL and a few handy constants
78
+ from the snarl api and the Win32 API Note that I have jump through some
79
+ hoops to get the array of characters to work corretly &#8212; if you know a
80
+ better way please send me (phurley@gmail.com) a note.
81
+ </p>
82
+
83
+ </div>
84
+
85
+
86
+ </div>
87
+
88
+ <div id="method-list">
89
+ <h3 class="section-bar">Methods</h3>
90
+
91
+ <div class="name-list">
92
+ <a href="#M000012">send</a>&nbsp;&nbsp;
93
+ <a href="#M000011">to_cha</a>&nbsp;&nbsp;
94
+ </div>
95
+ </div>
96
+
97
+ </div>
98
+
99
+
100
+ <!-- if includes -->
101
+
102
+ <div id="section">
103
+
104
+
105
+ <div id="constants-list">
106
+ <h3 class="section-bar">Constants</h3>
107
+
108
+ <div class="name-list">
109
+ <table summary="Constants">
110
+ <tr class="top-aligned-row context-row">
111
+ <td class="context-item-name">SNARL_SHOW</td>
112
+ <td>=</td>
113
+ <td class="context-item-value">1</td>
114
+ </tr>
115
+ <tr class="top-aligned-row context-row">
116
+ <td class="context-item-name">SNARL_HIDE</td>
117
+ <td>=</td>
118
+ <td class="context-item-value">2</td>
119
+ </tr>
120
+ <tr class="top-aligned-row context-row">
121
+ <td class="context-item-name">SNARL_UPDATE</td>
122
+ <td>=</td>
123
+ <td class="context-item-value">3</td>
124
+ </tr>
125
+ <tr class="top-aligned-row context-row">
126
+ <td class="context-item-name">SNARL_IS_VISIBLE</td>
127
+ <td>=</td>
128
+ <td class="context-item-value">4</td>
129
+ </tr>
130
+ <tr class="top-aligned-row context-row">
131
+ <td class="context-item-name">SNARL_GET_VERSION</td>
132
+ <td>=</td>
133
+ <td class="context-item-value">5</td>
134
+ </tr>
135
+ <tr class="top-aligned-row context-row">
136
+ <td class="context-item-name">SNARL_REGISTER_CONFIG_WINDOW</td>
137
+ <td>=</td>
138
+ <td class="context-item-value">6</td>
139
+ </tr>
140
+ <tr class="top-aligned-row context-row">
141
+ <td class="context-item-name">SNARL_REVOKE_CONFIG_WINDOW</td>
142
+ <td>=</td>
143
+ <td class="context-item-value">7</td>
144
+ </tr>
145
+ <tr class="top-aligned-row context-row">
146
+ <td class="context-item-name">SNARL_TEXT_LENGTH</td>
147
+ <td>=</td>
148
+ <td class="context-item-value">1024</td>
149
+ </tr>
150
+ <tr class="top-aligned-row context-row">
151
+ <td class="context-item-name">WM_COPYDATA</td>
152
+ <td>=</td>
153
+ <td class="context-item-value">0x4a</td>
154
+ </tr>
155
+ <tr class="top-aligned-row context-row">
156
+ <td class="context-item-name">SnarlStruct</td>
157
+ <td>=</td>
158
+ <td class="context-item-value">struct [ &quot;int cmd&quot;, &quot;long id&quot;, &quot;long timeout&quot;, &quot;long data2&quot;, &quot;char title[#{SNARL_TEXT_LENGTH}]&quot;, &quot;char text[#{SNARL_TEXT_LENGTH}]&quot;, &quot;char icon[#{SNARL_TEXT_LENGTH}]&quot;, ]</td>
159
+ </tr>
160
+ <tr class="top-aligned-row context-row">
161
+ <td class="context-item-name">CopyDataStruct</td>
162
+ <td>=</td>
163
+ <td class="context-item-value">struct [ &quot;long dwData&quot;, &quot;long cbData&quot;, &quot;void* lpData&quot;, ]</td>
164
+ </tr>
165
+ </table>
166
+ </div>
167
+ </div>
168
+
169
+
170
+
171
+
172
+
173
+
174
+ <!-- if method_list -->
175
+ <div id="methods">
176
+ <h3 class="section-bar">Public Class methods</h3>
177
+
178
+ <div id="method-M000012" class="method-detail">
179
+ <a name="M000012"></a>
180
+
181
+ <div class="method-heading">
182
+ <a href="#M000012" class="method-signature">
183
+ <span class="method-name">send</span><span class="method-args">(ss)</span>
184
+ </a>
185
+ </div>
186
+
187
+ <div class="method-description">
188
+ <p>
189
+ Send the structure off to snarl, the routine will return (if everything
190
+ goes well) the result of SendMessage which has an overloaded meaning based
191
+ upon the cmd being sent
192
+ </p>
193
+ <p><a class="source-toggle" href="#"
194
+ onclick="toggleCode('M000012-source');return false;">[Source]</a></p>
195
+ <div class="method-source-code" id="M000012-source">
196
+ <pre>
197
+ <span class="ruby-comment cmt"># File lib/snarl.rb, line 60</span>
198
+ 60: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">ss</span>)
199
+ 61: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">isWindow</span>(<span class="ruby-identifier">hwnd</span> = <span class="ruby-identifier">findWindow</span>(<span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">'Snarl'</span>))
200
+ 62: <span class="ruby-identifier">cd</span> = <span class="ruby-constant">CopyDataStruct</span>.<span class="ruby-identifier">malloc</span>
201
+ 63: <span class="ruby-identifier">cd</span>.<span class="ruby-identifier">dwData</span> = <span class="ruby-value">2</span>
202
+ 64: <span class="ruby-identifier">cd</span>.<span class="ruby-identifier">cbData</span> = <span class="ruby-identifier">ss</span>.<span class="ruby-identifier">size</span>
203
+ 65: <span class="ruby-identifier">cd</span>.<span class="ruby-identifier">lpData</span> = <span class="ruby-identifier">ss</span>.<span class="ruby-identifier">to_ptr</span>
204
+ 66: <span class="ruby-identifier">sendMessage</span>(<span class="ruby-identifier">hwnd</span>, <span class="ruby-constant">WM_COPYDATA</span>, <span class="ruby-value">0</span>, <span class="ruby-identifier">cd</span>.<span class="ruby-identifier">to_ptr</span>)
205
+ 67: <span class="ruby-keyword kw">end</span>
206
+ 68: <span class="ruby-keyword kw">end</span>
207
+ </pre>
208
+ </div>
209
+ </div>
210
+ </div>
211
+
212
+ <div id="method-M000011" class="method-detail">
213
+ <a name="M000011"></a>
214
+
215
+ <div class="method-heading">
216
+ <a href="#M000011" class="method-signature">
217
+ <span class="method-name">to_cha</span><span class="method-args">(str)</span>
218
+ </a>
219
+ </div>
220
+
221
+ <div class="method-description">
222
+ <p>
223
+ character array hoop jumping, we take the passed string and convert it into
224
+ an array of integers, padded out to the correct length <a
225
+ href="SnarlAPI.html#M000011">to_cha</a> &#8212;&gt; to character array I do
226
+ this as it seems necessary to fit the DL API, if there is a better way
227
+ please let me know
228
+ </p>
229
+ <p><a class="source-toggle" href="#"
230
+ onclick="toggleCode('M000011-source');return false;">[Source]</a></p>
231
+ <div class="method-source-code" id="M000011-source">
232
+ <pre>
233
+ <span class="ruby-comment cmt"># File lib/snarl.rb, line 52</span>
234
+ 52: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">to_cha</span>(<span class="ruby-identifier">str</span>)
235
+ 53: <span class="ruby-identifier">result</span> = <span class="ruby-identifier">str</span>.<span class="ruby-identifier">split</span>(<span class="ruby-regexp re">/(.)/</span>).<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">ch</span><span class="ruby-operator">|</span> <span class="ruby-identifier">ch</span>[<span class="ruby-value">0</span>] }.<span class="ruby-identifier">compact</span>
236
+ 54: <span class="ruby-identifier">result</span> <span class="ruby-operator">+</span> <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">SNARL_TEXT_LENGTH</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">result</span>.<span class="ruby-identifier">size</span>, <span class="ruby-value">0</span>)
237
+ 55: <span class="ruby-keyword kw">end</span>
238
+ </pre>
239
+ </div>
240
+ </div>
241
+ </div>
242
+
243
+
244
+ </div>
245
+
246
+
247
+ </div>
248
+
249
+
250
+ <div id="validator-badges">
251
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
252
+ </div>
253
+
254
+ </body>
255
+ </html>
@@ -0,0 +1 @@
1
+ Mon Aug 07 12:53:22 Eastern Standard Time 2006
@@ -0,0 +1,108 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>File: example1.rb</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="fileHeader">
50
+ <h1>example1.rb</h1>
51
+ <table class="header-table">
52
+ <tr class="top-aligned-row">
53
+ <td><strong>Path:</strong></td>
54
+ <td>examples/example1.rb
55
+ </td>
56
+ </tr>
57
+ <tr class="top-aligned-row">
58
+ <td><strong>Last Update:</strong></td>
59
+ <td>Mon Aug 07 11:44:02 Eastern Standard Time 2006</td>
60
+ </tr>
61
+ </table>
62
+ </div>
63
+ <!-- banner header -->
64
+
65
+ <div id="bodyContent">
66
+
67
+
68
+
69
+ <div id="contextContent">
70
+
71
+
72
+ <div id="requires-list">
73
+ <h3 class="section-bar">Required files</h3>
74
+
75
+ <div class="name-list">
76
+ snarl&nbsp;&nbsp;
77
+ </div>
78
+ </div>
79
+
80
+ </div>
81
+
82
+
83
+ </div>
84
+
85
+
86
+ <!-- if includes -->
87
+
88
+ <div id="section">
89
+
90
+
91
+
92
+
93
+
94
+
95
+
96
+
97
+ <!-- if method_list -->
98
+
99
+
100
+ </div>
101
+
102
+
103
+ <div id="validator-badges">
104
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
105
+ </div>
106
+
107
+ </body>
108
+ </html>
@@ -0,0 +1,108 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>File: example2.rb</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="fileHeader">
50
+ <h1>example2.rb</h1>
51
+ <table class="header-table">
52
+ <tr class="top-aligned-row">
53
+ <td><strong>Path:</strong></td>
54
+ <td>examples/example2.rb
55
+ </td>
56
+ </tr>
57
+ <tr class="top-aligned-row">
58
+ <td><strong>Last Update:</strong></td>
59
+ <td>Mon Aug 07 11:44:02 Eastern Standard Time 2006</td>
60
+ </tr>
61
+ </table>
62
+ </div>
63
+ <!-- banner header -->
64
+
65
+ <div id="bodyContent">
66
+
67
+
68
+
69
+ <div id="contextContent">
70
+
71
+
72
+ <div id="requires-list">
73
+ <h3 class="section-bar">Required files</h3>
74
+
75
+ <div class="name-list">
76
+ snarl&nbsp;&nbsp;
77
+ </div>
78
+ </div>
79
+
80
+ </div>
81
+
82
+
83
+ </div>
84
+
85
+
86
+ <!-- if includes -->
87
+
88
+ <div id="section">
89
+
90
+
91
+
92
+
93
+
94
+
95
+
96
+
97
+ <!-- if method_list -->
98
+
99
+
100
+ </div>
101
+
102
+
103
+ <div id="validator-badges">
104
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
105
+ </div>
106
+
107
+ </body>
108
+ </html>