fxruby 1.6.13-mswin32 → 1.6.14-mswin32
Sign up to get free protection for your applications and to get access to all the features.
- data/doc/apes02.html +2 -2
- data/doc/apes03.html +1 -1
- data/doc/book.html +1 -1
- data/doc/build.html +16 -17
- data/doc/changes.html +40 -28
- data/doc/differences.html +9 -9
- data/doc/gems.html +6 -6
- data/doc/implementation.html +1 -1
- data/doc/infosources.html +3 -3
- data/doc/library.html +5 -5
- data/doc/opengl.html +5 -5
- data/doc/pt02.html +1 -1
- data/doc/scintilla.html +4 -4
- data/doc/subversion.html +1 -1
- data/examples/babelfish.rb +1 -1
- data/examples/custom_table_item.rb +170 -0
- data/examples/dilbert.rb +6 -7
- data/examples/table.rb +0 -5
- data/ext/fox16/fox16.so +0 -0
- data/lib/fox16/kwargs.rb +11 -0
- data/lib/fox16/version.rb +1 -1
- data/rdoc-sources/FXImage.rb +12 -6
- data/rdoc-sources/FXToggleButton.rb +1 -0
- data/tests/output.ps +166 -0
- data/tests/stress1.rb +3 -5
- data/web/community.html +94 -0
- data/web/documentation.html +100 -0
- data/web/downloads.html +114 -93
- data/web/index.html +96 -0
- metadata +7 -12
- data/index.html +0 -14
- data/web/art/fxrubylogo.png +0 -0
- data/web/art/fxrubylogo_small.png +0 -0
- data/web/art/line.gif +0 -0
- data/web/art/oul_grey.gif +0 -0
- data/web/art/our.gif +0 -0
- data/web/home.html +0 -113
- data/web/menu.html +0 -50
- data/web/styles.css +0 -167
- data/web/top.html +0 -15
data/doc/library.html
CHANGED
@@ -1,18 +1,18 @@
|
|
1
1
|
<html><head>
|
2
2
|
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
3
|
-
<title>Appendix D. The FXRuby Standard Library</title><link rel="stylesheet" href="style.css" type="text/css"><meta name="generator" content="DocBook v5 XSL Stylesheets V1.72.0"><link rel="start" href="book.html" title="Developing Graphical User Interfaces with FXRuby"><link rel="up" href="pt02.html" title="Part II. Appendices"><link rel="prev" href="differences.html" title="Appendix C. Differences between FOX and FXRuby"><link rel="next" href="implementation.html" title="Appendix E. Implementation"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix D. The FXRuby Standard Library</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="differences.html">Prev</a> </td><th width="60%" align="center">Part II. Appendices</th><td width="20%" align="right"> <a accesskey="n" href="implementation.html">Next</a></td></tr></table><hr></div><div class="appendix" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="library"></a>Appendix D. The FXRuby Standard Library</h2></div></div></div><p>While the majority of FXRuby is in fact implemented by an extension module, some parts are provided instead by "pure Ruby" code. This section describes the classes and modules available in the FXRuby standard library.</p><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
3
|
+
<title>Appendix D. The FXRuby Standard Library</title><link rel="stylesheet" href="style.css" type="text/css"><meta name="generator" content="DocBook v5 XSL Stylesheets V1.72.0"><link rel="start" href="book.html" title="Developing Graphical User Interfaces with FXRuby"><link rel="up" href="pt02.html" title="Part II. Appendices"><link rel="prev" href="differences.html" title="Appendix C. Differences between FOX and FXRuby"><link rel="next" href="implementation.html" title="Appendix E. Implementation"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix D. The FXRuby Standard Library</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="differences.html">Prev</a> </td><th width="60%" align="center">Part II. Appendices</th><td width="20%" align="right"> <a accesskey="n" href="implementation.html">Next</a></td></tr></table><hr></div><div class="appendix" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="library"></a>Appendix D. The FXRuby Standard Library</h2></div></div></div><p>While the majority of FXRuby is in fact implemented by an extension module, some parts are provided instead by "pure Ruby" code. This section describes the classes and modules available in the FXRuby standard library.</p><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e5373"></a>Undoable Commands</h2></div></div></div><p>The <code class="filename">fox16/undolist.rb</code> file provides the <code class="classname">FXCommand</code> and <code class="classname">FXUndoList</code> classes. These serve the same purpose as the <code class="classname">FXCommand</code> and <code class="classname">FXUndoList</code> classes from the standard FOX distribution, but they're implemented entirely in Ruby.</p><p>For a complete description of these classes and how to use them, see the RD documentation in <code class="filename">fox16/undolist.rb</code>.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e5398"></a>Aliases</h2></div></div></div><p>The <code class="filename">fox16/aliases.rb</code> implements most of the accessor-style aliases for methods. This file is loaded automatically when you </p><pre class="programlisting">require 'fox16'</pre><p> and so you should never need to load it directly.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e5409"></a>Color Names</h2></div></div></div><p>The <code class="filename">fox16/colors.rb</code> file, contributed by Jeff
|
4
4
|
Heard, provides a bunch of predefined color values (based on the standard
|
5
5
|
X11 color names). You can use these color constants anywhere that FOX
|
6
6
|
expects an RGB color value, e.g.</p><pre class="programlisting">dc = FXDCWindow.new(drawable, ev)
|
7
7
|
dc.foreground = FXColor::MistyRose # instead of FXRGB(255, 228, 225)
|
8
|
-
dc.background = FXColor::MidnightBlue # instead of FXRGB( 25, 25, 112)</pre></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
8
|
+
dc.background = FXColor::MidnightBlue # instead of FXRGB( 25, 25, 112)</pre></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e5419"></a>OpenGL Shapes</h2></div></div></div><p>The <code class="filename">fox16/glshapes.rb</code> library provides Ruby
|
9
9
|
implementations of a number of basic 3-D shapes (all derived from the
|
10
10
|
built-in <code class="classname">FXGLShape</code> class) that can be used with
|
11
11
|
the <code class="classname">FXGLViewer</code>. Several of these shapes are used
|
12
12
|
in the <code class="filename">glviewer.rb</code> example program. These shapes
|
13
13
|
were originally implemented in C++ and wrapped using SWIG, but they are
|
14
14
|
straightforward enough to implement in Ruby so they were moved out to
|
15
|
-
this library instead.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
15
|
+
this library instead.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e5436"></a>Iterators</h2></div></div></div><p>The <code class="filename">fox16/iterators.rb</code> library just adds an
|
16
16
|
<code class="methodname">each</code> instance method for the <code class="classname">
|
17
17
|
FXComboBox</code>, <code class="classname">FXGLGroup</code>, <code class="classname">
|
18
18
|
FXHeader</code>, <code class="classname">FXIconList</code>, <code class="classname">
|
@@ -21,10 +21,10 @@ dc.background = FXColor::MidnightBlue # instead of FXRGB( 25, 25, 112)</pre><
|
|
21
21
|
FXTreeList</code> and <code class="classname">FXTreeListBox</code> classes,
|
22
22
|
so that you can iterate over their members in a Ruby-friendly way. It
|
23
23
|
also mixes the <code class="classname">Enumerable</code> module into each of
|
24
|
-
these classes.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
24
|
+
these classes.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e5480"></a>Key Codes</h2></div></div></div><p>The <code class="filename">fox16/keys.rb</code> library file defines all of the
|
25
25
|
key codes (e.g. <code class="constant">KEY_space</code>) that might show up in the
|
26
26
|
code field of an <code class="classname">FXEvent</code> instance. This file is
|
27
27
|
loaded automatically when you
|
28
28
|
</p><pre class="programlisting">require 'fox16'</pre><p> and
|
29
29
|
so you should never need to load it
|
30
|
-
directly.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
30
|
+
directly.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e5497"></a>Calendar Widget</h2></div></div></div><p>The <code class="filename">fox16/calendar.rb</code> library file provides the <code class="classname">FXCalendar</code> widget, contributed by David Naseby.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="differences.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="pt02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="implementation.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Appendix C. Differences between FOX and FXRuby </td><td width="20%" align="center"><a accesskey="h" href="book.html">Home</a></td><td width="40%" align="right" valign="top"> Appendix E. Implementation</td></tr></table></div></body></html>
|
data/doc/opengl.html
CHANGED
@@ -5,10 +5,10 @@
|
|
5
5
|
widgets, and FXRuby in turn provides interfaces to those classes. By
|
6
6
|
combining FXRuby with the OpenGL interface for Ruby (described below) you
|
7
7
|
can develop very powerful 3-D graphics applications. This chapter gives
|
8
|
-
you the information you'll need to get started.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
8
|
+
you the information you'll need to get started.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e4475"></a>What is OpenGL?</h2></div></div></div><p>OpenGL is a platform-independent API for 2D and 3D graphics. The
|
9
9
|
home page is <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.opengl.org" target="_top">http://www.opengl.org</a>. Because it's a
|
10
10
|
fairly open standard, highly optimized OpenGL drivers are available for
|
11
|
-
most operating systems (including Windows and Linux).</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
11
|
+
most operating systems (including Windows and Linux).</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e4483"></a>OpenGL Extensions for Ruby</h2></div></div></div><p>This extension module, developed by Yoshiyuki Kusano, provides
|
12
12
|
interfaces to not only the basic OpenGL API, but also the GLU and GLUT
|
13
13
|
APIs. As of this writing, the currently released version is 0.32d and is
|
14
14
|
available for download from <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www2.giganet.net/~yoshi/rbogl-0.32b.tgz" target="_top">http://www2.giganet.net/~yoshi/rbogl-0.32d.tgz</a>.
|
@@ -25,7 +25,7 @@
|
|
25
25
|
extensions by typing:</p><pre class="screen">$ <span><strong class="command">make site-install</strong></span></pre><p>Please note that I'm not the maintainer of this particular Ruby
|
26
26
|
extension, so I can't really accept bug fixes for it. But if you're having
|
27
27
|
trouble integrating Ruby/OpenGL with FXRuby, let me know and we'll see
|
28
|
-
what we can do.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
28
|
+
what we can do.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e4538"></a>The FXGLVisual Class</h2></div></div></div><p>An <code class="classname">FXGLVisual</code> object describes the
|
29
29
|
capabilities of an <code class="classname">FXGLCanvas</code> or
|
30
30
|
<code class="classname">FXGLViewer</code> window. Typically, an X server supports
|
31
31
|
many different visuals with varying capabilities, but the ones with
|
@@ -58,13 +58,13 @@ end</pre><p>Some <code class="classname">FXGLVisual</code> object must be associ
|
|
58
58
|
separate <code class="classname">FXGLVisual</code> object for each window. For
|
59
59
|
most applications, you can just construct a single
|
60
60
|
<code class="classname">FXGLVisual</code> object that's shared among all the
|
61
|
-
OpenGL windows.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
61
|
+
OpenGL windows.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e4597"></a>The FXGLCanvas Class</h2></div></div></div><p>The <code class="classname">FXGLCanvas</code> widget provides a very simple
|
62
62
|
OpenGL-capable window with minimal functionality. To construct an
|
63
63
|
<code class="classname">FXGLCanvas</code>, call
|
64
64
|
<code class="methodname">FXGLCanvas.new</code>:</p><pre class="programlisting">glCanvas = FXGLCanvas.new(parent, vis)</pre><p>The first argument to <code class="methodname">FXGLCanvas.new</code> is the
|
65
65
|
parent (container) widget and the second argument is the
|
66
66
|
<code class="classname">FXGLVisual</code> that should be used for this
|
67
|
-
window.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
67
|
+
window.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e4621"></a>OpenGL objects and the FXGLViewer</h2></div></div></div><p>The <code class="classname">FXGLViewer</code> widget provides a higher-level
|
68
68
|
OpenGL-capable window with a lot of built-in functionality. To construct
|
69
69
|
an <code class="classname">FXGLViewer</code>, call
|
70
70
|
<code class="methodname">FXGLViewer.new</code>:</p><pre class="programlisting">glViewer = FXGLViewer.new(parent, vis)</pre><p>The first argument to <code class="methodname">FXGLViewer.new</code> is the
|
data/doc/pt02.html
CHANGED
@@ -1,3 +1,3 @@
|
|
1
1
|
<html><head>
|
2
2
|
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
3
|
-
<title>Part II. Appendices</title><link rel="stylesheet" href="style.css" type="text/css"><meta name="generator" content="DocBook v5 XSL Stylesheets V1.72.0"><link rel="start" href="book.html" title="Developing Graphical User Interfaces with FXRuby"><link rel="up" href="book.html" title="Developing Graphical User Interfaces with FXRuby"><link rel="prev" href="changes.html" title="Chapter 10. Change History"><link rel="next" href="opengl.html" title="Appendix A. Using OpenGL with FXRuby"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part II. Appendices</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="changes.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="opengl.html">Next</a></td></tr></table><hr></div><div class="part" lang="en"><div class="titlepage"><div><div><h1 class="title"><a name="
|
3
|
+
<title>Part II. Appendices</title><link rel="stylesheet" href="style.css" type="text/css"><meta name="generator" content="DocBook v5 XSL Stylesheets V1.72.0"><link rel="start" href="book.html" title="Developing Graphical User Interfaces with FXRuby"><link rel="up" href="book.html" title="Developing Graphical User Interfaces with FXRuby"><link rel="prev" href="changes.html" title="Chapter 10. Change History"><link rel="next" href="opengl.html" title="Appendix A. Using OpenGL with FXRuby"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part II. Appendices</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="changes.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="opengl.html">Next</a></td></tr></table><hr></div><div class="part" lang="en"><div class="titlepage"><div><div><h1 class="title"><a name="d0e4460"></a>Part II. Appendices</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="appendix"><a href="opengl.html">A. Using OpenGL with FXRuby</a></span></dt><dt><span class="appendix"><a href="scintilla.html">B. Using Scintilla with FXRuby</a></span></dt><dt><span class="appendix"><a href="differences.html">C. Differences between FOX and FXRuby</a></span></dt><dt><span class="appendix"><a href="library.html">D. The FXRuby Standard Library</a></span></dt><dt><span class="appendix"><a href="implementation.html">E. Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="implementation.html#d0e5511">Code Generation</a></span></dt><dt><span class="section"><a href="apes02.html">Object Life Cycles and Garbage Collection</a></span></dt><dd><dl><dt><span class="section"><a href="apes02.html#d0e5549">GL Objects</a></span></dt></dl></dd><dt><span class="section"><a href="apes03.html">Virtual Functions</a></span></dt></dl></dd><dt><span class="appendix"><a href="subversion.html">F. Getting the Sources from Subversion</a></span></dt></dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="changes.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="opengl.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 10. Change History </td><td width="20%" align="center"><a accesskey="h" href="book.html">Home</a></td><td width="40%" align="right" valign="top"> Appendix A. Using OpenGL with FXRuby</td></tr></table></div></body></html>
|
data/doc/scintilla.html
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
<html><head>
|
2
2
|
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
3
|
-
<title>Appendix B. Using Scintilla with FXRuby</title><link rel="stylesheet" href="style.css" type="text/css"><meta name="generator" content="DocBook v5 XSL Stylesheets V1.72.0"><link rel="start" href="book.html" title="Developing Graphical User Interfaces with FXRuby"><link rel="up" href="pt02.html" title="Part II. Appendices"><link rel="prev" href="opengl.html" title="Appendix A. Using OpenGL with FXRuby"><link rel="next" href="differences.html" title="Appendix C. Differences between FOX and FXRuby"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix B. Using Scintilla with FXRuby</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="opengl.html">Prev</a> </td><th width="60%" align="center">Part II. Appendices</th><td width="20%" align="right"> <a accesskey="n" href="differences.html">Next</a></td></tr></table><hr></div><div class="appendix" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="scintilla"></a>Appendix B. Using Scintilla with FXRuby</h2></div></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
3
|
+
<title>Appendix B. Using Scintilla with FXRuby</title><link rel="stylesheet" href="style.css" type="text/css"><meta name="generator" content="DocBook v5 XSL Stylesheets V1.72.0"><link rel="start" href="book.html" title="Developing Graphical User Interfaces with FXRuby"><link rel="up" href="pt02.html" title="Part II. Appendices"><link rel="prev" href="opengl.html" title="Appendix A. Using OpenGL with FXRuby"><link rel="next" href="differences.html" title="Appendix C. Differences between FOX and FXRuby"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix B. Using Scintilla with FXRuby</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="opengl.html">Prev</a> </td><th width="60%" align="center">Part II. Appendices</th><td width="20%" align="right"> <a accesskey="n" href="differences.html">Next</a></td></tr></table><hr></div><div class="appendix" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="scintilla"></a>Appendix B. Using Scintilla with FXRuby</h2></div></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e4648"></a>What is Scintilla?</h2></div></div></div><p><a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.scintilla.org" target="_top">Scintilla</a> is a free
|
4
4
|
source code editing component developed by Neil Hodgson for the Win32 and
|
5
|
-
GTK+ platforms.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
5
|
+
GTK+ platforms.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e4655"></a>What is FXScintilla?</h2></div></div></div><p><a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://savannah.gnu.org/projects/fxscintilla" target="_top">FXScintilla </a> is
|
6
6
|
a FOX widget that wraps around the Scintilla component, or, if you wish,
|
7
7
|
the FOX "port" of Scintilla. Until recently it was developed by Gilles Filippini,
|
8
8
|
and as of this writing the latest release is available for download from
|
9
|
-
<a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://download.savannah.gnu.org/releases/fxscintilla/fxscintilla-1.71.tar.gz" target="_top">http://download.savannah.gnu.org/releases/fxscintilla/fxscintilla-1.71.tar.gz</a>.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
9
|
+
<a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://download.savannah.gnu.org/releases/fxscintilla/fxscintilla-1.71.tar.gz" target="_top">http://download.savannah.gnu.org/releases/fxscintilla/fxscintilla-1.71.tar.gz</a>.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e4665"></a>Compiling FXScintilla</h2></div></div></div><p>The FXScintilla distribution contains everything you need to build
|
10
10
|
the FXScintilla widget and begin using it in your C++-based FOX
|
11
11
|
applications. That is to say, you do not have to separately download the
|
12
12
|
Scintilla source code from the Scintilla home page. When you unpack the
|
@@ -17,7 +17,7 @@
|
|
17
17
|
other open-source software (like FOX) from the source code. The
|
18
18
|
<code class="filename">INSTALL</code> file in the top-level directory should
|
19
19
|
provide enough instruction for you to build and install FXScintilla for
|
20
|
-
either Unix or Microsoft Windows.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
20
|
+
either Unix or Microsoft Windows.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e4678"></a>Enabling FXScintilla Support in FXRuby</h2></div></div></div><p>The next step is to build a version of FXRuby (from its source code)
|
21
21
|
with the optional FXScintilla support enabled. If you're working on a Unix
|
22
22
|
or Linux system and have installed FXScintilla in one of the standard
|
23
23
|
installation directories (e.g. under <code class="filename">/usr/include</code> or <code class="filename">/usr/local/include</code>), the regular FXRuby build
|
data/doc/subversion.html
CHANGED
@@ -14,7 +14,7 @@
|
|
14
14
|
<a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://svnbook.red-bean.com/" target="_top">book</a>.</p><p>You're also going to need to have a working <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.swig.org/" target="_top">SWIG</a> installation so that you can
|
15
15
|
generate the C++ source files from the SWIG interface files. As of this
|
16
16
|
writing, FXRuby requires SWIG version 1.3.22; later versions of SWIG will
|
17
|
-
not work, nor will versions earlier than about 1.3.15.</p><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
17
|
+
not work, nor will versions earlier than about 1.3.15.</p><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e5694"></a>Checking out the code</h2></div></div></div><p>To check out the development version (i.e. the trunk) for FXRuby,
|
18
18
|
type the following command:</p><pre class="screen">svn checkout svn://rubyforge.org/var/svn/fxruby/trunk/FXRuby</pre><p>Next, you'll need to use SWIG to generate the C++ source code from
|
19
19
|
the SWIG interface files. To do that, type:</p><pre class="screen">rake swig</pre><p>At this point, you should be ready to change to the top-level
|
20
20
|
directory and go through the normal build and installation process, as
|
data/examples/babelfish.rb
CHANGED
@@ -46,7 +46,7 @@ class Babelfish < FXMainWindow
|
|
46
46
|
TRANSLATIONS.keys.each do |key|
|
47
47
|
@transModeCombo.appendItem(key, TRANSLATIONS[key])
|
48
48
|
end
|
49
|
-
btn = FXButton.new(controlsFrame, "Translate", :opts => BUTTON_NORMAL|
|
49
|
+
btn = FXButton.new(controlsFrame, "Translate", :opts => BUTTON_NORMAL|LAYOUT_RIGHT)
|
50
50
|
btn.connect(SEL_COMMAND) do
|
51
51
|
transMode = @transModeCombo.getItemData(@transModeCombo.currentItem)
|
52
52
|
getApp().beginWaitCursor() do
|
@@ -0,0 +1,170 @@
|
|
1
|
+
require 'fox16'
|
2
|
+
|
3
|
+
include Fox
|
4
|
+
|
5
|
+
class CustomTableItem < FXTableItem
|
6
|
+
def drawContent(table, dc, x, y, w, h)
|
7
|
+
puts "in drawContent()"
|
8
|
+
hg = table.horizontalGridShown?
|
9
|
+
vg = table.verticalGridShown?
|
10
|
+
ml = table.marginLeft + (vg ? 1 : 0)
|
11
|
+
mt = table.marginTop + (hg ? 1 : 0)
|
12
|
+
mr = table.marginRight
|
13
|
+
mb = table.marginBottom
|
14
|
+
font = dc.font
|
15
|
+
lbl = text
|
16
|
+
icn = icon
|
17
|
+
|
18
|
+
# Text width and height
|
19
|
+
beg, tw, th = 0, 0, 0
|
20
|
+
begin
|
21
|
+
_end = beg;
|
22
|
+
_end += 1 while _end < lbl.length && lbl[_end].chr != '\n'
|
23
|
+
t = font.getTextWidth(lbl[beg..._end])
|
24
|
+
tw = t if t > tw
|
25
|
+
th += font.fontHeight
|
26
|
+
beg = _end + 1
|
27
|
+
end while _end < lbl.length
|
28
|
+
|
29
|
+
# Icon size
|
30
|
+
iw, ih = 0, 0
|
31
|
+
unless icn.nil?
|
32
|
+
iw = icn.width
|
33
|
+
ih = icn.height
|
34
|
+
end
|
35
|
+
|
36
|
+
# Icon-text spacing
|
37
|
+
s = 0
|
38
|
+
s = 4 if (iw > 0 && tw > 0)
|
39
|
+
|
40
|
+
# Fix x coordinate
|
41
|
+
if justify & LEFT == 1
|
42
|
+
case iconPosition
|
43
|
+
when BEFORE
|
44
|
+
ix = x + ml
|
45
|
+
tx = ix + iw + s
|
46
|
+
when AFTER
|
47
|
+
tx = x + ml
|
48
|
+
ix = tx + tw + s
|
49
|
+
else
|
50
|
+
ix = x + ml
|
51
|
+
tx = x + ml
|
52
|
+
end
|
53
|
+
elsif justify & RIGHT == 1
|
54
|
+
case iconPosition
|
55
|
+
when BEFORE
|
56
|
+
tx = x + w - mr - tw
|
57
|
+
ix = tx - iw - s
|
58
|
+
when AFTER
|
59
|
+
ix = x + w - mr - iw
|
60
|
+
tx = ix - tw - s
|
61
|
+
else
|
62
|
+
ix = x + w - mr - iw
|
63
|
+
tx = x + w - mr - tw
|
64
|
+
end
|
65
|
+
else
|
66
|
+
case iconPosition
|
67
|
+
when BEFORE
|
68
|
+
ix = x + (ml + w - mr)/2 - (tw + iw + s)/2
|
69
|
+
tx = ix + iw + s
|
70
|
+
when AFTER
|
71
|
+
tx = x + (ml + w - mr)/2 - (tw + iw + s)/2
|
72
|
+
ix = tx + tw + s
|
73
|
+
else
|
74
|
+
ix = x + (ml + w - mr)/2 - iw/2
|
75
|
+
tx = x + (ml + w - mr)/2 -tw/2
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
79
|
+
# Fix y coordinate
|
80
|
+
if justify & TOP == 1
|
81
|
+
case iconPosition
|
82
|
+
when ABOVE
|
83
|
+
iy = y + mt
|
84
|
+
ty = iy + ih
|
85
|
+
when BELOW
|
86
|
+
ty = y + mt
|
87
|
+
iy = ty + th
|
88
|
+
else
|
89
|
+
iy = y + mt
|
90
|
+
ty = y + mt
|
91
|
+
end
|
92
|
+
elsif justify & BOTTOM == 1
|
93
|
+
case iconPosition
|
94
|
+
when ABOVE
|
95
|
+
ty = y + h - mb - th
|
96
|
+
iy = ty - ih
|
97
|
+
when BELOW
|
98
|
+
iy = y + h - mb - ih
|
99
|
+
ty = iy - th
|
100
|
+
else
|
101
|
+
iy = y + h - mb - ih
|
102
|
+
ty = y + h - mb - th
|
103
|
+
end
|
104
|
+
else
|
105
|
+
case iconPosition
|
106
|
+
when ABOVE
|
107
|
+
iy = y + (mt + h - mb)/2 - (th + ih)/2
|
108
|
+
ty = iy + ih
|
109
|
+
when BELOW
|
110
|
+
ty = y + (mt + h - mb)/2 - (th + ih)/2
|
111
|
+
iy = ty + th
|
112
|
+
else
|
113
|
+
iy = y + (mt + h - mb)/2 - ih/2
|
114
|
+
ty = y + (mt + h - mb)/2 - th/2
|
115
|
+
end
|
116
|
+
end
|
117
|
+
|
118
|
+
# Paint icon
|
119
|
+
dc.drawIcon(icn, ix, iy) unless icn.nil?
|
120
|
+
|
121
|
+
# Text color
|
122
|
+
if selected?
|
123
|
+
dc.foreground = table.selTextColor
|
124
|
+
else
|
125
|
+
dc.foreground = table.textColor
|
126
|
+
end
|
127
|
+
puts "dc.foreground = (#{FXREDVAL(dc.foreground)}, #{FXGREENVAL(dc.foreground)}, #{FXBLUEVAL(dc.foreground)})"
|
128
|
+
|
129
|
+
# Draw text
|
130
|
+
yy = ty + font.fontAscent
|
131
|
+
beg = 0
|
132
|
+
begin
|
133
|
+
_end = beg
|
134
|
+
_end += 1 while _end < lbl.length && lbl[_end].chr != '\n'
|
135
|
+
if justify & LEFT == 1
|
136
|
+
xx = tx
|
137
|
+
elsif justify & RIGHT == 1
|
138
|
+
xx = tx + tw - font.getTextWidth(lbl[beg..._end])
|
139
|
+
else
|
140
|
+
xx = tx + (tw - font.getTextWidth(lbl[beg..._end]))/2
|
141
|
+
end
|
142
|
+
dc.drawText(xx, yy, lbl[beg..._end])
|
143
|
+
yy += font.fontHeight
|
144
|
+
beg = _end + 1
|
145
|
+
end while _end < lbl.length
|
146
|
+
end
|
147
|
+
end
|
148
|
+
|
149
|
+
class CustomTable < FXTable
|
150
|
+
def createItem *parameters
|
151
|
+
CustomTableItem.new *parameters
|
152
|
+
end
|
153
|
+
end
|
154
|
+
|
155
|
+
app = FXApp.new
|
156
|
+
main = FXMainWindow.new app, 'Test'
|
157
|
+
|
158
|
+
table = CustomTable.new main
|
159
|
+
table.setTableSize 2, 2
|
160
|
+
table.visibleRows = 2
|
161
|
+
table.visibleColumns = 2
|
162
|
+
|
163
|
+
table.setItemText 0, 0, 'one'
|
164
|
+
table.setItemText 0, 1, 'two'
|
165
|
+
table.setItemText 1, 0, 'three'
|
166
|
+
table.setItemText 1, 1, 'four'
|
167
|
+
|
168
|
+
app.create
|
169
|
+
main.show PLACEMENT_SCREEN
|
170
|
+
app.run
|
data/examples/dilbert.rb
CHANGED
@@ -3,13 +3,13 @@
|
|
3
3
|
require 'fox16'
|
4
4
|
require 'open-uri'
|
5
5
|
begin
|
6
|
-
require '
|
6
|
+
require 'hpricot'
|
7
7
|
rescue LoadError
|
8
8
|
require 'fox16/missingdep'
|
9
9
|
MSG = <<EOM
|
10
|
-
Sorry, this example depends on the
|
11
|
-
|
12
|
-
|
10
|
+
Sorry, this example depends on the Hpricot extension. Please
|
11
|
+
see http://code.whytheluckystiff.net/hpricot/ for instructions
|
12
|
+
on how to install Hpricot.
|
13
13
|
EOM
|
14
14
|
missingDependency(MSG)
|
15
15
|
end
|
@@ -40,9 +40,8 @@ class DailyDilbert < FXMainWindow
|
|
40
40
|
end
|
41
41
|
|
42
42
|
def image_data
|
43
|
-
|
44
|
-
|
45
|
-
url = soup.find('img', { :attrs => { 'alt' => /Today's Comic/ } })
|
43
|
+
doc = Hpricot(open("http://www.dilbert.com/"))
|
44
|
+
url = doc.search("img").find { |e| e['alt'] =~ /Today's Comic/ }
|
46
45
|
open("http://www.dilbert.com" + url['src'], "rb").read
|
47
46
|
end
|
48
47
|
|
data/examples/table.rb
CHANGED
@@ -87,11 +87,6 @@ class TableWindow < FXMainWindow
|
|
87
87
|
filemenu = FXMenuPane.new(self)
|
88
88
|
FXMenuCommand.new(filemenu, "&Quit\tCtl-Q", nil, getApp(), FXApp::ID_QUIT)
|
89
89
|
FXMenuTitle.new(menubar, "&File", nil, filemenu)
|
90
|
-
extract = FXMenuCommand.new(filemenu, "Extract")
|
91
|
-
extract.connect(SEL_COMMAND) do
|
92
|
-
result = @table.extractText(0, @table.numRows-1, 0, @table.numColumns-1)
|
93
|
-
puts result
|
94
|
-
end
|
95
90
|
|
96
91
|
# Options Menu
|
97
92
|
tablemenu = FXMenuPane.new(self)
|
data/ext/fox16/fox16.so
CHANGED
Binary file
|
data/lib/fox16/kwargs.rb
CHANGED
@@ -2402,6 +2402,17 @@ module Fox
|
|
2402
2402
|
params = default_params.merge(params)
|
2403
2403
|
old_initialize(p, params[:target], params[:selector], params[:opts], params[:x], params[:y], params[:width], params[:height], params[:padLeft], params[:padRight], params[:padTop], params[:padBottom], &blk)
|
2404
2404
|
end
|
2405
|
+
alias old_findText findText
|
2406
|
+
def findText(string, *args)
|
2407
|
+
argument_names = %w{start flags}
|
2408
|
+
default_params = { :start => 0, :flags => SEARCH_FORWARD|SEARCH_WRAP|SEARCH_EXACT }
|
2409
|
+
params = {}
|
2410
|
+
params = args.pop if args.last.is_a? Hash
|
2411
|
+
args.each_with_index { |e, i| params[argument_names[i].intern] = e }
|
2412
|
+
params.keys.each { |key| raise ArgumentError, "Unrecognized parameter #{key}" unless default_params.keys.include?(key) }
|
2413
|
+
params = default_params.merge(params)
|
2414
|
+
old_findText(string, params[:start], params[:flags])
|
2415
|
+
end
|
2405
2416
|
end
|
2406
2417
|
|
2407
2418
|
class FXTextField
|
data/lib/fox16/version.rb
CHANGED
data/rdoc-sources/FXImage.rb
CHANGED
@@ -113,7 +113,8 @@ module Fox
|
|
113
113
|
def release(); end
|
114
114
|
|
115
115
|
#
|
116
|
-
# Rescale pixels image to the specified width and height
|
116
|
+
# Rescale pixels image to the specified width and height and then
|
117
|
+
# re-render the server-side image from the client-side pixel buffer. Note that this
|
117
118
|
# serves a slightly different purpose than the base class resize() method,
|
118
119
|
# which simply resizes the client-side pixel data buffer but doesn't
|
119
120
|
# transform the image.
|
@@ -132,7 +133,8 @@ module Fox
|
|
132
133
|
def scale(w, h, quality=0) ; end
|
133
134
|
|
134
135
|
#
|
135
|
-
# Mirror image horizontally and/or vertically
|
136
|
+
# Mirror image horizontally and/or vertically and then re-render the
|
137
|
+
# server-side image from the client-side pixel buffer.
|
136
138
|
#
|
137
139
|
# ==== Parameters:
|
138
140
|
#
|
@@ -142,7 +144,8 @@ module Fox
|
|
142
144
|
def mirror(horizontal, vertical) ; end
|
143
145
|
|
144
146
|
#
|
145
|
-
# Rotate image counter-clockwise by some number of degrees
|
147
|
+
# Rotate image counter-clockwise by some number of degrees and then
|
148
|
+
# re-render the server-side image from the client-side pixel buffer.
|
146
149
|
#
|
147
150
|
# ==== Parameters:
|
148
151
|
#
|
@@ -151,7 +154,8 @@ module Fox
|
|
151
154
|
def rotate(degrees) ; end
|
152
155
|
|
153
156
|
#
|
154
|
-
# Crop image to given rectangle
|
157
|
+
# Crop image to given rectangle and then re-render the server-side image
|
158
|
+
# from the client-side pixel buffer. This method calls resize() to adjust the client
|
155
159
|
# and server side representations. The new image may be smaller or larger
|
156
160
|
# than the old one; blank areas are filled with color. There must be at
|
157
161
|
# least one pixel of overlap between the old and the new image.
|
@@ -182,7 +186,8 @@ module Fox
|
|
182
186
|
def fade(color, factor=255); end
|
183
187
|
|
184
188
|
#
|
185
|
-
# Shear image horizontally
|
189
|
+
# Shear image horizontally and then re-render the server-side image
|
190
|
+
# from the client-side pixel buffer. The number of pixels is equal to the
|
186
191
|
# _shear_ parameter times 256. The area outside the image is filled
|
187
192
|
# with transparent black, unless another _color_ is specified.
|
188
193
|
#
|
@@ -194,7 +199,8 @@ module Fox
|
|
194
199
|
def xshear(shear, color=0); end
|
195
200
|
|
196
201
|
#
|
197
|
-
# Shear image
|
202
|
+
# Shear image verticallyand then re-render the server-side image
|
203
|
+
# from the client-side pixel buffer. The number of pixels is equal to the
|
198
204
|
# _shear_ parameter times 256. The area outside the image is filled
|
199
205
|
# with transparent black, unless another _color_ is specified.
|
200
206
|
#
|
@@ -19,6 +19,7 @@ module Fox
|
|
19
19
|
# +TOGGLEBUTTON_AUTOGRAY+:: Automatically gray out when not updated
|
20
20
|
# +TOGGLEBUTTON_AUTOHIDE+:: Automatically hide toggle button when not updated
|
21
21
|
# +TOGGLEBUTTON_TOOLBAR+:: Toolbar style toggle button [flat look]
|
22
|
+
# +TOGGLEBUTTON_KEEPSTATE+:: Draw button according to state
|
22
23
|
# +TOGGLEBUTTON_NORMAL+:: <tt>FRAME_RAISED|FRAME_THICK|JUSTIFY_NORMAL|ICON_BEFORE_TEXT</tt>
|
23
24
|
#
|
24
25
|
class FXToggleButton < FXLabel
|
data/tests/output.ps
ADDED
@@ -0,0 +1,166 @@
|
|
1
|
+
%!PS-Adobe-3.0
|
2
|
+
%%Title: Print Job
|
3
|
+
%%Creator: FOX GUI Toolkit Application
|
4
|
+
%%BoundingBox: 72 72 540 720
|
5
|
+
%%Pages: (atend)
|
6
|
+
%%DocumentFonts:
|
7
|
+
%%EndComments
|
8
|
+
%%BeginProlog
|
9
|
+
|
10
|
+
|
11
|
+
% h w x y drawRect
|
12
|
+
/drawRect {
|
13
|
+
newpath moveto dup 0 rlineto exch dup 0 exch
|
14
|
+
rlineto exch neg 0 rlineto neg 0 exch rlineto
|
15
|
+
closepath stroke
|
16
|
+
} def
|
17
|
+
% h w x y fillRect
|
18
|
+
/fillRect {
|
19
|
+
newpath moveto dup 0 rlineto exch dup 0 exch
|
20
|
+
rlineto exch neg 0 rlineto neg 0 exch rlineto
|
21
|
+
closepath fill stroke
|
22
|
+
} def
|
23
|
+
% x y a b drawLine
|
24
|
+
/drawLine {
|
25
|
+
newpath moveto lineto stroke
|
26
|
+
} def
|
27
|
+
% x y ..... npoints drawLines
|
28
|
+
/drawLines {
|
29
|
+
3 1 roll newpath moveto {lineto} repeat stroke
|
30
|
+
} def
|
31
|
+
% x y a b ..... nsegments drawSegmt
|
32
|
+
/drawSegmt {
|
33
|
+
newpath {
|
34
|
+
moveto lineto
|
35
|
+
} repeat stroke
|
36
|
+
} def
|
37
|
+
% x y drawPoint
|
38
|
+
/drawPoint {
|
39
|
+
translate 1 1 scale 8 8 1 [ 8 0 0 8 0 0 ] {<0000>} image
|
40
|
+
} def
|
41
|
+
% centerx centery startAngle endAngle radiusX radiusY drawArc
|
42
|
+
/drawArc {
|
43
|
+
gsave dup 3 1 roll div dup 1 scale 6 -1 roll
|
44
|
+
exch div 5 1 roll 3 -2 roll arc stroke grestore
|
45
|
+
} def
|
46
|
+
% (string) x y height drawText
|
47
|
+
/drawText {
|
48
|
+
gsave findfont exch scalefont setfont moveto
|
49
|
+
show grestore
|
50
|
+
} def
|
51
|
+
/bwproc
|
52
|
+
{ rgbproc
|
53
|
+
dup length 3 idiv string 0 3 0
|
54
|
+
5 -1 roll
|
55
|
+
{ add 2 1 roll 1 sub dup 0 eq
|
56
|
+
{ pop 3 idiv 3 -1 roll dup 4 -1 roll dup
|
57
|
+
3 1 roll 5 -1 roll put 1 add 3 0 }
|
58
|
+
{ 2 1 roll } ifelse
|
59
|
+
} forall
|
60
|
+
pop pop pop
|
61
|
+
} def
|
62
|
+
systemdict /colorimage known not
|
63
|
+
{ /colorimage
|
64
|
+
{ pop pop /rgbproc exch def
|
65
|
+
{ bwproc } image
|
66
|
+
} def
|
67
|
+
} if
|
68
|
+
% Color - r g b C
|
69
|
+
/C { setrgbcolor } bind def
|
70
|
+
% Point - x y r g b P
|
71
|
+
/P { C newpath 0.5 0.0 360.0 arc closepath fill } bind def
|
72
|
+
% Flat Shaded Line - x2 y2 x1 y1 r g b L
|
73
|
+
/L { C newpath moveto lineto stroke } bind def
|
74
|
+
% Smooth-shaded line - x2 y2 r2 g2 b2 x1 y1 r1 g1 b1 SL
|
75
|
+
/SL {
|
76
|
+
/b1 exch def
|
77
|
+
/g1 exch def
|
78
|
+
/r1 exch def
|
79
|
+
/y1 exch def
|
80
|
+
/x1 exch def
|
81
|
+
/b2 exch def
|
82
|
+
/g2 exch def
|
83
|
+
/r2 exch def
|
84
|
+
/y2 exch def
|
85
|
+
/x2 exch def
|
86
|
+
|
87
|
+
b2 b1 sub abs 0.01 gt
|
88
|
+
g2 g1 sub abs 0.005 gt
|
89
|
+
r2 r1 sub abs 0.008 gt
|
90
|
+
or or {
|
91
|
+
/bm b1 b2 add 0.5 mul def
|
92
|
+
/gm g1 g2 add 0.5 mul def
|
93
|
+
/rm r1 r2 add 0.5 mul def
|
94
|
+
/ym y1 y2 add 0.5 mul def
|
95
|
+
/xm x1 x2 add 0.5 mul def
|
96
|
+
|
97
|
+
x1 y1 r1 g1 b1 xm ym rm gm bm SL
|
98
|
+
xm ym rm gm bm x2 y2 r2 g2 b2 SL
|
99
|
+
} {
|
100
|
+
x1 y1 x2 y2 r1 g1 b1 L
|
101
|
+
} ifelse
|
102
|
+
} bind def
|
103
|
+
% Flat-shaded triangle - x3 y3 x2 y2 x1 y1 r g b T
|
104
|
+
/T { C newpath moveto lineto lineto closepath fill } bind def
|
105
|
+
% Smooth-shaded triangle - x3 y3 r3 g3 b3 x2 y2 r2 g2 b2 x1 y1 r1 g1 b1 ST
|
106
|
+
/ST {
|
107
|
+
/b1 exch def
|
108
|
+
/g1 exch def
|
109
|
+
/r1 exch def
|
110
|
+
/y1 exch def
|
111
|
+
/x1 exch def
|
112
|
+
/b2 exch def
|
113
|
+
/g2 exch def
|
114
|
+
/r2 exch def
|
115
|
+
/y2 exch def
|
116
|
+
/x2 exch def
|
117
|
+
/b3 exch def
|
118
|
+
/g3 exch def
|
119
|
+
/r3 exch def
|
120
|
+
/y3 exch def
|
121
|
+
/x3 exch def
|
122
|
+
|
123
|
+
b2 b1 sub abs 0.05 gt
|
124
|
+
g2 g1 sub abs 0.017 gt
|
125
|
+
r2 r1 sub abs 0.032 gt
|
126
|
+
b3 b1 sub abs 0.05 gt
|
127
|
+
g3 g1 sub abs 0.017 gt
|
128
|
+
r3 r1 sub abs 0.032 gt
|
129
|
+
b2 b3 sub abs 0.05 gt
|
130
|
+
g2 g3 sub abs 0.017 gt
|
131
|
+
r2 r3 sub abs 0.032 gt
|
132
|
+
or or or or or or or or {
|
133
|
+
/b12 b1 b2 add 0.5 mul def
|
134
|
+
/g12 g1 g2 add 0.5 mul def
|
135
|
+
/r12 r1 r2 add 0.5 mul def
|
136
|
+
/y12 y1 y2 add 0.5 mul def
|
137
|
+
/x12 x1 x2 add 0.5 mul def
|
138
|
+
|
139
|
+
/b13 b1 b3 add 0.5 mul def
|
140
|
+
/g13 g1 g3 add 0.5 mul def
|
141
|
+
/r13 r1 r3 add 0.5 mul def
|
142
|
+
/y13 y1 y3 add 0.5 mul def
|
143
|
+
/x13 x1 x3 add 0.5 mul def
|
144
|
+
|
145
|
+
/b32 b3 b2 add 0.5 mul def
|
146
|
+
/g32 g3 g2 add 0.5 mul def
|
147
|
+
/r32 r3 r2 add 0.5 mul def
|
148
|
+
/y32 y3 y2 add 0.5 mul def
|
149
|
+
/x32 x3 x2 add 0.5 mul def
|
150
|
+
|
151
|
+
x1 y1 r1 g1 b1 x12 y12 r12 g12 b12 x13 y13 r13 g13 b13
|
152
|
+
x2 y2 r2 g2 b2 x12 y12 r12 g12 b12 x32 y32 r32 g32 b32
|
153
|
+
x3 y3 r3 g3 b3 x32 y32 r32 g32 b32 x13 y13 r13 g13 b13
|
154
|
+
x32 y32 r32 g32 b32 x12 y12 r12 g12 b12 x13 y13 r13 g13 b13
|
155
|
+
ST ST ST ST
|
156
|
+
} {
|
157
|
+
x1 y1 x2 y2 x3 y3 r1 g1 b1 T
|
158
|
+
} ifelse
|
159
|
+
} bind def
|
160
|
+
%%EndProlog
|
161
|
+
%%BeginSetup
|
162
|
+
/#copies 1 def
|
163
|
+
%%EndSetup
|
164
|
+
%%Trailer
|
165
|
+
%%Pages: 0
|
166
|
+
%%EOF
|