[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[paragui-cvs] CVS: paragui/doc .cvsignore,NONE,1.2.2.1 Makefile.am,NONE,
From: |
Teunis Peters <address@hidden> |
Subject: |
[paragui-cvs] CVS: paragui/doc .cvsignore,NONE,1.2.2.1 Makefile.am,NONE,1.2.2.1 RELEASENOTES,NONE,1.2.2.1 VisualC.html,NONE,1.2.2.1 |
Date: |
Sat, 31 Aug 2002 00:01:24 -0400 |
Update of /cvsroot/paragui/paragui/doc
In directory subversions:/tmp/cvs-serv4328/doc
Added Files:
Tag: devel-opengl
.cvsignore Makefile.am RELEASENOTES VisualC.html
Log Message:
massive changes - updates from main trunk and various bugfixes
--- NEW FILE ---
Makefile
Makefile.in
--- NEW FILE ---
EXTRA_DIST = \
paragui-config.sgml \
RELEASENOTES \
VisualC.html
--- NEW FILE ---
----------------------------
Whats new in ParaGUI 1.0.3 ?
----------------------------
- made PhysFS optional (like expat)
- autoconf / automake fixes
"make distcheck" passes now
- fixed a problem in the destructor of PG_TimerObject
----------------------------
Whats new in ParaGUI 1.0.2 ?
----------------------------
- Fixed a bug in DrawLineH, DrawLineV
introduced in 1.0.1
- updated PhysFS to version 0.1.5
- removed unneccessary mutex locks while
message processing
- fixed a crash in PG_ListBox when deleting an
item in the event handler
- fixed Show()/Hide() on child widgets
- added functions returning vectors of strings instead of
char** to PG_FileArchive
Thanks Andrew Ford <address@hidden>
- added PG_TimerObject
- added a switch to disable dirty widget updates
globally (PG_Application::DisableDirtyUpdates(bool))
- GCC 3.1 compilation fixes
Thanks Guillaume Cottenceau <address@hidden>
- added functions to add callback handlers to existing menu items
Thanks John Rainey <address@hidden>
- added missing DECLSPEC to pgwidgetlistex.h
Thanks Andrew Ford <address@hidden>
- added CodeWarrior and MacOS support
Thanks Keith Swyer <address@hidden>
- added wildcard matching for PG_FileArchive::GetFileList
- added PG_FileArchive::OpenFileRWops
- added PG_RadioButton:SetAlignment
- missing DECLSPEC added to pgfont.h
- added surface locking for direct pixel access rendering
(text, gradient).
- added new messagetype to process XML layout tags
from the <head> section (MSG_XMLTAG).
- fixed a clipping bug in PG_Widget::Hide() with simple backgrounds
----------------------------
Whats new in ParaGUI 1.0.1 ?
----------------------------
- Fixed permissions on zipped theme files
- 8bit surface fixes
- Enabling/Disabling of symlinks
- fixed a potential crash in PG_ListBox (SelectItem(NULL))
- PG_Button: Added Get/SetBlendLevel() functions
- SetBackground colorkey fixes
- Borland C++ Builder fixes
- remerge of expat (optional)
- optimized DrawHLine, DrawVLine
- fixed a widgetlist scrolling bug
- fixed a window-resize bug
- cached surfaces are generated in the screen format
--------------------------------------
Whats new in ParaGUI 1.0 RC1 (Beta3) ?
--------------------------------------
Bug fixes, bug fixes, ... :))
Cleaned up the font interface.
Some performance tweaks (see PG_Widget::SetDirtyUpdate()).
added PG_DataContainer to hold binary data.
added Python support (./configure --enable-python, refer to
the docs for a detailed description of the configuration
options )
--------------------------------------
Whats new in ParaGUI 1.0 RC0 (Beta2) ?
--------------------------------------
The really last thing i had to change was the internal
structure of the library.
The whole arrangement was also quite a mess.
Now the lib is separated into these main parts:
draw - all drawing and surface stuff
fonts - font handling and rendering
core - basic things like message handling, app class, ...
themes - the theme loader
widgets - all widget classes
I also cleaned up the header files.
Now there are only headers in the include dir that are
needed by client applications.
pgdrawobject.h has been removed - use pgdraw.h
There are also some compatiblity macros in pgdraw.h that
allow usage of some old style functions. e.g.:
#define PG_DrawLine PG_Draw::DrawLine
--------------------------------
Whats new in ParaGUI 1.0 Beta1 ?
--------------------------------
The widget system in the prior versions was quite a mess.
Now i decided to clean up the whole system and make it
more *defined*.
Due to this there are some changes in widget creation.
The following rules apply:
Now there are 2 basic widget types:
PG_Widget:
An unthemed widget that can have an internal drawing surface
or not.
PG_ThemeWidget:
A themed widget (loads it's style from the theme definition)
that can have an internal drawing surface or not.
Widgets with drawing surfaces:
-----------------------------
The content is drawn into the surface and blitted to the
screen.
Construction with internal surface:
PG_Widget(PG_Widget* parent, const PG_Rect& rect, true);
PG_ThemeWidget(PG_Widget* parent, const PG_Rect& rect, true);
The param "true" indicates the creation of the drawing surfaces.
Redrawing & Blitting:
Redraw(bool doUpdate);
This function redraws the widget (by calling eventDraw()).
And calls Update(true) if doUpdate = true.
Update(bool doBlit);
This calls Blit() and updates the screen.
Blit();
This function blits the widget surface to the screen and
calls eventBlit() that can be used for custom blit behaviour.
Widget without drawing surfaces:
--------------------------------
The content of the widget is directly blitted to the screen.
Construction:
PG_Widget(PG_Widget* parent, const PG_Rect& rect);
PG_ThemeWidget(PG_Widget* parent, const PG_Rect& rect);
Blitting:
Update(bool doBlit);
This calls Blit() and updates the screen.
Blit();
This function blits the widget content directly to the
screen by calling eventBlit().
I hope this clarifies the widget behaviour stuff.
Please contact me if you have further suggestions and
additions.
For backward compatibility the *old* widgettypes
(PG_GradientWidget, PG_StaticFrame) still can be used but
I definitely wouldn't suggest this. Please try to port your
application to the new widgetclasses.
Porting should be quite easy by replacing PG_GradientWidget,
PG_StaticFrame with PG_ThemeWidget.
I hope this clarifies the widget behaviour stuff.
Please contact me if you have further suggestions and
additions.
Alexander Pipelka
address@hidden
--- NEW FILE ---
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
</head>
<body>
<font size="4" face="Helvetica, Arial, sans-serif"><b><font color="#000000">
PARGUI project files for Microsoft Visual C++ 6.0</font></b></font>
<hr size="1" noshade="">
<p><font size="4" face="Helvetica, Arial, sans-serif"><font size="2">You
can either use the precompiled libraries from <a
href="http://www.bms-austria.com/projects/paragui">
the ParaGUI web site</a>, or you can build ParaGUI
yourself.</font></font></p>
<h3><font size="4" face="Helvetica, Arial, sans-serif">Directory
structure</font></h3>
<p><font face="Helvetica, Arial, sans-serif" size="2">The following directories
should be created in the ParaGUI root directory:</font></p>
<ul>
<li>
<div><font face="Helvetica, Arial, sans-serif" size="2">bin => place
for binary files (.dll, .exe), paragui examples, paragui dlls</font></div>
</li>
<li>
<div><font face="Helvetica, Arial, sans-serif" size="2">lib => library
files (.lib)</font></div>
</li>
<li>
<div><font face="Helvetica, Arial, sans-serif" size="2">src => ParaGUI
source files</font></div>
</li>
<li>
<div><font face="Helvetica, Arial, sans-serif" size="2">include =>
directory for common headers</font></div>
</li>
<li>
<div><font face="Helvetica, Arial, sans-serif" size="2">expat => expat
source files (ParaGUI module)</font></div>
</li>
<li>
<div><font face="Helvetica, Arial, sans-serif" size="2">themes =>
themes source files (ParaGUI module)</font></div>
</li>
<li>
<div><font face="Helvetica, Arial, sans-serif" size="2">test => example
sources</font></div>
</li>
<li>
<div><font face="Helvetica, Arial, sans-serif" size="2">VisualC =>
MSVC++ project files & workspaces (created after unzipping from
VisualC.zip)
</font></div>
</li>
</ul>
<h3><font face="Helvetica, Arial, sans-serif" size="2">Library files</font></h3>
<p><font face="Helvetica, Arial, sans-serif" size="2">First you have to choose
if you want to link your application dynamically or statically against
ParaGUI. For dynamic linkage you need the dynamic link library (DLL) and the
import library (LIB). For static linkage you only need the static library
(LIB). If your application should be compiled multi-threaded use the
multi-threaded
static library.</font></p>
<ul>
<li>
<div><font face="Helvetica, Arial, sans-serif" size="2">paragui.dll +
paragui.lib => release mode dynamic link library and import
library</font></div>
</li>
<li>
<div><font face="Helvetica, Arial, sans-serif" size="2">paraguid.dll
+ paraguid.lib => debug mode dynamic link library and import
library</font></div>
</li>
<li>
<div><font face="Helvetica, Arial, sans-serif" size="2">paraguis.lib
=> release mode static link library (single threaded)</font></div>
</li>
<li>
<div><font face="Helvetica, Arial, sans-serif" size="2">paraguisd.lib
=> debug mode static link library (single threaded)</font></div>
</li>
<li>
<div>
<div><font face="Helvetica, Arial, sans-serif" size="2">paraguimts.lib
=> release mode static link library (multi threaded)</font></div>
</div>
</li>
<li>
<div>
<div>
<div><font face="Helvetica, Arial, sans-serif" size="2">paraguimtsd.lib
=> debug mode static link library (multi threaded)</font></div>
</div>
</div>
</li>
</ul>
<p><font face="Helvetica, Arial, sans-serif" size="2">Note: The ParaGUI library
is under LGPL licence. See <a href="COPYING">licence</a> for terms of linking
with ParaGUI. </font></p>
<h3><font face="Helvetica, Arial, sans-serif" size="2">Building
ParaGUI</font></h3>
<ol>
<li>
<div><font face="Helvetica, Arial, sans-serif" size="2">Unzip the <u>
VisualC.zip</u> file in the root ParaGUI directory.<br>
Be certain that you unzip it into this directory and not any other
directory.
If you are using WinZip, be careful to make sure that it extracts into this
folder, because it's convenient feature of unzipping to a folder with the
name of the file currently being unzipped will get you in trouble if you
use it right now.<br>
<br>
</font></div>
</li>
<li>
<div><font face="Helvetica, Arial, sans-serif" size="2">Go into the <u>
VisualC</u> directory that is created, and open the workspace file "<u>
paragui_all.dsw</u> " with MSVC++. <br>
You may be prompted at this point to upgrade the workspace, if you are
using a more recent version of MSVC++. If so, allow the workspace to be
upgraded.<br>
<br>
</font></div>
</li>
<li>
<div><font face="Helvetica, Arial, sans-serif" size="2">Choose dynamic
or static paragui project.<br>
This is done by right clicking on each project in turn (Projects are
listed in the Workspace panel in the FileView tab), and selecting "Set as
active project".<br>
<br>
</font></div>
</li>
<li>
<div><font face="Helvetica, Arial, sans-serif" size="2">ParaGUI depends
on sdl.lib, sdl_ttf.lib, sdl_image.lib (when HAVE_SDLIMAGE is defined) and
freetype.lib<br>
<br>
You need to supply these libraries to the linker. There are three ways
how to do this:<br>
</font></div>
<div>
<ol>
<li><font face="Helvetica, Arial, sans-serif" size="2">Go to
"Tools|Options|Directories|Library
files", and add proper paths to all listed .lib files </font></li>
<li><font face="Helvetica, Arial, sans-serif" size="2">Go to
"Project|Settings|Link|Category:
Input|Additional Library Path", add here path to libs (relative or
absolute) </font></li>
<li><font face="Helvetica, Arial, sans-serif" size="2">Find .lib files
and copy them into /lib directory in your ParaGUI root. This dir is preset
to be on the library path.<br>
<br>
</font></li>
</ol>
<font face="Helvetica, Arial, sans-serif" size="2">You also need set
paths to header files of these libraries. There are also several ways how
to do this:</font></div>
<div>
<ol>
<li><font face="Helvetica, Arial, sans-serif" size="2">Go to
"Tools|Options|Directories|Include
files", and add proper paths to all listed .lib files </font></li>
<li><font face="Helvetica, Arial, sans-serif" size="2">Go to
"Project|Settings|C/C++|Category:
Preprocessor|Additional Include directories", add here paths to headers
(relative or absolute) </font></li>
<li><font face="Helvetica, Arial, sans-serif" size="2">Find .h files
and copy them into /include directory in your ParaGUI root. This dir
is preset to be on the include path.<br>
<br>
</font></li>
</ol>
</div>
</li>
<li>
<div><font face="Helvetica, Arial, sans-serif" size="2">Choose the proper
configuration from "Build|Configurations...": <br>
<br>
For <strong>paragui_dynamic</strong> there are<br>
<br>
</font>
<ul>
<li>
<div><font face="Helvetica, Arial, sans-serif" size="2"> Release
=> produces release mode dynamic link library and import library
[bin/paragui.dll, lib/paragui.lib]</font></div>
</li>
<li>
<div><font face="Helvetica, Arial, sans-serif" size="2">Debug = >
produces debug mode dynamic link library and import library
[bin/paraguid.dll,
lib/paraguid.lib]<br>
<br>
</font></div>
</li>
</ul>
<font face="Helvetica, Arial, sans-serif" size="2">For
<strong>paragui_static</strong>
there are<br>
<br>
</font>
<ul>
<li>
<div><font face="Helvetica, Arial, sans-serif" size="2"> Release
= > produces release mode static link library (single theraded)
[lib/paraguis.lib]</font></div>
</li>
<li>
<div><font face="Helvetica, Arial, sans-serif" size="2">Debug = >
produces debug mode static link library (single theraded)
[lib/paraguisd.lib]</font></div>
</li>
<li>
<div>
<div><font face="Helvetica, Arial, sans-serif" size="2"> Release MT
= > produces release mode static link library (multi theraded)
[lib/paraguimts.lib]</font></div>
</div>
</li>
<li>
<div>
<div>
<div><font face="Helvetica, Arial, sans-serif" size="2">Debug MT =
> produces debug mode static link library (multi theraded)
[lib/paraguimtsd.lib]<br>
<br>
</font></div>
</div>
</div>
</li>
</ul>
</div>
</li>
<li>
<div><font face="Helvetica, Arial, sans-serif" size="2">Build the project
with the "Project|Build" command.<br>
You may get a few warnings, but you should not get any errors. If
yes check again step 4. If you did it all correctly, check types of
libraries sdl.lib, sdl_ttf.lib, sdl_image.lib, freetype.lib. They must
be compiled in mode Multithreaded DLL. Anyway check troubleshoting
section.<br>
<br>
</font></div>
</li>
<li>
<div><font face="Helvetica, Arial, sans-serif" size="2">Your library
files are created. Check if you find them in /lib and /bin directories.
</font></div>
</li>
</ol>
<h3><font face="Helvetica, Arial, sans-serif" size="2">Building example files
for ParaGUI</font></h3>
<ol>
<li><font face="Helvetica, Arial, sans-serif" size="2">Build paragui_dynamic
project library files as described in <strong>Building ParaGUI library</strong>
.</font><br>
<br>
</li>
<li><font face="Helvetica, Arial, sans-serif" size="2">Choose the example
project you want build "As active project".</font><br>
<br>
</li>
<li><font face="Helvetica, Arial, sans-serif" size="2">Example projects
are dependent on sdlmain.lib (lib file which comes with SDL library). Add
it to paths in similar way as is described in step 4. of <strong>Building
ParaGUI library</strong>.</font><br>
<br>
</li>
<li><font face="Helvetica, Arial, sans-serif" size="2">Choose the
configuration
Debug or Release same way as step 5. of <strong>Building ParaGUI
library</strong>
.</font><br>
<br>
</li>
<li><font face="Helvetica, Arial, sans-serif" size="2">Build the project
with "Project|Build" command. File [/bin/<examplename>.exe] should be
created in the "bin" directory.<br>
<br>
</font></li>
<li>
<div><font face="Helvetica, Arial, sans-serif" size="2">Test your ParaGUI
example. It will need some dlls to run (sdl.dll, sdl_image.dll). Just copy
them to bin directory or move them into system searching paths for
dlls.</font></div>
</li>
</ol>
<h3><font face="Helvetica, Arial, sans-serif"
size="2">Troubleshooting</font></h3>
<ul>
<li>
<div><font face="Helvetica, Arial, sans-serif" size="2"><font
color="darkblue">
I don't want to use SDL_Image library. I just want to load BMP
files.</font><br>
<strong>Answer</strong>: remove HAVE_SDLIMAGE define from project settings.
"Project|Settings|C/C++|Category: Preprocessor|Preprocessor definitions".
Now you don't have to supply sdl_image.lib and SDL_Image header files.<br>
<br>
</font></div>
</li>
<li>
<div>
<div align="Left"><font face="Helvetica, Arial, sans-serif" size="2"><font
color="darkblue">
I want to link example files statically with ParaGUI. </font></font><br>
<font face="Helvetica, Arial, sans-serif" size="2"><strong>Answer</strong>
: specify another ParaGUI library to link with in project setting:
"Project|Settings|Link|Category:
General|Object/library modules", change paragui.lib to paraguis.lib (or
paraguid.lib to paraguisd.lib), or use multithreaded versions of static
library. Don't forget to set proper code generation for example project:
"Project|Settings|C/C++|Category: Code generation|Use runtime
library.</font><br>
</div>
<font face="Helvetica, Arial, sans-serif" size="2"><br>
</font></div>
</li>
<li>
<div><font face="Helvetica, Arial, sans-serif" size="2"><font
color="darkblue">
I get compiler errors like: "fatal error C1083: Cannot open include
file: 'SDL_image.h': No such file or directory"</font><br>
<strong>Answer</strong>: header files of library were not found by the
compiler. You did step 4b wrong.<br>
<br>
</font></div>
</li>
<li>
<div><font face="Helvetica, Arial, sans-serif" size="2"><font
color="darkblue">
I get linker errors like: "fatal error LNK1104: cannot open file
"sdl.lib""</font><br>
<strong>Answer</strong>: lib file was not found by the linker. You did
step 4a wrong.<br>
<br>
</font></div>
</li>
<li>
<div><font face="Helvetica, Arial, sans-serif" size="2"><font
color="darkblue">
I get linker errors like: "error LNK2005: __alloc_osfhnd already
defined in LIBC.lib(osfinfo.obj)"</font><br>
<strong>Answer</strong>: you are mixing libraries of different types
(static vs. dynamic, multithreaded vs. singlethreaded, etc.)<br>
<br>
</font></div>
</li>
<li>
<div><font face="Helvetica, Arial, sans-serif" size="2"><font
color="darkblue">
I get linker warnings like: "warning LNK4098: defaultlib "msvcrt.lib"
conflicts with use of other libs; use /NODEFAULTLIB:library"</font><br>
<strong>Answer</strong>: you are mixing libraries of different types (static
vs. dynamic, multithreaded vs. singlethreaded, etc.), but it was only a warning
- the project got compiled.</font></div>
</li>
</ul>
<hr size="1" noshade="">
<div align="Right"><font face="Helvetica, Arial, sans-serif" size="2"><font
size="-2">
Last modified 24.4.2001</font><br>
</font></div>
<font face="Tahoma, Verdana, Helvetica" size="2"><font size="-2"
face="Helvetica, Arial, sans-serif">
© 2001 Documentation written by <a href="mailto:address@hidden">
Antonin Hildebrand</a></font><font face="Helvetica, Arial, sans-serif"><br>
</font><font size="-2" face="Helvetica, Arial, sans-serif">© 2001 ParaGUI
library by <a href="mailto:address@hidden"> Alexander Pipelka</a></font><br>
</font><br>
<br>
<br>
<br>
</body>
</html>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [paragui-cvs] CVS: paragui/doc .cvsignore,NONE,1.2.2.1 Makefile.am,NONE,1.2.2.1 RELEASENOTES,NONE,1.2.2.1 VisualC.html,NONE,1.2.2.1,
Teunis Peters <address@hidden> <=
- Prev by Date:
[paragui-cvs] CVS: paragui/src/themes theme_priv.cpp,1.3.2.1,1.3.2.2 theme_priv.h,1.3.2.2,1.3.2.3 themeloader.cpp,1.3.2.1,1.3.2.2
- Next by Date:
[paragui-cvs] CVS: paragui/src/physfs/archivers Makefile.am,1.2,1.2.2.1 dir.c,1.2,1.2.2.1 grp.c,1.2,1.2.2.1 unzip.c,1.2,1.2.2.1 zip.c,1.2,1.2.2.1
- Previous by thread:
[paragui-cvs] CVS: paragui/src/themes theme_priv.cpp,1.3.2.1,1.3.2.2 theme_priv.h,1.3.2.2,1.3.2.3 themeloader.cpp,1.3.2.1,1.3.2.2
- Next by thread:
[paragui-cvs] CVS: paragui/src/physfs/archivers Makefile.am,1.2,1.2.2.1 dir.c,1.2,1.2.2.1 grp.c,1.2,1.2.2.1 unzip.c,1.2,1.2.2.1 zip.c,1.2,1.2.2.1
- Index(es):