Hello,
I downloaded the FastGL graphics library from:
http://www.tutok.sk/fastgl/
According to the documentation is one the fastest graphic system in Linux.
Because it uses the Frame Buffer directly. and it uses also the SVGAlib.
But I can not compile it.
The error that shows running make is:
nasm not found!
What is it? and where I can find it?
thanks for your attention.
bye!
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Marian Krivoš">
<meta name="Description" content="Rychla a Prenositelna grafick� kniznica">
<title>Fast Graphics Library</title>
</head>
<body bgcolor="#CCBFB5" text="#000000" link="#FFFF00" vlink="#505000" alink="#FF0000">
<table border="0" width="90%">
<tr>
<td width="757"><p align="right"><font face="Verdana" size="1"> </font><img
src="img/logo256.gif" width="400" height="90" alt="logo256.gif (10449 bytes)"></p>
<dl>
<div align="center"><center>
<dt><a href="http://counters.pronixnet.sk//"><font size="3"
face="Verdana"><b><img
src="http://counters.pronixnet.sk/counter.php?id=1637&login=nezmar"
align="right"></b></font></a></dt>
</center></div><div align="right">
<dt><font face="Verdana" size="1">since 9. september 1999 </font></dt>
</div>
</dl>
<p align="right"><font face="Verdana"><marquee border="0" height="0">[ last update
2. februar 2001 - ver 3.0.3 ]</marquee></font></p>
<dl>
<dl>
<dd><hr>
<p align="center"><b><font face="Verdana" color="#0000FF" size="4">NEW
>>> </font><font
face="Verdana" color="#0000FF" size="5"><a href="userforum.exe">OpenGUI
FORUM</a></font><font
face="Verdana" color="#0000FF" size="4"> <<<
NEW</font></b></p>
<hr>
<p><font face="MS Sans Serif" color="#000000"><big><big><b>WHAT'S
NEW:</b></big></big></font></p>
<p>Currently I'm trying add some METAFILEs feature and I'm writing docs -
hardly ;-)</p>
<p>I added support for PNG & JPG files. These features don't work with
WATCOM C++
compiler (because there isn't support for 16/32bit modes ). To support this
I added
precompiled versions of libpng, libz and libjpeg for DJGPP & Borland C++
5.5 . Sources
of ones are available too. These libs are included in the most of linux
distributions as
know as libpng, libz and libjpeg. You must have installed these include
headers (aka
develop versions). To disable JPG and PNG support you mus comment-in defines
<b>FG_PNG</b>
and <b>FG_JPEG</b> in the file <i>'config.h'</i>. Now I started with docs ;-
). Happy
christmas!</p>
<p><strong>Download:</strong></p>
<table border="1" width="86%">
<tr>
<td width="28%"><font
color="#0000FF"><strong>package</strong></font></td>
<td width="14%" align="center"><font
color="#0000FF"><strong>size</strong></font></td>
<td width="58%"><font
color="#0000FF"><strong>description</strong></font></td>
</tr>
<tr>
<td width="28%"><a href="download/OpenGUI-3.0.3-core.tgz">OpenGUI 3.0.3
- core</a></td>
<td width="14%" align="center">259973</td>
<td width="58%"><font color="#FF0000">core library</font></td>
</tr>
<tr>
<td width="28%"><a href="download/OpenGUI-3.0-examples.tgz">OpenGUI 3.0
- examples</a></td>
<td width="14%" align="center">228095</td>
<td width="58%"><font color="#00FF00">examples</font></td>
</tr>
<tr>
<td width="28%"><a href="download/OpenGUI-3.0-libs.tgz">OpenGUI 3.0 -
libs</a></td>
<td width="14%" align="center">314469</td>
<td width="58%" rowspan="2"><font color="#00FF00">precompiled libpng,
libz & libjpeg
for DJGPP & BORLAND</font></td>
</tr>
<tr>
<td width="28%"><a href="download/OpenGUI-3.0-libs-src.tgz">OpenGUI 3.0
- src libs</a></td>
<td width="14%" align="center">1438335</td>
</tr>
<tr>
<td width="28%"><a href="download/OpenGUI-2.0-docs.tgz">OpenGUI 2.0 -
docs</a></td>
<td width="14%" align="center">145740</td>
<td width="58%">sorry, still out of date!</td>
</tr>
<tr>
<td width="28%"><a href="download/OpenGUI-3.0-include.tgz">OpenGUI 3.0 -
include</a></td>
<td width="14%" align="center">70074</td>
<td width="58%"><font color="#FF0000">includes for png, jpeg and
zlib</font></td>
</tr>
<tr>
<td width="28%"><a href="download/OpenGUI-3.0-sourcer.tgz">OpenGUI 3.0 -
Sourcer</a></td>
<td width="14%" align="center">37603</td>
<td width="58%">OpenGUI sourcer - visual code generator</td>
</tr>
</table>
<p><b>There are news/changes from last beta5 version:</b><dl>
<dd>* added DrawBitmap::stretch(int new_width, int new_height)<br>
* added DrawBitmap::stretch(float ratio_x, float ratio_y)<br>
* added simple image viewer example: 'zgv'<br>
* renamed DrawBuffer::pixel() to DrawBuffer::putpixel()<br>
* migrated Window::WindowGetPixel() to DrawBuffer::getpixel()<br>
* removed dependency between logical & physical width of the scan
line<br>
* improved mouse cursor for page flipping modes<br>
* fixed flipping for 16/32 bit modes</dd>
</dl>
<p>I wrote some example of using jpg - 'fgv' - simple image viewer (for all
supported
formats) with image stretching if needed (4KB cpp source :-) ). It simply
slideshow files
from 'file.lst' file. Under LINUX, when 'file.lst' don't exist, one is
created from ALL
images in current directory and subdirectories if any.</p>
<p>Just another example that I have written is intended to the new OpenGUI
PAGE FLIPPING
features. These feature don't work with the WATCOM C++ (because of banked
mode).
There are source for overview:</p>
<table border="0" width="100%" bgcolor="#FFFFFF">
<code>
<tr>
<td width="100%"><font face="terminal, MS Sans Serif, system"
size="2">/*<br>
* This example shows PAGE FLIPPING feature of OpenGUI library<br>
*<br>
* requirement: 1MB videocards (2MB for 16bit colors or
4MB for true
colors)<br>
* FPS (frames per secs) is based on monitor frequency
& CPU speed
heavily<br>
*/<br>
<br>
#include <fastgl/fastgl.h><br>
<br>
extern "C" int verbose; // be verbose, an internal var.<br>
</font><p><font face="terminal, MS Sans Serif, system" size="2">void
animate(void)<br>
{<br>
static int i=0,j=200,l=2000;<br>
set_ppop(_GSET);<br>
clear_frame_buffer(CWHITE);<br>
set_fcolor(CBLACK);<br>
fill_ellipse(X_width/2, Y_width/2,i,j);<br>
fill_ellipse(X_width/2, Y_width/2,j,i);<br>
i++;<br>
if (i==200) i=0;<br>
j--;<br>
if (j==0) j=200;<br>
Flip();<br>
if (l-- == 0) App::AppDone(); // return after 2000
frames<br>
}<br>
<br>
int main(int argc, char **argv)<br>
{<br>
verbose = 1;<br>
App app(G640x480,argc,argv,0,APP_ALL);<br>
<br>
// you can use FG_DOUBLEBUFFER or FG_QUADBUFFER
too<br>
// NOTE: DOUBLEBUFFER are flicker on some cards &
drivers (nVIDIA)<br>
EnableBuffering(FG_TRIPLEBUFFER);<br>
<br>
// set main loop code<br>
app.SetDelayProc(animate);<br>
<br>
// GO! - 'ALT+X' to exit<br>
app.Run();<br>
DisableBuffering(); // only for convenience...<br>
}</font></td>
</tr>
</code>
</table>
<hr>
<p><font face="MS Sans Serif" color="#004080"><small><b><a
href="download/OpenGUI-3.0beta5.tgz">3.0-beta5</a> - Bug fixes, stable
DIRECTX port
(Borland BCB5 only), working Double/Triple Buffering (see examples), see <a
href="download/changes.txt">changelog</a> for all.</b></small></font></p>
<p><font face="MS Sans Serif" color="#004080"><small><b><a
href="download/OpenGUI-3.0beta4.tgz">3.0-beta4</a> - Bug fixes, firts
version ot a working
Win32 code and TAB key for switching between
EditBoxes.</b></small></font></p>
<p><font face="MS Sans Serif" color="#004080"><small><b><a
href="download/OpenGUI-3.0beta3.tgz">3.0-beta3</a> - Bug fixes, new Win32
code and added
new RTEMS platform code thanx to <a
href="mailto:[EMAIL PROTECTED]">Rosimildo da
Silva</a>.</b></small></font></p>
<p><font face="MS Sans Serif" color="#004080"><small><b><a
href="download/OpenGUI-3.0beta1.tgz">3.0-beta1</a> - This is a preview
version of the new
OOP API inspired by Borland VCL. You can derive a new classes from original
App &
Window class. Also initial support for DirectX 5 are added (still don't work
but compiles
with C++Builder 5). More info you can get in <a
href="download/changes.txt">changelog</a>
or newapi example. There are link for download the latest snapshot of <a
href="download/OpenGUI-3.0beta1.tgz">OpenGUI 3.0
beta1</a>.</b></small></font></p>
<p><font face="MS Sans Serif" color="#004080"><small><b>2.99 - This version
fixes some
bugs and is addressed as very stable. I recomend you to upgrade from any
previous version
of OpenGUI. Only DGA2 support is under heavy development and will be updated
as soon as. I
uploaded MSDOS version of libpng for future use with OpenGUI too. I can do
massive update
of the docs (Slovak language) and then do translation of one to the english
language.
After this I release version 3.0 as stable and very well documented
library.</b></small></font></p>
<p><small><b><font face="MS Sans Serif" color="#004080">2.98.1- bug fixes
and RedHat 7.0
updates, revert to the old "Sourcer v2.91". Upgrade is urgent if
you have any
problems or new RH installation.</font></b></small></p>
<p><small><b><font face="MS Sans Serif" color="#004080">2.98 - this is a
long waited
version with a new much sophisticated FGListBox class that will replace a
legacy ListBox
class. It's more friendly to use and more powered than the old ListBox. The
old FileDialog
class is rewrited for even easy use. MKDIR button has been added to one.
Another new
container class is FGList class, inspired by the STL library list template.
For this
reason you must use gcc version 2.91 and above. The FGString is very light
implementation
of the standard string class. Another big changes is a new path for library
header files.
You must use #include <fastgl/fastgl.h> , not <fastgl.h> like
before. For
other changes and bugfixes see at the 'changes.txt'
file.</font></b></small></p>
<p><small><b><font face="MS Sans Serif" color="#004080">The next release
(2.99) would have
a new callback mechanism (together with current callback methods) as know as
SIGNAL-SLOT
dogma. For more info read this <a href="callback.html">document</a> about
callbacks.
Version 3.00 would have updated english docs. Uff. After this done, 3.x
branch will
continue with better DGA2 and DirectX support, reimplemnting RAD, and
more...</font></b></small></p>
</dd>
<dd><hr>
</dd>
</dl>
<dl>
<dd> </dd>
<dd><b><font face="Verdana" size="4" color="#000000">What is OpenGUI
library?</font><font
color="#008080" face="Verdana" size="4"> <a href="opengui.html">[there is a
Slovak INTRO]</a></font></b></dd>
<dt> </dt>
<dd><dl>
<dd><font face="Tahoma"><small>OpenGUI is a high-Level C/C++ graphics
& windowing
library built upon a fast, low-level x86 asm graphics kernel. It is
under LGPL license.
OpenGUI provides 2D drawing primitives and an event-driven windowing API
for easy
application development, and it supports the BMP image file format. It's
very powerful,
but very easy to use. You can write apps in the old Borland BGI style or
in a windowed
style like QT. OpenGUI supports the keyboard and mouse as event sources,
and the Linux
framebuffer/svgalib as drawing backends. Mesa3D is also supported under
Linux. On now 8,
15, 16 and 32-bit color modes are available.<br>
<br>
</small><font size="2">OpenGUI is a very fast multi-platform 32-bit
graphics library/GUI
for MS-DOS (DPMI client/DJGPP), QNX (Watcom or GCC) and LINUX. It can be
used to create
graphic applications and games for these Operating Systems. The library
can be used with
GNU C++ (from ver. 2.7.2) or Watcom C++ (from 9.5) and NASM assembler
(0.97). The library
is very stable and is ready for programs that require realtime drawing
and Windows GUI.</font></font><p><font
size="4" face="Verdana"><b>Features:</b></font><ul>
<li><font face="Tahoma" size="2">LGPL</font></li>
<li><font face="Tahoma" size="2">ultra-fast (asm kernel & MMX
support) </font></li>
<li><font face="Tahoma" size="2">the most robust library for the Linux
FrameBuffer</font></li>
<li><font face="Tahoma" size="2">support for resolutions ranging from
320x200 to 1600x1200 </font></li>
<li><font face="Tahoma" size="2">and 8, 15, 16 and 32 color
depths</font></li>
<li><font face="Tahoma" size="2">windowing system...</font></li>
<li><font face="Tahoma" size="2">object-oriented multi-platform API
(DJGPP, WATCOM, GCC,
LINUX, QNX) </font></li>
<li><font face="Tahoma" size="2">full application development
framework (configuration file,
file & color dialogs, etc.)</font></li>
<li><font face="Tahoma" size="2">professionally tested & actively
used for some years
(see examples)</font></li>
<li><font face="Tahoma" size="2">a tool for interactive code
generation (draw & run)</font></li>
<li><font face="Tahoma" size="2">and much more</font></li>
</ul>
<p><font face="Tahoma" size="2">The library consists of three layers.
The first layer is a
hand-coded and fast assembler kernel. This layer does the biggest piece
of hard work. The
second layer implements the API for drawing graphics primitives like
lines, rectangles,
circles etc. This layer is comparable to Borland BGI API. The third
layer is written with
C++ and offers a complete object set for the GUI developer. The third
layer implements
objects like input windows, buttons, menus, bitmaps etc, with addition
of integrated mouse
& keyboards support.</font></p>
</dd>
</dl>
</dd>
<dd><hr>
</dd>
<dd> </dd>
<dd><font face="Verdana" size="4"
color="#000000"><b>Screenshots:</b></font></dd>
<dt> </dt>
<dd><ul>
<li><font face="Tahoma" size="2"><a href="img/Dmr.png">Digital model of
the relief</a>, <a
href="img/Dmr2.png">part 2</a></font></li>
<li><a href="img/rad.png"><font face="Tahoma" size="2">OpenGUI
Sourcer</font></a></li>
<li><font face="Tahoma" size="2"><a href="img/38f9b658.jpg">Air traffic
control preview app</a>,
<a href="img/air_traffic.png">part 2</a>, <a
href="img/air_traffic2.png">part 3</a></font></li>
<li><font face="Tahoma" size="2"><a href="img/scan.jpg">App 1</a>, <a
href="img/maps.gif">App
2</a>, <a href="img/diag.gif">App 3</a></font></li>
</ul>
<hr>
<h3><small><font face="Tahoma">Diagram of <b><i>DrawBuffer</i></b>
<b>class</b>
inheritance:</font></small></h3>
</dd>
<dd><p align="center"><img src="img/diagram.gif" width="558" height="618"
alt="diagram.gif (7195 bytes)"></p>
<hr>
<p><font face="Verdana" size="4" color="#000000"><b>Download:</b></font><ul>
<li><font color="#FFFFFF" face="Tahoma" size="2"><b>Download <a
href="download/">area ...</a></b></font></li>
<li><a href="download/changes.txt"><small><font face="Tahoma">Changes for
current version</font></small></a></li>
<li><font face="Tahoma" size="2">Nasm assembler ( <a
href="http://www.cryogen.com/Nasm">www.cryogen.com/Nasm</a>
)</font></li>
</ul>
</dd>
</dl>
</dl>
<dl>
<dl>
<dd><hr>
<p><font face="Verdana" size="4" color="#000000"><b>Links to other
libs:</b></font><ul>
<li><small><font face="Tahoma">Portable Threads - <a
href="http://www.gnu.org/software/pth">Pth</a></font></small></li>
<li><dl>
<dt><small><font face="Tahoma"><a
href="http://www.gncz.cz/kra/index.html">QpThread library</a>
- C++ advanced thread manipulating (Unix, Win32)
</font></small><font color="#FF0000">(NEW)</font></dt>
</dl>
</li>
<li><small><font face="Tahoma"><a
href="http://www.svgalib.org">svgalib</a> - linux console
graphics standard</font></small></li>
<li><small><font face="Tahoma"><a href="http://166.111.53.76">MiniGUI</a>
- pretty good
windowing in MS WIN32 style ...</font></small></li>
<li><small><font face="Tahoma"><a
href="http://microwindows.censoft.com/">MicroWindows</a> -
another good windowing lib</font></small></li>
<li><small><font face="Tahoma"><a
href="http://tuo.skytech.org/skyvideo">skyvideo</a> -
linux, win32 graphics library</font></small></li>
<li><small><font face="Tahoma"><a href="http://www.libsdl.org">SDL</a> -
Simple DirectMedia
Layer - linux, BeOS, DirectX ... <font color="#FFFF00">very
COOL</font></font></small></li>
<li><small><font face="Tahoma"><a
href="http://www.ap.univie.ac.at/users/ljubo/g2/g2.shtml">g2</a>
- X11 and WIN32 graphics library</font></small></li>
<li><small><font face="Tahoma"><a
href="http://www.home.sk/public/stencl/">uniforms</a> -
the complete GUI for DJGPP (uses allegro & DLX
system)</font></small></li>
<li><small><font face="Tahoma"><a
href="http://www.ggi-project.org">GGI</a> - general
graphics interface for linux</font></small></li>
<li><small><font face="Tahoma"><a
href="http://www.hut.fi/~hmallat/xfb/">xfb</a> - linux
framebuffer accelerator</font></small></li>
<li><a href="http://www.lanet.lv/~pavenis/rhide.html">unofficial (and
recently updated)
RHIDE homepage</a> <font color="#FF0000">(NEW - fixed)</font></li>
</ul>
</dd>
</dl>
<dl>
<dd><dl>
<hr>
</dl>
<dl>
<div align="center"><center>
<dt><font size="4" face="Verdana">e-mail:</font><font face="Verdana"> <a
href="mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED]</a></font></dt>
</center></div>
</dl>
</dd>
</dl>
</dl>
</td>
</tr>
</table>
</body>
</html>