SGL Lib
SGL Lib
SGL Lib
MATLAB C/C++
Graphics Library
The Language of Technical Computing
Computation
Visualization
Programming
User’s Guide
Version 1
How to Contact The MathWorks:
508-647-7000 Phone
508-647-7001 Fax
http://www.mathworks.com Web
ftp.mathworks.com Anonymous FTP server
comp.soft-sys.matlab Newsgroup
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3
i
Compiling and Linking Translated M-Files . . . . . . . . . . . . . 2-15
Compiling Translated M-Files . . . . . . . . . . . . . . . . . . . . . . . . . 2-15
Linking with MATLAB Libraries . . . . . . . . . . . . . . . . . . . . . . . 2-15
Troubleshooting
3
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
Using Unsupported MATLAB 5.3 Features . . . . . . . . . . . . . . . . 3-2
Compiling Application Written as Scripts . . . . . . . . . . . . . . . . . 3-3
Fixing Callback Problems: Illegal Syntax . . . . . . . . . . . . . . . . . 3-4
Fixing Callback Problems: Missing Functions . . . . . . . . . . . . . . 3-7
Depending on Graphics Settings in Start-Up Files . . . . . . . . . . 3-9
Print Option Does Not Appear on File Menu . . . . . . . . . . . . . . . 3-9
Reference
4
MATLAB C/C++ Graphics Library . . . . . . . . . . . . . . . . . . . . . . 4-2
MATLAB 5.3 Built-In Graphics Functions . . . . . . . . . . . . . . . . . 4-2
MATLAB 5.3 M-File Graphics Functions . . . . . . . . . . . . . . . . . . 4-3
ii Contents
1
Introduction
Note You must use the MATLAB Compiler to create C or C++ stand-alone
graphics applications. Calling MATLAB C/C++ Graphics Library routines
directly from a C or C++ source module is not supported.
After reading these sections, continue with “Installing the MATLAB C/C++
Graphics Library” on page 1-7 and then read “Configuring the MATLAB C/C++
Graphics Library” on page 1-14.
• MATLAB 5.3 built-in graphics functions, such as surf, plot, get, and set
• Some commonly used MATLAB 5.3 M-file graphics functions, such as
newplot, gcf, gca, gco, and gcbf
1-2
The MATLAB C/C++ Graphics Library
For a complete list of the routines included in the graphics library, see Chapter
4, “Reference.”
Note While only a subset of MATLAB M-file graphics functions are included
in the MATLAB C/C++ Graphics Library, the MATLAB Compiler can compile
many others graphics M-files, if they are included in a graphics application.
Restrictions
The MATLAB C/C++ Graphics Library supports most MATLAB 5.3 features,
including multidimensional arrays, cell arrays, and structures. However, there
are some MATLAB features the graphics library does not support, including:
• MATLAB integer types (int8, int16, int32, uint8, uint16, and uint32)
• MATLAB objects
• OpenGL
• plotedit command
Note The graphics library is subject to the same limitations as the MATLAB
Compiler and the MATLAB C/C++ Math Library. For example, MATLAB
functions that require the MATLAB interpreter, most notably eval() and
input(), are not supported. See the MATLAB Compiler and MATLAB C/C++
Math Library documentation for information about their restrictions.
1-3
1 Introduction
user has set up as the default printer on their system. In addition, the graphics
library honors any figure or axes properties your application sets to customize
the printed output.
Device Description
1-4
The MATLAB C/C++ Graphics Library
Table 1-2: print Command Line Options Supported by the Graphics Library
Option Description
1-5
1 Introduction
Topic Document
1-6
Installing the MATLAB C/C++ Graphics Library
After reading this section, continue with “Configuring the MATLAB C/C++
Graphics Library” on page 1-14.
System Requirements
Software. To use the MATLAB C/C++ Graphics Library to create a stand-alone
C or C++ application requires several other MATLAB products:
You must also have installed on your system an ANSI C or C++ compiler.
1-7
1 Introduction
Hardware. The MATLAB C/C++ Graphics Library is available for PCs running
Microsoft Windows or Linux and for Sun, HP, SGI, and Alpha UNIX platforms.
The MATLAB C/C++ Graphics Library is not supported on IBM RS/6000
systems.
For the most up-to-date information about the systems supported by MATLAB,
Release 11, see the System Requirements page in the Products area at the
MathWorks Web site, www.mathworks.com.
4 Select the type of system on which you want to run the graphics library from
the list of supported systems, and then click the Continue button. You can
select multiple systems.
5 Select the MATLAB C/C++ Graphics Library from the list of products you
are licensed to install, and then click the Continue button.
6 Download the required product archives, and any optional product archives,
by right-clicking on their links and selecting the save option provided by
your browser. You can specify the folder into which you want to download
the product archive and the name you want assigned to the archive.
7 When the download is complete, view the contents of your download folder
and double-click on the graphics library archive. This starts the MATLAB
installation program. Follow the instructions included in each dialog box
displayed by the installation program. You will need your license
information to complete the installation.
1-8
Installing the MATLAB C/C++ Graphics Library
For more information about the installation process, read the Installation
Guide for PC, available in PDF format on the Support page at The MathWorks
Web site. Click on the Documentation link and go to the Online Manuals page
to find the documentation in PDF format.
1-9
1 Introduction
2 If you have your License File, click on the Download Products link. If you
do not have your License File, follow the appropriate link to obtain it.
4 Select the type of system on which you want to run the graphics library from
the list of supported systems, and then click the Continue button. You can
select multiple systems.
5 Select the MATLAB C/C++ Graphics Library from the list of products you
are licensed to install, and then click the Continue button.
1-10
Installing the MATLAB C/C++ Graphics Library
7 Download the required product archives, and any optional product archives,
into the MATLAB installation directory by right-clicking their links and
selecting the save option provided by your browser. Do not change the names
of the archives.
8 In the installation directory, extract files from the boot.ftp archive using
the UNIX tar command
tar -xvf boot.ftp
This archive contains an installer program that extracts files from the other
archives you downloaded.
9 Place a copy of your License File in the MATLAB installation directory and
call it license.dat.
For more information about the installation process, read the Installation
Guide for UNIX, available in PDF format on the Support page at The
MathWorks Web site. Click on the Documentation link and go to the Online
Manuals page to find the documentation in PDF format.
1-11
1 Introduction
1-12
Installing the MATLAB C/C++ Graphics Library
1-13
1 Introduction
• The ANSI C or C++ compiler you intend to use to compile the code generated
by the MATLAB Compiler
• The libraries you want to link your application with; specifically, the
MATLAB C/C++ Math Library alone, or the math library and the MATLAB
C/C++ Graphics Library together.
For more information about the mbuild utility, see the MATLAB Compiler
User’s Guide. To learn how to build a stand-alone graphics application, see
Chapter 2, “Creating Stand-Alone Graphics Applications”.
1-14
Configuring the MATLAB C/C++ Graphics Library
mbuild -setup
[0] None
Compiler: 2
version: 3
1-15
1 Introduction
Note Even though you select the mbuildsglopts.sh options file, when
mbuild creates the local copy in ~/matlab, it renames the file to
mbuildopts.sh.
1-16
Configuring the MATLAB C/C++ Graphics Library
mbuild -setup
Options files control which compiler to use, the compiler and link
command options, and the run-time libraries to link against.
To override the default options file, use the ’mbuild -f’ command
(see ’mbuild -help’ for more information).
1: /matlab/bin/mbuildopts.sh :
Build and link with MATLAB C/C++ Math Library
2: /matlab/bin/mbuildsglopts.sh :
Build and link with MATLAB C/C++ Math and Graphics
Libraries
Enter the number of the options file to use as your default options
file: 2
1-17
1 Introduction
1-18
2
Creating Stand-Alone
Graphics Applications
Introduction . . . . . . . . . . . . . . . . . . . . 2-2
Overview . . . . . . . . . . . . . . . . . . . . . 2-3
Introduction
After installing and configuring the MATLAB C/C++ Graphics Library,
described in Chapter 1, “Introduction”, you can use it to create stand-alone
graphics applications. This chapter includes the following topics:
2-2
Overview
Overview
To create a stand-alone C or C++ graphics application, use the MATLAB
Compiler (mcc). The MATLAB Compiler:
Figure 2-1 shows how the Compiler works in conjunction with other tools and
libraries to create a stand-alone graphics application. In the figure, each tool is
represented by a shadowed box. For more detailed information about using the
MATLAB Compiler and the mbuild utility, see the MATLAB Compiler User’s
Guide.
2-3
2 Creating Stand-Alone Graphics Applications
MATLAB Compiler
C or C++ compiler
Stand-alone C or C++
graphics application
2-4
Building a Stand-Alone Graphics Application
!lorenz
2-5
2 Creating Stand-Alone Graphics Applications
• The example uses the DOS copy command to copy the Lorenz application
M-file into the current MATLAB directory. <matlab> represents your
toplevel MATLAB directory. (This step is suggested because you may not
have permission to create a new file in the MATLAB demos directory.) You
can also use Microsoft Windows Explorer to copy the file.
• The example invokes the MATLAB Compiler, using the -B flag to specify the
graphics library bundle file. Bundle files are ASCII text files that contain
Compiler command line options and arguments. The sgl bundle file,
specified in the example, creates a C stand-alone application. To create a C++
application, use the sglcpp bundle file. The bundle files reside in the
<matlab>\bin directory.
Note Do not use the Compiler -V1.2 flag when creating a stand-alone
graphics library.
Results of Compilation
When it translates an M-file application, the MATLAB Compiler generates
multiple C or C++ source code modules in your current working directory.
These include wrapper files that contain necessary components of a
stand-alone application, such as a main() entry point.
In addition, the first time you run the MATLAB Compiler to create a
stand-alone graphics application, it creates a subdirectory, named \bin, in
your current working directory. The Compiler puts in this directory versions of
the MATLAB menu bar and toolbar figure files that are used by stand-alone
graphics applications at run-time. (For more information, see “Changes in
Run-time Behavior and Appearance” on page 2-10.) When you run the
Compiler subsequently, it checks for the existence of these files and does not
overwrite them if they exist.
2-6
Building a Stand-Alone Graphics Application
MATLAB environment. However, make sure that the directory containing the
shared libraries to which your application has been linked (<matlab>\bin) is
on your directory search path.
Editing the Search Path on Windows 95. On Window95 systems, you must edit your
autoexec.bat file to add your shared library directory to the PATH variable.
Editing the Search Path on Windows NT. On Windows NT systems, go the Settings
option on the Start menu and choose Control Panel. Double-click on the
System icon to view the System Properties dialog box. Use the Environment
panel to edit the PATH variable.
!cp <matlab>/toolbox/matlab/demos/lorenz.m ./
!lorenz
2-7
2 Creating Stand-Alone Graphics Applications
• The example invokes the MATLAB Compiler, using the -B flag to specify the
graphics library bundle file. Bundle files are ASCII text files that contain
Compiler command line options and arguments. The sgl bundle file,
specified in the example, creates a C stand-alone application. To create a C++
application, use the sglcpp bundle file. The bundle files reside in the
<matlab>/bin directory.
Note Do not use the -V1.2 flag when using the MATLAB Compiler to create
a stand-alone graphics library.
Results of Compilation
When it translates an M-file application, the MATLAB Compiler generates
multiple C or C++ source code modules in your current working directory.
These include wrapper files that contain necessary components of a
stand-alone application, such as a main() entry point.
In addition, the first time you run the MATLAB Compiler to create a
stand-alone graphics application, it creates a subdirectory, named /bin, in
your current working directory. The Compiler puts in this directory versions of
the MATLAB menu bar and toolbar figure files that are used by stand-alone
graphics applications at run-time. (For more information, see “Changes in
Run-time Behavior and Appearance” on page 2-10.) When you run the
Compiler subsequently, it checks for the existence of these files and does not
overwrite them if they exist.
2-8
Building a Stand-Alone Graphics Application
libraries to which your application is linked. To set your path, use the
command from this table that is specific for your system.
Architecture Command
where:
<matlab> is the MATLAB root directory.
<arch> is your architecture (i.e., alpha, lnx86, sgi, sgi64, sol2).
To avoid having to reissue this command at the start of each login session,
include it in a startup script such as ~/.cshrc or ~/.login. Use the ~/.login
option, if your system supports it, because it only gets executed once.
A convenient way to provide the Compiler with this path information is to start
MATLAB and run the mccsavepath command. This command creates a file in
your current working directory, named mccpath, that contains this path
information. When you run the Compiler outside the MATLAB environment, it
automatically looks for this path information file in your local directory.
2-9
2 Creating Stand-Alone Graphics Applications
2-10
Building a Stand-Alone Graphics Application
2-11
2 Creating Stand-Alone Graphics Applications
Note, however, that the Print option in stand-alone graphics applications does
not display the Print dialog box, as it does for M-file applications.
Ctrl-C Handling
When you run a graphics application within MATLAB, you can press Ctrl-C to
break infinite loops. For example, you can press Ctrl-C to stop an animation.
When you run a C or C++ stand-alone application, Ctrl-C handling is not
supported.
2-12
Packaging a Graphics Application for Redistribution
2-13
2 Creating Stand-Alone Graphics Applications
2-14
Compiling and Linking Translated M-Files
On PCs. For a complete list of the libraries required for graphics applications,
and the order in which they should be specified, start MATLAB and run the
mbuild -setup command. When mbuild determines the C or C++ compiler you
intend to use, it creates an options file for that compiler, called compopts.bat,
that lists all the libraries, in the correct order. You can find the compopts.bat
file in a subdirectory of the user profiles directory.
2-15
2 Creating Stand-Alone Graphics Applications
Note If you are using the Microsoft Visual C compiler, you must manually
build import libraries from the .def files using the lib command. If you are
using the Borland C compiler, you can link directly against the .def files
using the implib command. If you are using the Watcom C compiler, you must
build the import libraries from the DLLs using the wlib command. See your
compiler documentation for information about these commands.
On UNIX Systems. To see a complete list of the libraries required for graphics
applications, view the mbuildsglopts.sh file in <matlab>/bin. Search for the
section of this file specific to your system architecture. The command lists the
required libraries, specified in the correct order.
2-16
3
Troubleshooting
Introduction . . . . . . . . . . . . . . . . . . . . 3-2
Using Unsupported MATLAB 5.3 Features . . . . . . . . 3-2
Compiling Application Written as Scripts . . . . . . . . . 3-3
Fixing Callback Problems: Illegal Syntax . . . . . . . . . 3-4
Fixing Callback Problems: Missing Functions . . . . . . . 3-7
Depending on Graphics Settings in Start-Up Files . . . . . 3-9
Print Option Does Not Appear on File Menu . . . . . . . 3-9
3 Troubleshooting
Introduction
The MATLAB Compiler can compile most M-files that use graphics into
stand-alone applications. Some M-files, however, may include coding practices
that are not supported by the Compiler or by the graphics library. In some
cases, the MATLAB Compiler may not be able to translate the M-file into C or
C++ code. In other cases, the M-file may compile successfully but fail when run
as stand-alone application.
This chapter describes how to diagnose and correct these problems, including:
See the MATLAB Compiler User’s Guide for more information about these
limitations.
Symptom
The Compiler outputs error messages that identify which unsupported feature
prevented compilation.
Workaround
If your application uses unsupported features, the only workaround is to
remove these unsupported features by recoding your application.
3-2
Introduction
Symptom
If you attempt to compile a script, the Compiler outputs the error message
??? Error: File “filename” is a Script M-file and cannot be
compiled with the current Compiler.
Workaround
To compile an application written as a script, turn it into a MATLAB function.
To do this, include the MATLAB function prototype at the top of the file. You
must also find where the script depends on variables in the base workspace and
declare these variables as global variables.
For example, in the following script, the variable f, set by the call to the figure
function, exists in the base workspace. This variable is then passed as a
parameter to the function, my_func, specified in the callback property string.
Passing a workspace variable in a callback string is supported in MATLAB but
it is not supported by the MATLAB Compiler.
f = figure;
p_btn = uicontrol(gcf,...
'style', ‘pushbutton',...
'Position',[10 10 133 25 ],...
'String', 'Press Here',...
'CallBack','my_func(f);');
global f;
f = figure;
3-3
3 Troubleshooting
p_btn = uicontrol(gcf,...
'style', ‘pushbutton',...
'Position',[10 10 133 25 ],...
'String', 'Press Here',...
'CallBack','my_callback’);
Here is the new callback function. Note how the function also declares f as
a global variable.
function my_callback()
% revised callback
global f;
my_func(f);
3-4
Introduction
This sample callback string illustrates a nested function call, gca; a string
constant, ’color’; a vector constant [0 0 1]; and a simple range, 0:.2:1.
’set(gca, ’’color’’, [0 0 1], ’’xtick’’, 0:.2:1)’
These constructs, which are supported in MATLAB, are not supported by the
graphics library callback parser:
Symptom
Your M-file application compiles successfully, creating a stand-alone
executable. However, when you run it, interactive user interface elements,
such as a push button, are not responsive. When you exit the application, the
graphics library issues an error message such as:
An error occurred in the callback : colormap([ 1 1 1; 0 0 0]);
The error message caught was : Colormap must have 3 columns:
[R,G,B].
Workaround
To fix an application that includes any of these constructs in a callback string:
• Search the application M-file for the callback string associated with the
callback property of the unresponsive user interface element. For
information about finding callback strings, see “Finding Callback Strings in
an M-File” on page 3-7.
• Remove the callback string from the M-file, if it uses unsupported
programming constructs, and put it into a new M-file, using it as the basis
for a new function.
• Specify the name of this new function as the value of the callback string
associated with the user interface element.
3-5
3 Troubleshooting
For example, this graphics application displays the output of the peaks
function and includes a push button that changes the colormap to black and
white.
function my_test()
% Graphics library callback test application
peaks;
p_btn = uicontrol(gcf,...
'style', ‘pushbutton',...
'Position',[10 10 133 25 ],...
'String', 'Make Black & White',...
'CallBack','colormap([1 1 1; 0 0 0]);');
This error is generated because the array argument passed to the colormap
function, [ 1 1 1; 0 0 0 ], contains more than one row. To fix this application,
create a new function that contains the call to colormap:
function change_colormap()
% New function made from callback property string
colormap([1 1 1; 0 0 0]);
Then, in the application M-file, replace the callback string associated with the
push button with the name of the new function, change_colormap:
function my_test()
% Graphics library callback test application
%#function change_colormap
peaks;
p_btn = uicontrol(gcf,...
3-6
Introduction
'style', ‘pushbutton',...
'Position',[10 10 133 25 ],...
'String', 'Make Black & White',...
'CallBack','change_colormap');
Symptom
Your application runs but an interactive user interface element, such as a push
button, is unresponsive. When you close the application, the graphics library
issues this error message:
An error occurred in the callback : change_colormap
The error message caught was : Reference to unknown function
change_colormap from FEVAL in stand-alone mode.
3-7
3 Troubleshooting
Workaround
To eliminate this error, create a list all of the functions that are specified only
in callback strings and pass this list to the %#function pragma. (See “Finding
Missing Functions in an M-File” on page 3-8 for hints about finding functions
in callback strings.) The Compiler processes any function listed in a
%#function pragma.
%#function change_colormap
peaks;
p_btn = uicontrol(gcf,...
’style’, ’pushbutton’,...
’Position’,[10 10 133 25 ],...
’String’, ’Make Black & White’,...
’CallBack’,’change_colormap’);
Note Instead of using the %#function pragma, you can specify the name of
the missing M-file on the Compiler command line. For more information about
this mechanisms, see the MATLAB Compiler User’s Guide.
3-8
Introduction
addition, this will find the properties of figures and axes that end in Fcn, such
as CloseRequestFcn, that also support callbacks.
Workaround
If your application depends on graphics settings in a startup.m file, include the
startup.m, or the portion of it your application depends on, in the group of
M-files that you compile with the MATLAB Compiler.
Workaround
Replace the menu bar and toolbar figure files in your application bin directory
with the versions of these figure files in the MATLAB installation directory
(<matlab>\extern\include on PCs or <matlab>/extern/include on UNIX
systems). When you restart your stand-alone graphics application, it will use
the new figure files.
Another way to replace your existing figure files with new figure files is to
delete your application bin directory and run the Compiler. If this directory
does not exist, the Compiler creates it and populates it with copies of the figure
files stored in the MATLAB installation directory. There is no need to
recompile your graphics M-file application, especially if this is a
time-consuming task. Compiling a trivial M-file graphics application is enough
to cause the creation of a new application bin directory.
3-9
3 Troubleshooting
3-10
4
Reference
waitfor waitforbuttonpress
4-2
MATLAB 5.3 M-File Graphics Functions
This table lists the MATLAB M-file functions contained in the MATLAB C/C++
Graphics Library. The stand-alone versions of these functions behave as the
functions do in MATLAB 5.3.
Table 4-2: MATLAB 5.3 M-File Graphics Functions in the Graphics Library
4-3
4 Reference
4-4
Index
Symbols
%#function pragma 3-8 assigning values to workspace variables 3-5
.cshrc 2-9 finding in M-code 3-7
.login 2-9 illegal syntax 3-4, 3-5
/bin directory (UNIX) multi-dimensional arrays as arguments 3-5
creating 2-8 nested function calls 3-4
packaging applications 2-14 passing workspace variables in 3-4
removing 3-9 scalar arguments 3-4
\bin directory (PCs) searching M-files for 3-8
creating 2-6 string arguments 3-5
packaging applications 2-13 supported syntax 3-5
removing 3-9 turning into functions 3-5
unsupported coding practices 3-5
callbacks
A unsupported coding practices 3-4
Adobe Illustrator color printing
device driver 1-4 support 1-4
axes objects 3-7, 3-9 Compiler. See MATLAB Compiler 1-7
compopts.bat 2-15
configuration 1-14
B on PCs 1-14
-B flag on UNIX systems 1-16
specifying bundle files 2-6, 2-8 Ctrl-C handling
building graphics applications 2-5 stand-alone graphics applications 2-12
on PCs 2-5
on UNIX systems 2-7
other methods 2-15 D
bundle files device drivers
using 2-6, 2-8 support 1-4
distributing graphics applications
on Microsoft Windows 2-13
C on UNIX systems 2-14
C application drivers
creating 2-6, 2-8 support 1-4
C++ applications Dynamic Link Libraries (DLLs)
creating 2-6, 2-8 installed with graphics library 1-9
callback strings
I-1
Index
I-2
Index
L MATLAB Compiler
libmwsgl.sl 1-12 bundle files 2-6, 2-8
libmwsgl.so 1-12 creating stand-alone applications 2-2
libraries defined 2-3
linking 2-15 restrictions 1-3
required link libraries 2-3 running outside the MATLAB environment
library search path 2-9
specifying on PCs 2-7 version required 1-7
specifying on UNIX systems 2-9 mbuild
libsgl.h 1-10 configuring the graphics library 1-14
license in build procedure on PCs 2-5
obtaining 1-7 in build procedure on UNIX systems 2-7
linking options files 1-14
required libraries 2-3, 2-15 mbuild options file 2-15
mbuildopts.sh 1-16
mbuildsglopts.sh 1-16
M mbuild
math operations options files 2-16
in callback strings 3-5 mccsavepath 2-9
MATLAB 5.3 menu bar graphics file
built-in functions in graphics library 4-2 location 1-10
M-file graphics functions in graphics library M-files
4-3 creating stand-alone applications 2-2
unsupported features 3-2 finding callback strings 3-7
MATLAB C/C++ Graphics Library searching for callback strings 3-8
built-in functions 4-2 translating into C or C++ code 2-3
components 1-2 unsupported coding practices 1-5
MATLAB 4.2 functions 4-3 module definition file
M-file functions 4-3 sgl.def 1-10
overview 1-2 mpath.dll 1-9
relationship to the MATLAB Math Libraries multidimensional arrays
2-4 passed in callback strings 3-5, 3-6
restrictions 1-3
MATLAB C/C++ Math Library
relationship to graphics library 2-4 N
restrictions 1-3 nested function calls 3-4
version required 1-7
I-3
Index
O unresponsive 3-5
objects 1-3
unsupported feature 3-2
objects (Handle Graphics) R
axes 3-7, 3-9 ranges
controls 3-7, 3-8 specifying in a callback string 3-5
figures 3-7, 3-9 renderers
menus 3-7, 3-8 support 1-5
ODE solvers 3-8 restrictions 1-3
OpenGL runtime
restrictions 1-3 behavior of stand-alone applications 2-10
options files run-time errors
mbuild 1-14, 2-16 in stand-alone graphics applications 3-5
P S
painters renderer scalar arguments 3-4
support 1-5 scripts
path compiling 3-3
setting on a PC 2-7 turning into functions 3-3
setting on UNIX systems 2-9 sgl 1-12
PCs installation directory 1-9
building stand-alone graphics applications sgl bundle file
2-5 using 2-6, 2-8
packaging graphics applications 2-13 sgl.dll 1-9
plotedit command sgl.h 1-12
restrictions 1-3 sglcpp 1-12
PostScript drivers installation directory 1-9
support 1-4 sglcpp bundle file
print command using 2-6, 2-8
options 1-5 shared libraries
support 1-3 installed with graphics library 1-9
printing required by stand-alone graphics applications
color support 1-4 2-13
support 1-3 stand-alone graphics applications
troubleshooting 3-9 build procedure 2-5
push buttons building on PCs 2-5
I-4
Index
U
uicontrol objects 3-7, 3-8
uimenu objects 3-7, 3-8
uiw_sgl.dll 1-9
UNIX systems
building stand-alone graphics applications 2-7
packaging graphics applications 2-14
unsupported features
MATLAB 5.3 3-2
user interface elements
unresponsive 3-5
I-5