GrWin Graphics Library Version 0.99.9b Copyright (C) 1998 - 2003 Tamaribuchi, Tsuguhiro tamari@spdg1.sci.shizuoka.ac.jp http://spdg1.sci.shizuoka.ac.jp/grwinlib/english/ Contents 1. Introduction 2. Platforms and supported compilers 3. Mailing lists 4. Installation 5. How to link the library 6. grwnd.exe 7. PGPLOT drivers 8. Distribution 9. Download 10. This version 1. Introduction GrWin Graphics Library is a free graphics routine library for Fortran and C/C++ available on Windows Xp/2000/NT/Me/9x (x86) platforms. Using this library you can enjoy free graphics programming on Windows even if you have no experience on Windows programming. Currently supported compiler systems are as follows: MinGW-2.0 Cygnus Cygwin 1.3.x AT&T UWIN 3.x GCC Development Toolchain for x86-win32 targets Open Watcom C/C++ and Fortran 1.0 Borland C++ Compiler 5.5 Digital Mars C/C++ Compilers Intel(R) C++/Fortran Compiler 7.1 Microsoft Visual C++ Version 6.0 Compaq/Digital Compaq Visual Fortran Version 6 f2c for several C compilers When an application linked with the GrWin Library is running on a console window of a command prompt (DOS prompt for Windows Me/9x) as a console application, the behavior of the application on the console window is exactly the same as one without use of the graphics. That is, the use of this library does not change the character based user interfaces (CUI), such as stdin and stdout assigned to the keyboard and a console window, respectively, and instead an independent Windows application grwnd.exe, the graphics engine of GrWin, distributed with the library files is used to open graphics windows. This means that you can modify an existing program part by part to make a program for graphics. The GrWin Library can be linked also with Windows applications (GUI) written in C or C++. You can, though high level routines such as for graphs with hidden lines and for contour diagrams are not implemented yet in this release, do those high level graphics by installing PGPLOT with interactive drivers written using the GrWin Library. 2. Platforms and supported compilers The GrWin Library with grwnd.exe is expected to work on any PC's where one of Windows Xp/2000/NT/Me/9x (x86) is running. In developing this project, a top priority is to make a free system, and currently main targets are MinGW-2.0 and Cygnus Cygwin 1.3.x. Other compiler systems listed in the table below are also available. Especially as f2c ( a Fortran 77 to C translator ) is supported for Intel(R) C++, Borland C/C++, Microsoft Visual C++ and Digital Mars C/C++ compilers, those users who do not have a Fortran compiler can do graphics programming by Fortran 77. This project has been developed specifically for Win32 platforms ( Windows Xp/2000/NT/Me/9x ), and deeply depends on the Win32 API. So there is no plan to port this to other platforms. Supported compiler systems compiler abbr. *1 FORTRAN C / C++ f2c free notes MinGW-2.0 MinGW g77 gcc / g++ n/a yes Cygnus Cygwin 1.3.x cygwin g77 gcc / g++ n/a yes Open Watcom C/C++ and Fortran 1.0 watcom wfl386 wcl386 n/a yes Borland C++ Compiler 5.5 bcc n/a bcc32 avail. yes Digital Mars C/C++ Compilers dmc n/a sc avail. yes Intel(R) C++/Fortran Compiler 7.1 Intel ifl icl avail. no *2 Microsoft Visual C++ Version 6.0 vcpp n/a cl avail. no Compaq Visual Fortran Version 6 vf df n/a n/a no gcc-2.95.2-mingw32 (MSVCRT) mingw32m g77 gcc / g++ n/a yes *3 gcc-2.95.2-mingw32 (CRTDLL) mingw32 g77 gcc / g++ n/a yes *3 gcc-2.95.2-cygb20 cygb20 g77 gcc / g++ n/a yes *4 gcc-2.95.2-uwin / AT&T UWIN 3.x uwin g77 gcc / g++ n/a *5 *6 *1 applicabe only in the GrWin documentation *2 C/C++ and Fortran are independent products. *3 a previous version of MinGW, by Mumit Khan. *4 a previous beta version of Cygwin 1.n.x *5 not free, but educational, research, and evaluation copies available. *6 GrWin supports only gcc-2.95.2 under UWIN. 3. Mailing lists By courtesy of Dr. Svensson at the European Synchrotron Radiation Facility (ESRF), the grwin@esrf.fr mailing list is available for all users of the GrWin Library. To subscribe to the list send a mail to grwin-request@esrf.fr with "subscribe" as the message body. To get a copy of the help message, send a mail to Majordomo@esrf.fr with "help" as the message body. Another mailing list grwin-users@spdg1.sci.shizuoka.ac.jp is also available mainly for Japanese users. Of course it is not closed for Japanese users and everyone iswelcome to join it, though articles are preferable to be written in Japanese. To subscribe to the grwin-users@spdg1.sci.shizuoka.ac.jp mailing list,access here (CGI with Japanese messages), or send a mail to majordomo@spdg1.sci.shizuoka.ac.jp with subscribe grwin-users your_email_address as the message body. 4. InstallationThe GrWin graphics library supports many compiler systems, and installer packages each of which is customized for a supported compiler system are available. An all-in-one installer package and a compressed tar file that includes all the distribution files, with which you can install GrWin under any supported compiler systems, are also available. It is strongly recommended that you use an installer version suited for your compiler system unless you use more than one compiler system on a computer to make GrWin applications. All the downloadable files are listed in Download. a. Installer packages for specific compilersTo install GrWin using a GrWin installer package you should have at least one of the supported compiler systems installed and ready to be used. Using such a package that is suited for your compiler system, a set of GrWin files, which enables you to develop graphical applications with the included documentation, is installed quite easily in suitable separate folders by responding to some dialogs appearing in the installation process. If it is normally done you are ready to do graphics programing using the GrWin library, moreover you are ready to make PGPLOT applications on Windows if you select (by default) the PGPLOT option in a dialog. [ Users of Compaq Visual Fortran Version 6, however, have to make PGPLOT library files themselves using the GrWin toolkit because the author does not have VF installed and is not able to provide the prebuilt binaries that requires it to make. ] If you want to know what an installer is doing in the installation process, consult the source file lGrWn0999be-XXX.iss for the installer included in that package. b. All-in-one packageIf you select more than one compiler system, or select the Custom installation, in the installation process using the all-in-one installer lGrWn0999be.exe, you must set yourself the PATH environment variable because all the executables, batch files and other files that should be on the PATH are installed in a folder, the GrWin folder. It is possible to use some or all the other compiler systems on separate windows on a machine. If you want to know what the installer is doing in the installation process, consult the source file lGrWn0999be.iss of the installer. If you do not like using such an installer you can use a compressed file lGrWn0999be.tgz, where all the distribution files are compressed with tar + gzip. In this case you should do additional installation procedures such as moving or copying files into suitable folders, etc., in addition to the setting of the PATH environment variable. c. Testing If the installation has done, input the following comannd in a command prompt as a test: C:\GrWin> cd demo C:\GrWin\demo> gwF77 trigfn C:\GrWin\demo> gwCC polygon C:\GrWin\demo> dir *.exe Here gwF77 and gwCC should read as correct bach file names for FORTRAN and C, respectivery, depending on your compiler system(s). If you are using a compiler system based on GNU, say MinGW, gwF77 and gwCC should read as gwf77 and gwgcc, respectivery, for example. If you were not able to get the executable files, trigfn.exe and polygon.exe, something is wrong, and then you should do from the beginning of the above installation procedure. d. Uninstallation To uninstall a set of GrWin files installed with an installer, use Add/Remove Programs in Control Panel, where the name 'GrWin Version Version 0.99.9b for XXX' should be listed with XXX standing for a compiler system. The GrWin installers do not create any registry key, but some grwnd.ini files might be created in some folders depending on how you have launched grwnd.exe, the graphics engine of GrWin. Remove all these GrWin.ini files if you do not like them being in folders. 5. How to build GrWin/PGPLOT executables For each of supported compiler systems a set of sample batch files is included in the corresponding distribution as mentioned in Distribution. The names, with omitted the extensions .bat's, of those sample batch files for each distribution is shown in the next table, where the symbol '(w)' stands for that the GUI counterpart of a batch file for a console window (CUI) is available with its filename followed by 'w', e.g., gwgccw for gwgcc. Sample batch file names for the supported compiler systems Supported compiler system FORTRAN C C++ PGPLOT CPGPLOT MinGW-2.0 gwf77 gwgcc(w) gwgpp pggwf77 pggwgcc(w) Cygnus Cygwin 1.3.x gwf77 gwgcc(w) gwgpp pggwf77 pggwgcc(w) Open Watcom C/C++ and Fortran 1.0 gwwfl gwwcl(w) pggwwfl pggwwcl(w) Borland C++ Compiler 5.5 + f2c gwf2bcc gwbcc(w) pggwf2bcc pggwbcc(w) Digital Mars C/C++ Compilers + f2c gwf2dmc gwdmc(w) pggwf2dmc pggwdmc(w) Intel(R) C++/Fortran Compiler 7.1 ( f2c available ) gwifl gwicl(w) pggwifl pggwicl(w) Microsoft Visual C++ Version 6.0 + f2c gwf2cl gwcl(w) pggwf2cl pggwcl(w) Compaq Visual Fortran Version 6 gwdf gwcl(w) pggwdf pggwcl(w) gcc-2.95.2-mingw32 gwf77 gwgcc(w) gwgpp pggwf77 pggwgcc(w) gcc-2.95.2-mingw32 gwf77 gwgcc(w) gwgpp pggwf77 pggwgcc(w) gcc-2.95.2-cygb20 gwf77 gwgcc(w) gwgpp pggwf77 pggwgcc(w) AT&T UWIN 3.x + gcc-2.95.2-uwin gwf77 gwgcc(w) gwgpp pggwf77 pggwgcc(w) It should be noted in using these batch files that extensions .f for Fortran, .c for C or .cpp for C++ should be omitted as only the first argument. For example, to get an executable abc.exe from abc.f and xyz.c using g77, the GNU Fortran, you can do as follows: gwf77 abc xyz.c Similarly to get aaa.exe from aaa.c using gcc, the GNU C, and bbb.exe from bbb.cpp using g++, the GNU C++, you can do as follows: gwgcc aaa gwgccw bbb To make a console application (CUI) from source code, the following option should be added in linking using gcc or g77 on MinGW-2.0, Cygnus Cygwin 1.3.x, AT&T UWIN 3.x and GCC Development Toolchain for x86-win32 targets: -Wl,--subsystem,console -lGrWin -mwindows You can see similar lines in the sample batch files gwf77.bat and gwgcc.bat. To make a Windows application (GUI) using gcc or g77 the option 'console' should be replaced with 'windows' as -Wl,--subsystem,windows -lGrWin -mwindows and gwgccw.bat includes a similar line. To make CUI and GUI executables using other compiler systems, say VC++, refer the command lines in the corresponding batch files, e.g., gwcl.bat and gwclw.bat, respectively, for VC++. In the subfolders demo and pgplot in the GrWin folder, various pieces of source code are available as examples. To make all executables to the source files in those directories using a compiler based on GNU, i.e., MinGW-2.0, Cygnus Cygwin 1.3.x, AT&T UWIN 3.x or GCC Development Toolchain for x86-win32 targets, input simply make or, in the demo folder nmake -f make.mak for VC++/VF. Before running any executable it is recommended to see the description about grwnd.exe. 6. grwnd.exeIs the graphics engine for the GrWin graphics library, with which almost all the features of GrWin, graphics, event handlings, printings, clip boards, etc., are implemented. When an instance of grwnd.exe is launched a main (frame) window appears on the display and then calling a series of GrWin routines corresponding graphics objects are drawn serially on a client window opening within the frame window. An instance of grwnd.exe is created when 7. launched manually from command line or from explorer, etc., 8. the initialization routine GWinit or GWinitx is called explicitly in a program, 9. the initialization routine is called implicitly from the first call to GWopen or GWopenx. Attributes such as sizes and positions of the frame window of a grwnd.exe can be specified with command line options for grwnd.exe or in a call to GWinitx with its arguments almost equivalent to the command line options. Unless you want to specify some of these options, the third method above is the simplest and recommended. These options can be specified by several methods described below. From the menu bar of each frame window you can do closing, erasing and printing using a printer, etc., to an active client window as well as specifying the starting options. Important features of grwnd.exe are described as follows: Starting options for grwnd.exeAs grwnd.exe has a reasonable default setting there is usually no need to specify starting options for it. If you want to customize them an initialization file ( .ini ) as well as command line options can be used. An initialization file is a text file with the extension .ini in which items for an initial setting of grwnd.exe are described. The destination .ini file is searched in the following order: 1. the file specified from [help] --> [Starting options] at the menu bar of grwnd.exe launched in advance. This also enables you to create and/or modify an .ini file interactively even if no .ini file exists. 2. the file XXX.ini specified in the command line of grwnd.exe with arbitrary XXX 3. YYY.ini in the same folder with the same base name YYY as the application YYY.exe 4. grwnd.ini in the folder specified with the environment parameter GRWINDIR 5. grwnd.ini in the same folder as the application 6. grwnd.ini in the same folder as grwnd.exe If none found the default setting is used. Writing an .ini file all the available items must be in the [Defaults] section. A sample .ini file, equivalent to the default setting, is as follows: [Defaults] Storing=1 Buffering=1 StatusBar=1 Inquiring=0 Landscape=1 #Width=800 #Height=560 #PointX=0 #PointY=0 #DefaultDPI=300 MaxDPI=300 #ArrangeMode=2 #ShowMode=10 #ZOrder=1 Here the characters after '#' in a line are ignored as a comment. It should be noted that the upper limit of dpi values assumed in making an internal bitmap is specified with the MaxDPI. In the Bitmap mode with the Buffering being ON and DefaultDPI option not set, the assumed bitmap size depends on your current working printer, and a huge bitmap internally to be created may cause your computer being unstable. So do not set a too large value ( > 600 ) to the MaxDPI item unless you do know what you are doing. All the available items appear in the sample above, and you would guess meanings of them seeing the [Starting options] dialog or referring the next description about the command line options. Command line options for grwnd.exeThe graphics engine grwnd.exe, which may be launched manually in advance of any GrWin application, has commandline options as follows: Usage: grwnd [Options] [file.ini] [file1] [file2] ... Options ( <..> = an integer) : -p, Sets the position (X,Y) of the top-left corner of the main frame window in the screen coordinate. -s, Sets the size (W,H) of the bounding rectangle of the main frame window in the screen coordinate. -[dpi] Sets the default dpi value ( N <= 1200 ) for bitmaps, etc. -a Arranges the child windows with a mode number N (= 1..4), beeing equivalent to GWarrange (N). 1: -cascade, 2: -horizontal, 3: -vertical, 4: -iconarrange -m Sets the show state of the main frame window with a mode number N (= 0..14), beeing equivalent to GWshowfr (N). 0: -hide, 1: -maximize, 2: -minimize, 3: -restore, 4: -show, 5: -showmaximized, 6: -showminimized, 7: -showminnoactive, 8: -showna, 9: -shownoactive, 10: -shownormal, 11: -topmost, 12: -notopmost, 13: -top, 14: -bottom -z Sets the Z-order of the main frame window with a mode number N (= 1..4), beeing equivalent to GWshowfr (N+10). 1: -topmost, 2: -notopmost, 3: -top, 4: -bottom -t or -TTurns the storing mode ON or OFF. -b or -BTurns the buffering mode ON or OFF. -r or -RTurns showing the status bar ON or OFF. -i or -I Turns the inquiring mode ON or OFF. -l or -L Turns the landscape printer mode ON or OFF. Coordinate systems For each client window, grwnd.exe assumes an entire drawing rectangle, the paper, and the logical device coordinate system (LDCS) fixed on it. The origin of the LDCS is at the top-left of the paper, the horizontal axis is taken to the right, and the vertical to the bottom. On printing, the unit in the LDCS is mapped to 1 pixel on the printer if the MaxDPI value is greater than the value for the printer, otherwise a suitable scaling is made. The paper size can be specified in opening the window and is kept fixed usually. In an another coordinate system, the normalized logical coordinate system (NLCS), the size of the paper is normalized so as to give the unit length of the shorter side of the paper with preserving the aspect ratio. The origin is at the bottom-left of the paper in the NLCS with the vertical axis to the top. The view port is a temporal drawing rectangle set inside the paper defined by calling GWVPORT to specify the bottom-left and the top-right corners in the NLCS. The world coordinate system (WCS) is the user's coordinate system defined by calling GWINDOW to give the coordinates of the bottom-left and the top-right corners of the view port in this coordinate system. Almost all routines of the GrWin Library assume this WCS. View modes grwnd.exe has five view modes [Bitmap], [Isotropic], [Fit], [Total] and [Zoom in], and one of the modes for the active client window can be selected interactively from [Mode] at the menu bar, or by calling a routine GWVWMOD in an application. See for further details the descriptions for the submenu items for [Mode] below. Printing As grwnd.exe uses standard printing procedures for Windows, you can print the resultant or a snapshot of a graphics window drawn by your application using your running printer on Windows. So the quality of the resultant printed matter depends on the quality of the printer and the printer driver used, provided the storing mode is set on. When the storing mode is set off but the buffering mode is on, a bitmap used as an internal buffer is printed with a suitable scaling. Many printer and printer drivers seem not to support "Fill Bounded Area" function (see GWFLOOD). Printed result depends on which view mode is selected, and can be previewed from [File] -> [Print Preview]. You can choose a printer and/or set miscellaneous printer modes up from [File] -> [Print Setup]. Outputs in metafile format grwnd.exe supports the enhanced metafile format ( *.emf ) on output. Metafiles can be readily embedded in documents without loss of quality if you are using MS-Word or one of many other applications that support metafiles. See below to know how to get outputs in the enhanced metafile format. Clipboard grwnd.exe supports Windows clipboard, you can copy image of a view of the active window to the clipboard and import the clipboard to a image data available in the library. See for further details the descriptions for the submenu items for [Edit] and the user's manual. Pause and abort Usually grwnd.exe works passively by receiving commands from an application to which the GrWin Library is linked, and it interprets each of them to draw graphics objects on client windows. In some cases where unexpected result was displayed or the execution time is too long, etc., you may want to pause or abort the application as soon as possible. To this end [View] -> [Pause/Abort] is useful. See the corresponding descriptions below for further information. Status bar The frame window has a status bar at the bottom, which can be turned on or off by selecting [View] -> [Status bar]. The status bar has seven panes to display information of the current window; the first is for messages, the second for window number and the mouse cursor position in the LDCS, the third for the current view in the LDCS and the fourth is for the current number of the objects stored in memory. Menu bar Activating a client window some interactive operations to the client window or the associated application can be done from the menu bar of the frame window. The menu bar has the following submenus: [File] -> [Open]: Open a saved data file and draw it on a new client window. [Close]: Close the active client window. [Save]: Save the active client window. The specified name is used if GROPENX had been calld, or a default file name is used otherwise. [Save as]: Save the data displayed on the active client window to a file with the name specified by a file dialog. To save the data in the enhanced metafile format set the extention of the file name 'emf'. [Print]: Print the active client window. The size printed on a paper depends on the view mode described below, and usually [View] -> [Bitmap] is used. [Print Preview]: Preview a printing image. [Print Setup]: Set up the printer. Usually the landscape mode is selected from here. [Exit]: Close the all windows including the frame window and exit. This should not be used customarily and instead use GWQUIT in each application, because it could make unexpected error messages and memory leaks in some conditions. [Edit] -> [Copy]: Copy the active current view onto the Windows clipboard as a device independent bitmap(DIB). A DIB image on the clipboard can be handled many Windows applications such as paint.exe. [Import Clipboard]: Import a DIB image on the clipboard into an internal array for bitmaps with the bitmap number 0, and the imported DIB image is shown on a dialog box when the inquiring mode is ON. [View] -> [Pause/Abort]: Popup a message box and pause the application associated with the active client window until a button clicked. When the Yes button is clicked the application is aborted, or continue the job when No button clicked. [Replay]: Redraws the active client window in the replay mode where all the object are used to replay an animation for example. [Redraw]: Redraws the active client window. In contrast to [Replay], minimum objects are used to refresh a rectangle on the display surface using backgrownds and the buffer, if any. [Flushing]: Flushes all suspended objects belonging to the active client window. [Clear All]: Clears the active client window and deletes all the objects belonging to it. This is equivalent to call GWERASE. [Storing]: Toggle setting the storing mode. Turning this mode ON, drawn graphic objects are stored in memory for later uses such as printings and many aspects of redraws. [Buffering]: Toggle setting the buffering mode. Turning this mode ON, redrawings of complicated graphic objects or scrollings in the [Bitmap] mode described below can be done faster. [Status Bar]: Toggle displaying the status bar. [Inquiring]: Toggle setting the inquiring mode. When this mode is ON, a dialog box appears on deleting the objects or on importing a DIB image on the clipboard [Mode] -> [Bitmap]: The unit of the LDCS matchs 1 pixel on the display. Usually, the drawing area in the LDCS (the paper) is larger than the current view size of the client window, and the view can be scrolled by the horizontal and the vertical scroll bar to see everywhere on the paper. The aspect ratio is preserved on the display. [Isotropic]: The view port is displayed as large as possible with preserving the aspect ratio in the current view of the client window. [Fit]: The bounding rectangle for all drawn objects is fit onto the current view of the client window. The aspect ratio is not preserved on the display. [Total]: The whole paper is fit onto the current view of the client window. The aspect ratio is not preserved on the display. [Zoom in]: Zoom in on any area of the paper. When selected this mode, the crosshairs cursor appears and you can drag (move mouse with the left mouse button down) it to select any area bounded with a rubber band. This operation can be repeated again and again, and may be useful in such a case where mouse coordinates are captured in a certain high precision. [Window] -> [Fit Frame]: Fits the frame size to the current view of the client window with the size of the view unchanged. [Top Most]: Places the frame window at topmost. All the other submenu items are common in Windows applications. [Options] -> [Text Font]: Popup a font dialog to set attributes of the current text font associated with the active window. [Symbol Font]: Popup a font dialog to set attributes of the current symbol font associated with the active window. [Foreground Color]: Popup a color dialog to set the current foreground color associated with the active window. This is useful to make custom colors. [Background Color]: Popup a color dialog to set the current background color associated with the active window. [Help] -> No help available currently. Clicking [Starting options] opens a dialog box to set starting options. The version of this grwnd.exe is shown with [About grwnd...]. With [Library Manual] the User's Manual for the Library opens provided a web browser is associated with '.html'. PGPLOT driversA class of PGPLOT drivers, /GW and /CGW (and /GWD and /CGWD), is implemented on Windows 2000/NT/Me/9x (x86) platforms using GrWin Graphics Library Ver. 0.99.9b. The /CGW (/CGWD) driver has a color table compatible with the original distribution of the PGPLOT, whereas the background and the foreground color of the /GW (/GWD) driver are white and black, respectively. The GrWin Library is a library of graphics routines for Fortran and C developed specifically on Windows XP/2000/NT/Me/9x (x86) platforms using many compiler systems. Source code to make these drivers is available ftp://spdg1.sci.shizuoka.ac.jp/pub/GrWinlib/english/contrib/pgplot/pggw-150.tgz">he re. The same source code is also available in the GrWin ToolKit, a set of source code and tools to build library files for GrWin, PGPLOT and f2c. Executable files created from the original demo programs in the distribution of PGPLOT version 5.2.0 by compiling with the supported compiler systems are available as archive files listed in the following table: File name Compiler system pggw0999b-MinGW.tgz PGPLOT files for MinGW-2.0 pggw0999b-cygwin.tgz PGPLOT files for Cygnus Cygwin 1.3.x pggw0999b-watcom.tgz PGPLOT files for Open Watcom C/C++ and Fortran 1.0 pggw0999b-f2bcc.tgz PGPLOT files for Borland C++ Compiler 5.5 pggw0999b-f2dmc.tgz PGPLOT files for Digital Mars C/C++ Compilers pggw0999b-Intel.tgz PGPLOT files for Intel(R) C++/Fortran Compiler 7.1 ( f2c available ) pggw0999b-f2vcpp.tgz PGPLOT files for Microsoft Visual C++ Version 6.0 + f2c pggw0999b-mingw32m.tgz PGPLOT files for gcc-2.95.2-mingw32 pggw0999b-mingw32.tgz PGPLOT files for gcc-2.95.2-mingw32 pggw0999b-cygb20.tgz PGPLOT files for gcc-2.95.2-cygb20 pggw0999b-uwin.tgz PGPLOT files for AT&T UWIN 3.x + gcc-2.95.2-uwin If you use Compaq Visual Fortran (VF), no corresponding package is available now, but you can build all library files for it using the GrWin ToolKit or referring Karl Glazebrook's Web page [ Thanks Karl! ]. To run executables, expand one of the archive files in a directory, and then execute each of pgdemo*.exe and cpgdemo.exe obtained. If you downloaded a file for cygwin, cygb20 or uwin, you should do running as well as making executables in a console window under the corresponding environment. To display graphics using the GrWin Library, the graphics engine grwnd.exe for GrWin is necessary to be launched. See further information here to use grwnd.exe. In each of the archives in the above table all files necessary to build executables under a corresponding environment are also included as well. A brief instruction for an installation under Cygwin 1.3.x is as follows: 1. download a copy of the distribution file pggw0999b-cygwin.tgz into a directory, say /tmp 2. unpack it in a directory, say /pgplot: $ mkdir /pgplot $ cd /pgplot $ tar xvfz /pgplot/pggw0999b-cygwin.tgz 3. copy the library files into /usr/lib: $ cp *.a /usr/lib 4. copy the include files into /usr/include: $ cp *.h /usr/include 5. set environment variables PATH and PGPLOT_DIR. If you use bash as a shell input the following commands, which are necessary for every startups of bash and they can be in a startup file. $ PATH=/pgplot:$PATH $ export PATH $ PGPLOT_DIR=/pgplot $ export PGPLOT_DIR To make executables from source, batch files in the distribution are useful. Typical command lines are as follows: $ pggwf77.bat pgdemo1 ( to compile pgdemo1.f ) $ pggwgcc.bat cpgdemo ( to compile cpgdemo.c ) $ pggwcpp.bat foo ( to compile foo.cpp ) Distribution Using an installer version for each of the supported compiler systems, e.g., lGrWn0999be-XXX.exe with XXX the abbreviation for a supported compiler system name, the files shown below are installed in suitable folders, while all the files for the supported compiler systems are compressed by tar+gzip in lGrWn0999be.tgz and lGrWn0999be.exe is the installer version of it. The installation of GrWin is quite easy if you use one of the installer packages and can be finished by answering to some dialogs appearing in the installation process. If you uncompressed the lGrWn0999be.tgz file you should do another installation procedures yourself by moving/copying files into suitable folders, setting the PATH environment variable, etc. If you select more than one system executing the all-in-one installer lGrWn0999be.exe you should do the PATH setting because all the executables, batch files and other files they should be on the PATH are installed in a folder, the GrWin folder. It is strongly recommended that you use one of the installer versions of packages other than the all-in-one type unless you use more than one compiler system on a computer to make GrWin applications. A Brief summary of the files to be installed is shown below being classified with installation folders, where {F77}, {CC} and {CPP} in batchfile names should read as corresponding abbreviated command names for FORTRAN, C and C++, respectively, under the selected supported compiler system: GNU * watcom bcc dmc Intel vcpp vf {F77} f77 wfl n/a n/a ifl n/a df {CC} gcc wcl bcc dmc icl cl n/a {CPP} gpp wcl bcc dmc icl cl n/a * GNU = MinGW, cygwin, uwin, mingw32m, mingw32, ctgb20 a. GrWin folder File name Contents README.html README file in HTML README.txt README file as plain text lGrWn0999b.html User's Manual in HTML lGrWn0999b.txt User's Manual as plain text f77chk.txt a brief note for f77chk, a bundled source code checker for Fortran 77 demo\ a directory including source code for examples using GrWin pgplot\ a directory including files that are necessary to run PGPLOT applications and source code for the original PGPLOT demos lGrWn0999b-XXX.iss the source file for the installer used unins000.exe the executable for the uninstaller itself unins000.dat data file used by the uninstaller GrWin.ico icon file used by the uninstaller b. Bin folder File name Contents grwnd.exe the graphics engine of GrWin grwnd.ini a default .ini file for grwnd.exe f2c.exe the executable for f2c f77chk.pl the perl script for f77chk library.def a definition file for f77chk gw{F77}.bat a sample batch file to create an executable from Fortran source file(s). gw{CC}.bat a sample batch file to create an executable (CUI) from C source file(s). gw{CC}w.bat a sample batch file to create an executable (GUI) from C source file(s). gw{CPP}.bat a sample batch file to create an executable (CUI) from C++ source file(s). gw{CPP}w.bat a sample batch file to create an executable (GUI) from C++ source file(s). gwf2{CC}.bat a sample batch file to create an executable from Fortran source file(s) using f2c with the {CC} compiler. pggw{F77}.bat a sample batch file to create an executable linked with the PGPLOT library from Fortran source file(s) pggw{CC}.bat a sample batch file to create an executable (CUI) linked with the PGPLOT library from C source file(s). pggw{CC}w.bat a sample batch file to create an executable (GUI) linked with the PGPLOT library from C source file(s). pggwf2{CC}.bat a sample batch file to create an executable linked with the PGPLOT library from Fortran source file(s) using f2c with the {CC} compiler. c. Lib folder Library name Contents GrWin the main library of GrWin GrWin0 the same as GrWin except that this does not include Calcomp compatibles. calcomp Calcomp compatible library (requisite: GrWin0) pgplot PGPLOT library (requisite: GrWin) cpgplot PGPLOT library for C (requisite: pgplot + GrWin) f2c f2c library d. Include folder File name Contents GrWin.h a header file for the GrWin library cpgplot.h a header file for the PGPLOT library f2c.h a header file for the f2c library Download The official ftp site for the GrWin graphics library is ftp://spdg1.sci.shizuoka.ac.jp/pub/GrWinlib/english/. A mirror is available at ftp://ftp.esrf.fr/pub/scisoft/GrWinlib/english. [Thanks to Dr. Sanchez del Rio at the ESRF.] a. Installer packages for the GrWin graphics library To download a package file click an item in the first column of the table of the installer packages for GrWin below corresponding to your using compiler system referring the last column of the same table. The supported compiler systems can be seen at the Platforms section, and see the installation details in Install. Installer packages for GrWin File name Supported compiler system lGrWn0999be-MinGW.exe MinGW-2.0 lGrWn0999be-cygwin.exe Cygnus Cygwin 1.3.x lGrWn0999be-watcom.exe Open Watcom C/C++ and Fortran 1.0 lGrWn0999be-f2bcc.exe Borland C++ Compiler 5.5 + f2c lGrWn0999be-f2dmc.exe Digital Mars C/C++ Compilers + f2c lGrWn0999be-Intel.exe Intel(R) C++/Fortran Compiler 7.1 ( f2c available ) lGrWn0999be-f2vcpp.exe Microsoft Visual C++ Version 6.0 + f2c lGrWn0999be-vf.exe Compaq Visual Fortran Version 6 lGrWn0999be-mingw32m.exe gcc-2.95.2-mingw32 lGrWn0999be-mingw32.exe gcc-2.95.2-mingw32 lGrWn0999be-cygb20.exe gcc-2.95.2-cygb20 lGrWn0999be-uwin.exe AT&T UWIN 3.x + gcc-2.95.2-uwin lGrWn0999be.exe All-in-one installer b. GrWin toolkit ( for VF users and developpers ) GrWin toolkit is a set of source code fragments by which library files for the GrWin graphics library can be built under various compiler systems, and this includes also patches for PGPLOT and f2c as well as source code for PGPLOT Windows-drivers that enable you to use PGPLOT and f2c with GrWin. As PGPLOT drivers for Compaq Visual Fortran Version 6 are not included in the GrWin distributions, you should make yourself if necessary those drivers and library files for PGPLOT using this toolkit. You can make GrWin library files even for systems that has not yet been supported. This toolkit would be useful if you want to add new features or to modify specifications of the GrWin library for your own purposes. If you succeeded in porting GrWin to a system not listed in the table of supported compiler systems or in adding a new feature that seems useful for many users of GrWin, please let me know. Any donation of source code would be very appreciated. File name Contents GrWinTk-0999b.tgz the GrWin toolkit c. Other files Other files available for downloade are shown in the next table. Except the executables for PGPLOT demos, the uncompressed files and the files obtained by expanding each of the compressed files in the following table are the same as those installed in suitable folders executing an installer package in the above list. So there is almost no need to download files in the following table unless you need individual files for some reasons. All the files necessary to make PGPLOT applications under a supported compiler system are compressed by tar + gzip in pggw0999b-XXX.tgz with XXX the abbreviation for the system name. This includes also the executables, which are not installed by any installer, for the PGPLOT demos of the original distribution of PGPLOT, and with them you can estimate the ability of the PGPLOT drivers built with the GrWin library. Other files File name Contents README.html README file in HTML README.txt README file as plain text lGrWn0999b.html User's Manual in HTML lGrWn0999b.txt User's Manual as plain text lGrWn0999be.tgz All the files compressed by tar + gzip demoexe Sample executables of GrWin built under MinGW f2c-bcc.tgz f2c for Borland C++ Compiler 5.5 f2c-dmc.tgz f2c for Digital Mars C/C++ Compilers f2c-Intel.tgz f2c for Intel(R) C++ Compiler 7.1 f2c-vcpp.tgz f2c for Microsoft Visual C++ Version 6.0 pggw-150.tgz Source code for PGPLOT Windows-drivers including patches to build PGPLOT library files on Windows. pggw0999b-MinGW.tgz PGPLOT files for MinGW-2.0 pggw0999b-cygwin.tgz PGPLOT files for Cygnus Cygwin 1.3.x pggw0999b-watcom.tgz PGPLOT files for Open Watcom C/C++ and Fortran 1.0 pggw0999b-f2bcc.tgz PGPLOT files for Borland C++ Compiler 5.5 pggw0999b-f2dmc.tgz PGPLOT files for Digital Mars C/C++ Compilers pggw0999b-Intel.tgz PGPLOT files for Intel(R) C++/Fortran Compiler 7.1 ( f2c available ) pggw0999b-f2vcpp.tgz PGPLOT files for Microsoft Visual C++ Version 6.0 + f2c pggw0999b-mingw32m.tgz PGPLOT files for gcc-2.95.2-mingw32 pggw0999b-mingw32.tgz PGPLOT files for gcc-2.95.2-mingw32 pggw0999b-cygb20.tgz PGPLOT files for gcc-2.95.2-cygb20 pggw0999b-uwin.tgz PGPLOT files for AT&T UWIN 3.x + gcc-2.95.2-uwin libs library files for the supported compiler systems PREVIOUS/ the previous version Old files are available here. Please do not redistribute those older files. This versionThis is a beta release of the project of the GrWin Library. The specifications of the library routines described in the the user's manual are almost the same as of the future authorized first release 1.00.X, though bugs and wrong descriptions in documentation are still anticipated. This project is under developing, and some versions will be distributed after this. If different versions of files libGrWin.a, GrWin.h and grwnd.exe are used together the resultant executables do not work properly, in principle. When running an executable of your application created with the GrWin Library of a version different from that of grwnd.exe using, you see a warning message like WARNING: XXX [x,x,x,x] is older than YYY [y,y,y,y] where [x,x,x,x] and [y,y,y,y] show the versions of XXX and YYY, respectively. The version numbers of the library and the compatible grwnd.exe can be obtained also by calling GWVERSION in the library. The latest version is available at http://spdg1.sci.shizuoka.ac.jp/grwinlib/english/. Using a utility f77chk in the distribution, fortran source code can be checked if it is suited for the current version of the library. If you experienced problems please contact the author. The previous and older releases are available (please do not redistribute any of those older releases). The project itself is intended to be used for all of Windows Xp/2000/NT and Windows Me/9x platforms, but some features do not properly work on Windows Me/9x. So it is strongly recommended to use the software on Windows Xp/2000/NT4. grwnd.exe and vcpp/GrWin.lib were created by using Microsoft VC++ 6.0 (MFC for grwnd.exe). MinGW\libGrWin.a was created by using MinGW-2.0. mingw32\libGrWin.a and mingw32m\libGrWin.a were created by using gcc-2.95.2-mingw32. cygwin\libGrWin.a was created by using Cygnus Cygwin 1.3.x. cygb20\libGrWin.a was created by using Cygnus Cygwin B20.1 + gcc-2.95.2-cygb20. uwin\libGrWin.a was created by using AT&T UWIN 3.x + gcc-2.95.2-uwin. bcc\GrWin.lib was created by using Borland C++ Compiler 5.5. dmc\GrWin.lib was created by using Digital Mars C/C++ Compilers. The above mentioned files and associated documents are copyrighted by Tsuguhiro TAMARIBUCH, but available freely for any purposes. Users may redistribute the file lGrWn0999be.tgz to third parties for non-commercial purposes provided that no charge except necessary minimum costs in the distribution is made. This software is provided AS IS without warranty of any kind. ----------------------------------------------------------------------------- Created: Jul 21, 2003